Please note that I'm not 100% happy, since the below "hides"
the meeting of isenc, or at least changes it... The real
fix is to also pass r->proxyreq (to determine type of
proxy request) as well as isenc, which should be renamed
something like forceenc to force the encoding
no matter what type of proxy request. I can provide that
if there's interest...

On Feb 2, 2005, at 9:22 AM, Jim Jagielski wrote:



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");


--
=======================================================================
 Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   http://www.jaguNET.com/
  "There 10 types of people: those who read binary and everyone else."



Reply via email to