From 72d86509f1f35d1a9d2bef2a6e6b34430bd8bec6 Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Wed, 13 Jul 2022 15:08:23 +0200 Subject: [PATCH] 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. --- src/xprt_quic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xprt_quic.c b/src/xprt_quic.c index 34fc13e73..88cf4fded 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;