From 021b3cf00ab4be427f0b9f20b7d1b9a5cb6ab059 Mon Sep 17 00:00:00 2001 From: Martin Thomson Date: Tue, 7 Apr 2020 17:05:16 +1000 Subject: [PATCH] Forbid zero-length connection ID with preferred addresses This is option 4 from the discussion in #3560. That is, making preferred_address equivalent to NEW_CONNECTION_ID with a sequence number of 1 in every way that matters. Closes #3560. --- draft-ietf-quic-transport.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index c402248a4e..663cfbee58 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -4740,6 +4740,14 @@ preferred_address (0x0d): be at least one unused active connection ID when the client initiates migration to the preferred address. +: The Connection ID and Stateless Reset Token fields of a preferred address are + identical in syntax and semantics to the corresponding fields of a + NEW_CONNECTION_ID frame ({{frame-new-connection-id}}). A server that chooses + a zero-length connection ID MUST NOT provide a preferred address. Similarly, + a server MUST NOT include a zero-length connection ID in this transport + parameter. A client MUST treat violation of these requirements as a + connection error of type TRANSPORT_PARAMETER_ERROR. + ~~~ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1