dgaudet 97/11/05 03:40:14
Modified: src Tag: APACHE_1_2_X CHANGES mod_include.c Log: mod_include did not properly handle all possible redirects from sub-reqs. Submitted by: Ken Coar Reviewed by: Dean Gaudet, Roy Fielding, Ralf Engelschall Revision Changes Path No revision No revision 1.286.2.57 +3 -0 apache/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apache/src/CHANGES,v retrieving revision 1.286.2.56 retrieving revision 1.286.2.57 diff -u -r1.286.2.56 -r1.286.2.57 --- CHANGES 1997/11/05 11:38:51 1.286.2.56 +++ CHANGES 1997/11/05 11:40:12 1.286.2.57 @@ -6,6 +6,9 @@ r->filename. Since those two are meant to be in sync with each other this is a bug. ["Paul B. Henson" <[EMAIL PROTECTED]>] + *) mod_include did not properly handle all possible redirects from sub- + requests. [Ken Coar] + *) Inetd mode (which is buggy) uses timeouts without having setup the jmpbuffer. [Dean Gaudet] PR#1064 1.33.2.6 +3 -1 apache/src/mod_include.c Index: mod_include.c =================================================================== RCS file: /export/home/cvs/apache/src/mod_include.c,v retrieving revision 1.33.2.5 retrieving revision 1.33.2.6 diff -u -r1.33.2.5 -r1.33.2.6 --- mod_include.c 1997/07/31 08:50:02 1.33.2.5 +++ mod_include.c 1997/11/05 11:40:13 1.33.2.6 @@ -494,6 +494,7 @@ int include_cgi(char *s, request_rec *r) { request_rec *rr = sub_req_lookup_uri (s, r); + int rr_status; if (rr->status != 200) return -1; @@ -515,7 +516,8 @@ /* Run it. */ - if (run_sub_req (rr) == REDIRECT) { + rr_status = run_sub_req(rr); + if (is_HTTP_REDIRECT(rr_status)) { char *location = table_get (rr->headers_out, "Location"); location = escape_html(rr->pool, location); rvputs(r,"<A HREF=\"", location, "\">", location, "</A>", NULL);