There are now tests for both PR 32459 and PR 15207 in httpd-test's
t/modules/proxy.t; the former fails at the moment in 2.1 and the latter
should fail instead if you flip the silly #define.

sorry - the PR 32459 test is in t/modules/rewrite.t not proxy.t

The below results in corrected behavior... Passes httpd-test and some testing that I've done here, but would like more feedback before I commit...

Index: modules/proxy/proxy_util.c
===================================================================
--- modules/proxy/proxy_util.c  (revision 149512)
+++ modules/proxy/proxy_util.c  (working copy)
@@ -175,7 +175,7 @@
         continue;
     }
 /* decode it if not already done */
-    if (isenc && ch == '%') {
+    if (isenc != PROXYREQ_REVERSE && ch == '%') {
         if (!apr_isxdigit(x[i + 1]) || !apr_isxdigit(x[i + 2]))
         return NULL;
         ch = ap_proxy_hex2c(&x[i + 1]);
Index: modules/proxy/mod_proxy.c
===================================================================
--- modules/proxy/mod_proxy.c   (revision 149512)
+++ modules/proxy/mod_proxy.c   (working copy)
@@ -1,4 +1,3 @@
-#define FIX_15207
 /* Copyright 1999-2004 The Apache Software Foundation
  *
  * Licensed under the Apache License, Version 2.0 (the "License");



Reply via email to