View | Details | Raw Unified | Return to bug 60458
Collapse All | Expand All

(-)modules/proxy/mod_proxy.c (-4 / +15 lines)
Lines 788-805 Link Here
788
     */
788
     */
789
789
790
    dconf = ap_get_module_config(r->per_dir_config, &proxy_module);
790
    dconf = ap_get_module_config(r->per_dir_config, &proxy_module);
791
791
    conf = (proxy_server_conf *) ap_get_module_config(r->server->module_config,
792
                                                      &proxy_module);
792
    /* short way - this location is reverse proxied? */
793
    /* short way - this location is reverse proxied? */
793
    if (dconf->alias) {
794
    if (dconf->alias) {
794
        int rv = ap_proxy_trans_match(r, dconf->alias, dconf);
795
        int rv = ap_proxy_trans_match(r, dconf->alias, dconf);
796
        if (OK == rv) { 
797
            /* Got a hit. Need to make sure it's not explicitly declined */
798
            if (conf->aliases->nelts) {
799
                ent = (struct proxy_alias *) conf->aliases->elts;
800
                for (i = 0; i < conf->aliases->nelts; i++) {
801
                    int rv = ap_proxy_trans_match(r, &ent[i], dconf);
802
                    if (DECLINED == rv) { 
803
                        return DECLINED;
804
                    }
805
                }
806
            }
807
            return OK; 
808
        }
795
        if (DONE != rv) {
809
        if (DONE != rv) {
796
            return rv;
810
            return rv;
797
        }
811
        }
798
    }
812
    }
799
813
800
    conf = (proxy_server_conf *) ap_get_module_config(r->server->module_config,
801
                                                      &proxy_module);
802
803
    /* long way - walk the list of aliases, find a match */
814
    /* long way - walk the list of aliases, find a match */
804
    if (conf->aliases->nelts) {
815
    if (conf->aliases->nelts) {
805
        ent = (struct proxy_alias *) conf->aliases->elts;
816
        ent = (struct proxy_alias *) conf->aliases->elts;

Return to bug 60458