nginx-0.1.35-RELEASE import
*) Feature: the "working_directory" directive.
*) Feature: the "port_in_redirect" directive.
*) Bugfix: the segmentation fault was occurred if the backend response
header was in several packets; the bug had appeared in 0.1.29.
*) Bugfix: if more than 10 servers were configured or some server did
not use the "listen" directive, then the segmentation fault was
occurred on the start.
*) Bugfix: the segmentation fault might occur if the response was
bigger than the temporary file.
*) Bugfix: nginx returned the 400 response on requests like
"GET http://www.domain.com/uri HTTP/1.0"; the bug had appeared in
0.1.28.
diff --git a/src/http/ngx_http_parse.c b/src/http/ngx_http_parse.c
index 027d9ef..302cd81 100644
--- a/src/http/ngx_http_parse.c
+++ b/src/http/ngx_http_parse.c
@@ -112,7 +112,7 @@
case sw_spaces_before_uri:
c = (u_char) (ch | 0x20);
- if (c >= 'a' && c <= 'f') {
+ if (c >= 'a' && c <= 'z') {
r->schema_start = p;
state = sw_schema;
break;
@@ -133,7 +133,7 @@
case sw_schema:
c = (u_char) (ch | 0x20);
- if (c >= 'a' && c <= 'f') {
+ if (c >= 'a' && c <= 'z') {
break;
}
@@ -171,7 +171,7 @@
case sw_host:
c = (u_char) (ch | 0x20);
- if (c >= 'a' && c <= 'f') {
+ if (c >= 'a' && c <= 'z') {
break;
}
@@ -215,7 +215,7 @@
case sw_after_slash_in_uri:
c = (u_char) (ch | 0x20);
- if (c >= 'a' && c <= 'f') {
+ if (c >= 'a' && c <= 'z') {
state = sw_check_uri;
break;
}
@@ -277,7 +277,7 @@
case sw_check_uri:
c = (u_char) (ch | 0x20);
- if (c >= 'a' && c <= 'f') {
+ if (c >= 'a' && c <= 'z') {
break;
}