From 10f1f1adce032742d60fe14ee780871c4e6a1db1 Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Tue, 6 May 2025 17:59:37 +0200 Subject: [PATCH] BUG/MINOR: quic: reject retry_source_cid TP on server side Close the connection on error if retry_source_connection_id transport parameter is received. This is specified by RFC 9000 as this parameter must not be emitted by a client. Previously, it was silently ignored. This should be backported up to 2.6. Note that is relies on previous patch "MINOR: quic: extend return value on TP parsing". --- src/quic_tp.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/quic_tp.c b/src/quic_tp.c index a4252e3aa..0499cb274 100644 --- a/src/quic_tp.c +++ b/src/quic_tp.c @@ -360,6 +360,13 @@ quic_transport_param_decode(struct quic_transport_params *p, int server, buf, *buf + len, server)) return QUIC_TP_DEC_ERR_TRUNC; break; + case QUIC_TP_RETRY_SOURCE_CONNECTION_ID: + /* see original_destination_connection_id RFC reference above. */ + if (!server) + return QUIC_TP_DEC_ERR_INVAL; + + /* TODO implement parsing for client side */ + break; default: *buf += len; }; -- 2.47.3