From: Graham Leggett Date: Sat, 27 Feb 2010 19:06:31 +0000 (+0000) Subject: mod_negotiation: Do not lose query string after content negotiation X-Git-Tag: 2.2.15~46 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a9d66e220d0be5c9cf6bd13639245dadce17ad33;p=thirdparty%2Fapache%2Fhttpd.git mod_negotiation: Do not lose query string after content negotiation +1: rpluem, jorton, trawick git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@917017 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index a18ae6f97ea..23aa41f621d 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,11 @@ Changes with Apache 2.2.15 access control is still vulnerable, unless using OpenSSL >= 0.9.8l. [Joe Orton, Ruediger Pluem, Hartmut Keil ] + *) mod_negotiation: Preserve query string over multiviews negotiation. + This buglet was fixed for type maps in 2.2.6, but the same issue + affected multiviews and was overlooked. + PR 33112 [Joergen Thomsen ] + *) mod_cache: Introduce the thundering herd lock, a mechanism to keep the flood of requests at bay that strike a backend webserver as a cached entity goes stale. [Graham Leggett] diff --git a/STATUS b/STATUS index b7cdfca931f..4e79a5d45b7 100644 --- a/STATUS +++ b/STATUS @@ -96,12 +96,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK: minfrin: The trunk patch currently conflicts with v2.2, is someone able to take a look? - * mod_negotiation: Do not loose query string after content negotiation - Trunk version of patch: - http://svn.apache.org/viewcvs.cgi?rev=915407&view=rev - Backport version for 2.2.x of patch: - Trunk version of patch works - +1: rpluem, jorton, trawick PATCHES PROPOSED TO BACKPORT FROM TRUNK: [ New proposals should be added at the end of the list ] diff --git a/modules/mappers/mod_negotiation.c b/modules/mappers/mod_negotiation.c index a9c6bc9e31f..d3ae87c6231 100644 --- a/modules/mappers/mod_negotiation.c +++ b/modules/mappers/mod_negotiation.c @@ -3130,6 +3130,9 @@ static int handle_multi(request_rec *r) goto return_from_multi; } } + if (sub_req->args == NULL) { + sub_req->args = r->args; + } /* now do a "fast redirect" ... promotes the sub_req into the main req */ ap_internal_fast_redirect(sub_req, r);