From d0ebfa4cb97dc212aac4cde740286bc4e4cde30e Mon Sep 17 00:00:00 2001 From: Vladimir Homutov Date: Mon, 16 Mar 2020 19:00:47 +0300 Subject: Split transport and crypto parts into separate files. New files: src/event/ngx_event_quic_protection.h src/event/ngx_event_quic_protection.c The protection.h header provides interface to the crypto part of the QUIC: 2 functions to initialize corresponding secrets: ngx_quic_set_initial_secret() ngx_quic_set_encryption_secret() and 2 functions to deal with packet processing: ngx_quic_encrypt() ngx_quic_decrypt() Also, structures representing secrets are defined there. All functions require SSL connection and a pool, only crypto operations inside, no access to nginx connections or events. Currently pool->log is used for the logging (instead of original c->log). --- auto/modules | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'auto') diff --git a/auto/modules b/auto/modules index 0232fba5e..7e7affb2e 100644 --- a/auto/modules +++ b/auto/modules @@ -1264,10 +1264,12 @@ if [ $USE_OPENSSL = YES ]; then ngx_module_name=ngx_openssl_module ngx_module_incs= ngx_module_deps="src/event/ngx_event_openssl.h \ - src/event/ngx_event_quic.h" + src/event/ngx_event_quic.h \ + src/event/ngx_event_quic_protection.h" ngx_module_srcs="src/event/ngx_event_openssl.c src/event/ngx_event_openssl_stapling.c - src/event/ngx_event_quic.c" + src/event/ngx_event_quic.c + src/event/ngx_event_quic_protection.c" ngx_module_libs= ngx_module_link=YES ngx_module_order= -- cgit