|
|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
diff --git a/src/event/quic/ngx_event_quic.c b/src/event/quic/ngx_event_quic.c
|
|
|
|
|
index c03b1d003..ffb21490c 100644
|
|
|
|
|
index 6a59aaf93..08605ff24 100644
|
|
|
|
|
--- a/src/event/quic/ngx_event_quic.c
|
|
|
|
|
+++ b/src/event/quic/ngx_event_quic.c
|
|
|
|
|
@@ -14,7 +14,6 @@ static ngx_quic_connection_t *ngx_quic_new_connection(ngx_connection_t *c,
|
|
|
|
|
@ -10,7 +10,7 @@ index c03b1d003..ffb21490c 100644
|
|
|
|
|
static void ngx_quic_close_handler(ngx_event_t *ev);
|
|
|
|
|
|
|
|
|
|
static ngx_int_t ngx_quic_handle_datagram(ngx_connection_t *c, ngx_buf_t *b,
|
|
|
|
|
@@ -392,7 +391,7 @@ ngx_quic_handle_stateless_reset(ngx_connection_t *c, ngx_quic_header_t *pkt)
|
|
|
|
|
@@ -400,7 +399,7 @@ ngx_quic_handle_stateless_reset(ngx_connection_t *c, ngx_quic_header_t *pkt)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -20,10 +20,10 @@ index c03b1d003..ffb21490c 100644
|
|
|
|
|
{
|
|
|
|
|
ngx_int_t rc;
|
|
|
|
|
diff --git a/src/event/quic/ngx_event_quic.h b/src/event/quic/ngx_event_quic.h
|
|
|
|
|
index 15201671d..d182e8ed0 100644
|
|
|
|
|
index 4f899ec0a..649c0efcf 100644
|
|
|
|
|
--- a/src/event/quic/ngx_event_quic.h
|
|
|
|
|
+++ b/src/event/quic/ngx_event_quic.h
|
|
|
|
|
@@ -125,5 +125,6 @@ ngx_int_t ngx_quic_get_packet_dcid(ngx_log_t *log, u_char *data, size_t len,
|
|
|
|
|
@@ -141,5 +141,6 @@ ngx_int_t ngx_quic_get_packet_dcid(ngx_log_t *log, u_char *data, size_t len,
|
|
|
|
|
ngx_str_t *dcid);
|
|
|
|
|
ngx_int_t ngx_quic_derive_key(ngx_log_t *log, const char *label,
|
|
|
|
|
ngx_str_t *secret, ngx_str_t *salt, u_char *out, size_t len);
|
|
|
|
|
@ -31,12 +31,12 @@ index 15201671d..d182e8ed0 100644
|
|
|
|
|
|
|
|
|
|
#endif /* _NGX_EVENT_QUIC_H_INCLUDED_ */
|
|
|
|
|
diff --git a/src/event/quic/ngx_event_quic_ssl.c b/src/event/quic/ngx_event_quic_ssl.c
|
|
|
|
|
index ba0b5929f..1993449ae 100644
|
|
|
|
|
index a502431f4..adc22b645 100644
|
|
|
|
|
--- a/src/event/quic/ngx_event_quic_ssl.c
|
|
|
|
|
+++ b/src/event/quic/ngx_event_quic_ssl.c
|
|
|
|
|
@@ -424,7 +424,14 @@ ngx_quic_crypto_input(ngx_connection_t *c, ngx_chain_t *data,
|
|
|
|
|
ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "SSL_get_error: %d",
|
|
|
|
|
sslerr);
|
|
|
|
|
@@ -713,7 +713,14 @@ ngx_quic_handshake(ngx_connection_t *c)
|
|
|
|
|
return NGX_ERROR;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
- if (sslerr != SSL_ERROR_WANT_READ) {
|
|
|
|
|
+ if (sslerr != SSL_ERROR_WANT_READ
|
|
|
|
|
@ -47,6 +47,6 @@ index ba0b5929f..1993449ae 100644
|
|
|
|
|
+ && sslerr != SSL_ERROR_WANT_CLIENT_HELLO_CB
|
|
|
|
|
+#endif
|
|
|
|
|
+ ) {
|
|
|
|
|
|
|
|
|
|
if (c->ssl->handshake_rejected) {
|
|
|
|
|
ngx_connection_error(c, 0, "handshake rejected");
|
|
|
|
|
ngx_ssl_connection_error(c, sslerr, 0, "SSL_do_handshake() failed");
|
|
|
|
|
return NGX_ERROR;
|
|
|
|
|
}
|
|
|
|
|
|