forked from Hakase/nginx-build
48 lines
1.7 KiB
Diff
48 lines
1.7 KiB
Diff
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
|
|
index 98cc8c7..0810526 100644
|
|
--- a/src/http/ngx_http_request.c
|
|
+++ b/src/http/ngx_http_request.c
|
|
@@ -849,7 +849,7 @@ ngx_http_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg)
|
|
servername = SSL_get_servername(ssl_conn, TLSEXT_NAMETYPE_host_name);
|
|
|
|
if (servername == NULL) {
|
|
- return SSL_TLSEXT_ERR_NOACK;
|
|
+ return SSL_TLSEXT_ERR_ALERT_FATAL;
|
|
}
|
|
|
|
c = ngx_ssl_get_connection(ssl_conn);
|
|
@@ -864,7 +864,7 @@ ngx_http_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg)
|
|
host.len = ngx_strlen(servername);
|
|
|
|
if (host.len == 0) {
|
|
- return SSL_TLSEXT_ERR_NOACK;
|
|
+ return SSL_TLSEXT_ERR_ALERT_FATAL;
|
|
}
|
|
|
|
host.data = (u_char *) servername;
|
|
@@ -879,7 +879,7 @@ ngx_http_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg)
|
|
NULL, &cscf)
|
|
!= NGX_OK)
|
|
{
|
|
- return SSL_TLSEXT_ERR_NOACK;
|
|
+ return SSL_TLSEXT_ERR_ALERT_FATAL;
|
|
}
|
|
|
|
hc->ssl_servername = ngx_palloc(c->pool, sizeof(ngx_str_t));
|
|
diff --git a/lib/openssl/ssl/statem/extensions.c b/lib/openssl/ssl/statem/extensions.c
|
|
index 8422161dc1..675446e59f 100644
|
|
--- a/lib/openssl/ssl/statem/extensions.c
|
|
+++ b/lib/openssl/ssl/statem/extensions.c
|
|
@@ -998,7 +998,9 @@ static int final_server_name(SSL *s, unsigned int context, int sent)
|
|
|
|
switch (ret) {
|
|
case SSL_TLSEXT_ERR_ALERT_FATAL:
|
|
- SSLfatal(s, altmp, SSL_F_FINAL_SERVER_NAME, SSL_R_CALLBACK_FAILED);
|
|
+ s->statem.in_init = 1;
|
|
+ s->statem.state = MSG_FLOW_ERROR;
|
|
+ ssl3_send_alert(s, SSL3_AL_FATAL, altmp);
|
|
return 0;
|
|
|
|
case SSL_TLSEXT_ERR_ALERT_WARNING:
|
|
|