]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
make sure the $n of the regular expressions is not included the name of the worker.
authorJean-Frederic Clere <jfclere@apache.org>
Thu, 4 Jun 2020 08:40:10 +0000 (08:40 +0000)
committerJean-Frederic Clere <jfclere@apache.org>
Thu, 4 Jun 2020 08:40:10 +0000 (08:40 +0000)
for example,  the example:
ProxyPassMatch "^(/.*\.gif)$" "http://backend.example.com:8000$1"
was giving:
AH00526: Syntax error on line nnn of bla/conf/httpd.conf:
ProxyPass Unable to parse URL: http://backend.example.com:8000$1

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1878467 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/proxy_util.c

index c0c19110b9b25203a3406f29250197417efbcb85..1597b9f211bf130a963b95601f2ec6ff482007f8 100644 (file)
@@ -1951,8 +1951,12 @@ PROXY_DECLARE(char *) ap_proxy_define_match_worker(apr_pool_t *p,
                                              int do_malloc)
 {
     char *err;
+    char *rurl = apr_pstrdup(p, url);
+    char *pdollar = ap_strchr(rurl, '$');
 
-    err = ap_proxy_define_worker(p, worker, balancer, conf, url, do_malloc);
+    if (pdollar != NULL)
+        *pdollar = '\0'; 
+    err = ap_proxy_define_worker(p, worker, balancer, conf, rurl, do_malloc);
     if (err) {
         return err;
     }