aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_request.c
diff options
context:
space:
mode:
authorVladimir Homutov <vl@nginx.com>2021-10-15 10:02:15 +0300
committerVladimir Homutov <vl@nginx.com>2021-10-15 10:02:15 +0300
commit1db517fb71aed6d6fffc8347086f89eb29b83dea (patch)
treeac2416b0a3d2f2416e570cd3e1fe003f76185814 /src/http/ngx_http_request.c
parentdde319ee0c9de26a6f104feb062cfffaa32c16c0 (diff)
downloadnginx-1db517fb71aed6d6fffc8347086f89eb29b83dea.tar.gz
nginx-1db517fb71aed6d6fffc8347086f89eb29b83dea.zip
HTTP/2: removed support for NPN.
NPN was replaced with ALPN, published as RFC 7301 in July 2014. It used to negotiate SPDY (and, in transition, HTTP/2). NPN supported appeared in OpenSSL 1.0.1. It does not work with TLSv1.3 [1]. ALPN is supported since OpenSSL 1.0.2. The NPN support was dropped in Firefox 53 [2] and Chrome 51 [3]. [1] https://github.com/openssl/openssl/issues/3665. [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1248198 [3] https://www.chromestatus.com/feature/5767920709795840
Diffstat (limited to 'src/http/ngx_http_request.c')
-rw-r--r--src/http/ngx_http_request.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index bf931bf35..76bbcd67c 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -806,8 +806,7 @@ ngx_http_ssl_handshake_handler(ngx_connection_t *c)
c->ssl->no_wait_shutdown = 1;
#if (NGX_HTTP_V2 \
- && (defined TLSEXT_TYPE_application_layer_protocol_negotiation \
- || defined TLSEXT_TYPE_next_proto_neg))
+ && defined TLSEXT_TYPE_application_layer_protocol_negotiation)
{
unsigned int len;
const unsigned char *data;
@@ -817,19 +816,8 @@ ngx_http_ssl_handshake_handler(ngx_connection_t *c)
if (hc->addr_conf->http2) {
-#ifdef TLSEXT_TYPE_application_layer_protocol_negotiation
SSL_get0_alpn_selected(c->ssl->connection, &data, &len);
-#ifdef TLSEXT_TYPE_next_proto_neg
- if (len == 0) {
- SSL_get0_next_proto_negotiated(c->ssl->connection, &data, &len);
- }
-#endif
-
-#else /* TLSEXT_TYPE_next_proto_neg */
- SSL_get0_next_proto_negotiated(c->ssl->connection, &data, &len);
-#endif
-
if (len == 2 && data[0] == 'h' && data[1] == '2') {
ngx_http_v2_init(c->read);
return;