Received: by taz.hyperreal.com (8.8.4/V2.0) id SAA00331; Wed, 5 Feb 1997 18:08:20 -0800 (PST) Received: from paris.ics.uci.edu by taz.hyperreal.com (8.8.4/V2.0) with SMTP id SAA00321; Wed, 5 Feb 1997 18:08:13 -0800 (PST) Received: from liege.ics.uci.edu by paris.ics.uci.edu id aa17986; 5 Feb 97 18:00 PST To: new-httpd@hyperreal.com Subject: Re: [BUG]: "UPDATE: CGI outputting Location: redirect not working" on FreeBSD (fwd) In-reply-to: Your message of "Thu, 06 Feb 1997 01:08:07 GMT." Date: Wed, 05 Feb 1997 18:00:26 -0800 From: "Roy T. Fielding" Message-ID: <9702051800.aa17986@paris.ics.uci.edu> Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@hyperreal.com > How about this as a solution: > > Index: http_protocol.c > =================================================================== > RCS file: /export/home/cvs/apache/src/http_protocol.c,v > retrieving revision 1.12 > diff -u -r1.12 http_protocol.c > --- http_protocol.c 1997/01/31 22:26:42 1.12 > +++ http_protocol.c 1997/02/06 01:06:29 > @@ -1186,7 +1186,7 @@ > > int should_client_block (request_rec *r) > { > - if (is_HTTP_ERROR(r->status)) > + if (is_HTTP_ERROR(r->status) || is_HTTP_REDIRECT(r->status)) > return 0; > > if (!r->read_chunked && (r->remaining <= 0)) Nope. Fix the problem at its source, not the side-effect. The problem is that the internal redirect is inheriting the request state, which it should not be doing. The solution is to replace the hack in mod_cgi with a clean request without the old Content-Length/Transfer-Encoding fields of the original. ....Roy