Detailed Information
Product Name: ServletExec/ISAPI 4.1.1 for Microsoft IIS
Hotfix Name: ServletExec_ISAPI_411_Hotfix_Feb_2005
Created: 02/10/2005
File Size: 692.00 KB
File URL:
Description: v4.1.1.29
Release Notes
ReleaseNotes.txt for the ServletExec ISAPI February 2005 hotfix.
ServletExec v4.1.1.29

* This hotfix contains only those components that are relevant for the        *
* configuration stated above.                                                 *
*                                                                             *
* Hotfixes are cummulative, so they contain all the fixes found in their      *
* previous hotfix (and patch) counterparts.                                   *
*                                                                             *
* Directions to apply this hotfix are at the very end of this file.           *

The SE JAR file was updated to fix the following bugs:
- bug #1649: errorpage processing not working from a Filter
- bug #0629: Calling new InitialContext() from doFilter() gives ClassNotFoundException

The native components were updated to be v4.1.1.29 and also to fix:
- bug #1739: Some native components do not output their version number
            in their startup messages 


ReleaseNotes.txt for the ServletExec ISAPI October 2004 hotfix.
ServletExec v4.1.1.28

The DLL was simply carried over from a previous hotfix/patch for convenience.

ServletExec41.jar fixes the following bug:

- bug #1430: Character encoding not being honored for the body of a custom tag


Here is a history of the SE 4.1.1 bugs that were fixed in
previous 4.1.1 "patches", and whose fixes are included
in all 4.1.1 hotfixes (based upon configuration):

from p27
- bug #1256: Native adapter is unable to receive data from SE Java instance

from p26
- bug #1334: Graceful shutdown of SE AS instance can sometimes cause high CPU usage by native adapter
             (bug #1334 may occur with Apache 1.3.x, IIS, or iPlanet, but not with Apache 2)

from p25
A refix of bug #1099: Native adapter can sometimes fail to read all
                         response data

from p24
- bug #1041: SE AS fails to bind/listen on its port if configured WAR file does not exist
- bug #1087: 'data already sent to client' error occurs if an errorPage is
             used and an exception occurs after an include
- bug #1096: Adapter connection/socket pooling code should be more defensive
- bug #1099: Native adapter can sometimes fail to read all response data

from p23
- bug #86 "With IIS, an exception is thrown if a servlet accesses client certificate info"
- bug #106 "Retrieving the attribute javax.servlet.request.X509Certificate doesn't return an array"
- bug #525 "Sometimes the cipher suite and key size cannot be retrieved"
- bug #527 "With IIS, bad values are returned for a client cert's subject DN and serial number"

from p22
- bug #822 "If servlet set to load-on-startup throws error no subsequent app's servlets are initialized."

from p21
- bug #121 - "A servlet invoked by a request dispatcher include call can set response headers"

from p20
- bug #746 "Servlets that use chunked encoding will have connection closed on them"

from p19
 This patch is the same as patch #18 except for an updated ServletExec41.jar.  This
 updated JAR allows you to enable/disable the logging of debug messages using a new
 debug admin page that appears under the Advanced header.  Debug messages can also be
 enabled/disabled through use of the "com.newatlanta.servletexec.debug" system property.
 This property can be set to one or more of the following values:

 All           - enable all debug messages
 AS            - enable debug messages in ServletExec AS adapter communication code
 Request       - enable debug messages in request processing code
 ServletLoader - enable debug messages in servlet classloader
 WebAppLoader  - enable debug messages in web app classloader

 Placing a minus sign before a value will disable debug messages for that area of code.
 For example, the following setting would enable debug messages for all areas of code
 except request processing:


from p18
 NOTE:  The shared library was missing from this patch.
        It was added on 6/23/2003.

 This patch is exactly the same as patch #17 except that it also
 contains mod_servletexec.c which is a patch for ServletExec 4.1.1,
 running with Apache on Unix. And it also contains ApacheModuleServletexec.dll
 which is a patch for ServletExec 4.1.1 running with Apache 1.3.x on Windows.
 And it also contains ServletExec_Adapter.dll.iPLANET and
 which are patches for running SE AS with iPlanet 4.x or 6.x on Windows and Solaris.
 mod_servletexec.c, ApacheModuleServletexec.dll, and ServletExec_Adapter.dll all
 contain fixes for the following bugs:

- bug #722 "Native Adapter leaks memory & file descriptors if request times out"
- bug #723 "improper protocol shutdown"
- bug #724 "memory leak - malloc of tmpcert never gets deallocated"
- bug #735 "Native Adapter leaks memory if an error occurs when opening a socket"
- bug #736 "Native Adapter does not declare global vars as static, causing possible namespace conflicts"

 The iPlanet adapters contain fixes for the following bugs:
- all of the fixes in the previous patches
- bug #723 "improper protocol shutdown"

from p17
- a "refix" of bug #178 entitled "empty web-app tag in web.xml"
  That bug either crept back in at some point after it was originally fixed
  in SE 4.0b1, or it was never truly fixed as originally thought.
- bug #661: Only one can be used
- bug #662: IIS Adapter fails to get host when request lacks a host header    

from p16
- bug #620: SessionSwapping background thread remains suspended forever
- bug #624: MaxSessions value is reset to 1024
- bug #625: Old session .data files sometimes hang around on the hard drive

from p15
- bug #254: Changes made to the default NAC session extensions are lost across web app restarts
- bug #531: In Legacy (non-webapp) context, getServletContext().getInitParameterNames() returns null

from p14
- bug #517: Using a data source in a context listener's contextInitialized method causes NameNotFoundException.
- bug #518: getServerPort returns wrong value when SE runs behind a load balancer
            (NOTE: the fix for Bug #518 now handles HTTP/1.0 browsers too)

from p13
- bug #508: Request loop hole can be used to access files (Part 2)
- bug #509: Sometimes static web app pages are served when NOT MODIFIED should be sent
- bug #510: With IIS, connection is closed after NOT MODIFIED response for web app static page

from p12
- bug #487: Body of a Redirect response should be properly tagged HTML
- bug #492: Unable to use JSTL classes in ServletExec
- bug #494: request.getParameter always returns ISO Latin-1 formatted Strings in JSPs
- bug #495: ServletExec does not pass well-formed XML to TLD Validators

from p11
- bug #470:  Multiple connections left in Close_Wait state after a shutdown of a ServletExec instance.

from p10
- a more complete fix for bug #459, taking into account the case of a request URL
  using the null character as in the following form:

from p09
- bug #459: Suffix alias requests that use HTTP escape characters can sometime cause SE to serve the page source
- bug #460: Session data is not being persistent when Persistence is enabled.
- bug #306 With SE ISAPI, IIS can crash if web-app has static content served by web server

from p08
- bug #427: request attributes cannot be retrieved when request uses SSL (https)
- bug #429: classes in a static initializer are sometimes not found.

from p07
- bug #314: SE ISAPI fails to work with IIS6
- bug #336: getParameterMap returns String
- bug #426: Some files unpacked from a .war file remain locked
- a more complete fix for bug #312 (not just Spanish)

from p06
- bug #62: Deleting of cookies fails with IE browser
- bug #311: Thread.currentThread().getContextClassLoader() returns null
- bug #312: When browser uses Spanish Locale, SE is unable to convert to charset correctly

from p05
- bug #310: Welcome files specified as url path portions cannot be found

from p04
- bug #309: getResources() throws ZipException: Filename too long

from p03
- bug #301: After a restart, sometimes getSession() will throw a NoSuchElementException             
- bug #302: In a TLD, validator-class is not processed properly
- bug #305: Sometimes duplicate session ID's can be generated
- bug #307: context class loader is not setup properly for JSPs in a webapp

from p02
- bug #301: After a restart, sometimes getSession() will throw a NoSuchElementException             
- bug #302: In a TLD, validator-class is not processed properly
- bug #305: Sometimes duplicate session ID's can be generated

from p01
- bug #301: After a restart, sometimes getSession() will throw a NoSuchElementException             
- bug #302: In a TLD, validator-class is not processed properly


How to apply any SE hotfix
Generally this involves:

1. Stopping SE and the webserver
   NOTE: With IIS this involves stopping the IIS Admin Service
         from the Services Control Panel.
2. Renaming the component to be hotfixed
3. Putting the hotfixed component in place of the un-hotfixed component
   (giving it the original name of the un-hotfixed component)

The specifics of doing this can vary based on which component you are patching.

- ServletExecXX.jar can typically be found in the
 <ServletExec Install Directory>\lib\ directory.
- ServletExecISAPI.dll can typically be found in the
  ..\Inetpub\Scripts directory.