Mercurial > hg > nginx
changeset 1727:15042ebc34fb stable-0.5
r1604 merge:
compatibility with mget: space after HTTP/1.1
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 12 Dec 2007 20:58:34 +0000 |
parents | d2a12e9a34e8 |
children | 412742b3e60e |
files | src/http/ngx_http_parse.c |
diffstat | 1 files changed, 20 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/ngx_http_parse.c Wed Dec 12 20:56:13 2007 +0000 +++ b/src/http/ngx_http_parse.c Wed Dec 12 20:58:34 2007 +0000 @@ -124,6 +124,7 @@ sw_major_digit, sw_first_minor_digit, sw_minor_digit, + sw_spaces_after_digit, sw_almost_done } state; @@ -636,6 +637,11 @@ goto done; } + if (ch == ' ') { + state = sw_spaces_after_digit; + break; + } + if (ch < '0' || ch > '9') { return NGX_HTTP_PARSE_INVALID_REQUEST; } @@ -643,6 +649,20 @@ r->http_minor = r->http_minor * 10 + ch - '0'; break; + case sw_spaces_after_digit: + switch (ch) { + case ' ': + break; + case CR: + state = sw_almost_done; + break; + case LF: + goto done; + default: + return NGX_HTTP_PARSE_INVALID_REQUEST; + } + break; + /* end of request line */ case sw_almost_done: r->request_end = p - 1;