From: William A. Rowe Jr Date: Mon, 6 Aug 2001 19:10:12 +0000 (+0000) Subject: _THIS_ is why mod_dir wouldn't serve the results of mod_negotiation X-Git-Tag: 2.0.23~48 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5835764fc86fb023e19c474a0525babeb8eb892b;p=apache _THIS_ is why mod_dir wouldn't serve the results of mod_negotiation with a query string git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89948 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/include/http_request.h b/include/http_request.h index a1f8375a57..cee11b4cf3 100644 --- a/include/http_request.h +++ b/include/http_request.h @@ -207,7 +207,7 @@ AP_DECLARE(void) ap_internal_redirect_handler(const char *new_uri, request_rec * * @tip the sub_req's pool will be merged into r's pool, be very careful * not to destroy this subrequest, it will be destroyed with the main request! */ -AP_DECLARE(void) ap_internal_fast_redirect(request_rec *sub_req, request_rec *r)) +AP_DECLARE(void) ap_internal_fast_redirect(request_rec *sub_req, request_rec *r); /** * Can be used within any handler to determine if any authentication diff --git a/modules/http/http_request.c b/modules/http/http_request.c index 107436ce25..487d0928ad 100644 --- a/modules/http/http_request.c +++ b/modules/http/http_request.c @@ -556,7 +556,8 @@ static request_rec *internal_internal_redirect(const char *new_uri, return new; } -AP_DECLARE(void) ap_internal_fast_redirect(request_rec *rr, request_rec *r)) +/* XXX: Is this function is so bogus and fragile that we deep-6 it? */ +AP_DECLARE(void) ap_internal_fast_redirect(request_rec *rr, request_rec *r) { /* We need to tell POOL_DEBUG that we're guaranteeing that rr->pool * will exist as long as r->pool. Otherwise we run into troubles because @@ -564,7 +565,9 @@ AP_DECLARE(void) ap_internal_fast_redirect(request_rec *rr, request_rec *r)) * rr->pool. */ apr_pool_join(r->pool, rr->pool); - r->mtime = 0; /* reset etag info for subrequest */ + r->mtime = rr->mtime; /* reset etag info for subrequest */ + r->uri = rr->uri; + r->args = rr->args; r->filename = rr->filename; r->handler = rr->handler; r->content_type = rr->content_type;