Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.7k
[JsonPath] Improve compliance to the RFC test suite#60699
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
[JsonPath] Improve compliance to the RFC test suite#60699
Uh oh!
There was an error while loading.Please reload this page.
Conversation
ba52060 to9ceeb5fCompareUh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
9ceeb5f to9e73c21Comparealexandre-daubois commentedJun 5, 2025
Thank you@stof, I didn't know that denial of service was actually a thing with regex. I updated accordingly. |
stof commentedJun 5, 2025
@alexandre-daubois this can be a thing when you allow user input for the string being matched by the regex (which could totally happen in this component). Backtracking engines (like PCRE) have an exponential complexity based on the length of the input when attempting to match an affected regex (and failing to match it, as this is the worse case of backtracking). This is commonly reported in the npm ecosystem (also because JS does not support possessive quantifiers in its Regexp syntax, and so cannot apply the easy fix to prevent them in many cases, making the issue more common) |
9e73c21 to2c412e1CompareUh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
2c412e1 to5beab82Comparealexandre-daubois commentedJun 10, 2025
Applied your suggestions, it makes the code a bit simpler. Thanks! |
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
5beab82 toab0853aCompareUh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
ab0853a to9453d33Comparealexandre-daubois commentedJun 13, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
I reworked the whole PR to keep pushing forward the compliance test suite. This PR removes 265 skips, so that's pretty nice. Status: Needs Review |
d71e0e5 to84193abCompareUh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
a403f71 toc0a7d73Comparexabbuh commentedJun 15, 2025
@alexandre-daubois FYI in#60793 I had to skip three more tests |
c0a7d73 toe9b4ad4Comparealexandre-daubois commentedJun 15, 2025
They are added back and fixed in this PR. Thanks! |
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
e9b4ad4 to419f872CompareUh oh!
There was an error while loading.Please reload this page.
419f872 to9107893CompareUh oh!
There was an error while loading.Please reload this page.
9107893 to876e3d9Compare876e3d9 to769c3b9Comparenicolas-grekas commentedJun 16, 2025
Thank you@alexandre-daubois. |
0ff3ef1 intosymfony:7.3Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
This PR is a big step forward on making the component RFC compliant. Many more tests are now green as you can see in the
JsonPathComplianceTestSuiteTest. Mainly, it's about dealing with whitespaces, better expressions parsing and supporting!and bare literals liketrue,falseandnull.