PQ Crypta Logo

SETTINGS_ENABLE_CONNECT_PROTOCOL with a value outside 0 and 1

Reject it or ignore it, but keep working. RFC 8441 §3 says the value "MUST be 0 or 1" and RFC 9220 carries that into HTTP/3 unchanged — yet neither names a behaviour for a receiver that sees anything else, so both answers are conformant and stalling is not. The setting is how a client learns Extended CONNECT is available, so a WebTransport-capable client has real parsing behind it.

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.

h-extended-connect · RFC 9220 §3, RFC 8441 §3 · discretionary · layer http3 · udp/4499 · MUST

Passing this means: The RFC permits either behaviour; the report says which was chosen.

Anomaly type: control_stream

How each client answered

ClientVersionVerdictWhat happened
curl libcurl/8.23.0 ngtcp2/1.25.0 Pass Rejected it (rejected at the QUIC layer with INTERNAL_ERROR). The specification permits this but does not require it; a client that ignored it would also be conformant.
quinn noq fork (189b0ed) Pass Rejected with error 0x109. The specification permits this but does not require it; a client that ignored it would also be conformant.
aioquic 1.3.0 (PyPI wheel) Pass Rejected with error 0x109. The specification permits this but does not require it; a client that ignored it would also be conformant.
chromium build 1248 Pass Rejected with error 0x109. The specification permits this but does not require it; a client that ignored it would also be conformant.
quic-go quic-go v0.61.0 (h1:9So2anK4Tp22) Pass Rejected with error 0x106. The specification permits this but does not require it; a client that ignored it would also be conformant.
quiche 0.30.0 (1c8e976) Pass Rejected with error 0x109. The specification permits this but does not require it; a client that ignored it would also be conformant.
neqo 0.31.1 (cac2b74) Pass Rejected with error 0x109. The specification permits this but does not require it; a client that ignored it would also be conformant.
picoquic 8162550 Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant. The client process had already exited 1052ms in, before this test's reaction point at never observed, so the silence after that is not evidence either way.
ngtcp2 3c23148 Pass Rejected with error 0x109. The specification permits this but does not require it; a client that ignored it would also be conformant.
lsquic 4.9.4 (2b30189) Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant. The client process had already exited 1053ms in, before this test's reaction point at never observed, so the silence after that is not evidence either way.
xquic 2060a44 Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant. The client process had already exited 1252ms in, before this test's reaction point at never observed, so the silence after that is not evidence either way.
msquic 2.7.0 (7e6525d) Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant. The client process had already exited 1303ms in, before this test's reaction point at never observed, so the silence after that is not evidence either way.
quico 0.7.0 (npm) Pass Rejected with error 0x109. The specification permits this but does not require it; a client that ignored it would also be conformant.

What the clause requires

Reject it or ignore it, but keep working. RFC 8441 §3 says the value "MUST be 0 or 1" and RFC 9220 carries that into HTTP/3 unchanged — yet neither names a behaviour for a receiver that sees anything else, so both answers are conformant and stalling is not. The setting is how a client learns Extended CONNECT is available, so a WebTransport-capable client has real parsing behind it.

Judged against RFC 9220, RFC 8441.

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-extended-connect")'