Skip to content

Derive the HTTP/2 fuzz model's connection window from client frames - #542

Open
ericmj wants to merge 1 commit into
fuzz-http2-close-listen-socketfrom
fuzz-http2-connection-window
Open

ericmj wants to merge 1 commit into
fuzz-http2-close-listen-socketfrom
fuzz-http2-connection-window

Conversation

@ericmj

@ericmj ericmj commented Oct 16, 2026

Copy link
Copy Markdown
Member

The model seeded the server's view of the connection window from Mint's own receive_window_remaining, so a client that kept a 16,777,216-byte window internally without sending the WINDOW_UPDATE that announces it went unnoticed. The view now starts at the 65,535-byte initial window (RFC 9113 section 6.9.2) and only grows by the stream 0 WINDOW_UPDATE frames the test server decodes from what Mint writes, starting with the one that may follow the client preface. The preface is still required to be a SETTINGS frame followed by at most that WINDOW_UPDATE, and anything else fails the scenario before it runs.

The model seeded the server's view of the connection window from Mint's
own receive_window_remaining, so a client that kept a 16,777,216-byte
window internally without sending the WINDOW_UPDATE that announces it
went unnoticed. The view now starts at the 65,535-byte initial window
(RFC 9113 section 6.9.2) and only grows by the stream 0 WINDOW_UPDATE
frames the test server decodes from what Mint writes, starting with the
one that may follow the client preface. The preface is still required to
be a SETTINGS frame followed by at most that WINDOW_UPDATE, and anything
else fails the scenario before it runs.
@ericmj
ericmj added this pull request to stack #544 October 16, 2026 13:10
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 5677

Coverage decreased (-0.2%) to 90.508%

Details

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

Uncovered Changes

No uncovered changes found.

Coverage Regressions

6 previously-covered lines in 2 files lost coverage.

File Lines Losing Coverage Coverage
lib/mint/http2.ex 5 95.53%
lib/mint/http1.ex 1 87.11%

Coverage Stats

Coverage Status
Relevant Lines: 1970
Covered Lines: 1783
Line Coverage: 90.51%
Coverage Strength: 710.66 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