changeset 8259:9e9eab876964 quic

Fixed CRYPTO offset generation.
author Sergey Kandaurov <pluknet@nginx.com>
date Sun, 22 Mar 2020 12:15:54 +0300
parents 80d7144b1c38
children f388c0ad3477
files src/event/ngx_event_quic.c
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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
 
     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);