From: Amaury Denoyelle Date: Wed, 13 Jul 2022 13:08:23 +0000 (+0200) Subject: BUG/MINOR: quic: fix closing state on NO_ERROR code sent X-Git-Tag: v2.7-dev2~63 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=72d86509f1f35d1a9d2bef2a6e6b34430bd8bec6;p=thirdparty%2Fhaproxy.git BUG/MINOR: quic: fix closing state on NO_ERROR code sent Reception is disabled as soon as a CONNECTION_CLOSE emission is required. An early return is done on qc_lstnr_pkt_rcv() to implement this. This condition is not functional if the error code sent is NO_ERROR (0x00). To fix this, check the quic-conn flags instead of the error code. Currently this bug has no impact has NO_ERROR emission is not used. This can be backported up to 2.6. --- diff --git a/src/xprt_quic.c b/src/xprt_quic.c index 34fc13e73a..88cf4fded6 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -5571,7 +5571,7 @@ static void qc_lstnr_pkt_rcv(unsigned char *buf, const unsigned char *end, dgram->qc = qc; - if (qc->err_code) { + if (qc->flags & QUIC_FL_CONN_IMMEDIATE_CLOSE) { TRACE_PROTO("Connection error", QUIC_EV_CONN_LPKT, qc, NULL, NULL, qv); goto out;