-
Notifications
You must be signed in to change notification settings - Fork 4.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
uhv: add http-parser permissive parsing mode for h1 codec #20528
Conversation
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
…oyproxy#19750 Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
@yanavlasov Can you take a look at this when you get a chance (assuming CI passes)? |
copying out CI advice Please fix your editor to ensure:
- no trailing whitespace
- no preceding mixed tabs/spaces
- all files end with a newline |
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
@yanavlasov can you PTAL? |
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
CC @envoyproxy/dependency-shepherds: Your approval is needed for changes made to |
…isive parsing Signed-off-by: Adam Meily <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks this looks great. Just one small nit
/wait
Signed-off-by: Adam Meily <[email protected]>
Signed-off-by: Adam Meily <[email protected]>
The tests that are failing in CI are working fine locally and were previously running successfully before my last commit, which shouldn't have affected them. |
I think we can get away with build options and testing on the compile time build - I'll let Yan touch base with you on details but please ping back after you sync with him if you have follow up questions? |
I'm closing this in favor of a new solution that builds upon the |
Commit Message: uhv: add http-parser permissive parsing mode for h1 codec
Additional Description: Adds a new setting to http-parser,
permissive_parsing
which enables permissive parsing mode (disabled by default). Strict vs permissive parsing was previously controlled by a compile time definition,HTTP_PARSER_STRICT
, and my work was primarily making this a runtime flag on a per-message basis. I brought in the http-parser unit tests to make sure that nothing broke in the conversion. Then, based on the PR for H2, #20381, this underlying setting is controlled with theCodecHeaderValidationMode
enumeration in the H1 codec and legacy parser. For now, all code that creates an H1 codec or parser are hardcoded to set the validation mode toEnabled
to preserve the current behavior.Risk Level: Low
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
Fixes #19750