Blame SOURCES/httpd-2.4.25-r1782332.patch

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