# HG changeset patch # User Sergey Kandaurov # Date 1583856789 -10800 # Node ID a4ed2305ad2c598bcb86ea9941356baf49b30151 # Parent 5c66dadb1e342c3f21ecef396f0d34516a7193fd ChaCha20 / Poly1305 initial support. diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c --- a/src/event/ngx_event_quic.c +++ b/src/event/ngx_event_quic.c @@ -12,6 +12,7 @@ #define NGX_AES_128_GCM_SHA256 0x1301 #define NGX_AES_256_GCM_SHA384 0x1302 +#define NGX_CHACHA20_POLY1305_SHA256 0x1303 #define NGX_QUIC_IV_LEN 12 @@ -2122,6 +2123,19 @@ ngx_quic_ciphers(ngx_connection_t *c, ng len = 32; break; + case NGX_CHACHA20_POLY1305_SHA256: +#ifdef OPENSSL_IS_BORINGSSL + ciphers->c = EVP_aead_chacha20_poly1305(); +#else + ciphers->c = EVP_chacha20_poly1305(); +#endif +#ifndef OPENSSL_IS_BORINGSSL + ciphers->hp = EVP_chacha20(); +#endif + ciphers->d = EVP_sha256(); + len = 32; + break; + default: return NGX_ERROR; }