From 96badf86a2122b8e0cc28c0a01b30d67d897940e Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Mon, 16 Jun 2025 10:02:47 +0200 Subject: [PATCH] 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. --- src/quic_conn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 {