From: Roman Arutyunyan Date: Thu, 26 Jan 2023 11:25:33 +0000 (+0400) Subject: HTTP/3: trigger more compatibility errors for "listen quic". X-Git-Tag: release-1.25.0~4^2~27 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=a5f9b45aee3c2bdbd3fcd4f8fc6b6903b1214705;p=nginx.git HTTP/3: trigger more compatibility errors for "listen quic". Now "ssl", "proxy_protocol" and "http2" are not allowed with "quic" in "listen" directive. Previously, only "ssl" was not allowed. --- diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c index f22d3bdab..3251e6da9 100644 --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -4320,10 +4320,26 @@ ngx_http_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) return NGX_CONF_ERROR; } -#if (NGX_HTTP_SSL && NGX_HTTP_V3) - if (lsopt.ssl && lsopt.quic) { - return "\"ssl\" parameter is incompatible with \"quic\""; +#if (NGX_HTTP_V3) + + if (lsopt.quic) { +#if (NGX_HTTP_SSL) + if (lsopt.ssl) { + return "\"ssl\" parameter is incompatible with \"quic\""; + } +#endif + +#if (NGX_HTTP_V2) + if (lsopt.http2) { + return "\"http2\" parameter is incompatible with \"quic\""; + } +#endif + + if (lsopt.proxy_protocol) { + return "\"proxy_protocol\" parameter is incompatible with \"quic\""; + } } + #endif for (n = 0; n < u.naddrs; n++) {