I just submitted bug 42120. It appears that Apache is improperly (at least I think it's improper) matching Location blocks when doing authentication if a path component parameter is passed on.

Specifically, something like this
<Location /webapp/servlet/SomeServlet>
 {Auth stuff}
</Location>

In this scenario, if I hit http://server/webapp/servlet/SomeServlet I'll be properly challenged. However, if I generate a servlet URL with the jsession ID as a parameter rather than a cookie, the URL will look something like http://server/webapp/servlet/SomeServlet;jsessionid=[sessionid] and Apache fails to properly challenge for authentication.

There are a number of potential workarounds (LocationMatch, or Multiple Location blocks to deal with the ;* pattern) but it does seem like this is a bug unless someone can clarify RFC 2396 section 3.3 for me and explain why it isn't.

Agree or disagree?

Thanks,
Andy

Reply via email to