> -----Ursprüngliche Nachricht----- > Von: Jess Holle > Gesendet: Donnerstag, 17. April 2008 13:59 > An: dev@httpd.apache.org > Betreff: Re: 2.2.9 (Was: Re: [PROPOSAL] Time Based Releases) > > jean-frederic clere wrote: > >> IMHO we already forward them escaped. The problem is that > things get > >> unescaped first and for reserved characters like ';' this process > >> cannot be reverted. So if the original URL contained an escaped ';' > >> the forwarded one will contain a literal ';'. > >> With mod_proxy or better ProxyPass you already can get around this > >> by specifying the nocanon option which causes the the original > >> URL to be forwarded (much like JkOptions > +ForwardURICompatUnparsed). > > No nocanon doesn't do that. it use url (in which the %3B is already > > converted in ;) instead the r->unparsed_uri. > > And that would be JK_OPT_FWDURICOMPATUNPARSED and not > ForwardURIEscaped. > > To get ForwardURIEscaped we could call ap_escape_uri() on url. > I can confirm that using ProxyPass and nocanon does not solve the > problem -- I just tested this.
I jsut retested with trunk again (/test/foo%3Bbar?spaz=bot). In the nocanon case we sent /test/foo%253Bbar%3Fspaz=bot via AJP (network sniff) and in the case without noncanon we sent /test/foo;bar So in the first case we escape too often and in the second we do not escape enough. But the patch I just attached to PR44803 should fix this: https://issues.apache.org/bugzilla/attachment.cgi?id=21826 So ProxyPassMatch does now work as desired (with option nocanon of course). Regards Rüdiger