Received: (from majordom@localhost) by hyperreal.com (8.8.5/8.8.5) id OAA26359; Sun, 11 May 1997 14:08:24 -0700 (PDT) Received: from sierra.zyzzyva.com (ppp01-58.zyzzyva.com [208.214.58.10]) by hyperreal.com (8.8.5/8.8.5) with ESMTP id OAA26354 for ; Sun, 11 May 1997 14:08:20 -0700 (PDT) Received: from sierra (localhost [127.0.0.1]) by sierra.zyzzyva.com (8.8.5/8.8.2) with ESMTP id QAA00682 for ; Sun, 11 May 1997 16:06:47 -0500 (CDT) Message-Id: <199705112106.QAA00682@sierra.zyzzyva.com> X-Mailer: exmh version 2.0gamma 1/27/96 To: new-httpd@apache.org Subject: Re: [PATCH] internal redirect must inherit the_request In-reply-to: fielding's message of Fri, 09 May 1997 20:11:12 -0700. <9705092015.aa13235@paris.ics.uci.edu> X-uri: http://www.zyzzyva.com/ Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 11 May 1997 16:06:47 -0500 From: Randy Terbush Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org +1 Why this isn't causing coredumps on machines other than FreeBSD is curious... > >Is it possible that they are sub-requested CGI requests for which > > > > r->the_request == NULL ??? > > > >That is the only case I could find using > > > > cvs diff -c -r APACHE_1_2b10 > > > >It would cause a SEGV in the util_script.c changes. The fix is > >to find where the_request is getting screwed over. > > Even if this doesn't fix Chuck's problem, it needs fixing anyway. > I thought of it because of an old bug report, which I can't seem > to find in the bugdb. It would cause a segv on any error that > logged the_request. > > ....Roy > > Index: http_protocol.c > =================================================================== > RCS file: /export/home/cvs/apache/src/http_protocol.c,v > retrieving revision 1.119 > diff -c -r1.119 http_protocol.c > *** http_protocol.c 1997/05/08 11:27:28 1.119 > --- http_protocol.c 1997/05/10 03:12:32 > *************** > *** 847,852 **** > --- 847,854 ---- > > void set_sub_req_protocol (request_rec *rnew, const request_rec *r) > { > + rnew->the_request = r->the_request; /* Keep original request-line */ > + > rnew->assbackwards = 1; /* Don't send headers from this. */ > rnew->no_local_copy = 1; /* Don't try to send USE_LOCAL_COPY for a > * fragment. > Index: http_request.c > =================================================================== > RCS file: /export/home/cvs/apache/src/http_request.c,v > retrieving revision 1.48 > diff -c -r1.48 http_request.c > *** http_request.c 1997/05/08 13:09:24 1.48 > --- http_request.c 1997/05/10 03:12:32 > *************** > *** 1040,1045 **** > --- 1040,1047 ---- > > /* Inherit the rest of the protocol info... */ > > + new->the_request = r->the_request; > + > new->method = r->method; > new->method_number = r->method_number; > new->allowed = r->allowed;