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 | ngtcp2/1.11.0 | Pass | Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant. |
| quinn | noq fork | Pass | Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant. |
| aioquic | 1.3.0 | 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 1223 | 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 | 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 | 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 | 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")'
What this suite is · The full grid · All clients · All tests · Findings