-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UriCompliance is ignored for query string parsing #12750
Comments
Already fixed in PR #12671 Due out in Jetty 12.0.17 |
Closed by #12671 |
I tested Jetty 12.0.17-SNAPSHOT
|
@gregw want to take this one? |
Thanks for doing that!
Note, the LEGACY mode does NOT contain the BAD_UTF8_ENCODING violation. (an intentional decision at the moment). Can you test with a custom UriCompliance ... httpConfiguration.setUriCompliance(UriCompliance.from("LEGACY,BAD_UTF8_ENCODING")); |
@gregw we should review our decision to not have BAD_UTF8_ENCODING in LEGACY mode. |
@joakime I tried |
Ah, yeah, UNSAFE does include BAD_UTF8_ENCODING, so now it's a confirmed bug. |
What environment were you testing in? (eg: ee11, ee9, etc) |
It's Jetty 12.0.17-SNAPSHOT with EE10 with jakarta's To simplify it for you guys and eliminate forwarding concerns, this is a debug state earlier in the filter chain with |
I'm AFK until Tuesday |
I'll take this, triage it on Monday. |
Add BAD_UTF8_ENCODING to UriCompliance.LEGACY
Add BAD_UTF8_ENCODING to UriCompliance.LEGACY
@Spikhalskiy be aware that this feature is changing again before release. After analyzing the Jetty 11 vs Jetty 12 behavior, the See the following PR for test cases and such showing the differences. The trend in that PR is to introduce a new UriCompliance option that fits the Jetty 11 behaviors more accurately. |
@joakime Thank you for letting me know. It's not very important, as we configure |
Actually, turns out it doesn't match Jetty 9 thru Jetty 11 behavior. |
Jetty version(s)
Jetty 10, 11, 12.0.16
Jetty Environment
EE 10
Description
We have an application that was able to process URIs in the following format with Jetty 9:
Jetty 10 and 11 enforced stricter requirements for URIs but exposed
UriCompliance,
specificallyUriCompliance.LEGACY
, which should help us deal with the legacy apps / clients.But the query string's deserialization code path seemingly doesn't respect the
UriCompliance.LEGACY
or any other customUriCompliance
setting.So the URL above that was able to be processed by jetty 9, in jetty 12 (and also 10/11) leads to the following exception:
Would it be possible to respect
UriCompliance
for query strings so we can accept the same URIs on Jetty 12 that were acceptable on Jetty 9?The text was updated successfully, but these errors were encountered: