56 lines
2.0 KiB
Diff
56 lines
2.0 KiB
Diff
From 657d20fe0dbe55a793ca48fb6f58ee497d241934 Mon Sep 17 00:00:00 2001
|
|
From: Jim Jagielski <jim@apache.org>
|
|
Date: Wed, 7 Nov 2018 15:18:42 +0000
|
|
Subject: [PATCH 261/504] Merge r1837250 from trunk:
|
|
|
|
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>]
|
|
Submitted by: jailletc36
|
|
Reviewed by: jailletc36, rpluem, jim
|
|
|
|
|
|
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1846044 13f79535-47bb-0310-9956-ffa450edef68
|
|
---
|
|
CHANGES | 4 ++++
|
|
STATUS | 6 ------
|
|
modules/proxy/proxy_util.c | 8 ++++++--
|
|
3 files changed, 10 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c
|
|
index 6501c68064..cbf8826777 100644
|
|
--- a/modules/proxy/proxy_util.c
|
|
+++ b/modules/proxy/proxy_util.c
|
|
@@ -837,7 +837,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;
|
|
|
|
/*
|
|
@@ -849,7 +849,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;
|
|
@@ -862,6 +862,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
|
|
--
|
|
2.19.1
|
|
|