q-reserved-frame
· RFC 9000 §12.4 · correctness · layer quic · udp/4463 · MUST
Passing this means: Rejected something invalid, with the code the RFC names.
Anomaly type: transport
How each client answered
| Client | Version | Verdict | What happened |
|---|---|---|---|
| curl | libcurl/8.23.0 ngtcp2/1.25.0 | Pass | Responded correctly: closed with FRAME_ENCODING_ERROR, which is the code §12.4 requires for a frame of unknown type. |
| quinn | noq fork (189b0ed) | Pass | Responded correctly: closed with FRAME_ENCODING_ERROR, which is the code §12.4 requires for a frame of unknown type. |
| aioquic | 1.3.0 (PyPI wheel) | Pass | Responded correctly: closed with FRAME_ENCODING_ERROR, which is the code §12.4 requires for a frame of unknown type. |
| chromium | build 1248 | Pass | Responded correctly: closed with FRAME_ENCODING_ERROR, which is the code §12.4 requires for a frame of unknown type. |
| quic-go | quic-go v0.61.0 (h1:9So2anK4Tp22) | Pass | Responded correctly: closed with FRAME_ENCODING_ERROR, which is the code §12.4 requires for a frame of unknown type. |
| quiche | 0.30.0 (1c8e976) | Pass | Responded correctly: closed with FRAME_ENCODING_ERROR, which is the code §12.4 requires for a frame of unknown type. |
| neqo | 0.31.1 (cac2b74) | Fail | rejected the unknown frame type with INTERNAL_ERROR, where RFC 9000 §12.4 requires FRAME_ENCODING_ERROR. The violation was detected; the code reported is wrong. |
| picoquic | 8162550 | Fail | rejected the unknown frame type with PROTOCOL_VIOLATION, where RFC 9000 §12.4 requires FRAME_ENCODING_ERROR. The violation was detected; the code reported is wrong. |
| ngtcp2 | 3c23148 | Pass | Responded correctly: closed with FRAME_ENCODING_ERROR, which is the code §12.4 requires for a frame of unknown type. |
| lsquic | 4.9.4 (2b30189) | Pass | Responded correctly: closed with FRAME_ENCODING_ERROR, which is the code §12.4 requires for a frame of unknown type. |
| xquic | 2060a44 | Fail | closed cleanly after receiving a frame of unknown type. RFC 9000 §12.4 requires a connection error of type FRAME_ENCODING_ERROR: QUIC reserves no ignorable frame types, and an unknown frame carries no length, so nothing after it in the packet can be parsed. |
| msquic | 2.7.0 (7e6525d) | Pass | Responded correctly: closed with FRAME_ENCODING_ERROR, which is the code §12.4 requires for a frame of unknown type. |
| quico | 0.7.0 (npm) | Pass | Responded correctly: closed with FRAME_ENCODING_ERROR, which is the code §12.4 requires for a frame of unknown type. |
What the clause requires
Close the connection with FRAME_ENCODING_ERROR. Unlike HTTP/3, QUIC reserves no ignorable frame types — §12.4 makes an unknown frame a connection error, so ignoring it is the failure here.
Judged against RFC 9000.
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 == "q-reserved-frame")'