aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2020-03-10 19:13:09 +0300
committerSergey Kandaurov <pluknet@nginx.com>2020-03-10 19:13:09 +0300
commit7e417544bbffdb05e3ef097fe7b7d49e5d85d1d8 (patch)
treef1d25fd27f31d1d221bb0d687f2cf70733181d3b /src
parent4b59999afe460316dd196930c0460515ee278acc (diff)
downloadnginx-7e417544bbffdb05e3ef097fe7b7d49e5d85d1d8.tar.gz
nginx-7e417544bbffdb05e3ef097fe7b7d49e5d85d1d8.zip
ChaCha20 / Poly1305 initial support.
Diffstat (limited to 'src')
-rw-r--r--src/event/ngx_event_quic.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c
index f62789da9..b7595e8bf 100644
--- 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, ngx_quic_ciphers_t *ciphers,
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;
}