Conversation
Send reserved frames before, between, and after DATA frames with a payload larger than the configured request-body buffer. Verify exact body bytes and aggregate body limits in buffered and unbuffered modes. Wait for the request headers to be acknowledged before sending the body to avoid consuming the entire frame in the header preread buffer.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Extend h3_request_body_extra.t with 14 assertions for unknown HTTP/3 frames spanning request-body read buffers. A 256-byte reserved-frame payload exceeds the configured 64-byte body buffer and 10-byte body limit. Requests verify exact DATA bytes before, between and after unknown frames, plus aggregate DATA-limit enforcement, in buffered and unbuffered proxy modes.
The test uses the existing HTTP3 client and waits for the request headers to be acknowledged before sending the body, avoiding the header preread buffer. No library or CI changes are needed.
Companion fix: nginx/nginx#1766.
Related to #96, which tests complete reserved frames. These additional cases exercise payload continuation across body buffers. With nginx/nginx#1624 alone, the new regression checks still fail.
Validation on Linux with CryptX and a live QUIC connection:
The tests intentionally fail until the companion production fix is applied. No full nginx-tests-suite pass is claimed for the PR commit.
AI assistance: OpenAI Codex assisted with test implementation, validation and this description.