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=35298>.
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=35298

           Summary: Multiple JK/ISAPI redirectors on a single IIS site are
                    not supported
           Product: Tomcat 5
           Version: 5.5.9
          Platform: PC
        OS/Version: Windows 2000
            Status: NEW
          Severity: major
          Priority: P2
         Component: Native:JK
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: [EMAIL PROTECTED]


The current JK/ISAPI redirector uses 4 special headers to pass redirector
information from the FilterProc to the ExtensionProc.

These are cleared in the FilterProc prior to attempting a match on the incoming 
URL.
Since IIS passes requests through all the filters, any JK/ISAPI redirector in
the ISAPI Filters stack that is below the matching redirector will cause the
headers to be cleared and the request to fail.

A common deployment scenario for our products is to use a single web customer
website (running on port 80) with multiple virtual directories and ISAPI
redirectors - one for each product in the deployed solution.
I'm aware that the mod_jk config is geared towards a single redirectory with a
single config file, but even our Apache sites use multiple virtual hosts with
separate mod_jk configs.

It's not immediately obvious if there's actually a benefit in clearing the 
headers.
If someone wanted to spoof these, then they could talk directly to the
ExtensionProc anyway, and you can ensure they're set correctly just by being
careful in the FilterProc.

The offending lines in jk_isapi_plugin.c r1.49, lines 749..755

        /*
         * Just in case somebody set these headers in the request!
         */
        SetHeader(pfc, URI_HEADER_NAME, NULL);
        SetHeader(pfc, QUERY_HEADER_NAME, NULL);
        SetHeader(pfc, WORKER_HEADER_NAME, NULL);
        SetHeader(pfc, TOMCAT_TRANSLATE_HEADER_NAME, NULL);

We've used two solutions to this successfully in internal builds:
 1. Don't clear the headers
 2. Unique URI_HEADER_NAME et al during the redirector load i.e. using the
extension_uri or the DLL process ID.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

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

Reply via email to