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;