You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixes a bug in Envoy's HTTP/3-to-HTTP/1 proxying when a transfer-enco… (#39589)
Commit Message: QUIC Stream: Fixes a bug in Envoy's HTTP/3-to-HTTP/1
proxying when a "transfer-encoding" header is incorrectly appended.
Additional Description: Envoy, when proxying via hyperloop to HTTP/1
backend, incorrectly interprets the end of an HTTP/3 HEADERS frame
contained in a QUIC STREAM frame with the end_stream/fin bit set to
true. This causes the HTTP/1 codec to mistakenly add a
"transfer-encoding" header. This CL addresses this by inspecting the
data before encoding headers. For requests containing only headers, it
now explicitly signals the end of the stream with the "headers-only"
indicator, which is the correct way to denote this in HTTP/3 (unlike the
"fin" flag). This prevents the incorrect "transfer-encoding" header from
being added.
Risk Level: low, guarded by runtime guard
Testing: internally tested with google3 e2e tests
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
envoy_reloadable_features_quic_signal_headers_only_to_http1_backend
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional [API
Considerations](https://github.com/envoyproxy/envoy/blob/main/api/review_checklist.md):]
---------
Signed-off-by: Ting Pan <[email protected]>
0 commit comments