From: Roman Arutyunyan Date: Sun, 28 May 2023 07:17:07 +0000 (+0400) Subject: QUIC: fixed compat with ciphers other than AES128 (ticket #2500). X-Git-Url: http://www.kaiwu.me/postgresql/commit/static/gitweb.js?a=commitdiff_plain;h=cb70d5954c65b5683bc1c104bbf2466b73f4aa2b;p=nginx.git QUIC: fixed compat with ciphers other than AES128 (ticket #2500). Previously, rec.level field was not uninitialized in SSL_provide_quic_data(). As a result, its value was always ssl_encryption_initial. Later in ngx_quic_ciphers() such level resulted in resetting the cipher to TLS1_3_CK_AES_128_GCM_SHA256 and using AES128 to encrypt the packet. Now the level is initialized and the right cipher is used. --- diff --git a/src/event/quic/ngx_event_quic_openssl_compat.c b/src/event/quic/ngx_event_quic_openssl_compat.c index 51430e4b9..63d380e35 100644 --- a/src/event/quic/ngx_event_quic_openssl_compat.c +++ b/src/event/quic/ngx_event_quic_openssl_compat.c @@ -463,6 +463,7 @@ SSL_provide_quic_data(SSL *ssl, enum ssl_encryption_level_t level, rec.log = c->log; rec.number = com->read_record++; rec.keys = &com->keys; + rec.level = level; if (level == ssl_encryption_initial) { n = ngx_min(len, 65535);