From: Vladimir Homutov Date: Thu, 22 Apr 2021 10:49:18 +0000 (+0300) Subject: HTTP/3: adjusted control stream parsing. X-Git-Tag: release-1.25.0~4^2~347 X-Git-Url: http://git.kaiwu.me/postgresql/log/contrib/postgres_fdw/postgres_fdw.c?a=commitdiff_plain;h=a8acca865bc63efd0ae99284af37ed6bb246923b;p=nginx.git HTTP/3: adjusted control stream parsing. 7.2.1: If a DATA frame is received on a control stream, the recipient MUST respond with a connection error of type H3_FRAME_UNEXPECTED; 7.2.2: If a HEADERS frame is received on a control stream, the recipient MUST respond with a connection error (Section 8) of type H3_FRAME_UNEXPECTED. --- diff --git a/src/http/v3/ngx_http_v3_parse.c b/src/http/v3/ngx_http_v3_parse.c index b7cf242ba..18255a677 100644 --- a/src/http/v3/ngx_http_v3_parse.c +++ b/src/http/v3/ngx_http_v3_parse.c @@ -1069,6 +1069,10 @@ ngx_http_v3_parse_control(ngx_connection_t *c, void *data, u_char ch) st->state = sw_max_push_id; break; + case NGX_HTTP_V3_FRAME_DATA: + case NGX_HTTP_V3_FRAME_HEADERS: + return NGX_HTTP_V3_ERR_FRAME_UNEXPECTED; + default: ngx_log_debug0(NGX_LOG_DEBUG_HTTP, c->log, 0, "http3 parse skip unknown frame");