PQ Crypta Logo

Unknown frame type in a 1-RTT packet

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.

PQ CRYPTA PLATFORM

🏠 Main

📰 News

👤 Account

⟨ QUANTUM ERROR PORTAL ⟩

Navigate the Error Dimensions

Jump to an anomaly59

Every one of these is a page: what the server emits, the clause it is judged against, and how each client answered. The full list carries the verdict tallies too.

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

ClientVersionVerdictWhat 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")'