Author: mdounin
Date: 2012-06-04 10:54:48 +0000 (Mon, 04 Jun 2012)
New Revision: 4663
URL: http://trac.nginx.org/nginx/changeset/4663/nginx
Log:
Merge of r4616: r->state fix.
Added r->state reset on fastcgi/scgi/uwsgi request start.
Failing to do so results in problems if 400 or 414 requests are
redirected to fastcgi/scgi/uwsgi upstream, as well as after invalid
headers got from upstream. This was already fixed for proxy in r3478,
but fastcgi (the only affected protocol at that time) was missed.
Reported by Matthieu Tourne.
Modified:
branches/stable-1.2/
branches/stable-1.2/src/http/modules/ngx_http_fastcgi_module.c
branches/stable-1.2/src/http/modules/ngx_http_scgi_module.c
branches/stable-1.2/src/http/modules/ngx_http_uwsgi_module.c
Index: branches/stable-1.2
===================================================================
--- branches/stable-1.2 2012-06-04 10:52:43 UTC (rev 4662)
+++ branches/stable-1.2 2012-06-04 10:54:48 UTC (rev 4663)
Property changes on: branches/stable-1.2
___________________________________________________________________
Modified: svn:mergeinfo
## -1 +1 ##
-/trunk:4611-4613,4615,4620
+/trunk:4611-4613,4615-4616,4620
\ No newline at end of property
Modified: branches/stable-1.2/src/http/modules/ngx_http_fastcgi_module.c
===================================================================
--- branches/stable-1.2/src/http/modules/ngx_http_fastcgi_module.c 2012-06-04 10:52:43 UTC (rev 4662)
+++ branches/stable-1.2/src/http/modules/ngx_http_fastcgi_module.c 2012-06-04 10:54:48 UTC (rev 4663)
@@ -619,6 +619,7 @@
u->process_header = ngx_http_fastcgi_process_header;
u->abort_request = ngx_http_fastcgi_abort_request;
u->finalize_request = ngx_http_fastcgi_finalize_request;
+ r->state = 0;
u->buffering = 1;
@@ -1194,6 +1195,8 @@
f->fastcgi_stdout = 0;
f->large_stderr = 0;
+ r->state = 0;
+
return NGX_OK;
}
Modified: branches/stable-1.2/src/http/modules/ngx_http_scgi_module.c
===================================================================
--- branches/stable-1.2/src/http/modules/ngx_http_scgi_module.c 2012-06-04 10:52:43 UTC (rev 4662)
+++ branches/stable-1.2/src/http/modules/ngx_http_scgi_module.c 2012-06-04 10:54:48 UTC (rev 4663)
@@ -434,6 +434,7 @@
u->process_header = ngx_http_scgi_process_status_line;
u->abort_request = ngx_http_scgi_abort_request;
u->finalize_request = ngx_http_scgi_finalize_request;
+ r->state = 0;
u->buffering = scf->upstream.buffering;
@@ -843,6 +844,7 @@
status->end = NULL;
r->upstream->process_header = ngx_http_scgi_process_status_line;
+ r->state = 0;
return NGX_OK;
}
Modified: branches/stable-1.2/src/http/modules/ngx_http_uwsgi_module.c
===================================================================
--- branches/stable-1.2/src/http/modules/ngx_http_uwsgi_module.c 2012-06-04 10:52:43 UTC (rev 4662)
+++ branches/stable-1.2/src/http/modules/ngx_http_uwsgi_module.c 2012-06-04 10:54:48 UTC (rev 4663)
@@ -467,6 +467,7 @@
u->process_header = ngx_http_uwsgi_process_status_line;
u->abort_request = ngx_http_uwsgi_abort_request;
u->finalize_request = ngx_http_uwsgi_finalize_request;
+ r->state = 0;
u->buffering = uwcf->upstream.buffering;
@@ -883,6 +884,7 @@
status->end = NULL;
r->upstream->process_header = ngx_http_uwsgi_process_status_line;
+ r->state = 0;
return NGX_OK;
}
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel