comparison src/event/ngx_event_quic.c @ 8655:f596a4e5794b quic

QUIC: disabling bidirectional SSL shutdown earlier. Notably, this fixes an issue with Chrome that can emit a "certificate_unknown" alert during the SSL handshake where c->ssl->no_wait_shutdown is not yet set.
author Sergey Kandaurov <pluknet@nginx.com>
date Sun, 06 Dec 2020 14:24:38 +0000
parents e9bd4305e68b
children 43f3574b3e6f
comparison
equal deleted inserted replaced
8654:9ebeed8cd1b8 8655:f596a4e5794b
1561 1561
1562 if (ngx_ssl_create_connection(qc->conf->ssl, c, NGX_SSL_BUFFER) != NGX_OK) { 1562 if (ngx_ssl_create_connection(qc->conf->ssl, c, NGX_SSL_BUFFER) != NGX_OK) {
1563 return NGX_ERROR; 1563 return NGX_ERROR;
1564 } 1564 }
1565 1565
1566 c->ssl->no_wait_shutdown = 1;
1567
1566 ssl_conn = c->ssl->connection; 1568 ssl_conn = c->ssl->connection;
1567 1569
1568 if (SSL_set_quic_method(ssl_conn, &quic_method) == 0) { 1570 if (SSL_set_quic_method(ssl_conn, &quic_method) == 0) {
1569 ngx_log_error(NGX_LOG_INFO, c->log, 0, 1571 ngx_log_error(NGX_LOG_INFO, c->log, 0,
1570 "quic SSL_set_quic_method() failed"); 1572 "quic SSL_set_quic_method() failed");
3724 3726
3725 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, 3727 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0,
3726 "quic handshake completed successfully"); 3728 "quic handshake completed successfully");
3727 3729
3728 c->ssl->handshaked = 1; 3730 c->ssl->handshaked = 1;
3729 c->ssl->no_wait_shutdown = 1;
3730 3731
3731 frame = ngx_quic_alloc_frame(c, 0); 3732 frame = ngx_quic_alloc_frame(c, 0);
3732 if (frame == NULL) { 3733 if (frame == NULL) {
3733 return NGX_ERROR; 3734 return NGX_ERROR;
3734 } 3735 }