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.
This commit is contained in:
Amaury Denoyelle 2022-07-13 15:08:23 +02:00
parent 672972604f
commit 72d86509f1

View file

@ -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;