From 51c9065f66cb8f384082d3dbdb001b613e7d07d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20L=C3=A9caille?= Date: Tue, 22 Feb 2022 11:39:14 +0100 Subject: [PATCH] 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. --- src/xprt_quic.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/xprt_quic.c b/src/xprt_quic.c index 9e31a75bb..314ed2a9d 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;