Mercurial > hg > nginx-quic
comparison src/event/ngx_event_quic.c @ 8239: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
8238:9ebeed8cd1b8 | 8239: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 } |