Commit 98c2ec8a authored by Christophe Jaillet's avatar Christophe Jaillet
Browse files

If ProxyPassReverse is used for reverse mapping of relative redirects,...

If ProxyPassReverse is used for reverse mapping of relative redirects, subsequent ProxyPassReverse statements, whether they are relative or absolute, may fail.

PR 60408 [Peter Haworth <pmh1wheel gmail.com>]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837250 13f79535-47bb-0310-9956-ffa450edef68
parent cedf22ca
Loading
Loading
Loading
Loading
+4 −0
Changes for CHANGES: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
                                                         -*- coding: utf-8 -*-
Changes with Apache 2.5.1

  *) mod_proxy: If ProxyPassReverse is used for reverse mapping of relative
     redirects, subsequent ProxyPassReverse statements, whether they are
     relative or absolute, may fail.  PR 60408.  [Peter Haworth <pmh1wheel gmail.com>]

  *) mod_ratelimit: Don't interfere with "chunked" encoding, fixing regression
     introduced in 2.4.34.  PR 62568.  [Yann Ylavic]

+6 −2
Changes for modules/proxy/proxy_util.c: 6 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -830,7 +830,7 @@ PROXY_DECLARE(const char *) ap_proxy_location_reverse_map(request_rec *r,
{
    proxy_req_conf *rconf;
    struct proxy_alias *ent;
    int i, l1, l2;
    int i, l1, l1_orig, l2;
    char *u;

    /*
@@ -842,7 +842,7 @@ PROXY_DECLARE(const char *) ap_proxy_location_reverse_map(request_rec *r,
        return url;
    }

    l1 = strlen(url);
    l1_orig = strlen(url);
    if (conf->interpolate_env == 1) {
        rconf = ap_get_module_config(r->request_config, &proxy_module);
        ent = (struct proxy_alias *)rconf->raliases->elts;
@@ -855,6 +855,10 @@ PROXY_DECLARE(const char *) ap_proxy_location_reverse_map(request_rec *r,
            ap_get_module_config(r->server->module_config, &proxy_module);
        proxy_balancer *balancer;
        const char *real = ent[i].real;

        /* Restore the url length, if it had been changed by the code below */
        l1 = l1_orig;

        /*
         * First check if mapping against a balancer and see
         * if we have such a entity. If so, then we need to