----------------------------------------------------------------------

ELOQUENCE B.08.10 - patch PE81-1108260

----------------------------------------------------------------------

This patch adds enhancements or fixes defects of the eloq.cgi
program as released with Eloquence B.08.10. This patch will be
integrated in the Eloquence B.08.10 release.

Eloquence B.08.10 must be installed before applying this patch.

Severity:
 PE81-1108260: BUG FIX, ENHANCEMENT

Superseded patches:
 none


Patch PE81-1108260
------------------

Platforms: All

Bug fix:

* Fixed a problem where a POST request was not recognized if the
  application/x-www-form-urlencoded content type was used and a
  character set was specified in addition, for example:

    application/x-www-form-urlencoded; charset=ISO-8859-1

  In this case, an error message like below was issued:

    Invalid content type in POST request.

Enhancements:

* The Content-Type character set, if specified, is now evaluated
  to determine whether or not eloq.cgi should apply an HP-ROMAN8
  to ISO-8859-1 or HP-ROMAN9 to ISO-8859-15 character conversion
  of the program output.

  By default, if the first line of the program output is one of

    Content-Type: text/html
    Content-Type: text/plain

  without explicitly specifying a character set, ISO-8859-1 is
  assumed, so that eloq.cgi converts the program output from
  HP-ROMAN8 to ISO-8859-1.

  In addition, a character set may be specified to activate the
  character conversion for content types other than text/html
  and text/plain, for example:

    Content-Type: text/richtext; charset=ISO-8859-1

  To activate the eloq.cgi character conversion of the program
  output, either the ISO-8859-1 or the ISO-8859-15 character set
  must be specified. Other character sets are not recognized.

  Content type and character set are not case sensitive.

* POST request decoding has been enhanced.

  If the application/x-www-form-urlencoded or multipart/form-data
  content type is used, the POST request data is assumed to contain
  form items, which are stored into corresponding WWW_ prefixed
  environment variables.

  The form item values are converted to the HP-ROMAN8 character
  set, according to the content type character set, if specified.
  The ISO-8859-1 and ISO-8859-15 and UTF-8 character sets are
  recognized. If no character set is specified, ISO-8859-1 is
  assumed. An UTF-8 encoded item is first converted to ISO-8859-1
  and then converted to HP-ROMAN8.

  Any content type other than application/x-www-form-urlencoded
  or multipart/form-data is used to store the binary POST request
  data to a temporary file. The temporary file is removed by
  eloq.cgi after the program has ended. To prevent eloq.cgi from
  removing the temporary file, a program may move or rename the
  file.

  The environment variables below are provided by eloq.cgi to
  the program:

    POSTDATA_TYPE
      Contains the content type. If the request is not a
      POST request or the content type is not specified,
      this variable is not set.
      For example: application/x-www-form-urlencoded

    POSTDATA_CHARSET
      Contains the character set. If no character set is
      specified, this variable is not set.
      For example: ISO-8859-1

    POSTDATA_NAME
      Contains the temporary file name. If no temporary
      file is created, this variable is not set.

    POSTDATA_SIZE
      Contains the size of the POST request data in bytes.
      If a temporary file is created, this is equivalent
      to the temporary file size.

  In addition, if the content type is text/xml, the environment
  variables below are set for backward compatibility:

    XML_TEMPFILE
      Same as POSTDATA_NAME (see above).

    XML_TEMPFILE_SIZE
      Same as POSTDATA_SIZE (see above).

* Logging of error/informational/debug messages has been added.

  The EQCGI_LOGFILE environment variable may be set to specify
  a log file. If set, the log file directory must allow read/write
  access to the user running the web server process.

  If the EQCGI_LOGFILE environment variable is not set, messages
  are output to stderr, which is usually redirected to the web
  server error log file.

  The EQCGI_LOGLEVEL environment variable may be set to specify
  the log level. If not set or set to zero, only error messages
  are output. If set to 1, informational messages are output in
  addition. If set to 2, debug messages are output in addition.
  If set to 3, more verbose debug messages are output.

  Note: The EQCGI_DEBUG environment variable is no longer used.


Installation:
-------------

Please download the patch archive that corresponds with the installed
release. The patch files follow the conventions below:

   PE81-1108260-hpux-ia64.tar.gz
        ^       ^    ^
        |       |    Architecture / OS specific build
        |       Operating system
        Patch ID


HP-UX:

In order to install this patch, you need to unpack it with gzip and tar.
Gzip is included with HP-UX. Installation requires root privileges.

cd /opt/eloquence/8.1
gzip -dc /path/to/PE81-1108260-hpux.tar.gz | tar xf -

Files:

   lbin/eloq.cgi
   share/doc/PE81-1108260-README


Linux:

In order to install this patch, you need to unpack it with tar.
Installation requires root privileges.

cd /opt/eloquence/8.1
tar xzf /path/to/PE81-1108260-linux.tar.gz

Files:

   lbin/eloq.cgi
   share/doc/PE81-1108260-README


Windows:

Two options are available for patch installation. The patch is
available as self extracting archive for automatic installation
and as a zip archive for manual installation. Both patches are
equivalent. Installation requires administrative capabilities.

For automatic installation of this patch, please download the patch
file PE81-1108260-win32.exe. Installation does not require a reboot
unless the patched files were active.

For a manual installation of the patch, please download the patch
file PE81-1108260-win32.zip and unpack its contents. Then perform
the following steps:

* Please copy the eloq.cgi file into the Eloquence lbin directory.
  (Default location: C:\Program Files\Eloquence\8.1\lbin)

* Please copy the PE81-1108260-README.txt file into the Eloquence
  share\doc directory.
  (Default location: C:\Program Files\Eloquence\8.1\share\doc)

Files:

   eloq.cgi
   PE81-1108260-README.txt