comparison src/event/quic/ngx_event_quic_ssl.c @ 9168:ff98ae7d261e

QUIC: split keys availability checks to read and write sides. Keys may be released by TLS stack in different times, so it makes sense to check this independently as well. This allows to fine-tune what key direction is used when checking keys availability. When discarding, server keys are now marked in addition to client keys.
author Sergey Kandaurov <pluknet@nginx.com>
date Thu, 31 Aug 2023 19:54:10 +0400
parents daf8f5ba23d8
children
comparison
equal deleted inserted replaced
9167:3038bd4d7816 9168:ff98ae7d261e
432 return NGX_ERROR; 432 return NGX_ERROR;
433 } 433 }
434 } 434 }
435 435
436 if (n <= 0 || SSL_in_init(ssl_conn)) { 436 if (n <= 0 || SSL_in_init(ssl_conn)) {
437 if (ngx_quic_keys_available(qc->keys, ssl_encryption_early_data) 437 if (ngx_quic_keys_available(qc->keys, ssl_encryption_early_data, 0)
438 && qc->client_tp_done) 438 && qc->client_tp_done)
439 { 439 {
440 if (ngx_quic_init_streams(c) != NGX_OK) { 440 if (ngx_quic_init_streams(c) != NGX_OK) {
441 return NGX_ERROR; 441 return NGX_ERROR;
442 } 442 }