]> git.kaiwu.me - nginx.git/commitdiff
HTTP/2: finalize request as bad if header validation fails.
authorMaxim Dounin <mdounin@mdounin.ru>
Fri, 10 Mar 2023 03:47:53 +0000 (06:47 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Fri, 10 Mar 2023 03:47:53 +0000 (06:47 +0300)
Similarly to 7192:d5a535774861, this avoids spurious zero statuses
in access.log, and in line with other header-related errors.

src/http/v2/ngx_http_v2.c

index d32c03f10b8afb6bec8282da529dfbd9a6aba885..ea3f27c0785220a9d0d6141d02565aa54520afd6 100644 (file)
@@ -1794,14 +1794,7 @@ ngx_http_v2_state_process_header(ngx_http_v2_connection_t *h2c, u_char *pos,
 
     /* TODO Optimization: validate headers while parsing. */
     if (ngx_http_v2_validate_header(r, header) != NGX_OK) {
-        if (ngx_http_v2_terminate_stream(h2c, h2c->state.stream,
-                                         NGX_HTTP_V2_PROTOCOL_ERROR)
-            == NGX_ERROR)
-        {
-            return ngx_http_v2_connection_error(h2c,
-                                                NGX_HTTP_V2_INTERNAL_ERROR);
-        }
-
+        ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST);
         goto error;
     }