Mercurial > hg > nginx
comparison src/event/ngx_event_quic.c @ 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 |
comparison
equal
deleted
inserted
replaced
8258:80d7144b1c38 | 8259: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 |