From ecc581659381afdcab3e2449b3899a75b954ac83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?agentzh=20=28=E7=AB=A0=E4=BA=A6=E6=98=A5=29?= Date: Sun, 22 Jul 2012 10:06:40 -0700 Subject: [PATCH] fixed an issue regarding subrequests in allow_request_body_updating.patch. --- ...nx-1.2.1-allow_request_body_updating.patch | 51 ++++++++++++------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/patches/nginx-1.2.1-allow_request_body_updating.patch b/patches/nginx-1.2.1-allow_request_body_updating.patch index 99e8c3b..527d461 100644 --- a/patches/nginx-1.2.1-allow_request_body_updating.patch +++ b/patches/nginx-1.2.1-allow_request_body_updating.patch @@ -1,7 +1,19 @@ -diff -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 2011-09-30 22:36:19.000000000 +0800 -+++ nginx-1.2.1-patched/src/http/ngx_http_request_body.c 2011-10-21 21:54:08.460350482 +0800 -@@ -38,7 +38,7 @@ +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++; @@ -10,7 +22,7 @@ diff -ur nginx-1.2.1/src/http/ngx_http_request_body.c nginx-1.2.1-patched/src/ht post_handler(r); return NGX_OK; } -@@ -440,7 +440,7 @@ +@@ -441,7 +441,7 @@ ssize_t size; ngx_event_t *rev; @@ -19,7 +31,7 @@ diff -ur nginx-1.2.1/src/http/ngx_http_request_body.c nginx-1.2.1-patched/src/ht return NGX_OK; } -@@ -456,20 +456,22 @@ +@@ -457,20 +457,22 @@ ngx_del_timer(rev); } @@ -47,7 +59,7 @@ diff -ur nginx-1.2.1/src/http/ngx_http_request_body.c nginx-1.2.1-patched/src/ht return NGX_OK; } } -@@ -568,7 +570,7 @@ +@@ -569,7 +571,7 @@ "http read discarded body"); for ( ;; ) { @@ -56,7 +68,7 @@ diff -ur nginx-1.2.1/src/http/ngx_http_request_body.c nginx-1.2.1-patched/src/ht r->read_event_handler = ngx_http_block_reading; return NGX_OK; } -@@ -577,9 +579,9 @@ +@@ -578,9 +580,9 @@ return NGX_AGAIN; } @@ -68,7 +80,7 @@ diff -ur nginx-1.2.1/src/http/ngx_http_request_body.c nginx-1.2.1-patched/src/ht n = r->connection->recv(r->connection, buffer, size); -@@ -596,7 +598,7 @@ +@@ -597,7 +599,7 @@ return NGX_OK; } @@ -77,10 +89,11 @@ diff -ur nginx-1.2.1/src/http/ngx_http_request_body.c nginx-1.2.1-patched/src/ht } } -diff -ur nginx-1.2.1/src/http/ngx_http_request.c nginx-1.2.1-patched/src/http/ngx_http_request.c ---- nginx-1.2.1/src/http/ngx_http_request.c 2011-09-30 22:36:19.000000000 +0800 -+++ nginx-1.2.1-patched/src/http/ngx_http_request.c 2011-10-21 19:06:38.404350692 +0800 -@@ -286,6 +286,8 @@ +Only in nginx-1.2.1-patched/src/http: ngx_http_request_body.c.orig +diff '--exclude=*~' -ur nginx-1.2.1/src/http/ngx_http_request.c nginx-1.2.1-patched/src/http/ngx_http_request.c +--- nginx-1.2.1/src/http/ngx_http_request.c 2012-06-05 06:52:37.000000000 -0700 ++++ nginx-1.2.1-patched/src/http/ngx_http_request.c 2012-07-21 12:08:30.656376973 -0700 +@@ -287,6 +287,8 @@ r->pipeline = hc->pipeline; @@ -89,7 +102,7 @@ diff -ur nginx-1.2.1/src/http/ngx_http_request.c nginx-1.2.1-patched/src/http/ng if (hc->nbusy) { r->header_in = hc->busy[0]; } -@@ -297,6 +299,8 @@ +@@ -298,6 +300,8 @@ return; } @@ -98,10 +111,11 @@ diff -ur nginx-1.2.1/src/http/ngx_http_request.c nginx-1.2.1-patched/src/http/ng hc->request = r; } -diff -ur nginx-1.2.1/src/http/ngx_http_request.h nginx-1.2.1-patched/src/http/ngx_http_request.h ---- nginx-1.2.1/src/http/ngx_http_request.h 2011-08-29 18:39:23.000000000 +0800 -+++ nginx-1.2.1-patched/src/http/ngx_http_request.h 2011-10-21 17:26:13.203807584 +0800 -@@ -366,6 +366,9 @@ +Only in nginx-1.2.1-patched/src/http: ngx_http_request.c.orig +diff '--exclude=*~' -ur nginx-1.2.1/src/http/ngx_http_request.h nginx-1.2.1-patched/src/http/ngx_http_request.h +--- nginx-1.2.1/src/http/ngx_http_request.h 2012-02-28 06:54:23.000000000 -0800 ++++ nginx-1.2.1-patched/src/http/ngx_http_request.h 2012-07-21 12:08:30.657376978 -0700 +@@ -368,6 +368,9 @@ ngx_pool_t *pool; ngx_buf_t *header_in; @@ -111,3 +125,4 @@ diff -ur nginx-1.2.1/src/http/ngx_http_request.h nginx-1.2.1-patched/src/http/ng ngx_http_headers_in_t headers_in; ngx_http_headers_out_t headers_out; +Only in nginx-1.2.1-patched/src/http: ngx_http_request.h.orig