From: Frédéric Lécaille Date: Tue, 22 Feb 2022 10:39:14 +0000 (+0100) Subject: MINOR: quic: Drop the packets of discarded packet number spaces X-Git-Tag: v2.6-dev3~85 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=51c9065f66cb8f384082d3dbdb001b613e7d07d4;p=thirdparty%2Fhaproxy.git MINOR: quic: Drop the packets of discarded packet number spaces This is required since this previous commit: "MINOR: quic: Post handshake I/O callback switching" If not, such packets remain endlessly in the RX buffer and cannot be parsed by the new I/O callback used after the handshake has been confirmed. --- diff --git a/src/xprt_quic.c b/src/xprt_quic.c index 9e31a75bbe..314ed2a9de 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -3144,8 +3144,10 @@ static int qc_qel_may_rm_hp(struct quic_conn *qc, struct quic_enc_level *qel) tel = ssl_to_quic_enc_level(qel->level); /* check if tls secrets are available */ - if (qel->tls_ctx.rx.flags & QUIC_FL_TLS_SECRETS_DCD) + if (qel->tls_ctx.rx.flags & QUIC_FL_TLS_SECRETS_DCD) { TRACE_DEVEL("Discarded keys", QUIC_EV_CONN_TRMHP, qc); + return 0; + } if (!(qel->tls_ctx.rx.flags & QUIC_FL_TLS_SECRETS_SET)) return 0;