From: Eric Covener Date: Mon, 24 Jun 2024 17:52:31 +0000 (+0000) Subject: Merge r1918550 from trunk: X-Git-Tag: 2.4.60-rc1-candidate~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b10cb2d69184843832d501a615abe3e8e5e256dc;p=thirdparty%2Fapache%2Fhttpd.git Merge r1918550 from trunk: mod_proxy: escape for non-proxypass configuration git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1918559 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/proxy/mod_proxy.c b/modules/proxy/mod_proxy.c index c9cef7c44f5..17e39c95b8f 100644 --- a/modules/proxy/mod_proxy.c +++ b/modules/proxy/mod_proxy.c @@ -1314,15 +1314,18 @@ static int proxy_handler(request_rec *r) } if (!r->proxyreq) { + rc = DECLINED; /* We may have forced the proxy handler via config or .htaccess */ if (r->handler && strncmp(r->handler, "proxy:", 6) == 0 && strncmp(r->filename, "proxy:", 6) != 0) { r->proxyreq = PROXYREQ_REVERSE; r->filename = apr_pstrcat(r->pool, r->handler, r->filename, NULL); + /* Still need to fixup/canonicalize r->filename */ + rc = proxy_fixup(r); } - else { - return DECLINED; + if (rc != OK) { + return rc; } } else if (strncmp(r->filename, "proxy:", 6) != 0) { return DECLINED;