Detailed Information
Product Name: ServletExec/AS 6.0 for Windows
Hotfix Name: ServletExec_AS_60_Windows_Hotfix_September_2009
Created: 2009-09-01
File Size: 1.00 MB
File URL:
Description: v6.0.0.2_34
Comments: This hotfix is specific to IIS and Apache. It doesn't include an NSAPI adapter and therefore cannot be used with SunONE/iPlanet. This hotfix breaks compatibility with the Apache modules mod_alias, mod_userdir and mod_vhost_alias (refer to bug #3359).
Release Notes
* This hotfix contains only those components that are relevant for the   *
* configuration stated below.                                            *
*                                                                        *
* Hotfixes are cumulative, 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.      *

ReleaseNotes.txt for the ServletExec AS for Windows September 2009 hotfix.

ServletExec60.jar and the native adapters were updated to version
to reflect the following changes:

- added ability to debug client certificates: -Dcom.newatlanta.servletexec.debug=clientcert
- fixed bug #3229: & or # in client certificate data is not supported (IIS, Apache 2.2.x, & Apache 2.0.x only)
- improved integration with native webserver by adding GET_REAL_PATH callback feature (IIS, Apache 2.2.x, & Apache 2.0.x 
 NOTE: This feature will cause any -root, or -addl entries in the StartServletExec batch/script
 to be ignored/unessessary. This feature may be turned off by setting the following JVM System Property
 in the StartServletExec script file:

 Additional Notes regarding this update:

 1. -Dcom.newatlanta.servletexec.realPathCache=disabled will turn off the caching of real paths
 2. -Dcom.newatlanta.servletexec.useRawRealPaths=true may be used to alter the default behavior with respect to              
     DirectoryIndex files and mod_rewrite
     For additional details see bugs #3045, #846, #1175, #2405, #2453
 3. The realPathCache is available for diagnostic purposes via ((com.newatlanta.servletexec.Request)                         
 4. Having an ASI make adapter callbacks to learn the real path only makes sense if it can see the same file
    system as the web server. So when the ASI is running on a separate machine from the web server, turn off
    the GET_REAL_PATH callback feature and use the (traditional) -root & -addl options instead.
 5. When the callback feature is used, the CaSe rules of the native web server are used (IIS is case insensitive, Apache is  
case sensitive).
    When the -root & -addl options are used, url-to-realpath mappings are always cAsE sensitive (even on a Windows       
 6. The Windows Apache adapter DLL files for this patch were compiled against Apache 2.2.4 & 2.0.59 therefore those are  
    minimum apache versions supported by the native DLL components of this patch. If you are using an older version
    of Apache 2.2.x or 2.0.x on Windows, or if you are using Apache 1.3.x on either Windows or Unix/Linux then this patch
    may only be used as follows:
    a. the native adapter portion of this patch is either not supported or in the case of Apache 1.3.x... not even provided.

    b. the .jar portion(s) of this patch ARE supported only when -Dcom.newatlanta.servletexec.makeRealPathCallbacks=false is 

The ServletExecAdmin.jar in this hotfix is the same one found in the previous hotfix.
It was simply carried over to this hotfix for your convenience.


ReleaseNotes.txt for the ServletExec AS for Windows October 2008 hotfix.

ServletExec60.jar was updated to v6.0.0.1 to fix the following bugs:

- bug #2990: Tag Library validation errors should be more verbose
- bug #2991: CDATA should be escaped prior to being added to the in-memory XML
            view of a JSP page
- bug #2995: SE AS sometimes creates a Classpath.pref file
- modified the fix for bug #2485. javax.servlet.forward.XXX request attributes
 were being set in cases when they should not be.

- Added 2 reserved values for use in init parameters:
  1. ${com.newatlanta.installationHome} to refer to the top-level ServletExec
     installation folder.
  2. ${com.newatlanta.appRoot} to refer to the top-level folder of your
     webapp (i.e. the folder that contains the WEB-INF folder).
  These can be used to replace absolute paths as init param values, thus
  making your webapp(s) more portable.

  Here is an example of using these special values in web.xml:

- Added a new init param named "bufferSizeKb" to the JspServlet. Valid values
 are in the range [0 - Integer.MAX_VALUE]. This can be used to configure the default
 response buffer size used for all subsequently translated JSP pages and to help
 troubleshoot the condition described in SE FAQ #92.
 To learn (generally) how to configure the JspServlet inside your webapp,
 apply the concepts described in SE FAQ #315.

- bug #3092: A tag file cannot use another tag file
- bug #3097: "missing pageContext" error at JSP compile time
- bug #3099: same taglib prefix in both .tag file & .jsp file causes Validation failure

An updated ServletExecAdmin.jar is provided to ensure compatibility with the updated
ServletExec60.jar file (added a "BD Mode" to SE for BlueDragon Server JX 7.1).

ApacheModuleServletExec.dll (the ServletExec native adapter) was updated to
v6.0.0.1 for both Apache 2.0.x & 2.2.x. The update was simply to change the
"priority" at which that Apache adapter is "hooked into" the Apache webserver.
It was changed from "APR_HOOK_FIRST" to "APR_HOOK_MIDDLE". This was done to
improve the adapter's integration with Apache when other apache modules are
in use (mod_rewrite for example). 


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 updating.
Consult the ServletExec 5.0 Installation Guide to learn which components were
installed with your configuration of ServletExec and where those components
reside, so that you will be able to hotfix them if hotfixed versions were
provided in this hotfix.

- ServletExecXX.jar can typically be found in the
 <ServletExec Install Directory>\lib\ directory.
- Locations for native components (DLLs) will vary with webserver brand.
- ServletExec_Adapter.dll for IIS can typically be found in the
 ..\Inetpub\Scripts directory.

How to apply a ServletExec_Adapter.dll or .so hotfix to an existing
SE installation
1. Stop the web server (IIS, SunONE, or Apache).
   NOTE: With IIS this involves stopping the IIS Admin Service
         from the Services Control Panel.
2. Stop ServletExec.
3. Locate the existing adapter that your webserver is currently
   The location and name of your existing/un-hotfixed SE adapter depends upon
   which webserver you are using.
   First look in the appropriate chapter of the SE 5.0 Installation Guide
   under the "What was installed" section to learn the default location for
   your adapter.
   If using iWS/SunONE or Apache, then you may also learn this infomation by
   looking in your webserver's config file (magnus.conf, obj.conf, or
   Once you have located it, rename it to something else.

4. If your hotfixed adapter (from the SE hotfix ZIP file) has been provided in
   prebuilt form (.dll, or .so) then place it where the original/unhotfixed
   adapter resides, making sure to rename it accordingly.

   Here are some examples:
    a. If using SE 5.0 AS on Windows with Apache 2.x as your webserver, you could
       look in your httpd.conf to learn the location of the unhotfixed SE Adapter DLL
       file that's currently in use (typically this would be at:
       Then you would rename it to something else such as ApacheModuleServletExec.dll.orig
       and then put ApacheModuleServletExec.dll.APACHE2.x (from the hotfix ZIP) in its
       place, renaming it to remove the ending ".APACHE2.x" portion of its name.

    b. If using iWS 4.x then look in obj.conf.
    c. If using iWS 6.x or SunONE, look in magnus.conf.

    d. If using SE 5.0 AS on Windows with IIS, the default location is:

5.  If you are using Apache on Unix then your hotfixed adapter (from the SE
    hotfix ZIP file) is delivered in source file form (.c file) and you will
    need to build it yourself.
    Here is how:

    a. Copy the appropriate hotfixed adapter source file into an empty folder.
       If using Apache 1.3.x on Unix... the file is mod_servletexec.c

    b. Build the adapter.
       The exact command used to build the adapter for Apache on Unix may differ
       depending upon the Apache version and the platform (Solaris, Linux, HP-UX, AIX, etc...).
       Because of this, you should examine the /tmp/SEinstall.log file to locate the exact
       command that was used to build the original/unhotfixed version.
       The command involves the use of apxs. For example with Apache 1 on Solaris, the command
       looks something like this:

          <apache install dir>/bin/apxs -i -a -c -n servletexec mod_servletexec.c

          Note that if you are using a less common Unix variant such as HP-UX,
          you'll need to invoke apxs a bit differently.
          As an example, here is how the SE 5.0 installer invokes apxs for
          Apache 2 on our HP-UX 11.11 box and it works fine:

          <apache install dir>/bin/apxs -n servletexec -i -a -c -D XP_UNIX -D APR_WANT_BYTEFUNC mod_servletexec.c

       Locate your platform's 1-line command in your SEinstall.log file, and issue it
       against the hotfixed version manually from the command line.

The final name of the module should be
       "", and you should see that file appear where the
       original/unhotfixed version resides to confirm that you truly have the
       newly built, hotfixed version in place.