[PATCH 2 of 2] HTTP/2: finalize request as bad if header validation fails
Maxim Dounin
mdounin at mdounin.ru
Wed Feb 22 12:55:28 UTC 2023
# HG changeset patch
# User Maxim Dounin <mdounin at mdounin.ru>
# Date 1677070454 -10800
# Wed Feb 22 15:54:14 2023 +0300
# Node ID ec3819e66f40924efad183c291c850d9ccef16e7
# Parent 61bd779a868c4021c232dddfe7abda7e8ad32575
HTTP/2: finalize request as bad if header validation fails.
Similarly to 7192:d5a535774861, this avoids spurious zero statuses
in access.log, and in line with other header-related errors.
diff --git a/src/http/v2/ngx_http_v2.c b/src/http/v2/ngx_http_v2.c
--- a/src/http/v2/ngx_http_v2.c
+++ b/src/http/v2/ngx_http_v2.c
@@ -1794,14 +1794,7 @@ ngx_http_v2_state_process_header(ngx_htt
/* 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;
}
More information about the nginx-devel
mailing list