# ./pullrev.sh 1782332
http://svn.apache.org/viewvc?view=revision&revision=1782332
--- httpd-2.4.25/modules/proxy/mod_proxy.c
+++ httpd-2.4.25/modules/proxy/mod_proxy.c
@@ -764,6 +764,10 @@
|| !r->uri || r->uri[0] != '/') {
return DECLINED;
}
+
+ if (apr_table_get(r->subprocess_env, "no-proxy")) {
+ return DECLINED;
+ }
/* XXX: since r->uri has been manipulated already we're not really
* compliant with RFC1945 at this point. But this probably isn't
@@ -771,29 +775,18 @@
*/
dconf = ap_get_module_config(r->per_dir_config, &proxy_module);
- conf = (proxy_server_conf *) ap_get_module_config(r->server->module_config,
- &proxy_module);
+
/* short way - this location is reverse proxied? */
if (dconf->alias) {
int rv = ap_proxy_trans_match(r, dconf->alias, dconf);
- if (OK == rv) {
- /* Got a hit. Need to make sure it's not explicitly declined */
- if (conf->aliases->nelts) {
- ent = (struct proxy_alias *) conf->aliases->elts;
- for (i = 0; i < conf->aliases->nelts; i++) {
- int rv = ap_proxy_trans_match(r, &ent[i], dconf);
- if (DECLINED == rv) {
- return DECLINED;
- }
- }
- }
- return OK;
- }
if (DONE != rv) {
return rv;
}
}
+ conf = (proxy_server_conf *) ap_get_module_config(r->server->module_config,
+ &proxy_module);
+
/* long way - walk the list of aliases, find a match */
if (conf->aliases->nelts) {
ent = (struct proxy_alias *) conf->aliases->elts;