You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Adam Sussman <my...@vidya.com> on 1996/02/02 10:16:26 UTC
Re: the next release & updated patches
> Also, could someone please move my patches in for_Apache_misc (56 and 73a)
> into 1.0.2, assming that it's for 1.1b1. They patch cleanly onto 1.0.2,
> and I would like to see them in the next featured release. I would also
> like to reccomend patches 61a, 65, 66, 68, 70, 72, 77, and 84 (that's all
> but 71, which conficts with 56, and 17, 78, and 83, which don't patch onto
> 1.0.2 - if the authors of these patches could respin them, that'd be
> wonderful) be moved as well, as they all patch cleanly onto 1.0.2, work
> fine, and were put there so they would end up in the beta of 1.1.
>
I would like to second this (if my words have any weight :). Enclosed
is an updated version of patch 78 taken against a clean 1.0.2. I would
appreciate if someone would move it to the for_Apache_1.0.2 directory.
-adam
-- snip --
From: asussman@vidya.com (Adam Sussman)
Subject: Preserve HTTP Method accross an internal redirect.
Affects: http_request.c mod_cgi.c
ChangeLog: The current internal_redirect code always hard sets the new request
to a GET method. This is not always desireable. This patch causes
internal_redirect to preserve the original request method except in
the case of a redirect from the CGI module.
diff -C3 src.old/http_request.c src/http_request.c
*** src.old/http_request.c Fri Feb 2 00:39:13 1996
--- src/http_request.c Fri Feb 2 00:40:30 1996
***************
*** 658,671 ****
new->prev = r;
r->next = new;
- /* We are redirecting. Treat the internally generated transaction
- * as a GET, since there is not a chance of its getting POST-style
- * arguments.
- */
- new->method = "GET";
- new->method_number = M_GET;
-
/* Inherit the rest of the protocol info... */
new->status = r->status;
new->assbackwards = r->assbackwards;
--- 658,667 ----
new->prev = r;
r->next = new;
/* Inherit the rest of the protocol info... */
+
+ new->method = pstrdup(r->pool, r->method);
+ new->method_number = r->method_number;
new->status = r->status;
new->assbackwards = r->assbackwards;
Only in src: log
diff -C3 src.old/mod_cgi.c src/mod_cgi.c
*** src.old/mod_cgi.c Fri Feb 2 00:39:13 1996
--- src/mod_cgi.c Fri Feb 2 00:44:01 1996
***************
*** 314,320 ****
while (fgets(argsbuffer, HUGE_STRING_LEN-1, script_in) != NULL)
continue;
kill_timeout (r);
!
internal_redirect (location, r);
return OK;
}
--- 314,327 ----
while (fgets(argsbuffer, HUGE_STRING_LEN-1, script_in) != NULL)
continue;
kill_timeout (r);
!
!
! /* This redirect needs to be a GET no matter what the original
! * method was.
! */
! r->method = pstrdup(r->pool, "GET");
! r->method_number = M_GET;
!
internal_redirect (location, r);
return OK;
}