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 */