diff src/event/ngx_event_quic.h @ 7643:76e29ff31cd3 quic

AEAD routines, introduced ngx_quic_tls_open()/ngx_quic_tls_seal().
author Sergey Kandaurov <pluknet@nginx.com>
date Fri, 28 Feb 2020 13:09:52 +0300
parents 72f632f90a17
children a9ff4392ecde
line wrap: on
line diff
--- a/src/event/ngx_event_quic.h
+++ b/src/event/ngx_event_quic.h
@@ -11,6 +11,15 @@
 #include <ngx_event_openssl.h>
 
 
+#ifdef OPENSSL_IS_BORINGSSL
+#define ngx_aead_cipher_t        EVP_AEAD
+#define NGX_QUIC_INITIAL_CIPHER  EVP_aead_aes_128_gcm()
+#else
+#define ngx_aead_cipher_t        EVP_CIPHER
+#define NGX_QUIC_INITIAL_CIPHER  EVP_aes_128_gcm()
+#endif
+
+
 typedef struct {
     ngx_str_t          secret;
     ngx_str_t          key;
@@ -44,5 +53,12 @@ ngx_int_t ngx_hkdf_expand(u_char *out_ke
     const EVP_MD *digest, const u_char *prk, size_t prk_len,
     const u_char *info, size_t info_len);
 
+ngx_int_t ngx_quic_tls_open(ngx_connection_t *c,
+    const ngx_aead_cipher_t *cipher, ngx_quic_secret_t *s, ngx_str_t *out,
+    u_char *nonce, ngx_str_t *in, ngx_str_t *ad);
+ngx_int_t ngx_quic_tls_seal(ngx_connection_t *c,
+    const ngx_aead_cipher_t *cipher, ngx_quic_secret_t *s, ngx_str_t *out,
+    u_char *nonce, ngx_str_t *in, ngx_str_t *ad);
+
 
 #endif /* _NGX_EVENT_QUIC_H_INCLUDED_ */