[PATCH] HTTP/2: reject HTTP/2 requests without ":scheme" pseudo-header
Piotr Sikora
piotrsikora at google.com
Sun Mar 26 08:41:17 UTC 2017
# HG changeset patch
# User Piotr Sikora <piotrsikora at google.com>
# Date 1490516708 25200
# Sun Mar 26 01:25:08 2017 -0700
# Node ID 6bb029b1df11662ba11e190490cf1ed175fcfaa6
# Parent 22be63bf21edaa1b8ea916c7d8cd4e5fe4892061
HTTP/2: reject HTTP/2 requests without ":scheme" pseudo-header.
While there, fix typo in error logs about it.
Signed-off-by: Piotr Sikora <piotrsikora at google.com>
diff -r 22be63bf21ed -r 6bb029b1df11 src/http/v2/ngx_http_v2.c
--- a/src/http/v2/ngx_http_v2.c
+++ b/src/http/v2/ngx_http_v2.c
@@ -3219,14 +3219,14 @@ ngx_http_v2_parse_scheme(ngx_http_reques
{
if (r->schema_start) {
ngx_log_error(NGX_LOG_INFO, r->connection->log, 0,
- "client sent duplicate :schema header");
+ "client sent duplicate :scheme header");
return NGX_DECLINED;
}
if (header->value.len == 0) {
ngx_log_error(NGX_LOG_INFO, r->connection->log, 0,
- "client sent empty :schema header");
+ "client sent empty :scheme header");
return NGX_DECLINED;
}
@@ -3291,6 +3291,7 @@ ngx_http_v2_construct_request_line(ngx_h
static const u_char ending[] = " HTTP/2.0";
if (r->method_name.len == 0
+ || r->schema_start == NULL
|| r->unparsed_uri.len == 0)
{
ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST);
More information about the nginx-devel
mailing list