h-duplicate-setting
· RFC 9114 §7.2.4 · discretionary · layer http3 · udp/4476 · MAY
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 | 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 1102ms in, before this test's reaction point at never observed, so the silence after that is not evidence either way. |
| 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 | 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 1152ms in, before this test's reaction point at never observed, so the silence after that is not evidence either way. |
| neqo | 0.31.1 (cac2b74) | 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. |
| 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 | 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 13480ms in, before this test's reaction point at never observed, so the silence after that is not evidence either way. |
| 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 1052ms 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
Either reject with H3_SETTINGS_ERROR or ignore the repeat — the specification says a receiver MAY treat this as an error, so both are conformant.
Judged against RFC 9114.
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-duplicate-setting")'