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
| Client | Version | Verdict | What 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")'