From: Eric Covener Date: Mon, 24 Jun 2024 17:21:00 +0000 (+0000) Subject: mod_proxy: escape for non-proxypass configuration X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c329a643a30b446da92c1195ef65c9cdce82dba1;p=thirdparty%2Fapache%2Fhttpd.git mod_proxy: escape for non-proxypass configuration git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918550 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/proxy/mod_proxy.c b/modules/proxy/mod_proxy.c index 7e682437b66..24e6515bd2b 100644 --- a/modules/proxy/mod_proxy.c +++ b/modules/proxy/mod_proxy.c @@ -1320,15 +1320,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;