              return NGX_OK;
          }
      }
-@@ -568,7 +570,7 @@
+@@ -569,7 +571,7 @@
                     "http read discarded body");
  
      for ( ;; ) {

             r->read_event_handler = ngx_http_block_reading;
             return NGX_OK;
         }
@@ -577,9 +579,9 @@
             return NGX_AGAIN;
         }
 

diff '--exclude=*~' -ur nginx-1.2.1/src/http/ngx_http_core_module.c nginx-1.2.1-patched/src/http/ngx_http_core_module.c
--- nginx-1.2.1/src/http/ngx_http_core_module.c	2012-06-04 04:58:12.000000000 -0700
+++ nginx-1.2.1-patched/src/http/ngx_http_core_module.c	2012-07-21 12:09:17.468576485 -0700
@@ -2420,6 +2420,8 @@
 
     sr->request_body = r->request_body;
 
+    sr->content_length_n = -1;
+
     sr->method = NGX_HTTP_GET;
     sr->http_version = r->http_version;
 
diff '--exclude=*~' -ur nginx-1.2.1/src/http/ngx_http_request_body.c nginx-1.2.1-patched/src/http/ngx_http_request_body.c
--- nginx-1.2.1/src/http/ngx_http_request_body.c	2012-04-12 12:35:41.000000000 -0700
+++ nginx-1.2.1-patched/src/http/ngx_http_request_body.c	2012-07-21 12:08:30.655376967 -0700
@@ -39,7 +39,7 @@
 
     r->main->count++;
 
