Skip to content

Treat 2xx responses to CONNECT as tunnels in the HTTP/2 fuzz model - #539

Open
ericmj wants to merge 1 commit into
test-http2-interim-no-101from
fuzz-http2-connect-tunnel
Open

ericmj wants to merge 1 commit into
test-http2-interim-no-101from
fuzz-http2-connect-tunnel

Conversation

@ericmj

@ericmj ericmj commented Oct 16, 2026

Copy link
Copy Markdown
Member

The fuzz property required zero body bytes for every 204 response. A 2xx response to CONNECT establishes a tunnel and the DATA frames after it are tunnel data (RFC 9110 section 9.3.6, RFC 9113 section 8.5), so the model now follows the RFC and exempts CONNECT 2xx responses from both the bodiless and the content-length checks. Mint answers a CONNECT 204 followed by DATA with a stream error, which the property still accepts.

The fuzz property required zero body bytes for every 204 response. A 2xx
response to CONNECT establishes a tunnel and the DATA frames after it are
tunnel data (RFC 9110 section 9.3.6, RFC 9113 section 8.5), so the model
now follows the RFC and exempts CONNECT 2xx responses from both the
bodiless and the content-length checks. Mint answers a CONNECT 204
followed by DATA with a stream error, which the property still accepts.
@ericmj
ericmj added this pull request to stack #544 October 16, 2026 13:10
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 0

Coverage decreased (-0.1%) to 90.406%

Details

  • Coverage decreased (-0.1%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 2 coverage regressions across 1 file.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

2 previously-covered lines in 1 file lost coverage.

File Lines Losing Coverage Coverage
lib/mint/http2.ex 2 95.28%

Coverage Stats

Coverage Status
Relevant Lines: 1970
Covered Lines: 1781
Line Coverage: 90.41%
Coverage Strength: 724.09 hits per line

馃挍 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants