Detailed Information
Product Name: ServletExec/AS 6.0 for UNIX
Hotfix Name: ServletExec_AS_60_Unix_Hotfix_October_2008
Created: 2008-10-06
File Size: 1.00 MB
File URL:
Description: v6.0.0.1
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 Unix 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).

mod_servletexec2.c & mod_servletexec22.c (the ServletExec native adapters for 
Apache 2.0.x & Apache 2.2.x respectively) were updated to v6.0.0.1. 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
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 (.so's) will vary with webserver brand.

How to apply a ServletExec_Adapter.dll or .so hotfix to an existing
SE 5.0 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/unhotfixed 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
       If using Apache 2.x on Unix...   the file is mod_servletexec2.c

    b. If the adapter you need is mod_servletexec2.c, then once you have it
       copied to an empty folder, rename it to mod_servletexec.c
       (i.e. remove the '2' from it's name)

    c. 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

          And with Apache 2 on Linux, the command looks something like this:

          <apache install dir>/bin/apxs -n servletexec -i -a -c -D XP_UNIX 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

          And here is an example of how the SE 5.0 installer invokes apxs for
          Apache 1 on our AIX 5.3 and it works find:
          <apache install dir>/bin/apxs -n servletexec -i -a -Wl,-bE:mod_servletexec.exp -c -D XP_UNIX                 
          If you get an Error saying that it could not find mod_servletexec.exp, then you just need
          to create that file alongside the mod_servletexec.c file. Here is a command to do that:
          echo servletexec_module > mod_servletexec.exp
          Then try invoking apxs again.

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

Whether using Apache 1 or Apache 2, 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.