comparison src/event/ngx_event_quic.c @ 7725: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
comparison
equal deleted inserted replaced
7724:80d7144b1c38 7725:9e9eab876964
43 ngx_ssl_t *ssl; 43 ngx_ssl_t *ssl;
44 ngx_quic_frame_t *frames; 44 ngx_quic_frame_t *frames;
45 45
46 ngx_quic_streams_t streams; 46 ngx_quic_streams_t streams;
47 ngx_uint_t max_data; 47 ngx_uint_t max_data;
48
49 #define SSL_ECRYPTION_LAST ((ssl_encryption_application) + 1)
50 uint64_t crypto_offset[SSL_ECRYPTION_LAST];
48 }; 51 };
49 52
50 53
51 #if BORINGSSL_API_VERSION >= 10 54 #if BORINGSSL_API_VERSION >= 10
52 static int ngx_quic_set_read_secret(ngx_ssl_conn_t *ssl_conn, 55 static int ngx_quic_set_read_secret(ngx_ssl_conn_t *ssl_conn,
226 229
227 ngx_memcpy(p, data, len); 230 ngx_memcpy(p, data, len);
228 231
229 frame->level = level; 232 frame->level = level;
230 frame->type = NGX_QUIC_FT_CRYPTO; 233 frame->type = NGX_QUIC_FT_CRYPTO;
234 frame->u.crypto.offset += qc->crypto_offset[level];
231 frame->u.crypto.len = len; 235 frame->u.crypto.len = len;
232 frame->u.crypto.data = p; 236 frame->u.crypto.data = p;
237
238 qc->crypto_offset[level] += len;
233 239
234 ngx_sprintf(frame->info, "crypto, generated by SSL len=%ui level=%d", len, level); 240 ngx_sprintf(frame->info, "crypto, generated by SSL len=%ui level=%d", len, level);
235 241
236 ngx_quic_queue_frame(qc, frame); 242 ngx_quic_queue_frame(qc, frame);
237 243