PQ Crypta Logo

ngtcp2 — PRIORITY_UPDATE sent by the server

The client did what the clause requires.

PQ CRYPTA PLATFORM

🏠 Main

🧪 Interactive Apps

📰 News

🛡️ PQ Crypta Proxy

👤 Account

⟨ QUANTUM ERROR PORTAL ⟩

Navigate the Error Dimensions

Pass

Rejected with error 0x105. The specification permits this but does not require it; a client that ignored it would also be conformant.

The client did what the clause requires.

What was measured

Client
ngtcp2 — ngtcp2 + nghttp3 (direct), 3c23148
Test
PRIORITY_UPDATE sent by the serverh-priority-update
Clause
RFC 9218 §7.2 (MUST NOT)
Class
discretionary — The RFC permits either behaviour; the report says which was chosen.
Required behaviour
Reject it with H3_FRAME_UNEXPECTED, or ignore it — which is conformant depends on whether you implement extensible priorities at all, and that is not observable from here. A client that does implement RFC 9218 is bound by §7.2: servers "MUST NOT send PRIORITY_UPDATE frames of either type", and a client receiving one MUST treat it as a connection error of that type. A client that does not implement it sees frame type 0xf0700 as simply unknown, and RFC 9114 §9 requires unknown frame types to be ignored — so ignoring it is equally correct, for a different reason. Scoring this as a failure either way would accuse one of those two clients of a violation it did not commit, so the report says which answer was given rather than grading it.
Measured
2026-09-18

Reproduce it

The suite is the judge, so the reproduction is to point the same client at the same test and let the server report what it saw.

SESSION=$(curl -sX POST https://conformance.pqcrypta.com/session | jq -r .id)
# then drive ngtcp2 at the test URL and read the verdict:
curl -s https://conformance.pqcrypta.com/report/$SESSION.json | jq '.results["h-priority-update"]'

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