summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2020-03-22 12:15:54 +0300
committerSergey Kandaurov <pluknet@nginx.com>2020-03-22 12:15:54 +0300
commitde095d5f1dfa4beebaef5e05331da168605e162f (patch)
tree45b8ba9adf0e6110c583dd7387cdddafc2aa5c93
parentccb0049e3f23bee4946be3e2a930282a1d0f4e4b (diff)
downloadnginx-de095d5f1dfa4beebaef5e05331da168605e162f.tar.gz
nginx-de095d5f1dfa4beebaef5e05331da168605e162f.tar.bz2
Fixed CRYPTO offset generation.
-rw-r--r--src/event/ngx_event_quic.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c
index f30bd6a97..570945755 100644
--- a/src/event/ngx_event_quic.c
+++ b/src/event/ngx_event_quic.c
@@ -45,6 +45,9 @@ struct ngx_quic_connection_s {
ngx_quic_streams_t streams;
ngx_uint_t max_data;
+
+#define SSL_ECRYPTION_LAST ((ssl_encryption_application) + 1)
+ uint64_t crypto_offset[SSL_ECRYPTION_LAST];
};
@@ -228,9 +231,12 @@ ngx_quic_add_handshake_data(ngx_ssl_conn_t *ssl_conn,
frame->level = level;
frame->type = NGX_QUIC_FT_CRYPTO;
+ frame->u.crypto.offset += qc->crypto_offset[level];
frame->u.crypto.len = len;
frame->u.crypto.data = p;
+ qc->crypto_offset[level] += len;
+
ngx_sprintf(frame->info, "crypto, generated by SSL len=%ui level=%d", len, level);
ngx_quic_queue_frame(qc, frame);