h-max-push-id
· RFC 9114 §7.2.7 · correctness · layer http3 · udp/4486 · MUST NOT
Passing this means: Rejected something invalid, with the code the RFC names.
Anomaly type: control_stream
How each client answered
| Client | Version | Verdict | What happened |
|---|---|---|---|
| curl | ngtcp2/1.11.0 | Inconclusive | Objected, but at the QUIC layer (rejected at the QUIC layer with INTERNAL_ERROR), so the HTTP/3 error code could not be read. §8.1 carries an HTTP/3 connection error in an application close, and this test asks for 0x105 specifically — whether that was the client's reasoning is not observable from here. |
| quinn | noq fork | Pass | Rejected with the required error code 0x105. |
| aioquic | 1.3.0 | Pass | Rejected with the required error code 0x105. |
| chromium | build 1223 | Pass | Rejected with the required error code 0x105. |
| quic-go | quic-go v0.61.0 | Inconclusive | The client completed its request and closed without objecting, but the anomaly was written to the control stream — a unidirectional stream nothing obliges it to read on any schedule. A one-shot request can finish before that stream is picked up, so this is equally consistent with accepting the violation and with never having seen it, and neither can be told from here. |
| quiche | 0.30.0 | Pass | Rejected with the required error code 0x105. |
| neqo | 0.31.1 | Pass | Rejected with the required error code 0x105. |
What the clause requires
Reject with H3_FRAME_UNEXPECTED. MAX_PUSH_ID travels client to server only, so a server sending one is using a frame in a direction the specification does not allow.
Judged against RFC 9114.
Run this one yourself
Every test is reachable from your own client. Nothing here needs an account.
curl -s https://conformance.pqcrypta.com/catalog.json \
| jq '.tests[] | select(.id == "h-max-push-id")'
What this suite is · The full grid · All clients · All tests · Findings