From: Mladen Turk Date: Tue, 1 Feb 2005 17:17:40 +0000 (+0000) Subject: Fix #32367 support for ProxyPass /foo ! X-Git-Tag: 2.1.3~85 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e6664a0bb26bd5374960289606485a94e8918d0d;p=apache Fix #32367 support for ProxyPass /foo ! git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@149420 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/proxy/mod_proxy.c b/modules/proxy/mod_proxy.c index 15e3ff5eed..f0e0ee605f 100644 --- a/modules/proxy/mod_proxy.c +++ b/modules/proxy/mod_proxy.c @@ -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;