From: Sergey Kandaurov Date: Fri, 9 Aug 2024 15:12:25 +0000 (+0400) Subject: QUIC: discarding 0-RTT keys. X-Git-Tag: release-1.27.1~6 X-Git-Url: http://www.kaiwu.me/postgresql/commit/static/gitweb.js?a=commitdiff_plain;h=58b92177e7c3c50f77f807ab3846ad5c7bbf0ebe;p=nginx.git QUIC: discarding 0-RTT keys. For simplicity, this is done on successful decryption of a 1-RTT packet. --- diff --git a/src/event/quic/ngx_event_quic.c b/src/event/quic/ngx_event_quic.c index e4690f7dd..c03b1d003 100644 --- a/src/event/quic/ngx_event_quic.c +++ b/src/event/quic/ngx_event_quic.c @@ -1022,6 +1022,16 @@ ngx_quic_handle_payload(ngx_connection_t *c, ngx_quic_header_t *pkt) } } + if (pkt->level == ssl_encryption_application) { + /* + * RFC 9001, 4.9.3. Discarding 0-RTT Keys + * + * 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); + } + if (qc->closing) { /* * RFC 9000, 10.2. Immediate Close