From: Amaury Denoyelle Date: Mon, 16 Jun 2025 08:02:47 +0000 (+0200) Subject: BUG/MINOR: quic: fix ODCID initialization on frontend side X-Git-Tag: v3.3-dev2~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=96badf86a2122b8e0cc28c0a01b30d67d897940e;p=thirdparty%2Fhaproxy.git BUG/MINOR: quic: fix ODCID initialization on frontend side QUIC support on the backend side has been implemented recently. This has lead to some adjustment on qc_new_conn() to handle both FE and BE sides, with some of these changes performed by the following commit. 29fb1aee57288a8b16ed91771ae65c2bfa400128 MINOR: quic-be: QUIC connection allocation adaptation (qc_new_conn()) An issue was introduced during some code adjustement. Initialization of ODCID was incorrectly performed, which caused haproxy to emit invalid transport parameters. Most of the clients detected this and immediatly closed the connection. Fix this by adjusting qc_lstnr_params_init() invokation : replace , which in fact points to the received SCID, by whose purpose is dedicated to original DCID storage. This fixes github issue #3006. This issue also caused the majority of tests in the interop to fail. No backport needed. --- diff --git a/src/quic_conn.c b/src/quic_conn.c index 82cec926d..8912dfc19 100644 --- a/src/quic_conn.c +++ b/src/quic_conn.c @@ -1306,7 +1306,7 @@ struct quic_conn *qc_new_conn(const struct quic_version *qv, int ipv4, if (l) { qc_lstnr_params_init(qc, &l->bind_conf->quic_params, conn_id->stateless_reset_token, - qc->dcid.data, qc->dcid.len, + qc->odcid.data, qc->odcid.len, qc->scid.data, qc->scid.len, token_odcid); } else {