Disallow invalid connection ID lengths in QUIC prober Since we now follow the IETF spec and drop incoming packets with initial destination connection IDs shorter than 8 bytes, our prober API should not be able to generate them. I've verified that all our callers use this API with a connection ID of length 8 so this change will not impact them. gfe-relnote: client-only, not flag protected PiperOrigin-RevId: 258691619 Change-Id: Ic2689216eae314efce8cab8275f93d4417d13d53
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc index 5c9887d..e9d6fa9 100644 --- a/quic/core/quic_framer.cc +++ b/quic/core/quic_framer.cc
@@ -6295,8 +6295,8 @@ return false; } if (destination_connection_id_length > kQuicMaxConnectionIdLength || - (destination_connection_id_length > 0 && - destination_connection_id_length < 4)) { + destination_connection_id_length < + kQuicMinimumInitialConnectionIdLength) { QUIC_BUG << "Invalid connection_id_length"; return false; }
diff --git a/quic/core/quic_framer.h b/quic/core/quic_framer.h index 3a3faa1..2349a77 100644 --- a/quic/core/quic_framer.h +++ b/quic/core/quic_framer.h
@@ -585,8 +585,8 @@ // |packet_length| must be in the range [1200, 65535]. // |destination_connection_id_bytes| will be sent as the destination // connection ID, and must point to |destination_connection_id_length| bytes - // of memory. |destination_connection_id_length| must be either 0 or in the - // range [4,18]. When targeting Google servers, it is recommended to use a + // of memory. |destination_connection_id_length| must be in the range [8,18]. + // When targeting Google servers, it is recommended to use a // |destination_connection_id_length| of 8. static bool WriteClientVersionNegotiationProbePacket( char* packet_bytes,