# HG changeset patch # User Vladimir Homutov # Date 1619088558 -10800 # Node ID 12f18e0bca09bd678d4d5aed51e9618507cd64a2 # Parent 225e9f1dfe7c13e14434716dc2314e5691da06b3 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 -r 225e9f1dfe7c -r 12f18e0bca09 src/http/v3/ngx_http_v3_parse.c --- a/src/http/v3/ngx_http_v3_parse.c Mon Apr 19 17:25:56 2021 +0300 +++ b/src/http/v3/ngx_http_v3_parse.c Thu Apr 22 13:49:18 2021 +0300 @@ -1069,6 +1069,10 @@ 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");