DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=29554>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=29554

ProxyPass / ProxyPassReverse mishandles escaped characters : and /





------- Additional Comments From [EMAIL PROTECTED]  2004-06-16 14:45 -------
OK. There were two bugs involved.

The port 80/8000 thing might have had to do with my incorrectly tweaking
httpd.conf during testing, so let's forget it.

The problem with %3A ':' was due to a misguided URI canonicalization attempt in
function modules/proxy/mod_proxy.c:proxy_fixup(). I added a bypass to the
canonicalization in the case of PROXY_PASS. Actually I believe canonicalization
shouldn't happen in the STD_PROXY case either and the whole function should be
scrapped.

The problem with %2F '/' was due to r->proxyreq=PROXY_PASS being declared too
late, only in modules/proxy/mod_proxy.c:proxy_trans(), so that
main/http_request.c:process_request_internal() messed up with the URL, not
realizing there is a proxy request going on. Consequently, I moved the stuff
from modules/proxy/mod_proxy.c:proxy_trans() into
modules/proxy/mod_proxy.c:proxy_detect().

PS: note that so as to compile mod_proxy from apache 1.3.31 on my old apache
1.3.26, I had to add this to mod_proxy.h:
#define ap_psocket_ex(p,q,r,s,t) (t==1?ap_psocket(p,q,r,s):-1)

THE HORROR! THE HORROR!

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to