PQ Crypta Logo

Response stream reset mid-body with H3_REQUEST_CANCELLED

Abandon the partial response — §4.1 says a response cancelled after a partial delivery "SHOULD NOT be used". Whether the connection survives is the client's to choose: §8 lets an endpoint "treat a stream error as a connection error under certain circumstances", so keeping the connection and closing it are both conformant. Stalling is the one wrong answer.

PQ CRYPTA PLATFORM

🏠 Main

🧪 Interactive Apps

📰 News

🛡️ PQ Crypta Proxy

👤 Account

⟨ QUANTUM ERROR PORTAL ⟩

Navigate the Error Dimensions

h-response-stream-reset · RFC 9114 §8, §4.1 · discretionary · layer http3 · udp/4494 · MAY

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

Anomaly type: response_stream

How each client answered

ClientVersionVerdictWhat 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 Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
chromium build 1223 Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
quic-go quic-go v0.61.0 Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
quiche 0.30.0 Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
neqo 0.31.1 Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.

What the clause requires

Abandon the partial response — §4.1 says a response cancelled after a partial delivery "SHOULD NOT be used". Whether the connection survives is the client's to choose: §8 lets an endpoint "treat a stream error as a connection error under certain circumstances", so keeping the connection and closing it are both conformant. Stalling is the one wrong answer.

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-response-stream-reset")'

What this suite is · The full grid · All clients · All tests · Findings