On Monday 03 September 2001 18:51, William A. Rowe, Jr. wrote:
> This patch entirely blows up internal redirection and subrequests,
> I would expect.
Huh? How? All this does is change how we set an environment
variable when dealing with CGIs. If this breaks anything in the server,
then the internal redirection and subrequests are horribly broken.
Ryan
> > rbb 01/09/03 18:38:01
> >
> > Modified: . CHANGES
> > server util_script.c
> > Log:
> > Back out the 1.45 change to util_script.c. This change made
> > us set the environment variable REQUEST_URI to the redirected
> > URI, instead of the originally requested URI.
> >
> > PR: 7580
> > Submitted by: Taketo Kabe <[EMAIL PROTECTED]>
> >
> > Revision Changes Path
> > 1.355 +5 -0 httpd-2.0/CHANGES
> >
> > Index: CHANGES
> > ===================================================================
> > RCS file: /home/cvs/httpd-2.0/CHANGES,v
> > retrieving revision 1.354
> > retrieving revision 1.355
> > diff -u -r1.354 -r1.355
> > --- CHANGES 2001/09/02 08:43:23 1.354
> > +++ CHANGES 2001/09/04 01:38:00 1.355
> > @@ -1,5 +1,10 @@
> > Changes with Apache 2.0.26-dev
> >
> > + *) Back out the 1.45 change to util_script.c. This change made
> > + us set the environment variable REQUEST_URI to the redirected
> > + URI, instead of the originally requested URI.
> > + [Taketo Kabe <[EMAIL PROTECTED]>]
> > +
> > *) Make mod_include do lazy evaluation of potentially expensive to
> > compute variables. [Brian Pane <[EMAIL PROTECTED]>]
> >
> >
> >
> >
> > 1.62 +29 -1 httpd-2.0/server/util_script.c
> >
> > Index: util_script.c
> > ===================================================================
> > RCS file: /home/cvs/httpd-2.0/server/util_script.c,v
> > retrieving revision 1.61
> > retrieving revision 1.62
> > diff -u -r1.61 -r1.62
> > --- util_script.c 2001/08/23 21:16:05 1.61
> > +++ util_script.c 2001/09/04 01:38:01 1.62
> > @@ -313,6 +313,34 @@
> > return lu;
> > }
> >
> > +/* Obtain the Request-URI from the original request-line, returning
> > + * a new string from the request pool containing the URI or "".
> > + */
> > +static char *original_uri(request_rec *r)
> > +{
> > + char *first, *last;
> > +
> > + if (r->the_request == NULL) {
> > + return (char *) apr_pcalloc(r->pool, 1);
> > + }
> > +
> > + first = r->the_request; /* use the request-line */
> > +
> > + while (*first && !apr_isspace(*first)) {
> > + ++first; /* skip over the method */
> > + }
> > + while (apr_isspace(*first)) {
> > + ++first; /* and the space(s) */
> > + }
> > +
> > + last = first;
> > + while (*last && !apr_isspace(*last)) {
> > + ++last; /* end at next whitespace */
> > + }
> > +
> > + return apr_pstrndup(r->pool, first, last - first);
> > +}
> > +
> > AP_DECLARE(void) ap_add_cgi_vars(request_rec *r)
> > {
> > apr_table_t *e = r->subprocess_env;
> > @@ -321,7 +349,7 @@
> > apr_table_setn(e, "SERVER_PROTOCOL", r->protocol);
> > apr_table_setn(e, "REQUEST_METHOD", r->method);
> > apr_table_setn(e, "QUERY_STRING", r->args ? r->args : "");
> > - apr_table_setn(e, "REQUEST_URI", r->unparsed_uri);
> > + apr_table_setn(e, "REQUEST_URI", original_uri(r));
> >
> > /* Note that the code below special-cases scripts run from
> > includes, * because it "knows" that the sub_request has been hacked to
> > have the
--
______________________________________________________________
Ryan Bloom [EMAIL PROTECTED]
Covalent Technologies [EMAIL PROTECTED]
--------------------------------------------------------------