r1585 merge:
allow full URL without URI part: "GET http://host HTTP/1.0"
This commit is contained in:
parent
a8545c11c4
commit
ab2aecb398
1 changed files with 21 additions and 3 deletions
|
@ -335,18 +335,26 @@ ngx_http_parse_request_line(ngx_http_request_t *r, ngx_buf_t *b)
|
|||
break;
|
||||
}
|
||||
|
||||
r->host_end = p;
|
||||
|
||||
switch (ch) {
|
||||
case ':':
|
||||
r->host_end = p;
|
||||
state = sw_port;
|
||||
break;
|
||||
case '/':
|
||||
r->host_end = p;
|
||||
r->uri_start = p;
|
||||
state = sw_after_slash_in_uri;
|
||||
break;
|
||||
case ' ':
|
||||
/*
|
||||
* use single "/" from request line to preserve pointers,
|
||||
* if request line will be copied to large client buffer
|
||||
*/
|
||||
r->uri_start = r->schema_end + 1;
|
||||
r->uri_end = r->schema_end + 2;
|
||||
state = sw_http_09;
|
||||
break;
|
||||
default:
|
||||
r->host_end = p;
|
||||
return NGX_HTTP_PARSE_INVALID_REQUEST;
|
||||
}
|
||||
break;
|
||||
|
@ -362,6 +370,16 @@ ngx_http_parse_request_line(ngx_http_request_t *r, ngx_buf_t *b)
|
|||
r->uri_start = p;
|
||||
state = sw_after_slash_in_uri;
|
||||
break;
|
||||
case ' ':
|
||||
r->port_end = p;
|
||||
/*
|
||||
* use single "/" from request line to preserve pointers,
|
||||
* if request line will be copied to large client buffer
|
||||
*/
|
||||
r->uri_start = r->schema_end + 1;
|
||||
r->uri_end = r->schema_end + 2;
|
||||
state = sw_http_09;
|
||||
break;
|
||||
default:
|
||||
return NGX_HTTP_PARSE_INVALID_REQUEST;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue