***************************************** ECO SUMMARY INFORMATION ***************************************** Release Date: May 25, 2004 Kit Name: VAX_DNVOSIECO04-V73 Kit Applies To: OpenVMS VAX V7.3 Approximate Uncompressed Kit Size: 50624 Blocks Installation Rating: INSTALL_2 Kits Superseded By This Kit: VAX_DNVOSIECO02-V0703 Kit Dependencies: None System Reboot Necessary: Yes Checksum of Compressed Kit: 2756447651 WARNING: If you apply this ECO4 kit on a router, you must also immediately apply fix 194134 which is available from the CSC in order to prevent your router from crashing on reboot. DECnet-Plus_for_OpenVMS_VAX_________________________ Release Notes for ECO04 April 2004 This ECO applies to DECnet-Plus V7.3 VAX systems only. To verify that you are running the correct version of DECnet-Plus, enter the following NCL command: NCL SHOW IMPLEMENTATION The version should read: DECnet-Plus for OpenVMS Version V7.3. ________________________________________________________________ © Copyright 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. Proprietary computer software. Valid license from HP required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. This document was prepared using VAX DOCUMENT Version 2.1. 1 Installation Install this kit with the POLYCENTER Software Installation utility (PCSI) by logging into the SYSTEM account and entering the following command at the DCL prompt: $ PRODUCT INSTALL DNVOSIECO04/SOURCE=[location of the .PCSI file] ________________________ Note ________________________ For the corrections to take effect, you must reboot the system. If you are a member of a VMScluster, you must reboot the entire cluster. You can postpone rebooting if it is not convenient for you to do so now; however, the new drivers will not take effect until after a reboot. ______________________________________________________ 2 Corrections for Base Components 2.1 SYS$LIBRARY:CDI$SHR.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:31:38.00 ECO04: - Correctly preserve modified checkpoint interval across system restarts. - Checkpoint immediately after name change when Domain is primary. - Modified code to return first portion of IP fully- qualified name as the synonym. - Improved sticky bit processing. Corrected error seen when full name was changed but synonym was not. The synonym was incorrectly referencing the old full name. - Added ability to close NET$LOCAL_NAME_DATABASE.DAT after each use (see NET$LOGICALS.COM for more information). - Improve CDI cache short term checkpoint interval processing. ECO02: - Prevent loop on possible unexpected BG device error. 1 ECO01: - Allow DOMAIN to return a compressed name from the fully qualified domain full name. - Properly re-open the TCP/IP BG device channel for the TCP/IP DOMAIN lookups. - Prevent memory leak when looking up a null node name. 2.2 SYS$SYSTEM:CTF$DCP.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:35:41.00 ECO04: - Prevent possible system crash by correcting deallocation logic for trace records and CTF work queue elements in CTF$DISPATCH. ECO01: - Prevent possible system crash with invalid tracepoint address. - Prevent possible access violation on an illegal command. - Change FAB and RAB parameters to increase disk I/O. 2.3 SYS$SYSTEM:DECNET_REGISTER.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:35:03.00 ECO04: - Increase wait time for DNS clerk failover. 2.4 SYS$STARTUP:DNS$CLERK_STARTUP.COM: File Identification: 6-MAR-2003 11:36:22.00 ECO04: - Fix startup and stop procedure to install and remove DNS$SHARE. ECO02: - Add DNS$ADVER_AST_LIMIT logical and increase clerk quotas. Translate each of the logicals from the system table if it exists, otherwise use the defaults. Increase default quota for direct I/O, file_limit, enqueue limit, queue limit, adver_buffer_limit, and adver_max_working_ set. 2 2.5 SYS$STARTUP:DNS$CLERK_STOP.COM: File identification: 6-MAR-2003 10:41:26.00 ECO04: - Fix startup and stop procedure to install and remove DNS$SHARE. ECO02: - No changes, include for compatibility. 2.6 SYS$MANAGER:DNS$CONFIGURE.COM: File identification: 16-AUG-2001 10:25:50.37 - Include for compatibility with new NET$CONFIGURE.COM file. 2.7 SYS$LIBRARY:DTSS$INSTALL_TIMEZONE_RULE.COM: File Identification: 19-JAN-2004 14:44:09.00 ECO04: - Prevent setting of TDF by SYS$STARTUP:DTSS$UTC_ STARTUP.COM when NET$DISABLE_DTSS is defined. 2.8 SYS$LIBRARY:DTSS$RUNDOWN.EXE: Image Identification: "DECDTS V2.1-0" 5-APR-2004 23:37:16.00 - Included for compatibility with DTSS$SERVICE. 2.9 SYS$SYSTEM:DTSS$SERVICE.EXE: Image Identification: "DECDTS V2.1-0" 5-APR-2004 23:37:37.00 ECO04: - Corrected a problem that caused a subsequent device to remain uninitialized if a lower device of the same type was offline or unavailable. - Corrected a problem that caused programs using the JAVA runtime code to go into a COM state loop when the TDF change occurs. A TDF change notification event was added. Also, there are some VMS/THREADS corrections that are related to this problem. 3 - Lock certain code, data, and linkage sections into the process working set to prevent a PGFIPLHI system crash seen primarily on systems running with small working sets. - Added the RESIDENT attribute to several high-IPL code psects to prevent PGFIPLHI crash at high IPL. - Corrected display of the next tdf change attribute when the next change is not in the current year. Since only current year values can be known, the code now displays "." - Corrected a problem with the show dtss all command that occasionally caused the invalid message detected attribute to have a negative number. - Prevent hang on show dtss all command. - Correct unavailable user buffer error by allocating 9 buffers. ECO02: - Correct process crash when an invalid rule was improperly used. ECO01: - Correct PGFIPLHI crash on startup. Insure that any linkages which may be touched at an elevated IPL are in a page which is locked. 2.10 SYS$SYSTEM:DTSS$SET_TIMEZONE.EXE: Image Identification: "V1.0" 5-APR-2004 23:39:33.00 - Included for compatibility with DTSS$SERVICE. 2.11 SYS$LIBRARY:DTSS$SHR.EXE: Image Identification: "DTSS V2.1-0" 5-APR-2004 23:20:41.00 ECO04: - Link against latest VAXCRTLG.EXE. 2.12 SYS$LIBRARY:DTSS$SHRD.EXE: Image Identification: "DTSS V2.1-0" 5-APR-2004 23:20:57.00 - Included for compatibility with DTSS$SERVICE. 4 2.13 SYS$STARTUP:DTSS$STARTUP.COM: File Identification: 1-OCT-2001 10:45:53.00 - Included for compatibility with NET$STARTUP. 2.14 SYS$UPDATE:DTSS$TIMEZONE_RULES.DAT: File Identification: 9-SEP-2003 17:50:08.00 ECO04: - Correct Tasmania time zone rule. ECO01: - Change DTSS British time zone rule from 4th Sunday in October to 5th Sunday in October. - Modify Australia and New Zealand for the 2001 time zone rules. NET$CONFIGURE.COM must be run to update these rules. 2.15 SYS$LOADABLE_IMAGES:LES$LES_V30.EXE: Image Identification: "LES V3.0-2" 5-APR-2004 23:39:59.00 ECO04: - Remove gratuitous IOLOCK8 acquisition and release. ECO02: - Remove change for SNA Alpha that prevented X.25 level 3 receive packets from being acknowledged. 2.16 SYS$SYSTEM:NCL.EXE: Image Identification: "X-5" 5-APR-2004 23:43:34.00 ECO01: - Add check to make sure that LIBOTS code is resident on startup. 2.17 SYS$LIBRARY:NCL$GLOBALSECTION.DAT: File Identification: 15-JUL-2003 15:36:58.00 ECO04: - Added a CMIP code for "OpenVMS I64" systems. Changed CMIP code for "OpenVMS AXP" systems to "OpenVMS Alpha" systems. Added SHUT ALIAS PORT command. 5 - Updates for X.500 and X.400 have been included. ECO02: - Updates for X.25 on OpenVMS Alpha and X.400 have been included. 2.18 Updates Made to SYS$HELP:NCLHELP.HLB: File Identification: 8-JUL-2003 14:08:45.00 ECO04: - Add help for SHUT ALIAS PORT command. - Document use of the NET$APPLICATION_SHUTDOWN.TEMPLATE file. - Added a description of the NET$APPLICATION_SHUTDOWN, NET$LOCAL_NAME_DATABASE, and NET$LOCAL_CLOSE logicals. - Add examples of decnet_register's command line interface. - Updated TOWERSET data type help to include IP tower description. - Clarify the FLUSH command description. Added information about running CDI_CACHE_DUMP to interpret the last CDI checkpoint. - Clarify action taken by DELETE SESSION CONTROL BACKTRANSLATION SOFTLINK command. - Clarify the purpose of the SHOW SESSION CONTROL BACKTRANSLATION SOFTLINK command. - Add new material to the help text for the UPDATE SESSION CONTROL BACKTRANSLATION SOFTLINK and UPDATE SESSION CONTROL TOWER MAINTENANCE commands. ECO01: - Add a loopback example using a DOMAIN fullname. - Provide examples of adding proxies using the DOMAIN, LOCAL, and DECdns fullnames in the NETWORK_MANAGEMENT ACCESS_CONTROL section. - Modify "set dtss servers required" example because the "s" was missing, and the command doesn't parse without it. 6 2.19 SYS$LIBRARY:NCLSHR.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:31:42.00 ECO04: - Corrected backtranslation of IP address so address displays now display the fully qualified host name following the IP address. (See also NET$SESSION_ CONTROL.EXE.) If a BIND server is not available and you still want to see the fully qualified name, do the following: 1. Modify the local IP host database: $ tcpip set nohost trundy $ tcpip set host trundy.xpr.eds.vendors.cpqcorp.net - /addr=161.114.95.148/alias=trundy 2. Flush the old cache entry so the next lookup will get the fully qualified name. - Correct the order of the IP address display now that the ISO format is used to store the address within the towerset. ECO01: - Suppress "getlist" error on NCL SHOW displays 2.20 SYS$SYSTEM:NET$ACP.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:48:48.00 - Include for compatibility with CDI$SHR. 2.21 SYS$LOADABLE_IMAGES:NET$ALIAS.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:34:46.00 ECO04: - Include support for shut [node node-id] alias port port-name. See NCL help for more information. - Make exclusive mode lock conversion synchronous in Alias$SendVB to prevent hang while shutting alias. - Make exclusive mode lock conversion synchronous in Alias$Update_App to prevent possible hang while enabling (or re-enabling) alias port. - Lowered IPL in several system service completion routines. DECnet services were improperly called with elevated IPLs. 7 - Test for null port pointer during DISABLE ALIAS PORT command processing to prevent disabled alias port from being used. - Prevent hangs on calls to $ENQ system service because a thread of execution was running at an elevated IPL. ECO02: - Prevent Round Robin queue corruption. 2.22 SYS$MANAGER:NET$APPLICATION_SHUTDOWN.TEMPLATE: File Identification: 19-AUG-2002 13:17:17.00 ECO04: - New template. Example of shutting down applications prior to network shutdown. Placing application shutdown commands in SYSHUTDWN.COM causes NET$SHUTDOWN to hang because NET$SHUTDOWN is called before the application shutdown commands are encountered. 2.23 SYS$SYSTEM:NET$AUTOGEN.COM: File identification: 7-MAY-2002 16:19:36.00 ECO04: - Changed $MC AUTHORIZE command to use command symbol (AUTHORIZE :== $AUTHORIZE") 2.24 SYS$SYSTEM:NET$CCR.EXE: Image Identification: "V7.3ECO04" 6-APR-2004 00:00:18.00 - Include for compatibility with NET$MOP. 2.25 SYS$MANAGER:NET$CONFIGURE.COM: File Identification: 5-APR-2004 18:00:20.00 ECO04: - Changed copyright information. - When using Option 2 the towers weren't being updated correctly. NET$CONFIGURE was deleting them because nsp_ wanted and osi_wanted symbols weren't set. 8 ECO02: - Corrected error that caused the Phase IV prefix to be ignored when changing the AFI to any value other than 49. - Correct towers when running with an AFI other than 49 and a Phase IV compatible address, the preDSP portion of the Phase IV prefix was dropped from the towers. - When an extended address was used the Phase IV address is 0.0 so the towers incorrectly updated using the AA- 00-04-00-xx-xx form of the node ID. ECO01: - Change NET$CONFIGURE option 1. - Remove obsolete decnet_loc_register calls. - Display a warning that the system must be rebooted if the DECnet address has been changed. - Make sure that all temporary files from an aborted session will be deleted. 2.26 SYS$UPDATE:NET$CONFIGURE_UPGRADE.COM: File Identification: 5-APR-2004 18:00:55.00 - Include for compatibility with NET$CONFIGURE.COM 2.27 SYS$LOADABLE_IMAGES:NET$DRIVER.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:49:37.00 ECO04: - Improved the reporting of connection timeouts in the transmit and receive queue processing code. The code now returns the traditional, more specific timeout error status SS$_LINKEXIT instead of the generic error status SS$_FILNOTACC. - Corrected a problem causing a process using the NET device to hang in the RWAST state. This problem was seen when multiple deassign calls were made for a connection instance. (For example, a remote system requesting a disconnect at the same time as the local system.) - Corrected a problem seen when a user program received notification of I/O completion using LOCAL event flags. Occasionally, the event flag was set before the IOSB and the data buffer were properly set. 9 - Remove gratuitous IOLOCK8 acquisition and release on I/O completion. ECO01: - Acquire and release IOLOCK8 in a macro for the DAB queue. 2.28 SYS$MANAGER:NET$LOGICALS.TEMPLATE: File Identification: 10-SEP-2002 10:28:53.00 ECO04: - Increased default BYTLM for MOP. - New logical, NET$LOCAL_CLOSE, has been introduced and if set to 1 forces a close of NET$LOCAL_NAME_ DATABASE.DAT after each reference. If logical is not defined, then the database is left open. The use of the logical might effect performance but it prevents problems associated with constantly open files (possible merge problems if database is moved). - Example of shutting down applications prior to network shutdown. 2.29 SYS$SYSTEM:NET$MOP.EXE: Image Identification: "V7.3ECO04" 6-APR-2004 00:00:04.00 ECO04: - Corrected a routine to explicitly set IPL to 0 before issuing thread signal calls that require an IPL of 0. Also, corrected which thread signal calls were used. This problem caused the MOP process to hang when it was trying to load multiple servers simultaneously. - Correct the buffer length derived from the terminal server's SYSID message for MOP Console Carrier Protocol used by TSM. ECO01: - Add debugging code for DECthreads. 10 2.30 SYS$LOADABLE_IMAGES:NET$MOPS0.EXE: Image Identification: "V7.3ECO04" 6-APR-2004 00:00:09.00 - Include for compatibility with NET$MOP. 2.31 SYS$LIBRARY:NET$NISCS_LAA.EXE: Image Identification: "MOPLAA V3.0" 5-APR-2004 23:42:22.00 ECO01: - Prevent KRNLSKNV crash during load with host based shadowed disk. 2.32 SYS$LOADABLE_IMAGES:NET$OSDRIVER.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:50:09.00 ECO04: - Improved the reporting of connection timeouts in the transmit and receive queue processing code. The code now returns the traditional, more specific timeout error status SS$_LINKEXIT instead of the generic error status SS$_FILNOTACC. - Corrected a problem causing a process using the OS device to hang in the RWAST state. This problem was seen when multiple deassign calls were made for a connection instance. (For example, a remote system requesting a disconnect at the same time as the local system.) - Corrected a problem seen when a user program received notification of I/O completion using LOCAL event flags. Occasionally, the event flag was set before the IOSB and the data buffer were properly set. 2.33 SYS$LOADABLE_IMAGES:NET$OSVCM.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:47:01.00 ECO04: - Corrected a possible double deallocation problem that occurred on incoming sessions where the remote session partner and the device driver simultaneously attempted to close the session. 11 ECO02: - Remove only data transmit fork for performance on I/O completion by just calling session directly. 2.34 SYS$LIBRARY:NET$PROCESS_EMAA.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:27:04.00 ECO04: - Corrected a system crash caused by a problem with MCRP buffer allocation and initialization in the NET$EMAA_ Response routine. The buffer consists of a fixed length control block which includes a pointer to a variable length output string that is appended to the control block. The code was not properly initializing the output string pointer to null when the output string length was zero. - Corrected a system crash seen while managing a MOP entity. A block deallocation routine was running at an elevated IPL (IOLOCK8) when a page fault occurred. The elevated IPL is not required and was removed, thus allowing the page faulting to occur at a lowered IPL (IPL 11). ECO02: - Raise default CML BYTLM to allow NCL SHOW SESSION CONTROL to handle more than 1500 connections. See Section 5 for more information. 2.35 SYS$LOADABLE_IMAGES:NET$ROUTING_ES.EXE: Image Identification: "V7.3ECO04" 6-APR-2004 00:01:37.00 ECO04: - Ensure that an FDDI circuit is enabled before sending the last chance ES_HELLO (for all bcst circuits). - Corrected a system crash seen when disabling alias ports. The code was not handling the case where there were no ports to disable. - Corrected a system crash caused by improper integrity checking of incoming ES Hello messages. Also, if the integrity checking failed, a bugcheck was forced. This integrity check was corrected and the routine returns appropriate status instead of bugchecking. 12 - Remove gratuitous IOLOCK8 acquisition and release. ECO02: - Remove check for invalid NSAP on initial ES hello message by not checking the area address of the NSAP. 2.36 SYS$LOADABLE_IMAGES:NET$ROUTING_IS.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:38:17.00 ECO04: - Deleted unnecessary Phase IV parameter checks when in an OSI-only host-based routing environment. - Modified the output of the SHOW ROUTING ALL command to omit all Phase IV parameters in a pure OSI host-based routing environment. - Change the default values for the routing characteristics manual L1 algorithm and manual L2 algorithm to link state. Using link state as the default prevents several dependencies on Phase IV information not provided in a pure OSI host-based routing environment. ECO02: - Raise the originating queue limit for broadcast circuits to correct performance problem. ECO01: - Modify alias forwarding to prevent the "transmit queue length" from becoming negative, and subsequent packets from being discarded. 2.37 SYS$LOADABLE_IMAGES:NET$ROUTING_VCM.EXE: Image Identification: "V7.3ECO04" 6-APR-2004 00:01:27.00 ECO02: - Check the VCIB pointer first before deallocating the VCRP to prevent a possible system crash on shutdown because the port may have been in the process of being deallocated. 13 2.38 SYS$LIBRARY:NET$SDA.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:46:23.00 ECO01: - Add updates for TPCONS, X25 Relay, and XOT. 2.39 SYS$SYSTEM:NET$SERVER.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:52:36.00 ECO01: - Prevent possible %IPC-F-DCLSRVFAIL when the NETSERVER$TIMEOUT is set to zero. 2.40 SYS$LOADABLE_IMAGES:NET$SESSION_CONTROL.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:50:54.00 ECO04: - Corrected a problem seen when a user program received notification of I/O completion using LOCAL event flags. Occasionally, the event flag was set before the IOSB and the data buffer were properly set. - Modified how Session Control responds when a node's cache entry is stale (that is, the node name is found but the address is not reachable). Formerly, the node would remain unreachable until the cache was updated. Now, the cache is bypassed, the proper address found, and the cache is updated. - Correct some buffer sanity checking logic in the $IPC interface. - Corrected an IPL level problem that in turn caused session control to honor unreasonably large memory allocation requests from the $IPC interface. - Fix incoming alias table. All named objects were incorrectly assumed to be the TASK object. - Prevent possible double deallocation of a disconnect VCRP by dereferencing a pointer in the session port block immediately after the disconnect VCRP is completed. - Remove gratuitous IOLOCK8 acquisition and release. 14 - Correct IP address backtranslation to display the fully qualified host name in the following commands (see also NCLSHR.EXE); MCR NCL SHOW ADDR ... MCR NCL SHOW OSI TRANSPORT PORT * REMOTE RFC1006 IP ADDR ... MCR NCL SHOW OSI TRANSPORT LOCAL NSAP IP_ANY REMOTE NSAP * IP ADDR ... ECO02: - Correct DECnet Over IP state table transition crash that could happen when an expedited data message was received after a disconnect from the remote system. - Corrected connections to DECnet servers when NET_ CALLOUTS was set to 255 in SYSGEN. - Remove spurious "Delete Maintained Object" message on system startup. - Prevent premature deallocation of session disconnect VCRPs. ECO01: - Correct "Incoming Connect Orphan Queue" VCRP disconnect deallocation. - Modify EXE$IPC to always return the caller to IPL 0 so that callers will never unknowingly inherit the ASTDEL IPL. 2.41 SYS$STARTUP:NET$SHUTDOWN.COM: File identification: 5-APR-2004 18:00:46.00 ECO04: - Changed copyright information. ECO01: - Prevent possible shutdown hang in Transports or Routing. 15 2.42 SYS$STARTUP:NET$STARTUP.COM: File identification: 5-APR-2004 18:00:38.00 ECO04: - Corrected a condition that caused NET$STARTUP to output several internal error messages to the SYS$SPECIFIC:[SYSEXE]STARTUP.LOG file when the STARTUP_ P2 system parameter was set to "PD". Also, changed copyright information. - Increased default BYTLM for MOP. - Added support for startup_p2 SYSGEN parameter. Controls output of STARTUP.COM (and now NET$STARTUP.COM). ECO01: - Prevent PGFIPLHI when Autogen does not complete and LIBOTS code is not properly mapped into memory. If LIBOTS is not resident then have the network startup fail with NET$STARTUP_STATUS set to OFF-AUTOGENREQ. 2.43 SYS$LOADABLE_IMAGES:NET$TPCONS.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:50:50.00 ECO04: - Modified the code to correctly set up local IP address and TCP port fields. See also NET$TRANSPORT_OSI for more information about how this change allowed the correct local RFC1006 and remote RFC1006 IP address and port number characteristics to be displayed. - Modified the code to correctly handle a control block inconsistency seen during processing of an incoming disconnect when the local system is also initiating a disconnect (rather than force a system crash). - Corrected a self-imposed system crash seen during OSI transport disabling where, under certain timing conditions, a local control block being processed for deallocation was found to be still active. The block is now deactivated prior to deallocation. - Corrected a stale pointer problem when taking down a connection. Added a test of the pointer before using it to complete the take down. 16 - Corrected a timing problem between TPCONS and TRANSPORT_OSI. Logic was improved to prevent timing- related problems between the two modules as they deallocate internal data structures. - Removed sanity checking in DeallocateTPCB that was no longer compatible with newer HP TCP/IP Services for OpenVMS releases. - Clean up Connect Initiate error handling so that the code does not try to reference fields in a Connect Init structure that could not be allocated. - Remove a forced bugcheck on a change of address when the VCIB structure was removed in system shutdown. - Remove a forced bugcheck that occurred during connection takedown if a deferred transmit was pending. - Reverse the IP address in the towerset from DNA format to use the ISO format (i.e., transmitted most significant byte first). ECO02: - Modify TPCONS design to enable the TCP/IP PWIP driver to be restarted without a DECnet restart. - Multiple changes to prevent exotic timing problems with the latency in TCP/IP Services I/O completion. ECO01: - Correct a design problem to allow for very long latency in TCP/IP Services between the transmit request and the actual completion, if there are any problems in TCP/IP delivering the data message. 2.44 SYS$LOADABLE_IMAGES:NET$TRANSPORT_NSP.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:46:51.00 ECO04: - Corrected a problem resulting in poor throughput when NSP was using piggyback ACKs. The code now sends a standalone ACK if no data segment is queued for transmission. - Corrected a problem that caused circuit failover on a dual LAN connection system to fail when the NSP transport was in use. 17 - Reformat transmit VCRPs to prevent buffer possible buffer overflow which might in a very unusual case result in non-paged pool corruption. Also, modified how the variable-length area (headers and user data) of the VCRP are formatted to prevent the possibility of referencing a location outside the allocation block. - Remove gratuitous IOLOCK8 acquisition and release. - Enlarge NSP OOOP cache from 7 to 32. ECO02: - Corrected the transmit copy code to handle the occurrence of an internal zero pointer value which could occur with some I/O cancellations. - Correct null pointer crash in ACT$RCV_CI. ECO01: - Allow a connection to be disconnected immediately for a dysfunctional link rather than waiting for the timeouts to complete. 2.45 SYS$LOADABLE_IMAGES:NET$TRANSPORT_OSI.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:47:06.00 ECO04: - Corrected a session hang problem seen when a disconnect was received from the remote system and was being processed at the same time that a request to deaccess the NET channel came from the local system. - Corrected a double deallocation of the NCCB seen during the disabling of the OSI transport when DECnet is shutting down. - Modified the code to correctly display the local RFC1006 and remote RFC1006 IP address and port number characteristics instead of "" and "0" respectively. - Corrected a problem seen during connection takedown where the Remote Service Provider (RSP) list was in the process of being modified as it was referenced during the take down. Checking has been added to ensure the returned RSP structure is valid. 18 - Corrected a timing problem between TPCONS and TRANSPORT_OSI. Logic was improved to prevent timing- related problems between the two modules as they deallocate internal data structures. - Ensure that the TPCB structure is properly deallocated in the port deletion code responsible for the final rundown of DECnet over TCP/IP connections. - Ensure that all routines calling a NCCB queue manipulation routine have IOLOCK8. - Corrected the code to properly handle a rare situation that can occur if a request to transmit is made to routing and the permission is not granted until transport has begun to terminate a connection. A null buffer pointer was not being handled properly. Added the same null pointer check to several other transport routines. - Reformat transmit VCRPs to prevent buffer possible buffer overflow which might in a very unusual case result in non-paged pool corruption. - Remove gratuitous IOLOCK8 acquisition and release. ECO02: - Corrected queue synchronization problem that could causes system crashes during connection establishment and termination on multiprocessor systems. - Corrected the code to properly handle a rare situation that can occur if a request to retransmit is made to routing and the permission is not granted until transport has begun to terminate a connection. A null buffer pointer was not being handled properly. - Removed some logic that had been included to handle an obsolete protocol quirk in older PC platforms. The code was found to be responsible for long delays under rare circumstances. - Modify the deallocation of chained receive DCBs from PWIPdriver to prevent possible system crash in OSI Transport or TPCONS. - Modify check for a valid NCCB which had been optimized out of the code by the ALPHA BLISS compiler. - Prevent crash in remote service provider counter routine with more integrity checking. - Modify OSITP design to enable the TCP/IP PWIPdriver to be restarted without a DECnet restart. 19 - Multiple changes to prevent exotic timing problems with the latency in TCP/IP Services I/O completion. ECO01: - Change the action routine on a TPDU error in a WFNC (wait for network confirm) state to ACT$P_TPDUERR rather than bugcheck. 2.46 SYS$LOADABLE_IMAGES:SYS$NETWORK_SERVICES.EXE: Image Identification: "V7.3ECO04" 5-APR-2004 23:48:02.00 ECO04: - Corrected a system crash seen when CTF tracing was active during a shutdown of the OSI transport. During transport shutdown, the common code for handling trace terminations failed to verify the existence of the trace information buffer before using a pointer within the buffer. - Update ECO number in the DECNET_VERSION item code to "00050E07". Note: "00050E03" was not used, "00050E04" was used for V7.3-1, "00050E05" was used for V7.3-1 ECO01, "00050E06" was used for V7.3 ECO03 for Alpha only, "00050500" was inadvertently used for V7.3-1 ECO02. Future 7.3 ECOs, if any, will use "00050Exx" (where xx is 08 or greater); future 7.3-1 ECOs, if any, will use "00050Fxx" (where xx is 03 or greater). ECO02: - Update ECO number in the DECNET_VERSION item code to "00050E02". ECO01: - Update ECO number in the DECNET_VERSION item code to "00050E01". 20 2.47 New Trace Images Included in SYS$LIBRARY for Compatibility: CTF$ALIAS_ANALYZE.EXE "X-2" 5-APR-2004 23:35:10.00 CTF$DNA_ANALYZE.EXE "X-7" 5-APR-2004 23:49:46.00 CTF$MOP_ANALYZE.EXE "V7.3ECO04" 6-APR-2004 00:00:22.00 CTF$NSPTP_ANALYZE.EXE "X-2" 5-APR-2004 23:46:59.00 CTF$OSITP_ANALYZE.EXE "I-10" 5-APR-2004 23:47:18.00 CTF$OSVCM_ANALYZE.EXE "X-2" 5-APR-2004 23:47:10.00 CTF$SCL_ANALYZE.EXE "X-10" 5-APR-2004 23:53:00.00 CTF$TPCONS_ANALYZE.EXE "I-5" 5-APR-2004 23:50:58.00 CTF$VOTS_ANALYZE.EXE "X-7" 5-APR-2004 23:50:18.00 2.48 Corrections for VAX P.S.I. 2.48.1 SYS$LOADABLE_IMAGES:NWDRIVER.EXE: Image Identification: "V7.1-6-510" ECO02 (patch 2-JUL-2002 18:52:30.59): - Correct loop on X.25 application shutdown caused by Direct I/O changes in OpenVMS V7.3. 3 DECdns Update ECO 73 This kit supersedes kit DECDNSAECO71072. 3.1 Files Patched or Replaced: SYS$COMMON:[SYSEXE]DNS$ADVER.EXE "V2.0-1" 5-APR-2004 23:37:42.00 SYS$COMMON:[SYSEXE]DNS$ANALYZE.EXE "V2.0-1" 5-APR-2004 23:38:16.00 SYS$COMMON:[SYSEXE]DNS$CADUMP.EXE "V1.0" 5-APR-2004 23:36:37.00 SYS$COMMON:[SYSEXE]DNS$CLIENT.EXE "V2.0-1" 5-APR-2004 23:20:59.00 SYS$COMMON:[SYSEXE]DNS$CONFIGURE.EXE "V2.0-1" 5-APR-2004 23:43:49.00 SYS$COMMON:[SYSEXE]DNS$CONTROL.EXE "V2.0-1" 5-APR-2004 23:43:22.00 SYS$COMMON:[SYSHLP]DNS$CPHELP.HLB 5-APR-2004 23:39:21.00 SYS$COMMON:[SYSMSG]DNS$MSG.EXE "DNS V2.0-002" 5-APR-2004 23:19:57.00 21 SYS$COMMON:[SYSLIB]DNS$PI.EXE 5-APR-2004 23:20:33.00 SYS$COMMON:[SYSLIB]DNS$RTL.EXE "V2.0-1" 5-APR-2004 23:21:07.00 SYS$COMMON:[SYSEXE]DNS$SERVER.EXE "V7.3ECO04" 5-APR-2004 23:45:23.00 SYS$COMMON:[SYSLIB]DNS$SHARE.EXE "V2.0-1" 5-APR-2004 23:20:51.00 SYS$COMMON:[SYS$LDR]SYS$NAME_SERVICES.EXE "V2.0-1" 5- APR-2004 23:38:05.00 3.2 Problems Corrected in DECdns Images ECO04: - Corrected a problem that caused a subsequent device to remain uninitialized if a lower device of the same type was offline or unavailable. - Corrected a problem that could cause more than three copies of the DNS$CHFAIL.LOG to be present on the system. This condition occurred when the file version of DNS$CHFAIL.LOG cycled through the upper version boundary (that is, cycling from version 32767 back to version 1). The code now correctly handles this situation and maintains three copies of the file. File versions are rolled over when the file version reaches 32000. For example, if versions 31998, 31999, and 32000 are present, the code renumbers the files to version 1, 2, and 3, respectively. - Corrected a problem that could cause multiple copies of the file used to maintain the current cache file version (SYS$SYSTEM:DNS$CACHE.VERSION) to be present on the system. This condition occurred when the file version of DNS$CACHE.VERSION cycled through the upper version boundary (that is, cycling from version 32767 back to version 1). The code now correctly handles this situation and maintains a single version of the file. - Corrected a system crash situation during DNS rundown caused by using a stale (that is, null) pointer. The code now checks the pointer before using it. - Fix memory leak in DNS$ADVER when CSMA-CD station disabled using NCL. - Fix maybe bit processing and failover. Speedup failover when no response from the application. Also corrects problems observed during clearinghouse processing. 22 - Include changes to DNS$CONFIGURE for compatibility with NET$CONFIGURE changes. - Internal code changes due to V7.3-1 compiler changes ECO02: - Correct access violation in dns$configure on invalid full name. - Correct default namespace missing problem. - Correct failure to flush cache on disable. - Add code to give detailed dump of cache DNS$CADUMP. - Add trace support for DEB$K_FULLNAME_UID, DEB$K_ PROGRESS. - Cleanup handling of context information. ECO01: - Include cache rollover correction, poolcheck and read permanent decnet database to get local towerset. - Add support for new trace code. - Add support for EB and EI device types. - Brann Cache Calculation modified to accommodate cache sizes in a large memory environment. - Prevents NSAP's with a prefix of %x49 from being inserted in the cache if the configured prefix is other than %x49. - Also, there is a correction to preserve the STICKY bit in the cache, if it was previously set, when the address of an item in the cache is updated. - Prevents the DNS$ADVER process from crashing when a "SHOW DNS CLERK REMOTE CLEARINGHOUSE ..." command is issued. This problem sometimes appears as hang to the user when a command similar to the one shown above is issued. - Corrected the clerk treewalk algorithm to prevent the algorithm from failing to find the desired clearinghouse to satisfy the name lookup request. Typically, the symptom of this problem was the return status of DNS$_ NOCOMMUNICATIONS on a "SHOW CLEARINGHOUSE ..." command when the clerk should have been able to connect the proper clearinghouse. 23 3.3 New Logicals for DNS$ADVER Image Added the ability to define the following logical names in the system logical name table: DNS$ADVER_AST_LIMIT DNS$ADVER_BUFFER_LIMIT DNS$ADVER_EXTENT DNS$ADVER_MAX_WORKING_SET DNS$ADVER_PAGE_FILE These logical names correspond to qualifiers on the RUN statement which are described in the OpenVMS documentation. If any of these logical names are defined at the time the DNS$ADVER process starts up, then the values defined for these logical names are used instead of the default quotas. Typically, these logical names are defined in the SYS$MANAGER:SYLOGICALS.COM file. This is necessary because the logical names need to be defined before the DNS$ADVER process starts up. One reason to use these logical names is if you have a system is configured with more than two ethernet controllers. Another reason is to define increased quota for the DNS$ADVER process when you receive a message on the console during startup that the DNS cache is not initialized (DNS$_NOCACHE,"Clerk cache not initialized"). Selected default quotas for the DNS$ADVER process have also been increased for the ECO 72. The selected quotas that have been increased include direct I/0, enqueue limit, queue limit, buffer limit and maximum_working_set. 4 Restriction When Using Applications Supported Using Cluster Aliases Due to a design restriction, incoming ALIAS connections are forwarded to cluster members somewhat differently depending upon whether the SESSION CONTROL APPLICATION entity's ADDRESS set contains a NUMBER parameter (equivalent to Phase IV's connect by object number) or a TASK parameter (equivalent to Phase IV's connect by object name). For an incoming connect by object number, each ALIAS entity has access to a cluster-wide object number table that specifies which object numbers have been defined for each cluster member and the status of their 24 INCOMING ALIAS characteristic. The result is that the connection forwarding mechanism works as expected, that is, connections are forwarded or not forwarded to cluster members correctly depending upon whether the application exists on the member and depending on the setting of the INCOMING ALIAS parameter. However, the mechanism for mapping incoming connections by object name using this cluster-wide object number table does not exist and the result is that connections are forwarded to a given cluster member regardless of whether the application exists on a given member and regardless of the setting of the INCOMING ALIAS parameter on a given member. If you wish to restrict access to a network application supported using a cluster alias (either by not having the application present on a member or by setting the INCOMING ALIAS characteristic to FALSE on a member), you must create the SESSION CONTROL APPLICATION by supplying the NUMBER keyword for the ADDRESS characteristic (that is, supplying the object number), so that connection forwarding works as expected. 5 Tuning OpenVMS to Support the Larger CML BYTLM Value The default BYTLM value for CML has been increased from 10000 to 64000. This correction was done to prevent NCL from returning the NCL-E-OVERFLOWBYTLM error message when large amounts of data were needed from CML. If you have ever experienced this problem, or if your MAXBUF value is already set to 64000 and you have received NCL-E- NORESOURCEAVAIL error messages, then you should make the changes described in this section. To fully take advantage of the increased BYTLM value, do the following: 1. Increase the value of MAXBUF to 64000 if you have not done so already. 2. Increase the value of PQL_MBYTLM to 84000. 3. Raise the BYTLM quota on any account that might issue commands requiring the increased resources to 65000. Be sure to do this to at least SYSTEM, CML$SERVER, and MICRO$SERVER accounts. For example, to modify the CML$SERVER account, use the following command: 25 $ RUN SYS$SYSTEM:AUTHORIZE UAF> MODIFY CML$SERVER/BYTLM=65000 4. Check for the existence of the logicals NET$ACP_ BYTLM, NET$EVD_BYTLM, AND NET$MOP_BYTLM. If any of these logicals are defined and they are set to a value lower than 65000, modify their entries in SYS$MANAGER:NET$LOGICALS.COM to raise their value to 6500. Note: SYS$MANAGER:NET$STARTUP.COM may fail with -NCL-E- NORESOURCEAVAIL, no resources available. This is because the changes in NET$PROCESS_EMAA require more Buffered I/O in process context. If the system startup should fail then the sysgen parameter PQL_MBYTLM must be increased to give this process more BYTLM Quota. 26