PQ Crypta Logo

Datagrams arriving from a second server address

Keep using the address you are already talking to. §9.6 says a client "SHOULD ignore packets received from a server address other than the one it is currently using for sending packets" — a SHOULD, so quietly discarding them and objecting are both conformant. Following the new address is not: nothing is listening there, and a server may only move a client to an address it advertised as its preferred one.

PQ CRYPTA PLATFORM

🏠 Main

📰 News

👤 Account

⟨ QUANTUM ERROR PORTAL ⟩

Navigate the Error Dimensions

Jump to an anomaly59

Every one of these is a page: what the server emits, the clause it is judged against, and how each client answered. The full list carries the verdict tallies too.

q-connection-migration · RFC 9000 §9.6 · discretionary · layer quic · udp/4495 · SHOULD

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

Anomaly type: transport

How each client answered

ClientVersionVerdictWhat 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 1002ms in, before this test's reaction point at 3015ms, so the silence after that is not evidence either way.
quinn noq fork (189b0ed) 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 3002ms, so the silence after that is not evidence either way.
aioquic 1.3.0 (PyPI wheel) 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 1302ms in, before this test's reaction point at 3015ms, so the silence after that is not evidence either way.
chromium build 1248 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 1711ms in, before this test's reaction point at 3011ms, so the silence after that is not evidence either way.
quic-go quic-go v0.61.0 (h1:9So2anK4Tp22) 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 3008ms in, before this test's reaction point at 3043ms, so the silence after that is not evidence either way.
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 952ms in, before this test's reaction point at 3005ms, 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 952ms in, before this test's reaction point at 3005ms, 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 952ms in, before this test's reaction point at 3001ms, 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.
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 952ms in, before this test's reaction point at 3005ms, 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 1202ms in, before this test's reaction point at 3006ms, 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 1252ms in, before this test's reaction point at 3131ms, so the silence after that is not evidence either way.
quico 0.7.0 (npm) 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

Keep using the address you are already talking to. §9.6 says a client "SHOULD ignore packets received from a server address other than the one it is currently using for sending packets" — a SHOULD, so quietly discarding them and objecting are both conformant. Following the new address is not: nothing is listening there, and a server may only move a client to an address it advertised as its preferred one.

Judged against RFC 9000.

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 == "q-connection-migration")'