Skip to content

fix(hpack): validate decoder state across header blocks - #103

Merged
0x676e67 merged 7 commits into
masterfrom
fix/7-client-hpack-settings
Sep 17, 2026
Merged

0x676e67 merged 7 commits into
masterfrom
fix/7-client-hpack-settings

Conversation

@0x676e67

Copy link
Copy Markdown
Owner

No description provided.

Track the required lowest and final limits across complete field blocks, preserve dynamic-table synchronization for invalid fields, and report HPACK failures as connection compression errors.
@0x676e67 0x676e67 changed the title fix(hpack): enforce decoder table size updates fix(hpack): validate decoder state across header blocks Sep 15, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The protocol-state and error-precedence changes warrant final human validation despite strong regression coverage.

Pull request overview

Strengthens HPACK decoder state validation while preserving compression context across malformed header blocks.

Changes:

  • Tracks table-size updates across fragmented header blocks.
  • Drains malformed blocks while retaining dynamic-table synchronization.
  • Adds comprehensive decoder-state and sensitivity tests.
File summaries
File Description
tests/h2-tests/tests/hpack_decoder_state.rs Adds HPACK state regression tests.
tests/h2-support/src/mock.rs Applies peer table-size settings in test handshakes.
src/hpack/mod.rs Exposes decoded-header metadata internally.
src/hpack/decoder.rs Implements block-level decoder and malformed-entry state.
src/frame/headers.rs Tracks malformed fields and decoded list size.
src/codec/framed_read.rs Validates complete HPACK blocks and maps errors appropriately.
Review details
  • Files reviewed: 6/6 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@0x676e67
0x676e67 merged commit 6c29e38 into master Sep 17, 2026
8 checks passed
@0x676e67
0x676e67 deleted the fix/7-client-hpack-settings branch September 17, 2026 17:14

This branch was successfully deployed

1 active deployment
Linux — e29f58b5 Deployed Sep 17, 2026 by 0x676e67 via Release #225
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