]> granicus.if.org Git - apache/commitdiff
Fix #32367 support for ProxyPass /foo !
authorMladen Turk <mturk@apache.org>
Tue, 1 Feb 2005 17:17:40 +0000 (17:17 +0000)
committerMladen Turk <mturk@apache.org>
Tue, 1 Feb 2005 17:17:40 +0000 (17:17 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@149420 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/mod_proxy.c

index 15e3ff5eed6aedf84ae736c6ffb5b64d588297e0..f0e0ee605f0d5e8cda7fcb483ae6ab8f24d6577d 100644 (file)
@@ -391,6 +391,9 @@ static int proxy_detect(request_rec *r)
         for (i = 0; i < conf->aliases->nelts; i++) {
             len = alias_match(r->unparsed_uri, ent[i].fake);
             if (len > 0) {
+                if ((ent[i].real[0] == '!') && (ent[i].real[1] == 0)) {
+                    return DECLINED;
+                }
                 r->filename = apr_pstrcat(r->pool, "proxy:", ent[i].real,
                                           r->unparsed_uri + len, NULL);
                 r->handler = "proxy-server";
@@ -979,6 +982,8 @@ static const char *
     new = apr_array_push(conf->aliases);
     new->fake = apr_pstrdup(cmd->pool, f);
     new->real = apr_pstrdup(cmd->pool, r);
+    if (r[0] == '!' && r[1] == '\0')
+        return NULL;
     
     arr = apr_table_elts(params);
     elts = (const apr_table_entry_t *)arr->elts;