Detailed Information
Product Name: ServletExec/AS 6.0 for UNIX
Hotfix Name: ServletExec_AS_60_Unix_Hotfix_July_2010
Created: 2010-07-07
File Size: 1.00 MB
File URL: http://downloads.newatlanta.com/servletexec/6_0/hotfixes/ServletExec_AS_60_Unix_Hotfix_July_2010.zip
Description: v6.0.0.2_39_ignore
Comments: I forgot to add #3317 to the ReleaseNotes for this hotfix. I'll reissue it with updated ReleaseNotes in a moment... Matt M.
   
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.      *
**************************************************************************

07.07.2010
ReleaseNotes.txt for the ServletExec AS for Unix July 2010 hotfix.

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

- fixed #3317: unable to turn off socket pooling on Apache on Unix/Linux (fixed for Apache 2.0.x and 2.2.x only)
- refixed #3229: & or # in client certificate data is not supported (IIS, Apache 2.2.x, & Apache 2.0.x only)
  (the original fix can cause the webserver/IIS Application Pool to crash)
- fixed #3325: Some webapps are not cleanly shutdown when the engine is shutdown

Changes to both StopServletExec.class & ServletExec60.jar were made to address the following:
- fixed #3323: SE AS Windows Service may report that SE has shutdown before it has finished shutting down

StopServletExec.class must be placed in the "installerFiles" folder.

This hotfix also includes the following changes that were originally released
in various patches:

- [BD] - fixed bug #3276: PDFs are not installed on silent BDJX installs
- [BD] - fixed bug #3278: extra items are not deleted after a BDJX install
- fixed #3306: request.getCharacterEncoding() returns UTF8 instead of UTF-8
- refix of bug #3225: SE is not seeing the changes made to a deployed .war file
- [BD] fixed bug #3297: HTTP_REDIRECT_* server variables are missing from the CGI scope (effects Apache 2.2 Adapters only)
- [BD] fixed bug #3257: Unable to override headless setting in BDJX

=============================================================================== 

09.01.2009
ReleaseNotes.txt for the ServletExec AS for Unix September 2009 hotfix.

ServletExec60.jar and the native adapters were updated to version 6.0.0.2_34
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 
only)
 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:
 -Dcom.newatlanta.servletexec.makeRealPathCallbacks=false

 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              
Apache's
     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)                         
request).getRealPathCacheClone()
 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       
machine).
 6. The Windows Apache adapter DLL files for this patch were compiled against Apache 2.2.4 & 2.0.59 therefore those are  
the
    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 
used.

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.


=============================================================================== 

10.06.2008
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:
   <init-param>
     <param-name>my_custom_shared_resource_folder</param-name>
     <param-value>${com.newatlanta.installationHome}/myCustomSharedResourceFiles</param-value>
   </init-param>
   <init-param>
     <param-name>my_custom_config_files</param-name>
     <param-value>${com.newatlanta.appRoot}/WEB-INF/myCustomConfigFiles</param-value>
  </init-param>

- 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
   using.
   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
   httpd.conf)
   
   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:
       <apache-home>\modules\ApacheModuleServletExec.dll
       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:
       C:\Inetpub\Scripts\ServletExec_Adapter.dll

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                 
mod_servletexec.c
           
          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
       "mod_servletexec.so", 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.