aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRoman Arutyunyan <arut@nginx.com>2020-07-18 00:08:04 +0300
committerRoman Arutyunyan <arut@nginx.com>2020-07-18 00:08:04 +0300
commita305de07e934dd1ff21111d0314821a34880ab13 (patch)
treede1c80fe25c62e15e714be14ce7fd934b36e4928 /src
parent0f1478706d2b818d4079db14d1466cbbf0b7edc0 (diff)
downloadnginx-a305de07e934dd1ff21111d0314821a34880ab13.tar.gz
nginx-a305de07e934dd1ff21111d0314821a34880ab13.zip
QUIC: do not verify the selected ALPN protocol.
The right protocol is selected by the HTTP code. In the QUIC code only verify that some protocol was selected and trigger an error otherwise.
Diffstat (limited to 'src')
-rw-r--r--src/event/ngx_event_quic.c4
-rw-r--r--src/event/ngx_event_quic.h5
2 files changed, 1 insertions, 8 deletions
diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c
index 41d30ca10..669637674 100644
--- a/src/event/ngx_event_quic.c
+++ b/src/event/ngx_event_quic.c
@@ -417,9 +417,7 @@ ngx_quic_add_handshake_data(ngx_ssl_conn_t *ssl_conn,
SSL_get0_alpn_selected(c->ssl->connection, &data, &len);
- if (len != NGX_QUIC_ALPN_LEN
- || ngx_strncmp(data, NGX_QUIC_ALPN_STR, NGX_QUIC_ALPN_LEN) != 0)
- {
+ if (len == 0) {
qc->error = 0x100 + SSL_AD_NO_APPLICATION_PROTOCOL;
qc->error_reason = "unsupported protocol in ALPN extension";
diff --git a/src/event/ngx_event_quic.h b/src/event/ngx_event_quic.h
index 783820a2f..99c460407 100644
--- a/src/event/ngx_event_quic.h
+++ b/src/event/ngx_event_quic.h
@@ -18,11 +18,6 @@
#endif
#define NGX_QUIC_VERSION (0xff000000 + NGX_QUIC_DRAFT_VERSION)
-#define NGX_QUIC_ALPN(s) NGX_QUIC_ALPN_DRAFT(s)
-#define NGX_QUIC_ALPN_DRAFT(s) "h3-" #s
-#define NGX_QUIC_ALPN_STR NGX_QUIC_ALPN(NGX_QUIC_DRAFT_VERSION)
-#define NGX_QUIC_ALPN_LEN (sizeof(NGX_QUIC_ALPN_STR) - 1)
-
#define NGX_QUIC_MAX_SHORT_HEADER 25 /* 1 flags + 20 dcid + 4 pn */
#define NGX_QUIC_MAX_LONG_HEADER 56
/* 1 flags + 4 version + 2 x (1 + 20) s/dcid + 4 pn + 4 len + token len */