]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
mod_proxy: escape for non-proxypass configuration
authorEric Covener <covener@apache.org>
Mon, 24 Jun 2024 17:21:00 +0000 (17:21 +0000)
committerEric Covener <covener@apache.org>
Mon, 24 Jun 2024 17:21:00 +0000 (17:21 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918550 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/mod_proxy.c

index 7e682437b66edeae0c5601bec8b038adfc3ffc39..24e6515bd2b910effbd4920a8ec20cb9c561542f 100644 (file)
@@ -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;