---------------------------------------------------------------------- ELOQUENCE B.08.00 - patch PE80-1302180 ---------------------------------------------------------------------- This patch adds enhancements or fixes defects of the eloqcore program as released with Eloquence B.08.00. This patch will be integrated in the Eloquence B.08.00 release. Eloquence B.08.00 must be installed before applying this patch. Severity: PE80-1302180: BUG FIX Superseded patches: PE80-1104280: BUG FIX, ENHANCEMENT PE80-1102220: BUG FIX PE80-1011230: BUG FIX PE80-0912170: BUG FIX PE80-0912090: ENHANCEMENT PE80-0907240: BUG FIX PE80-0901220: BUG FIX Patch PE80-1302180 ------------------ Platforms: All * Fixed a problem when assigning COM variables that could result in an internal failure. Platforms: HP-UX, Linux * Fixed a race condition obtaining a unique taskid. If multiple eloqcore processes are started simultanously eloqcore could fail with a message as below. Taskid already in use eloqcore: Unable to setup daemon session Patch PE80-1104280 ------------------ Platforms: All Bug fixes: * Fixed a bug when passing a structure by value to a function or subroutine. This could result in an eloqcore crash or abort. * Fixed a problem with 64 bit builds when passing structures in the common block. * Fixed a problem in detecting a user defined type was referenced in a type definition. This would result in a failed consistency test. * Fixed a problem when interactively assigning a structure (#1136, #3850). This resulted in a failed consistency test. * Fixed a problem when accessing member variables after the program was stopped. In this case the type definitions were Discarded though the program variables were still accessible. this resulted in a failed consistency test. Enhancements: * Add keepalive support for JDLG connections. This requires JDLG version 1.5.7-110429-1914 or newer. DLG SET ".keepalive",Seconds If Seconds is nonzero, JDLG sends keepalive messages in the specified interval during a DLG DO or POPUP BOX instruction. This allows eloqcore to detect whether a JDLG connection is still active. The latter case is assumed if eloqcore does not receive any message from JDLG for five times the specified interval during a DLG DO or POPUP BOX instruction. If an interrupted JDLG connection is detected, the connection is closed and ERROR 684 is returned to the program. This function may also be useful to solve idle timeout problems caused by network router/firewall configuration. A network router might be configured to close a connection if it has been inactive for some time. To prevent this from affecting JDLG connections, a JDLG keepalive interval could be set. For example, assumed the router idle timeout is 30 minutes, DLG SET ".keepalive",900 would cause JDLG to send a keepalive message every 15 minutes so that the router idle timeout would not expire. Instead of using DLG SET ".keepalive", the keepalive interval may be configured using the JDLG eloquence.config.keepalive property, for example: eloquence.config.keepalive=900 * Add idle timeout support for DLG network connections. This may be used with JDLG or Windows DLG (DLGSRV32). DLG SET ".timeout",Seconds If Seconds is nonzero and the specified timeout has expired during a DLG DO or POPUP BOX instruction, the DLG connection is terminated and ERROR 684 is returned to the program. This may be used to automatically terminate DLG sessions that have been idle for a long time. For example, a DLG SET ".timeout",28800 would terminate any DLG session that has been idle for more than 8 hours. Patch PE80-1102220 ------------------ Platforms: All * Fixed a wrong consistency check in the LEN function that caused an internal failure with strings longer than 32767 characters. An error message as below was output: Assertion failed: res->v.s.len >= 0 && res->v.s.len < 32768 file string.c, line 94 Patch PE80-1011230 ------------------ Platforms: All * Fixed an internal buffer overflow in the MD5$ function which could cause the eloqcore program to abort unexpectedly (#3885). * Fixed a problem in the COMMAND statement that could result in an abort with an internal error when executing a MERGE or LINK statement. Patch PE80-0912170 ------------------ Platforms: All * Fixed a bug introduced by patch PE80-0912090 where a COMMAND statement executing CALL or FN statement could result in an abort with an internal error when the statement resulted in a runtime error. Patch PE80-0912090 ------------------ Platforms: All * Fixed a limitation of the COMMAND statement that could result in overflowing the symbol table, causing an ERROR 2 (#3376). A COMMAND statement may grow the symbol table of the current program segment (SUB/FN). This may eventually result in an ERROR 2. This enhancement limits new entries to the symbol table to variables. * Extend valid PRINTER numbers from -2:99 to -2:999 (#3843). * Added the POPUPBOX option to the config file to allow enabling function keys to interrupt a POPUP BOX statement (#3509). When enabled, a defined FUNCTION KEY or HALT interrupts a POPUP BOX statement and returns -1 as the selected choice. This function is enabled in the configuration file by specifying the option POPUPBOX and the asssociated config value. For example: option popupbox 7 The option value is bit encoded: 1 = sfk 2 = halt 4 = ESC Please note that this functionality is not available when using the DLG driver. Patch PE80-0907240 ------------------ Platforms: Linux 64-bit * Fixed a problem where integer values were sometimes not correctly XPACKed on 64-bit Linux builds (#3825). Patch PE80-0901220 ------------------ Platforms: Linux * This patch fixes a screen corruption problem on Linux that could happen in some cases when scrolling down and logical lines exceed the screen width (#3697). * Fixes potential memory corruption problem when using a dialog server (such as jdlg) on a 64 bit build. Installation: ------------- Please download the patch archive that corresponds with the installed release. The patch files follow the conventions below: PE80-1302180-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.0 gzip -dc /path/to/PE80-1302180-hpux.tar.gz | tar xf - Files: bin/eloqcore share/doc/PE80-1302180-README Linux: In order to install this patch, you need to unpack it with tar. Installation requires root privileges. cd /opt/eloquence/8.0 tar xzf /path/to/PE80-1302180-linux.tar.gz Files: bin/eloqcore share/doc/PE80-1302180-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 PE80-1302180-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 PE80-1302180-win32.zip and unpack its contents. Then perform the following steps: * Please copy the eloqcore.exe file into the Eloquence bin directory. (Default location: C:\Program Files\Eloquence\8.0\bin) * Please copy the PE80-1302180-README.txt file into the Eloquence share\doc directory. (Default location: C:\Program Files\Eloquence\8.0\share\doc) Files: eloqcore.exe PE80-1302180-README.txt