I didn't follow this, but the comment in the httpd 2.x module code says:

    /*
     * The 2.2 servlet spec errata says the uri from
     * HttpServletRequest.getRequestURI() should remain encoded.
     * [http://java.sun.com/products/servlet/errata_042700.html]
     *
     * We use JkOptions to determine which method to be used
     *
     * ap_escape_uri is the latest recommanded but require
     *               some java decoding (in TC 3.3 rc2)
     *
     * unparsed_uri is used for strict compliance with spec and
     *              old Tomcat (3.2.3 for example)
     *
     * uri is use for compatibilty with mod_rewrite with old Tomcats
     */

We do (pseudo code):

JK_OPT_FWDURICOMPATUNPARSED:
        s->req_uri = r->unparsed_uri;
        if (s->req_uri != NULL) {
            char *query_str = strchr(s->req_uri, '?');
            if (query_str != NULL) {
                *query_str = 0;
            }
        }

JK_OPT_FWDURICOMPAT (the DEFAULT):
        s->req_uri = r->uri;

JK_OPT_FWDURIESCAPED:
        s->req_uri = ap_escape_uri(r->pool, r->uri);
        break;


And finally our docs state:

The three following options +ForwardURIxxx are mutually exclusive. ...
By default, the option ForwardURICompat is turned on. You can turn this off by switching on one of the other two.

JkOptions ForwardURICompat, you ask mod_jk to send the URI to Tomcat normally, which is less spec compliant but mod_rewrite compatible, use it for compatibility with Tomcat 3.2.x engines (on by default).

JkOptions ForwardURICompatUnparsed, the forwarded URI is unparsed, it's spec compliant but broke mod_rewrite.

JkOptions ForwardURIEscaped, the forwarded URI is escaped and Tomcat (since 3.3 rc2) will do the decoding part.

So what we do is what is documented. Breaking the default should have serious reasons at least. For 1.3/3.0 we could consider changing more easily of course.

Why do you think the default is bad?

Regards,

Rainer

Jean-Frederic wrote:
Hi,

I think that the default value of JK_OPT_FWDURIDEFAULT is bad and should
be JK_OPT_FWDURICOMPATUNPARSED.

Any comments?

Cheers

Jean-Frederic

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

Reply via email to