> -----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

Reply via email to