Skip to content

test(http3): verify request encoding with independent QPACK peers - #38

Merged
hatoo merged 1 commit into
masterfrom
codex/test-h3-request-encoding-20261021
Oct 21, 2026
Merged

hatoo merged 1 commit into
masterfrom
codex/test-h3-request-encoding-20261021

Conversation

@hatoo

@hatoo hatoo commented Oct 21, 2026

Copy link
Copy Markdown
Owner

An incorrect QPACK name or length can pass tests that pair the request encoder with its own decoding logic. Add an independent pylsqpack oracle that checks all 52 static names, ordered duplicates, empty/UTF-8 values, literal fallback, length boundaries, large fields, and zero dynamic-table state across 437 request blocks.

Seventeen live aioquic cases verify exact headers, every request-body byte, FIN, and bilateral response counts through small flow-control windows. A new h3/quinn integration test checks repeated standard headers and a 70 KB POST through loss, duplication, and reordering. The Python oracle runs in required CI with pinned decoder versions.

Validation: 513 unit tests and 63 integration tests pass in both debug and release; strict all-target Clippy and formatting pass. The independent oracle completes 544 exact responses and validates 2,240,128 request-body bytes. A deliberately corrupted literal name is rejected; the same oracle also rejects an incorrect static index in a separate experimental encoder.

This PR changes tests, an encoder probe, documentation, and CI. Production source, dependencies, and Cargo.lock are unchanged. It makes no performance claim.

@hatoo
hatoo enabled auto-merge (squash) October 21, 2026 09:54
@hatoo
hatoo merged commit 1d7e9cd into master Oct 21, 2026
4 checks passed
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.

1 participant