You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by Randy Terbush <ra...@hyperreal.com> on 1997/01/12 21:22:19 UTC
cvs commit: apache/src CHANGES http_protocol.c
randy 97/01/12 12:22:19
Modified: src CHANGES http_protocol.c
Log:
A POST request to a CGI script that fails can be redirected to another
CGI to handle via ErrorDocument 500.
Apache uses:
if (!r->read_chunked && (r->remaining <= 0))
to decide if it should read the POSTed data, but the 2nd script can't
find any POSTed data so it'll hang. If the script doesn't look for POSTed
data Apache does, so it hangs.
Reviewed by: Alexei Kosut, Randy Terbush, Rob Hartill
Submitted by: Rob Hartill
Revision Changes Path
1.121 +3 -0 apache/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache/src/CHANGES,v
retrieving revision 1.120
retrieving revision 1.121
diff -C3 -r1.120 -r1.121
*** CHANGES 1997/01/12 20:11:53 1.120
--- CHANGES 1997/01/12 20:22:16 1.121
***************
*** 1,5 ****
--- 1,8 ----
Changes with Apache 1.2b5
+ *) CGI scripts called as an error document resulting from failed
+ CGI execution would hang waiting for POST'ed data. [Rob Hartill]
+
*) Log reason when mod_dir returns access HTTP_FORBIDDEN
[Ken the Rodent]
1.90 +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.89
retrieving revision 1.90
diff -C3 -r1.89 -r1.90
*** http_protocol.c 1997/01/12 16:53:13 1.89
--- http_protocol.c 1997/01/12 20:22:17 1.90
***************
*** 1164,1169 ****
--- 1164,1172 ----
int should_client_block (request_rec *r)
{
+ if (is_HTTP_ERROR(r->status))
+ return 0;
+
if (!r->read_chunked && (r->remaining <= 0))
return 0;