[Remove entries to the current 2.0 section below, when backported]
+ *) Hook mod_proxy's fixup before mod_rewrite's fixup, so that by
+ mod_rewrite proxied URLs will not be escaped accidentally by
+ mod_proxy's fixup. PR 16368 [André Malo]
+
*) While processing filters on internal redirects, remember seen EOS
buckets also in the request structure of the redirect issuer(s). This
- prevents filters (such as mod_deflate) to add garbage to the response.
- PR 14451. [André Malo]
+ prevents filters (such as mod_deflate) from adding garbage to the
+ response. PR 14451. [André Malo]
*) Allow restart of httpd to occur even with syntax errors in the config
file. PR 16813. [Justin Erenkrantz]
static void register_hooks(apr_pool_t *p)
{
+ /* fixup after mod_proxy, so that the proxied url will not
+ * escaped accidentally by mod_proxy's fixup.
+ */
+ static const char * const aszPre[]={ "mod_proxy.c", NULL };
+
APR_REGISTER_OPTIONAL_FN(ap_register_rewrite_mapfunc);
ap_hook_handler(handler_redirect, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_post_config(post_config, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_child_init(init_child, NULL, NULL, APR_HOOK_MIDDLE);
- ap_hook_fixups(hook_fixup, NULL, NULL, APR_HOOK_FIRST);
+ ap_hook_fixups(hook_fixup, aszPre, NULL, APR_HOOK_FIRST);
ap_hook_translate_name(hook_uri2file, NULL, NULL, APR_HOOK_FIRST);
ap_hook_type_checker(hook_mimetype, NULL, NULL, APR_HOOK_MIDDLE);
}
static void register_hooks(apr_pool_t *p)
{
+ /* fixup before mod_rewrite, so that the proxied url will not
+ * escaped accidentally by our fixup.
+ */
+ static const char * const aszSucc[]={ "mod_rewrite.c", NULL };
+
/* handler */
ap_hook_handler(proxy_handler, NULL, NULL, APR_HOOK_FIRST);
/* filename-to-URI translation */
/* walk <Proxy > entries and suppress default TRACE behavior */
ap_hook_map_to_storage(proxy_map_location, NULL,NULL, APR_HOOK_FIRST);
/* fixups */
- ap_hook_fixups(proxy_fixup, NULL, NULL, APR_HOOK_FIRST);
+ ap_hook_fixups(proxy_fixup, NULL, aszSucc, APR_HOOK_FIRST);
/* post read_request handling */
ap_hook_post_read_request(proxy_detect, NULL, NULL, APR_HOOK_FIRST);
/* post config handling */