nginx-0.1.30-RELEASE import
*) Bugfix: the worker process may got caught in an endless loop if the
SSI was used.
*) Bugfix: the response encrypted by SSL may not transferred complete.
*) Bugfix: if the length of the response part received at once from
proxied or FastCGI server was equal to 500, then nginx returns the
500 response code; in proxy mode the the bug had appeared in 0.1.29
only.
*) Bugfix: nginx did not consider the directives with 8 or 9 parameters
as invalid.
*) Feature: the "return" directive can return the 204 response code.
*) Feature: the "ignore_invalid_headers" directive.
diff --git a/src/http/ngx_http_parse.c b/src/http/ngx_http_parse.c
index 752b6a1..027d9ef 100644
--- a/src/http/ngx_http_parse.c
+++ b/src/http/ngx_http_parse.c
@@ -529,6 +529,8 @@
/* first char */
case sw_start:
+ r->invalid_header = 0;
+
switch (ch) {
case CR:
r->header_end = p;
@@ -552,6 +554,8 @@
break;
}
+ r->invalid_header = 1;
+
break;
}
@@ -606,6 +610,8 @@
break;
}
+ r->invalid_header = 1;
+
break;
/* space* before header value */