diff --git a/lib/openssl b/lib/openssl index 0148f33..aa5d30d 160000 --- a/lib/openssl +++ b/lib/openssl @@ -1 +1 @@ -Subproject commit 0148f331659fe1e83541f6b3ce1e84885537e25c +Subproject commit aa5d30d379d0ccedcafc60707a114b6e1d0271b0 diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c index 3deff20..64445d6 100644 --- a/src/event/ngx_event_openssl.c +++ b/src/event/ngx_event_openssl.c @@ -1460,6 +1460,14 @@ ngx_ssl_handshake(ngx_connection_t *c) c->read->error = 1; + // nginx strict sni patch. + // https://github.com/hakasenyang/openssl-patch/issues/1#issuecomment-427040319 + if (sslerr == SSL_ERROR_SSL) { + ERR_peek_error(); + ERR_clear_error(); + return NGX_ERROR; + } + ngx_ssl_connection_error(c, sslerr, err, "SSL_do_handshake() failed"); return NGX_ERROR; @@ -1573,6 +1581,14 @@ ngx_ssl_try_early_data(ngx_connection_t *c) c->read->error = 1; + // Fixed SSL_read_early_data error. + // https://github.com/hakasenyang/nginx-build/commit/e3932ebe24b3fc723d6cb041c52ae63876154df9#commitcomment-30796507 + if (sslerr == SSL_ERROR_SSL) { + ERR_peek_error(); + ERR_clear_error(); + return NGX_ERROR; + } + ngx_ssl_connection_error(c, sslerr, err, "SSL_read_early_data() failed"); return NGX_ERROR;