uhv: add http-parser permissive parsing mode for h1 codec#20528
uhv: add http-parser permissive parsing mode for h1 codec#20528ameily wants to merge 24 commits intoenvoyproxy:mainfrom
Conversation
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
…oyproxy#19750 Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
|
@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 <adam.meily@trailofbits.com>
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
|
@yanavlasov can you PTAL? |
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
|
CC @envoyproxy/dependency-shepherds: Your approval is needed for changes made to |
…isive parsing Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
yanavlasov
left a comment
There was a problem hiding this comment.
Thanks this looks great. Just one small nit
/wait
Signed-off-by: Adam Meily <adam.meily@trailofbits.com>
|
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_parsingwhich 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 theCodecHeaderValidationModeenumeration 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 toEnabledto preserve the current behavior.Risk Level: Low
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
Fixes #19750