summaryrefslogtreecommitdiffhomepage
path: root/src/event
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2020-02-28 13:09:52 +0300
committerSergey Kandaurov <pluknet@nginx.com>2020-02-28 13:09:52 +0300
commit27e5e87784f1464e9c40f31e8c119918073fb90b (patch)
treea01610723bce2d63dcce5898dc29c3e19c342889 /src/event
parentaba1768d94a834dac08c8252576ca5279d4108ef (diff)
downloadnginx-27e5e87784f1464e9c40f31e8c119918073fb90b.tar.gz
nginx-27e5e87784f1464e9c40f31e8c119918073fb90b.tar.bz2
Introduced ngx_quic_secret_t.
Diffstat (limited to 'src/event')
-rw-r--r--src/event/ngx_event_openssl.c52
-rw-r--r--src/event/ngx_event_quic.h51
2 files changed, 44 insertions, 59 deletions
diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c
index f0cfc1933..7938ae098 100644
--- a/src/event/ngx_event_openssl.c
+++ b/src/event/ngx_event_openssl.c
@@ -168,34 +168,34 @@ quic_set_encryption_secrets(ngx_ssl_conn_t *ssl_conn,
switch (level) {
case ssl_encryption_handshake:
- rlen = &c->quic->client_hs.len;
- rsec = &c->quic->client_hs.data;
- wlen = &c->quic->server_hs.len;
- wsec = &c->quic->server_hs.data;
+ rlen = &c->quic->client_hs.secret.len;
+ rsec = &c->quic->client_hs.secret.data;
+ wlen = &c->quic->server_hs.secret.len;
+ wsec = &c->quic->server_hs.secret.data;
- client_key = &c->quic->client_hs_key;
- client_iv = &c->quic->client_hs_iv;
- client_hp = &c->quic->client_hs_hp;
+ client_key = &c->quic->client_hs.key;
+ client_iv = &c->quic->client_hs.iv;
+ client_hp = &c->quic->client_hs.hp;
- server_key = &c->quic->server_hs_key;
- server_iv = &c->quic->server_hs_iv;
- server_hp = &c->quic->server_hs_hp;
+ server_key = &c->quic->server_hs.key;
+ server_iv = &c->quic->server_hs.iv;
+ server_hp = &c->quic->server_hs.hp;
break;
case ssl_encryption_application:
- rlen = &c->quic->client_ad.len;
- rsec = &c->quic->client_ad.data;
- wlen = &c->quic->server_ad.len;
- wsec = &c->quic->server_ad.data;
+ rlen = &c->quic->client_ad.secret.len;
+ rsec = &c->quic->client_ad.secret.data;
+ wlen = &c->quic->server_ad.secret.len;
+ wsec = &c->quic->server_ad.secret.data;
- client_key = &c->quic->client_ad_key;
- client_iv = &c->quic->client_ad_iv;
- client_hp = &c->quic->client_ad_hp;
+ client_key = &c->quic->client_ad.key;
+ client_iv = &c->quic->client_ad.iv;
+ client_hp = &c->quic->client_ad.hp;
- server_key = &c->quic->server_ad_key;
- server_iv = &c->quic->server_ad_iv;
- server_hp = &c->quic->server_ad_hp;
+ server_key = &c->quic->server_ad.key;
+ server_iv = &c->quic->server_ad.iv;
+ server_hp = &c->quic->server_ad.hp;
break;
@@ -474,15 +474,15 @@ quic_add_handshake_data(ngx_ssl_conn_t *ssl_conn,
switch (level) {
case ssl_encryption_initial:
- server_key = &qc->server_in_key;
- server_iv = &qc->server_in_iv;
- server_hp = &qc->server_in_hp;
+ server_key = &qc->server_in.key;
+ server_iv = &qc->server_in.iv;
+ server_hp = &qc->server_in.hp;
break;
case ssl_encryption_handshake:
- server_key = &qc->server_hs_key;
- server_iv = &qc->server_hs_iv;
- server_hp = &qc->server_hs_hp;
+ server_key = &qc->server_hs.key;
+ server_iv = &qc->server_hs.iv;
+ server_hp = &qc->server_hs.hp;
break;
default:
diff --git a/src/event/ngx_event_quic.h b/src/event/ngx_event_quic.h
index 236439b06..86f2f58bd 100644
--- a/src/event/ngx_event_quic.h
+++ b/src/event/ngx_event_quic.h
@@ -11,40 +11,25 @@
#include <ngx_event_openssl.h>
+typedef struct {
+ ngx_str_t secret;
+ ngx_str_t key;
+ ngx_str_t iv;
+ ngx_str_t hp;
+} ngx_quic_secret_t;
+
+
struct ngx_quic_connection_s {
- ngx_str_t scid;
- ngx_str_t dcid;
- ngx_str_t token;
-
- ngx_str_t client_in;
- ngx_str_t client_in_key;
- ngx_str_t client_in_iv;
- ngx_str_t client_in_hp;
-
- ngx_str_t server_in;
- ngx_str_t server_in_key;
- ngx_str_t server_in_iv;
- ngx_str_t server_in_hp;
-
- ngx_str_t client_hs;
- ngx_str_t client_hs_key;
- ngx_str_t client_hs_iv;
- ngx_str_t client_hs_hp;
-
- ngx_str_t server_hs;
- ngx_str_t server_hs_key;
- ngx_str_t server_hs_iv;
- ngx_str_t server_hs_hp;
-
- ngx_str_t client_ad;
- ngx_str_t client_ad_key;
- ngx_str_t client_ad_iv;
- ngx_str_t client_ad_hp;
-
- ngx_str_t server_ad;
- ngx_str_t server_ad_key;
- ngx_str_t server_ad_iv;
- ngx_str_t server_ad_hp;
+ ngx_str_t scid;
+ ngx_str_t dcid;
+ ngx_str_t token;
+
+ ngx_quic_secret_t client_in;
+ ngx_quic_secret_t client_hs;
+ ngx_quic_secret_t client_ad;
+ ngx_quic_secret_t server_in;
+ ngx_quic_secret_t server_hs;
+ ngx_quic_secret_t server_ad;
};