diff options
author | Yann Ylavic <ylavic@apache.org> | 2020-06-24 10:16:06 +0000 |
---|---|---|
committer | Yann Ylavic <ylavic@apache.org> | 2020-06-24 10:16:06 +0000 |
commit | b11eb1d7a34b36c60a8ca2c7c9c0a0a2f7b4d448 (patch) | |
tree | 977e440d6a2446b253e7664db586f342ece9ded9 /include | |
parent | 85ab7bcd3355fdab60acfa85bfb894b7fbcad09e (diff) | |
download | httpd-b11eb1d7a34b36c60a8ca2c7c9c0a0a2f7b4d448.tar.gz |
Follow up to r1879080: replace ProxyUseOriginalURI by mapping=encoded.
Instead of having a separate ProxyUseOriginalURI directive to control pre_ vs
normal translate stage, let's handle this at each ProxyPass level, with the
mapping= parameter.
At pre_translate stage mod_proxy will handle the "encoded" mapping only, and
at translate stage only the others (unless a worker was already elected at
the first stage).
Note that since mapping=servlet needs to happen encoded too, it's defined like:
#define PROXYPASS_MAP_ENCODED 0x08
#define PROXYPASS_MAP_SERVLET 0x18 /* + MAP_ENCODED */
so uch that proxy_trans does the right thing.
Follow up to r1879080: replace ProxyUseOriginalURI by mapping=encoded.
Instead of having a separate ProxyUseOriginalURI directive to control pre_ vs
normal translate stage, let's handle this at each ProxyPass level, with the
mapping= parameter.
At pre_translate stage mod_proxy will handle the "encoded" mapping only, and
at translate stage only the others (unless a worker was already elected at
the first stage).
Note that since mapping=servlet needs to happen encoded too, it's defined like:
#define PROXYPASS_MAP_ENCODED 0x08
#define PROXYPASS_MAP_SERVLET 0x18 /* + MAP_ENCODED */
so that proxy_trans does the right thing.
This allows for simpler and consistent mapping configuration, where the
translate stage depends only on the mapping= parameter.
To implement a fast path (do nothing) when no encoded mapping is configured
at pre_trans stage, or all mappings are encoded at translate stage, two bits
are added to proxy_server_conf (map_encoded_one:1, map_encoded_all:1) and
updated at load time. Thus MINOR is bumped too.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1879145 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include')
-rw-r--r-- | include/ap_mmn.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/ap_mmn.h b/include/ap_mmn.h index a3ab84498f..7d9f5e279e 100644 --- a/include/ap_mmn.h +++ b/include/ap_mmn.h @@ -634,6 +634,8 @@ * 20200420.3 (2.5.1-dev) Add ap_parse_strict_length() * 20200420.4 (2.5.1-dev) Add ap_normalize_path() * 20200420.5 (2.5.1-dev) Add pre_translate_name hook + * 20200420.6 (2.5.1-dev) Add map_encoded_one and map_encoded_all bits to + * proxy_server_conf */ #define MODULE_MAGIC_COOKIE 0x41503235UL /* "AP25" */ @@ -641,7 +643,7 @@ #ifndef MODULE_MAGIC_NUMBER_MAJOR #define MODULE_MAGIC_NUMBER_MAJOR 20200420 #endif -#define MODULE_MAGIC_NUMBER_MINOR 5 /* 0...n */ +#define MODULE_MAGIC_NUMBER_MINOR 6 /* 0...n */ /** * Determine if the server's current MODULE_MAGIC_NUMBER is at least a |