Mercurial > hg > nginx
diff src/http/ngx_http_parse.c @ 99:a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 02 Jun 2003 15:24:30 +0000 |
parents | 637625a2acdb |
children | 2a615b036870 |
line wrap: on
line diff
--- a/src/http/ngx_http_parse.c +++ b/src/http/ngx_http_parse.c @@ -175,7 +175,7 @@ int ngx_parse_http_request_line(ngx_http } break; - /* check "/." or "//" */ + /* check "/.", "//", and "%" in URI */ case sw_after_slash_in_uri: switch (ch) { case CR: @@ -193,6 +193,7 @@ int ngx_parse_http_request_line(ngx_http state = sw_http_09; break; case '.': + case '%': r->complex_uri = 1; state = sw_uri; break; @@ -211,7 +212,7 @@ int ngx_parse_http_request_line(ngx_http } break; - /* check slash in URI */ + /* check "/" and "%" in URI */ case sw_check_uri: switch (ch) { case CR: @@ -235,6 +236,10 @@ int ngx_parse_http_request_line(ngx_http r->uri_ext = NULL; state = sw_after_slash_in_uri; break; + case '%': + r->complex_uri = 1; + state = sw_uri; + break; case '?': r->args_start = p; state = sw_uri;