---------------------------------------------------------------------- ELOQUENCE B.08.30 - patch PE83-2306060 ---------------------------------------------------------------------- This patch adds enhancements or fixes defects of the Eloquence WEBDLG2 as released with Eloquence B.08.30-2211. This patch will be integrated in the Eloquence B.08.30 release. Eloquence B.08.30-2211 must be installed before applying this patch. Severity: PE83-2306060: BUG FIX Superseded patches: PE83-2305240: BUG FIX PE83-2305170: ENHANCEMENT, BUG FIX PE83-2304060: BUG FIX PE83-2303290: ENHANCEMENT PE83-2303280: ENHANCEMENT, BUG FIX PE83-2303220: BUG FIX PE83-2303130: BUG FIX PE83-2303070: BUG FIX PE83-2303060: BUG FIX PE83-2302210: BUG FIX PE83-2302200: BUG FIX PE83-2302160: BUG FIX PE83-2302080: BUG FIX PE83-2301270: BUG FIX PE83-2301200: ENHANCEMENT, BUG FIX PE83-2301190: ENHANCEMENT, BUG FIX PE83-2301120: BUG FIX PE83-2301020: BUG FIX PE83-2212210: ENHANCEMENT, BUG FIX Patch PE83-2306060 ------------------ * Fixed potential race condition which could cause 'App.dlg_DO BUG: whenReady pending' JavaScript client error. The fix in previous patch PE83-2305240 was incomplete. * WEBDLG2 version: 2.0.13 (not changed) Please note: * eloqwebd2.app and eloqwebd2.uri configuration template files have been updated with previous patches (PE83-2303290, PE83-2301200). They are included in this patch for completeness and installed in the newconfig/config directory. Documentation: * Please refer to the WEBDLG2 documentation located at: https://eloquence.marxmeier.com/doc/webdlg2/ Patch PE83-2305240 ------------------ * Fixed potential race condition which could cause 'App.dlg_DO BUG: whenReady pending' JavaScript client error. * WEBDLG2 version: 2.0.13 (not changed) Patch PE83-2305170 ------------------ * New attribute: Application.sid : integer, get Returns the identifier of the invoking WEBDLG2 session. * ListBox, PopText: Fixed internal inconsistency after a ListBox or PopText is cleared and new lines/items are added. A subsequent DLG GET .content could then cause an abort of the eloqwebd2 process with a log message like below: Assertion failed: bp - val->v.s.p == *content_l_p + nl_cnt server panic: Aborting on internal failure, file c_listbox.c, line 3710 * MenuBar: Fixed unexpected height when Dialog is user-resized, as observed with Firefox browser. * Fixed 'this.currDlg is null' JavaScript client error, internally caused by wrong Dialog.timerrule submission while the Dialog is inactive. * Fixed various problems related to CloseTimeout and/or DlgQuitStatus and/or DlgQuitRule. If the application is not waiting in DLG DO or POPUP BOX at the moment when the page is unloading, DlgQuitStatus or DlgQuitRule would not be issued afterwards. Also, CloseTimeout was unexpectedly reset to DlgIdleTimeout if the application continues to issue DLG requests. * Fixed unexpected failure while creating HTTPS listen socket if both TLSCertChainFile and TLSCertKeyFile are configured, as observed with OpenSSL version 3.0.5. A message like below was logged: tls_ctx_set_private_key:1270: SSL_CTX_use_PrivateKey_file error:0A080009 Unable to create HTTPS listen socket: TLS is not configured * WEBDLG2 version: 2.0.13 Patch PE83-2304060 ------------------ * Fixed internal ListBox inconsistency caused by failed ListBoxHeader creation. For example, after a ListBoxHeader cannot be created due to DLG status 660 (duplicate object name), the internal number of columns could become inconsistent. This could cause a subsequent abort of the eloqwebd2 process with a log message like below: Assertion failed: mi == d->n_col server panic: Aborting on internal failure, file c_listbox.c, line 752 * WEBDLG2 version: 2.0.12 (not changed) Patch PE83-2303290 ------------------ New functionality: * eloqwebd2.app: The DlgQuitStatus configuration has been added, allowing an application to gracefully quit before it terminates due to inactivity or after the web browser window or tab has been closed. * WEBDLG2 version: 2.0.12 (not changed) Patch PE83-2303280 ------------------ New functionality: * eloqwebd2.app: Setting the WarnLeavingPage configuration to 2 always enables the user warning before leaving the page while an application is active, regardless whether or not the current Dialog has the close symbol, and during application development and debugging. Fixed problems: * Fix unexpected DLG protocol failure when invoking DLG SET Dialog.do,1 on a Dialog where Dialog.do is already active, causing the related session to abort. * WEBDLG2 version: 2.0.12 Patch PE83-2303220 ------------------ * Fixed 'apiReceived ... invalid, not idle' JavaScript client error, causing the user interface to stop responding until the document is reloaded. This was caused by invoking DLG SET Dialog.do,1 and then invoking DLG DRAW on a different existing Dialog. * Fixed new direct Dialog child object added to wrong parent object when the Dialog is already visible. For example, a new HtmlView object, added as direct Dialog child, could become unexpectedly added to the MenuBar. * Menu: Fixed passing on background color to MenuItems and sub-Menus. The background color is now passed on only if a Menu is a direct MenuBar child object. This ensures consistent separator colors across sub-Menus. * MenuItem: Fixed visual appearance of disabled items. The visual difference of normal vs. disabled items was too subtle. * System: Fixed Application start atoms unexpectedly set on new session started via System.start. * WEBDLG2 version: 2.0.11 Patch PE83-2303130 ------------------ * ListBoxHeader: Fixed DLG GET .line referring to vactiveline unexpectedly returned DLG status 660. * WEBDLG2 version: 2.0.10 (not changed) Patch PE83-2303070 ------------------ * Fixed DLG listener not accepting non-localhost connections. * Windows: Fixed unexpected issues when shutting down the 64-bit eloqwebd64 process after using DLG listener. Possible eloqwebd64 log messages: N0: net_shutdown_listen: getsockname failed [10038] ... N0: net_shutdown_listen: unable to close socket [10038] ... Possible eloqwebd64 panic: Assertion failed: *wait_ob_p != NULL server panic: Aborting on internal failure, file srv.c, line 2225 * WEBDLG2 version: 2.0.10 (not changed) Patch PE83-2303060 ------------------ * Fixed DLG synchronization and Dialog.do race conditions. These could cause DLG protocol failures under certain conditions which in turn caused the related sessions to abort unexpectedly. * TabBox: Fixed a regression introduced with previous patch PE83-2302160 where the selectedtab was no longer reported to the program when modified by the user. * WEBDLG2 version: 2.0.10 Patch PE83-2302210 ------------------ * Fixed a race condition where keystrokes stored in the type-ahead buffer could unexpectedly trigger a rule submission on DLG SET Dialog.do,1. eloqwebd2 log message: BUG: invalid response call 6, expected: 10 User error message: Unexpected protocol failure, application closed. * WEBDLG2 version: 2.0.9 Patch PE83-2302200 ------------------ * ListBox, ListBoxHeader: Fixed a regression introduced with previous patch PE83-2302160 which could cause the eloqwebd2 process to unexpectedly abort with a segmentation fault after DLG SET referring to vactiveline. * WEBDLG2 version: 2.0.8 (not changed) Patch PE83-2302160 ------------------ * ListBox: Fixed 'TypeError: t is null' JavaScript client error, causing the user interface to stop responding until the document is reloaded. This could happen when a ListBox is cleared while line-specific toolhelp[] tool tips are set. * ListBox: HTML-decorated column headers were not displayed in the column context menu. * ListBox: Fixed unexpected behavior when setting delln or ins or line or rowdata referring to previously set vactiveline. * ListBoxHeader: Fixed unexpected behavior when setting line referring to previously set ListBox vactiveline. * ListBox, MenuItem, TabBox, Tree, POPUP BOX: Fixed visual appearance, vertical alignment of images in HTML content could be inconsistent. * TabBox: Fixed race condition where focus could be incorrectly set on user tab switch, causing selectedtab unexpectedly being set to previous tab. * TabBox: Fixed wrong ruleoverride=1 behavior. * Tree: Fixed wrong ruleoverride=1 behavior. * WEBDLG2 version: 2.0.8 Patch PE83-2302080 ------------------ * Dialog: Fixed setting title and/or logoicon while the Dialog is visible had no visual effect. * WEBDLG2 version: 2.0.7 (not changed) Patch PE83-2301270 ------------------ * ListBox: Fixed 'ListBox.setAttr content: lineOrder ...' JavaScript client error, causing the user interface to stop responding until the document is reloaded. A client-side inconsistency could occur when ListBox.sortsequence as well as the number of lines are modified. * WEBDLG2 version: 2.0.7 Patch PE83-2301200 ------------------ New functionality: * eloqwebd2.app: The WindowFeatures.NAME configuration has been added. It allows to configure how new web browser windows/tabs are opened. For example, help URLs and/or webprint PDFs may be configured to open in separate browser windows. * eloqwebd2.app: The WarnLeavingPage configuration has been added, allowing to enable/disable to warn the user before leaving the page. In addition, the warning is now disabled during application development and debugging, i.e., when a DLG listener is used to start an application. Fixed problems: * Fixed a potential use-after-free problem when connections are closed. This could cause an unexpected abort of the eloqwebd2 process, for example with a message like below: S0: Assertion failed: BUG: unknown callback S0: server panic: Aborting on internal failure, file worker.c, line 145 * WEBDLG2 version: 2.0.6 Patch PE83-2301190 ------------------ New functionality: * To prevent unintentional program termination, the user is now warned before leaving the page (e.g. when trying to close the web browser window or tab). The warning is issued if the user tries to leave the page while the program is not interactive, i.e., currently outside DLG DO, or when the current Dialog's rule attribute value is zero (i.e., the current Dialog does not display the close symbol in its title bar). Fixed problems: * Fixed 'apiReceived op 25: invalid, focus pending' JavaScript client error, causing the user interface to stop responding until the document is reloaded. This was caused by invoking DLG SET Dialog.do,1 and then invoking DLG DRAW on a new Dialog. * Revised HTTP status 403/404 verbose debug logging, related file system error is now logged when the H3 log flag is configured. * WEBDLG2 version: 2.0.5 Patch PE83-2301120 ------------------ Platforms: All * TabBox: Fixed a problem where selectedtab contents were not displayed as expected. This could happen if a TabBox has not been sensitive and then TabBox.sensitive=1 is set and TabBox.selectedtab is modified. * WEBDLG2 version: 2.0.4 Patch PE83-2301020 ------------------ Platforms: All * Dialog: Fixed 'webdReceived: invalid mode ...' API thread JavaScript error, caused by setting the Dialog.xauto attribute to 0 or -1 while Dialog.yauto is set to 1, or vice-versa. * eloqwebd2.uri: Fixed configured Index file name was not applied to subdirectories. * eloqwebd2.uri: Fixed potential eloqwebd2 start failure while booting the system if a configured Path refers to a file or directory where the related file system is not mounted yet. The Path configuration is now checked when accessed for the first time, instead of being checked on eloqwebd2 startup. * WEBDLG2 version: 2.0.3 (not changed) Patch PE83-2212210 ------------------ Platforms: All New functionality: * eloqwebd2.uri: The Index configuration item has been added. Specifies an index file name to be used when the request URI matches a directory in the file system. Please note: This patch updates the eloqwebd2.uri configuration template file, installed in the newconfig/config directory. Fixed problems: * Fixed 'setFocus: from ... not registered' JavaScript client error, causing the user interface to stop responding until the document is reloaded. This was caused by invoking DLG SET Dialog.do,1 and then opening a new Dialog. The new Dialog then failed to access the previous Dialog's focus object. * Fixed 'apiReceived op 24: invalid, not idle' JavaScript client error, causing the user interface to stop responding until the document is reloaded. This was caused by a client-server race condition. * Fixed 'BUG: elementsChanged no current Dialog' JavaScript client error. This was caused by pressing the context menu mouse button while the Dialog is not interactive. * MenuBar: Fixed setting visible=0 and sensitive=0 had no effect. * TabBox: Fixed tab not implicitly selected when focus is set to a contained object. * TabBox: Fixed sensitive=0 tabs were not displayed. * TabBox: Fixed setting selectedtab had no effect if the related GroupBox object id is modified afterwards. * TabBox: Fixed setting selectedtab could have unexpected effects when tabs are deleted afterwards. * Application development and debugging: When a DLG listener is connected, the eloqwebd2 user agent was not marked as authenticated. As a consequence, the eloqwebd2 internal web server returned a 403 (Forbidden) status for an URI configured with GroupList = @auth. * eloqwebd2.uri: Fixed ContentType:application/octet-stream HTTP response header unexpectedly returned when configured Path refers to a file. * eloqwebd2.mime: Specifying media type parameters, for example "charset", was not possible. Parameters were unexpectedly truncated. For example: text/markdown; charset=UTF-8 Truncated to: text/markdown; * WEBDLG2 version: 2.0.3 Installation: ------------- Please download the patch archive that corresponds with the installed release. The patch files follow the conventions below: PE83-2306060-hpux-ia64.tar.gz ^ ^ ^ | | Architecture / OS specific build | Operating system Patch ID HP-UX IA64: 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.3 gzip -dc /path/to/PE83-2306060-hpux-ia64.tar.gz | tar xf - Files: bin/eloqwebd2 newconfig/config/eloqwebd2.app newconfig/config/eloqwebd2.uri share/webdlg2/htdocs/eq-webdlg.js share/webdlg2/htdocs/eq-webdlg.src.js share/webdlg2/htdocs/eq-webdlg.src.map share/webdlg2/htdocs/eq-webdlg-ui.js share/webdlg2/htdocs/eq-webdlg-ui.src.js share/webdlg2/htdocs/eq-webdlg-ui.src.map share/webdlg2/htdocs/eq-webdlg-api.js share/webdlg2/htdocs/eq-webdlg-api.src.js share/webdlg2/htdocs/eq-webdlg-api.src.map share/webdlg2/htdocs/eq-webdlg.css share/webdlg2/htdocs/eq-webdlg.src.css share/webdlg2/htdocs/eq-webdlg-status.js share/webdlg2/htdocs/eq-webdlg-status.src.js share/webdlg2/htdocs/eq-webdlg-status.src.map share/webdlg2/htdocs/eq-webdlg-status.css share/webdlg2/htdocs/eq-webdlg-status.src.css share/doc/PE83-2306060-README HP-UX PA-RISC: 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.3 gzip -dc /path/to/PE83-2306060-hpux-pa20.tar.gz | tar xf - Files: bin/eloqwebd2 newconfig/config/eloqwebd2.app newconfig/config/eloqwebd2.uri share/webdlg2/htdocs/eq-webdlg.js share/webdlg2/htdocs/eq-webdlg.src.js share/webdlg2/htdocs/eq-webdlg.src.map share/webdlg2/htdocs/eq-webdlg-ui.js share/webdlg2/htdocs/eq-webdlg-ui.src.js share/webdlg2/htdocs/eq-webdlg-ui.src.map share/webdlg2/htdocs/eq-webdlg-api.js share/webdlg2/htdocs/eq-webdlg-api.src.js share/webdlg2/htdocs/eq-webdlg-api.src.map share/webdlg2/htdocs/eq-webdlg.css share/webdlg2/htdocs/eq-webdlg.src.css share/webdlg2/htdocs/eq-webdlg-status.js share/webdlg2/htdocs/eq-webdlg-status.src.js share/webdlg2/htdocs/eq-webdlg-status.src.map share/webdlg2/htdocs/eq-webdlg-status.css share/webdlg2/htdocs/eq-webdlg-status.src.css share/doc/PE83-2306060-README Linux: In order to install this patch, you need to unpack it with tar. Installation requires root privileges. cd /opt/eloquence/8.3 tar xzf /path/to/PE83-2306060-linux-86_64.tar.gz Files: bin/eloqwebd2 newconfig/config/eloqwebd2.app newconfig/config/eloqwebd2.uri share/webdlg2/htdocs/eq-webdlg.js share/webdlg2/htdocs/eq-webdlg.src.js share/webdlg2/htdocs/eq-webdlg.src.map share/webdlg2/htdocs/eq-webdlg-ui.js share/webdlg2/htdocs/eq-webdlg-ui.src.js share/webdlg2/htdocs/eq-webdlg-ui.src.map share/webdlg2/htdocs/eq-webdlg-api.js share/webdlg2/htdocs/eq-webdlg-api.src.js share/webdlg2/htdocs/eq-webdlg-api.src.map share/webdlg2/htdocs/eq-webdlg.css share/webdlg2/htdocs/eq-webdlg.src.css share/webdlg2/htdocs/eq-webdlg-status.js share/webdlg2/htdocs/eq-webdlg-status.src.js share/webdlg2/htdocs/eq-webdlg-status.src.map share/webdlg2/htdocs/eq-webdlg-status.css share/webdlg2/htdocs/eq-webdlg-status.src.css share/doc/PE83-2306060-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 PE83-2306060-win32.exe. Before installation, please consider stopping the WEBDLG2 server, then execute the patch installation program. Installation does not require a reboot unless the patched files were active. For a manual installation of the patch, please download the patch file PE83-2306060-win32.zip and unpack its contents. Then perform the following steps: * Please make sure the eloqwebd service is stopped before installing the patch (in the Service Control Manager or with net stop eloqwebd). * Please copy the eloqwebd32.exe file into the Eloquence bin directory. (Default location: C:\Program Files\Eloquence\8.3\bin) * Please copy the eloqwebd64.exe file into the Eloquence bin64 directory. (Default location: C:\Program Files\Eloquence\8.3\bin64) * Please copy the eloqwebd2.app and eloqwebd2.uri files into the Eloquence newconfig\config directory. (Default location: C:\Program Files\Eloquence\8.3\newconfig\config) * Please copy the eq-webdlg* files into the Eloquence share\webdlg2\htdocs directory (create the directory if it does not exist). (Default location: C:\Program Files\Eloquence\8.3\share\webdlg2\htdocs) * Please copy the PE83-2306060-README.txt file into the Eloquence share\doc directory. (Default location: C:\Program Files\Eloquence\8.3\share\doc) Files: eloqwebd32.exe (32 bit WEBDLG2 server) eloqwebd64.exe (64 bit WEBDLG2 server) eloqwebd2.app eloqwebd2.uri eq-webdlg.js eq-webdlg.src.js eq-webdlg.src.map eq-webdlg-ui.js eq-webdlg-ui.src.js eq-webdlg-ui.src.map eq-webdlg-api.js eq-webdlg-api.src.js eq-webdlg-api.src.map eq-webdlg.css eq-webdlg.src.css eq-webdlg-status.js eq-webdlg-status.src.js eq-webdlg-status.src.map eq-webdlg-status.css eq-webdlg-status.src.css PE83-2306060-README.txt