From 930caed3bfc84e43bf4bd034150c17604dc5dc73 Mon Sep 17 00:00:00 2001 From: nandsky Date: Mon, 25 Nov 2024 15:26:29 +0800 Subject: [PATCH] QUIC: fixed client request timeout in 0-RTT scenarios. Since 0-RTT and 1-RTT data exist in the same packet number space, ngx_quic_discard_ctx incorrectly discards 1-RTT packets when 0-RTT keys are discarded. The issue was introduced by 58b92177e7c3c50f77f807ab3846ad5c7bbf0ebe. --- src/event/quic/ngx_event_quic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/event/quic/ngx_event_quic.c b/src/event/quic/ngx_event_quic.c index c03b1d003..308597e27 100644 --- a/src/event/quic/ngx_event_quic.c +++ b/src/event/quic/ngx_event_quic.c @@ -1029,7 +1029,7 @@ ngx_quic_handle_payload(ngx_connection_t *c, ngx_quic_header_t *pkt) * After receiving a 1-RTT packet, servers MUST discard * 0-RTT keys within a short time */ - ngx_quic_discard_ctx(c, ssl_encryption_early_data); + ngx_quic_keys_discard(qc->keys, ssl_encryption_early_data); } if (qc->closing) {