From: nandsky Date: Mon, 25 Nov 2024 07:26:29 +0000 (+0800) Subject: QUIC: fixed client request timeout in 0-RTT scenarios. X-Git-Tag: release-1.27.4~19 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=930caed3bfc84e43bf4bd034150c17604dc5dc73;p=nginx.git 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. --- 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) {