Mercurial > hg > nginx
changeset 8480:f537f99b86ee quic
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.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Sat, 18 Jul 2020 00:08:04 +0300 |
parents | b250b515e5b6 |
children | 0d2b2664b41c |
files | src/event/ngx_event_quic.c src/event/ngx_event_quic.h |
diffstat | 2 files changed, 1 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/event/ngx_event_quic.c Sat Jul 18 00:08:29 2020 +0300 +++ b/src/event/ngx_event_quic.c Sat Jul 18 00:08:04 2020 +0300 @@ -417,9 +417,7 @@ 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";
--- a/src/event/ngx_event_quic.h Sat Jul 18 00:08:29 2020 +0300 +++ b/src/event/ngx_event_quic.h Sat Jul 18 00:08:04 2020 +0300 @@ -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 */