You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by Roy Fielding <fi...@hyperreal.com> on 1997/05/01 01:02:00 UTC
cvs commit: apache/src CHANGES http_protocol.c
fielding 97/04/30 16:01:59
Modified: src CHANGES http_protocol.c
Log:
If an ErrorDocument CGI script is used to respond to an error
generated by another CGI script which has already read the message
body of the request, the server would block trying to read the
message body again.
I thought this problem was fixed by removing the Content-Length header
field in mod_cgi, but that only fixed it for internal redirects.
So, I have restored the previously tested and verified fix which is
specific to ErrorDocument.
Submitted by: Rob Hartill
Reviewed by: Roy Fielding
Revision Changes Path
1.262 +7 -0 apache/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache/src/CHANGES,v
retrieving revision 1.261
retrieving revision 1.262
diff -C3 -r1.261 -r1.262
*** CHANGES 1997/04/29 03:41:12 1.261
--- CHANGES 1997/04/30 23:01:56 1.262
***************
*** 1,3 ****
--- 1,10 ----
+ Changes with Apache 1.2
+
+ *) If an ErrorDocument CGI script is used to respond to an error
+ generated by another CGI script which has already read the message
+ body of the request, the server would block trying to read the
+ message body again. [Rob Hartill]
+
Changes with Apache 1.2b10
*) Allow HTTPD_ROOT, SERVER_CONFIG_FILE, DEFAULT_PATH, and SHELL_PATH
1.118 +3 -0 apache/src/http_protocol.c
Index: http_protocol.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_protocol.c,v
retrieving revision 1.117
retrieving revision 1.118
diff -C3 -r1.117 -r1.118
*** http_protocol.c 1997/04/27 06:23:21 1.117
--- http_protocol.c 1997/04/30 23:01:57 1.118
***************
*** 1348,1353 ****
--- 1348,1356 ----
int should_client_block (request_rec *r)
{
+ if (is_HTTP_ERROR(r->status))
+ return 0;
+
if (!r->read_chunked && (r->remaining <= 0))
return 0;