OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
From: system PRIVILEGED account (rootstage1.cxo.cpqcorp.net)
Date: Wed Nov 07 2001 - 17:05:04 CST

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    TITLE: DEC TCP/IP UCXALP_E05042 DIGITAL TCP/IP V4.2 ECO Summary
     
    New Kit Date : 09-OCT-2001
    Modification Date: Not Applicable
    Modification Type: Updated Kit Supersedes UCXALP_E04042

    NOTE: An OpenVMS saveset or PCSI installation file is stored
           on the Internet in a self-expanding compressed file.
     
           For OpenVMS savesets, the name of the compressed saveset
           file will be kit_name.a-dcx_vaxexe for OpenVMS VAX or
           kit_name.a-dcx_axpexe for OpenVMS Alpha. Once the OpenVMS
           saveset is copied to your system, expand the compressed
           saveset by typing RUN kitname.dcx_vaxexe or kitname.dcx_alpexe.
     
           For PCSI files, once the PCSI file is copied to your system,
           rename the PCSI file to kitname-dcx_axpexe.pcsi, then it can
           be expanded by typing RUN kitname-dcx_axpexe.pcsi. The resultant
           file will be the PCSI installation file which can be used to install
           the ECO.
     

     
    Copyright (c) Compaq Computer Corporation 1999, 2000, 2001. All rights reserved.

    PRODUCT: DIGITAL TCP/IP Services for OpenVMS V4.2

    OP/SYS: OpenVMS Alpha

    SOURCE: Compaq Computer Corporation

    ECO INFORMATION:

         ECO Kit Name: UCXALP_E05042
                        DEC-AXPVMS-UCXECO_42_5-V0400--4.PCSI
         ECO Kits Superseded by This ECO Kit: UCXALP_E04042
                                               UCXALP_E03042

                        DEC-AXPVMS-UCXECO_42_3-V0200--4.PCSI
                                               UCXALP_E02042
                        DEC-AXPVMS-UCXECO_42_2-V0100--4.PCSI
                                               UCXALP_E01042
                        DEC-AXPVMS-UCXECO_42_1-V0100--4.PCSI

         ECO Kit Approximate Size: 32,672 Blocks
         Kit Applies To: Digital TCP/IP Services for OpenVMS V4.2
                          OpenVMS Alpha V6.2, V6.2-1H1, V6.2-1H2, V6.2-1H3,
                                        V7.0 AND V7.1
         System/Cluster Reboot Necessary: Yes
         Rolling Re-boot Supported: Not Known
         Installation Rating: INSTALL_UNKNOWN

         Kit Dependencies:

           The following remedial kit(s) must be installed BEFORE
           installation of this kit:

             None

           In order to receive all the corrections listed in this
           kit, the following remedial kits should also be installed:

             None

    ECO KIT SUMMARY:

    An ECO kit exists for TCP/IP V4.2 on OpenVMS Alpha V6.2 through V7.1. The
    following sections describe the corrections to each facility.

    -------------------------------------------------------------------------------
            PREVIOUSLY UNDOCUMENTED BEHAVIOR:
    -------------------------------------------------------------------------------
            ---------------------------------------------------------------
            1: PTR 70-5-1032 User buffer length problem
            ---------------------------------------------------------------
            Note:

            Because of the following ECO to UCX V4.1, which was
            incorporated into the UCX V4.2 base release, user buffer
            lengths are now validated and rejected if they exceed 64K:

            ECO Y 2-Apr-1997 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.1-12Y
            UCX$INTERNET_SERVICES.EXE UCX V4.1-12Y (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.1-12Y (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.1-12Y (VAX)
            UCX$INTERNET_SERVICES_SEC_V6.EXE UCX V4.1-12Y (VAX)
            UCX$INETACP.EXE UCX V4.1-12Y

            Problem:

            System crash on write to a BG device when P2 parameter
            (user buffer length) specifies a negative value.

            Solution:

            Lengths of user buffers were not being properly validated
            and as a result, the negative value length was being
            misinterpreted as a large positive number. The fix is
            to properly validate this length, limiting lengths to
            64KB-1 bytes. Lengths greater than this and lengths less
            than zero will now cause the I/O request to be terminated
            with an SS$_IVBUFLEN status.

            Reference:

            See the diagram on p. 3-4 of the "UCX System Services
            and C Socket Programming Guide". "Transfer Size" gets
            a 16-bit field (because VMS QIO interface only provides
            for a 16-bit return value on the actual number of bytes
            read in the IOSB structure).

            ---------------------------------------------------------------
            2: PTR 70-5-281 LPD Print Symbiont Problem
            ---------------------------------------------------------------
            Problem:

            LPD print symbiont inserts LF character after setup
            module.

            Solution:

            The following two logicals have been added for the LPD print
            symbiont to fix this:

            Defining the logical UCX$LPD_SETUP_NOLF will suppress
            the LF characters on a per-system basis.

            Defining the logical UCX$LPD_<queue>_SETUP_NOLF will
            suppress the LF characters on a per-queue basis.

            Reference:

            PTR 70-5-281 / CFS.51026 / UTO101399

            ---------------------------------------------------------------
            3: PTR 70-5-773 Documentation Change
            ---------------------------------------------------------------
            Problem:

            Backlog parameter is ignored in a call to listen().

            Solution:

            Fix documentation in UCX System Service & C Socket Programming
            Guide.

            On p. 6-11 which documents listen(), change:
                If a connection request arrives with the queue full (more
                than backlog connection requests pending), the client
                receives an error with an errno of ECONNREFUSED.
            to:
                If a connection request arrives with the queue full (more
                than backlog connection requests pending), the request is
                ignored so that retries inherent in TCP may succeed. If
                the backlog has not cleared by the time TCP times out, the
                connect() will fail with ETIMEDOUT.

            On p. 4-55 which documents QIO IO$_SETMODE/IO$_SETCHAR,
            change:
                If more connections are received than have been specified,
                then the additional connections are rejected.
            to:
                If more connections are received than have been specified,
                then the additional connections are ignored so that retries
                inherent in TCP may succeed.

            Reference:

            PTR 70-5-773 / CFS.55406 / MGO103148

            ---------------------------------------------------------------
            4: PTR 70-5-942 Documentation Change
            ---------------------------------------------------------------
            Problem:

            The l_linger time value is ignored when setting the socket
            SO_LINGER option.

            Solution:

            This fix is too complex for an ECO. Documentation changes
            need to be made to the System Services and C Socket
            Programming Guide to eliminate the references to this
            parameter that indicate that it is used.

            Documentation:

            The following changes need to be made to System Services and
            C Socket Programming Guide:

            On p. 6-62 delete the paragraph:
                SO_LINGER uses a linger structure parameter defined in the
                <socket.h> file. This structure specifies the desired
                state of the option and the linger interval. The option
                value for the SO_LINGER command is the address of a linger
                structure. See Section 5.8.4 for a description of the
                linger structure.

            On p. 6-62 delete the line in the next paragraph:
                A timeout period, called the linger interval, is specified
                in l_linger.

            On p. 5-5 delete the line at the bottom of the page:
                l_linger is the number of seconds to linger (the default
                is 120, or 2 minutes).

            The reason for deleting these paragraphs is because the use
            of the l_linger parameter was never implemented and has been
            determined to be too risky to implement as an ECO.

            Reference:

            PTR 70-5-447 / CFS.53296 / MGO102981
            QAR 70-5-924

            ---------------------------------------------------------------
            5: PTR 70-5-949 NFS Server Problem
            ---------------------------------------------------------------
            Problem:

            NFS: Server is not responding %UCX-E-NORESPOND after a DIR
            command from the client.

            Solution:

            Suggested tuning change: When a directory is very large,
            doing a DIR to access the directory may appear to hang on
            the client and invoking the nfs server will get the message
            "NFS: Not responding". When the directory cache is built
            then NFS responds. Section 14.13 of the TCP/IP Services for
            OpenVMS/Management describes different changes that can be
            done to improve the server performance. Changing
            UCX$CFS_CACHE_SIZE is one of the ones that may help.

            ---------------------------------------------------------------
            6: PTR 70-5-792 F$GETDVI Problem
            ---------------------------------------------------------------
            Problem:

            F$GETDVI("TT","TT_ACCPORNAM") continues to provide the
            "old" name for a renamed host.

            Solution:

            The INET ACP maintains a small 20-entry cache for IP
            address <--> hostname translation to speed acceptance
            of incoming telnet and rlogin sessions. This cache
            was designed without any means to invalidate renamed
            entries, although over time old entries will be pushed
            out to make room for new entries. The cache is cleared
            only when UCX is started.

            To redesign the cache with an invalidation mechanism
            when hosts are renamed is beyond the scope of an ECO.

            There are some possible avoidances which involve
            switching from using hostname (which can change during
            the lifetime of a session) to using IP address instead
            (which is immutable for the lifetime of a session):

             1. Modify the Telnet and/or Rlogin services to
                specify /LOG_OPTIONS=(ADDRESS). This will cause
                the INET ACP's cache to be bypassed and the IP
                address (in dotted-decimal form) to be provided
                by TT_ACCPORNAM rather than hostname:
                  $ write sys$output F$GETDVI("TT","TT_ACCPORNAM")
                would now show something like:
                  Host: 16.20.208.147 Port: 42124

             2. Parse SYS$REM_ID for IP address. For Telnet & FTP
                the form of this logical is TELNET_<ipaddr-in-hex>
                and FTP_<ipaddr-in-hex>, respectively. SYS$REM_ID
                does not appear to be used for Rlogin.

            ---------------------------------------------------------------
            7: PTR 70-5-896 COPY/FTP Problem
            ---------------------------------------------------------------
            Problem:

            COPY/FTP *.* host::dir, which used to copy all files
            to the remote system's "dir" subdirectory in 4.1 SSB,
            now fails with "553 dir: Is a directory." (Unix target)
            or "550 dir: Access is denied." (VMS target).

            Solution:

            4.1 SSB was being generous in supporting this ambiguous
            remote file specification where "dir" can be interpreted
            as being either the name of a directory or the name of a
            file. In 4.1 ECO F and 4.2, the COPY/FTP operation was
            rewritten to improve support for non-VMS remote systems
            and in the process the interpretation was necessarily
            changed such that "dir" is treated as a filename as it
            would be if the VMS COPY command parsed this.

            To restore the original 4.1 SSB behavior would be a step
            backwards; however there are viable workarounds for a
            variety of target platforms:
                Unix: COPY/FTP *.* host::"dir/"
                WinNT: COPY/FTP *.* host::"dir\"
                VMS: COPY/FTP *.* host::[.dir]
            Note that the use of double-quotes is necessary when
            specifying a non-VMS pathname style.

            ---------------------------------------------------------------
            8: PTR 70-5-991 Documentation Change
            ---------------------------------------------------------------
            Problem:

            Installation errors with UCX V4.2 ECO 2 after OpenVMS
            upgrade from 6.2 to 7.1.

            Solution:

            The DIGITAL TCP/IP Services for OpenVMS Release Notes
            manual states in Section 2.3.1 Reinstall UCX After OpenVMS
            Upgrade on page 2-2:

                If you upgrade from OpenVMS Version 6.2 to OpenVMS
                Version 7.0 or 7.1, you must reinstall the UCX software
                to ensure the correct image compatibility.

            This section should read:

                If you upgrade from OpenVMS Version 6.2 to OpenVMS
                Version 7.1, you must remove UCX and then reinstall
                UCX to ensure the correct image compatibility.

                To remove UCX on an Alpha system use PRODUCT REMOVE.
                To remove UCX on a VAX system use
                SYS$UPDATE:UCX$CLEANUP.COM.

            References:

            PTR 70-5-991 /
            PTR 70-5-975 / CFS.65871 / SOO101227
            PTR 70-5-1112 / CFS.69400 / ZPO020971
            UCX Notes 6846, 6778

            ---------------------------------------------------------------
            9: PTR 70-5-958 NFS ECO 3 Large File Support
            ---------------------------------------------------------------

            Problem:

            ACCVIO when exporting files greater than 2GB. This
            prevents using files greater than 2GB and less then 4GB
            in size via NFS.

            Solution:

            Fixed the handling of files that are greater than 2GB
            in size. This fix will only handle files up to 4GB-1 in
            size.

            Reference:

            PTR 70-5-958 / CFS.65376 / EVT102774

            CAUTION:

            The NFS V2 protocol supports file sizes between 2G and 4G
             temporarily because NFS V3, which supports much larger
            files, is not yet available with TCP/IP Services for
            OpenVMS. Therefore, if you upgrade from V4.2 ECO3 to V5.0,
            you will lose support for file sizes between 2G and 4G. If
            you upgrade to V5.0A or any future V5.0-based maintenance
            release, support for file sizes in this range cannot be
            guaranteed.

            When NFS V3 is available with TCP/IP Services, it will
            support both V2 and V3 protocols, depending on what
            protocol version is requested by the NFS client. At that
            time, files larger than 2G will be usable only by NFS
            clients that request the V3 protocol.

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

    You can install this update kit on the following OpenVMS systems running
    DIGITAL TCP/IP Services for OpenVMS V4.2:

    * OpenVMS Alpha V6.2 and V7.1.

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

            Postinstallation Notes.

            To complete the installation, do the following:

            1. Copy SYS$MANAGER:UCX$RSHD_STARTUP.COM to
                    SYS$SYSDEVICE:[UCX$RSH].

            2. Copy SYS$MANAGER:UCX$REXECD_STARTUP.COM to
                    SYS$SYSDEVICE:[UCX$REXEC].

            3. Copy SYS$COMMON:[SYSMGR]UCX$SNMP_SHUTDOWN.COM to
                    SYS$SYSDEVICE:[UCX$SNMP]UCX$SNMP_SHUTDOWN.COM.

            4. Copy SYS$COMMON:[SYSMGR]UCX$SNMP_STARTUP.COM to
                    SYS$SYSDEVICE:[UCX$SNMP]UCX$SNMP_STARTUP.COM.

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

    The following sections describe the corrections to each facility.

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 INSTALL Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 13-MAR-1998 Alpha and VAX

            Images:

            UCX$VERSIONS.EXE UCX V4.2-21A

            Sources:

            UCX$CONFIG.COM V4.2-21

            Problem:

            UCX$CONFIG does not operate in a configuration where the
            first network device configured is not the "A" controller.
            It assumes there will always be an _EWA0:, if it is to
            also configure an _EWB0.

            Unfortunately, this particular assumption does not hold
            true for all but one of the partitions in a Galaxy
            configuration.

            Solution:

            UCX$EDEV was updated to reflect the use of an EW-class
            Ethernet device.

    ECO A 13-MAR-1998 Alpha and VAX

            Sources:

            UCX$SNMP_SHUTDOWN.COM V1.0-02
            UCX$SNMP_STARTUP.COM V1.0-02

            Problem:

            There are inconsistencies in startup/shutdown of
            subagents. Also, some process names (e.g., those ending
            in hyphen) need to be enclosed in quotation marks so as
            not to confuse DCL.

            Solution:

            Make sure both subagents are handled, and enclose results
            of getjpi for PRCNAM in quotes. Also make checking of
            privileges, installation and removal of images, and
            enable/disable of service consistent between the
            procedures.

            Add P1 option to control use of privilege setting and
            install since some changes in ECO would not work with
            autostart invocation of startup which uses non-privileged
            UCX$SNMP account. The UCX$SNMP_SHUTDOWN.COM must be run
            from a privileged account. The procedure deinstalls UCX
            SNMP images and disables the SNMP service.
            UCX$SNMP_STARTUP.COM runs in two modes:

            Default: This is the non-privileged mode in which the
                    procedure is called from UCX$STARTUP.COM and for
                    autostart from the Auxiliary server.

            Full: This mode is intended for interactive startup from
                    a privileged account. Use the command:
                        $ SYS$MANAGER:UCX$SNMP_STARTUP FULL
                    This mode is required if you want to restart SNMP
                    after running UCX$SNMP_SHUTDOWN without stopping
                    and restarting UCX.

            Reference:

            Internal testing.

    ECO B 03-MAR-1998 Alpha and VAX

            Sources:

            UCX$NFSSETUP.COM
            UCX$NFSSETUP_HELP_CLIENT.DAT
            UCX$NFSSETUP_HELP_SERVER.DAT
            UCX$NFSSETUP_HELP_MAIN.DAT
            UCX$BINDSETUP.COM
            UCX$BINDSETUP_HELP.TXT

            Problem/Solution:

            Updated UCX$BINDSETUP command procedure.
            Included UCX$NFSSETUP command procedure.

    ECO B 06-MAR-1998 Alpha and VAX

            Sources:

            SYS$NET_SERVICES_UCX.COM

            Problem/Solution:

            Prior versions of this file would complain about
            UCX$INET_* logical names being defined if network
            services were registered before UCX$STARTUP.COM had been
            executed. This is the usual case at OpenVMS system
            startup. This ECO allows the registration of TCP/IP
            without such errors. This ECO uses the same lexical
            case for the host (node) name registration as is used
            in the UCX$INET_HOST and UCX$INET_DOMAIN logical names.
            Previous versions would uppercase the fully qualified
            host name.

    ECO B 06-MAR-1998 Alpha and VAX

            Sources:

            UCX$REXECD_STARTUP.COM
            UCX$RSHD_STARTUP.COM

            Problem/Solution:

            An attempt to $RCP between systems running UCX 4.1 (and
            possibly earlier) and UCX 4.2 would fail with the error
            %RCP-E-INVRESP.
            This error may also occur with two systems running
            UCX 4.2 where the SYS$MANAGER:UCX$REXECD_STARTUP.COM
            and SYS$MANAGER:UCX$RSHD_STARTUP.COM files have not
            been copied to the appropriate directories after the
            UCX 4.2 installation.

            PLEASE NOTE:

            The ECO installation places these two files in SYS$MANAGER:.
            To complete the solution, you must manually copy the files to
            the proper directories and ensure that file ownership and
            protection are correct. For example (please follow local
            security policy in setting file protections):

            $ copy SYS$MANAGER:UCX$REXECD_STARTUP.COM SYS$SYSDEVICE:[UCX$REXEC]
            $ set file/owner=parent/protection=(S:RWE,O:RWED,G:RE,W:RE) -
              SYS$SYSDEVICE:[UCX$REXEC]UCX$REXECD_STARTUP.COM;

            $ copy SYS$MANAGER:UCX$RSHD_STARTUP.COMSYS$SYSDEVICE:[UCX$RSH]
            $ set file/owner=parent/protection=(S:RWE,O:RWED,G:RE,W:RE) -
              SYS$SYSDEVICE:[UCX$RSH]UCX$REXECD_STARTUP.COM;

            Failure to copy both files or to properly set file
            ownership and protection might cause RSH, REXEC,
            and/or RCP to either fail or to act inconsistently
            depending upon whether the /USER qualifier or proxy is used.

    ECO B 13-MAR-1998 Alpha and VAX

            Images:

            UCX$VERSIONS.EXE UCX V4.2-21B

            Problem/Solution:

            Corrected to display a patch version properly.

            Reference:

            Internal testing.

    ECO 2 updates:
    --------------
    ECO C 28-APR-1998 Alpha and VAX

            Sources:

            UCX$SHUTDOWN.COM

            Problem:

            When logged in on a system with tn device and trying to
            shutdown UCX, the customer gets unrecognized command
            messages.

            Solution:

            Define SAY as SYS$OUTPUT at the top of the UCX$SHUTDOWN.COM
            file.

            Reference:

            PTR 70-5-446 / CFS.53292 / UTO101490

    ECO C 28-APR-1998 Alpha and VAX

            Sources:

            UCX$LPD_STARTUP.COM UCX V4.1-01
            UCX$LPD_SHUTDOWN.COM UCX V4.1-01

            Problem:

            Some UCX$*.COM files are not respecting a customer's
            non-default setting for the UCX$LPD_PRINTCAP logical.
            The default setting is being restored when LPD is
            either restarted or UCX$CONFIG is run.

            Solution:

            In UCX$LPD_STARTUP.COM, only DEFINE UCX$LPD_PRINTCAP if
            it is not already defined. In UCX$LPD_SHUTDOWN.COM, do
            not DEASSIGN UCX$LPD_PRINTCAP.

    ECO C 28-APR-1998 Alpha and VAX

            Sources:

            UCX.PDF

            Problem:

            RFC1442.MY file is in kit but is not copied to the [.SNMP]
            subdirectory of UCX$EXAMPLES.

            Solution:

            Add line to do copy to [INSTALL]UCX.PDF.

            Reference:

            UCX Note 6380

    ECO D 24-SEP-1998 Alpha and VAX

            Sources:

            UCX$CONFIG.COM

            Images:

            UCX$VERSIONS.EXE UCX V4.2-21D

            Problem:

            Pointing to 127.0.0.1 as BIND server will give you the
            following error:

            UCX> show host /server=127.0.0.1
            %UCX-W-BIND_NOSERVNAM, Server with address 127.0.0.1 is not
            responding
            %UCX-E-BIND_NOSERVERS, Default servers are not available
            %UCX-W-NORECORD, Information not found
            -UCX-E-BIND_NOSERVERS, Default servers are not available

            Solution:

            Modify the UCX$CONFIG.COM to add the entry for LOCALHOST.

            Reference:

            QAR 30-2-546

    ECO E 16-OCT-1998 Alpha and VAX

            Sources:

            UCX$SNMP_STARTUP.COM

            Problem:

            Undesired purges could occur in SYS$MANAGER.

            Solution:

            Comment out the following lines from UCX$SNMP_STARTUP.COM:

            $ SAVE=5+2*F$GETSYI("CLUSTER_NODES")
            $ PURGE/KEEP='SAVE'

            Reference:

            None.

    ECO 3 updates:
    --------------
    ECO F 29-JAN-1999 Alpha and VAX

            Sources:

            UCX$CONFIG.COM

            Problem:

            INSTALL: sys$manager:ucx$config all enable does not
            configure mount in the configuration database.

            Solution:

            The UCX$CONFIG.COM file was changed to disable and
            enable mount when nfs is being disabled or enabled.

            Reference:

            PTR 70-5-932 / CFS.64690 / BRO101311

    ECO G 08-APR-1999 Alpha and VAX

            Sources:

            UCX$RSHD_STARTUP.COM

            Problem:

            Some VAXeln clients will experience difficulty initiating
            rsh commands on OpenVMS system due to a change introduced
            in UCX V4.0 ECO #1.

            Solution:

            This change adds a comment to the UCX$RSHD_STARTUP.COM
            command procedure showing how to avoid this problem if
            necessary.

            Reference:

            PTR 70-5-942 / CFS.65126 / KAOQB0770

    ECO H 07-JUL-1999 Alpha and VAX

            Images:

            UCX$UCP_HELP.HLB

            Problem:

            UCX SET SERVICE/ACCEPT=HOST=(*.domain) yields
            UCX-E-NOWILD error. On-line UCX Help indicates
            that wildcards can be used for this operation.

            Solution:

            Wildcard use with /ACCEPT and /REJECT lists is
            only supported for NOHOSTS= and NONETWORKS= to
            delete all the entries that had been set up on
            the respective list with prior HOSTS= or
            NETWORKS= operation(s) (in which wildcards are
            not permitted).

            Fixed the on-line help for the SET SERVICE and
            SET COMMUNICATIONS options /ACCEPT and /REJECT
            to clarify this.

            Reference:

            PTR 70-5-882 / CFS.63089 / HPAQA08HR / UCX Note 6582

    ECO H 07-JUL-1999 Alpha and VAX

            Problem:

            Installation errors with UCX V4.2 ECO 2 after OpenVMS
            upgrade from 6.2 to 7.1.

            Solution:

            If you upgrade from OpenVMS Version 6.2 to OpenVMS Version
            7.1, you must remove UCX and then reinstall UCX to ensure
            the correct image compatibility.
            To remove UCX on an Alpha system use PRODUCT REMOVE. To
            remove UCX on a VAX system use SYS$UPDATE:UCX$CLEANUP.COM.

            References:

            PTR 70-5-991
            PTR 70-5-975 / CFS.65871 / SOO101227
            UCX Notes 6846, 6778

    ECO 5 updates
    --------------
    ECO I 21-DEC-2000 Alpha and VAX

            Sources:

            
            UCX$CONFIG.COM

            Problem:

            UCX$CONFIG's service menu displays incorrect menu options
            when a service is enabled on both specific and cluster nodes.

            Solution:

            Backport the fix for TCPIP_BUGS Note 931 (UCX V5.1), which was
            provided for us by Randy Black.

            Reference:

            PTR 30-2-588 / TCPIP_BUGS Note 931

    ECO K 29-DEC-2000 Alpha and VAX

            Sources:

            UCX$CONFIG.COM

            Problem:

            If in UCX$CONFIG or TCPIP$CONFIG you go into 1-"Core Environment"
            and then 4-"Interfaces" and change the internet address to a
            different subnet address, the question "Enter broadcast mask for
            xxxx" shows the old "Broadcast Address" and does not default to
            the new "Broadcast Address". This often means that customers end
            up with the wrong "Broadcast Address". This problem also exists
            with the network mask default.

            Solution:

            Make sure the default values for the network mask and broadcast
            mask are recalculated after a new IP address is entered.

            Reference:

            PTR 30-2-592
            

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 KERNEL Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 15-JAN-1998 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21A
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21A (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21A (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21A (VAX)
            UCX$INTERNET_SERVICES_SEC_V6.EXE UCX V4.2-21A (VAX)
            UCX$INETACP.EXE UCX V4.2-21A

            Problem:

            Deassigning one channel to a particular device caused
            any pending attention ASTs to be canceled, even
            those of other channels.

            Solution:

            Flush only attention ASTs upon the final channel
            deassign operation, when the reference count drops to zero.

            Reference:

            PTR 70-5-371 / CFS.52150 / EVT102249

    ECO B 23-JAN-1998 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21B
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21B (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21B (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21B (VAX)
            UCX$INTERNET_SERVICES_SEC_V6.EXE UCX V4.2-21B (VAX)
            UCX$INETACP.EXE UCX V4.2-21B

            Problem:

            IP Multicast support was compromised in V4.1 ECO W. IGMP
            messages were no longer being sent, and the SO_BROADCAST
            option was required in order to send Multicast datagrams.

            Solution:

            Skip several broadcast-related checks in the case
            of Multicast data. Ensure that IGMP messages are sent,
            and that other Multicast packets are looped back upon
            transmit for other sockets on the local host.
            Note that packets larger than the MTU are still not
            looped back, but this should be a highly unusual case.

            Reference:

            PTR 70-5-453 / CFS.53405 / SOO101007

    ECO C 25-Feb-1998 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21C
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21C (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21C (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21C (VAX)
            UCX$INTERNET_SERVICES_SEC_V6.EXE UCX V4.2-21C (VAX)
            UCX$INETACP.EXE UCX V4.2-21C

            Problem:

            1. In some circumstances, the active service counter
               was decremented below zero, resulting in an inability
               to
               accept further connections.
            2. Termination AST's for created server processes were
               missed, leading to inaccurate service counts and
               occasional RWMBX hangs.

            Solution:

            1. Test to avoid decrementing this counter below zero.
            2. Rather than queuing an AST each time a server process
               is started, queue only one. When it triggers, queue
               another.

            Reference:

            PTR 70-5-656 / CFS.56956 / STLK10112

    ECO C 25-Feb-1998 Alpha V7.x only

            Images:

            UCX$TRACE.EXE UCX V4.2-21C
            UCX$INET_ROUTING.EXE UCX V4.2-21C

            Problem:

            Wrong image ID.

            Solution:

            Image was rebuilt with correct ID.

            Reference:

            Internal report.

    ECO 2 updates:
    --------------
    ECO D 10-APR-1998 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21D
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21D (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21D (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21D (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21D (VAX)
            UCX$INETACP.EXE UCX V4.2-21D

            Problem:

            SW "LAND ATTACK" hangs VMS on Alpha and VAX (also called
            Denial of Service Attack). The machine goes into an
            infinite loop and consumes all available cpu cycles. The
            listen port under attack becomes completly unresponsive
            until the machine is rebooted.

            Solution:

            Fixed.

            Reference:

            PTR 70-5-635 / CFS.56529 / MGO103248

    ECO E 17-JUN-1998 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2 21E
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21E (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21E (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21E (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21E (VAX)

            Problem:

            A UCX program sends UDP packets to the limited broadcast
            address 255.255.255.255, incorrectly sends to
            {<Network-number>, 255}. This can be an issue for
            customers with multiple subnets on the same wire.

            Solution:

            Enhance UCX to behave similarly to Digital Unix, that is,
            the conditions for broadcasting to the limited broadcast
            address are the same two that apply to Digital Unix:
              (1) The socket must be bound to a local interface, and
              (2) The SO_DONTROUTE socket option must be set.
            In an emergency the fix can be disabled by clearing the
            limited_bcast longword.

            Reference:

            PTR 70-5-440 / CFS.53151 / EVT102292

    ECO F 24-JUN-1998 Alpha and VAX

            Images:

            UCX$INETACP.EXE UCX V4.2-21F

            Problem:

            System can crash when SSRVEXCEPT while processing an
            incoming RSH connection.

            Solution:

            In routine INETACP_GET_USER_INFO, if we get an error
            condition, we wind up calling INETACP_SERV_ACCEPT_SYS_ERROR,
            which finally winds up in routine INETACP_SERV_ACCEPT_CLOSE,
            which expects R5 to be pointing at the acceptor UCB.
            Therefore, before calling INETACP_SERV_ACCEPT_SYS_ERROR,
            refresh R5.

            Reference:

            None.

    ECO G 20-JUL-1998 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2 21G
            UCX$INTERNET_SERVICES.EXE UCX V4.2 21G (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21G (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21G (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21G (VAX)

            Problem:

            Configuring an interface when OpenVMS system global,
            NET$AR_LAN_VECTOR has not been initialized causes a
            system crash.

            Solution:

            Test for a valid value in NET$AR_LAN_VECTOR before using
            it.

            Reference:

            None.

    ECO H 27-JUL-1998 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21H
            UCX$INTERNET_SERVICES.EXE UCX V4.2 21H (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21H (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21H (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21H (VAX)
            UCX$INETACP.EXE UCX V4.2-21H

            Problem:

            Unable to make contact with cluster alias.

            Solution:

            The solution was to update the cluster lock name before
            requesting it, in case multiple ARP-based cluster aliases
            are in simultaneous use.

            Reference:

            PTR 70-5-773 / CFS.60036 / BCGM50435

    ECO K 31-AUG-1998 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21K
            UCX$INTERNET_SERVICES.EXE UCX V4.2 21K (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21K (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21K (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21K (VAX)
            UCX$INETACP.EXE UCX V4.2-21K

            Problem:

            UCX 4.1 ECO8 VMS 7.1 MBUF Large Buffer leak; around 180
            DATA type buffers are lost each day. Customers must
            disruptively shutdown and restart UCX to clear the
            problem.

            Solution:

            Free the mbuf chain in the paths in tcp_usrreq() that were
            found which could allow mbufs to leak.

            Reference:

            PTR 70-5-668 / CFS.57212 / EVT102482

    ECO 3 updates:
    --------------
    ECO L 03-OCT-1998 Alpha V7.1 only

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21L

            Problem:

            Using UCX SET NOINTERFACE with PPP channels is risky
            and can lead to system crashes.

            Solution:

            Prevent a PPPDEF struct from being reused before it has
            finished being shut down.

            Reference:

            PTR 70-5-843 / CFS.62107 / HPAQ81B97

    ECO M 09-NOV-1998 Alpha V7.1 only

            Images:

            UCX$BGDRIVER_SEC.EXE UCX V4.2-21M

            Problem:

            Errors occur when building the security driver,
            UCX$BGDRIVER_SEC.EXE. Need a procedure and/or
            fix to avoid these errors.

            Solution:

            Problem was found in UCX$BGDRIVER_PA_V70_SEC.OPT
            This file was modified to correct the problem.

            Reference:

            PTR 70-5-246 / CFS.48748 / EVT102108

    ECO N 25-NOV-1998 Alpha V7.1 only

            Images:

            UCX$BGDRIVER_SEC.EXE UCX V4.2-21N

            Problem:

            Errors still occur when building the security
            driver, UCX$BGDRIVER_SEC.EXE. Need a procedure
            and/or fix to avoid these errors.

            Solution:

            Changed ipforward_rt and iproute to IPFORWARD_RT
            and IPROUTE (lower case to upper case) in the
            second location of UCX$BGDRIVER_PA_V70_SEC.OPT.
            The first attempt at this fix (70-5-246) only
            changed the first location to upper case.

            Reference:

            QAR 30-2-564
            PTR 70-5-246 / CFS.48748 / EVT102108

    ECO O 03-DEC-1998 Alpha and VAX

            Images:

            UCX$INETACP.EXE UCX V4.2-21O

            Problem:

            When a node is configured as a cluster alias, UCX$FTPD
            server process does not shut down as it should after
            some specified idle period. This results in very large
            UCX$FTPD.LOG log files.

            Solution:

            Make timer identifiers non-zero, and unique, so that
            canceling one timer will not cancel all timers.

            Reference:

            PTR 70-5-901 / CFS.63677 / TKTBA4813

    ECO P 11-DEC-1998 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21P
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21P (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21P (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21P (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21P (VAX)

            Problem:

            Frequent system crashes with heap corruption due to bad
            handling of IP fragments that are received with partial
            TCP headers.

            Solution:

            Correctly handle these types of fragments.

            Reference:

            PTR 70-5-908 / CFS.63957 / BCSMB0MQT
            PTR 70-5-1036 / CFS.67219 / HPAQ40HMQ
            PTR 70-5-1002 / CFS.66453 / BCSM30D60
            PTR 70-5-1124 / CFS.69750 / HPAQ71M91
            PTR 70-5-1133 / CFS.70163 / BCPM80L6B
            PTR 70-5-1141 / CFS.70354 / BCGM811R4
            PTR 70-5-1212 / CFS.72625 / BCPMB180B
            QAR 30-2-566

    ECO Q 21-JAN-1999 VAX only

            Images:

            UCX$TRACE.EXE UCX V4.2-21Q

            Problem:

            TCPIPTRACE does not display any trace-output on OpenVMS
            V6 system with large amounts of physical memory installed
            (2+ GB).

            Solution:

            Change the number of bits used to pick up the PFN
            (Physical Frame Number) from the Page Table Entry to
            include extended addressing.

            Reference:

            PTR 70-5-530 / CFS.54750 / UTO101543

    ECO R 28-JAN-1999 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21R
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21R (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21R (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21R (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21R (VAX)

            Problem:

            Port 6000 (DECwindows server port) failed when
            there was no valid UCX license loaded.

            Solution:

            Properly defined the listener socket for port 6000
            prior to execution of the "no UCX license" code path.

            Reference:

            PTR 70-5-947 / CFS.63427 / MGO103818

    ECO S 02-MAR-1999 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21S
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21S (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21S (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21S (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21S (VAX)

            Problem:

            UCX$BGDRIVER crashes with SSRVEXCEPT when debugger
            watchpoints are set in an application using TCP/IP.
            Crash occurred during the processing of an accept().

            Solution:

            Reprobe the peername output parameter buffer before
            writing to it.

            Reference:

            PTR 70-5-963 / CFS.65555 / SQO100563 / UCX Note 6805
            DECC Note 2775

    ECO T 12-MAR-1999 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21T
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21T (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21T (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21T (VAX)
            UCX$INTERNET_SERVICES_SEC_V6.EXE UCX V4.2-21T (VAX)

            Problem:

            1. System crash in sbappend, called from SOSEND_LOOPBACK.

            2. Leakage of large mbufs.

            Solution:

            1. Test for existence of a pointer and deallocate an
               allocated buffer chain if pointer no longer exists.

            2. Add cleanup code to two error paths in the BGDRIVER to
               deallocate partial allocations of mbufs.

            Reference:

            PTR 70-5-993 / CFS.66202 / MGO104056
            PTR 70-5-595 / CFS.55795 / HPAQB165D
            PTR 70-5-668 / CFS.57212 / EVT102482

    ECO U 07-MAY-1999 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21U (Alpha)
            UCX$BGDRIVER_SEC.EXE UCX V4.2-21U (Alpha)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21U (VAX)
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21U (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21U (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21U (VAX)

            Problem:

            VAX System crash in UCX$INTERNET_SERVICES, PGFIPLHI. Two
            parameters from a user data structure were not saved in
            a register and subsequently were swapped out of main
            memory.

            Solution:

            Save the two user parameters in register R1 and access
            them from there at higher IPL.

            Reference:

            PTR 70-5-1033 / CFS.67067 / TPOB32222
            PTR 70-5-1140 / CFS.70337 / BRO85831

    ECO V 04-JUN-1999 Alpha and VAX

            Problem:

            The l_linger time value is ignored when setting the
            socket SO_LINGER option.

            Solution:

            We have determined that the fix for this problem would be
            too risky and too complex for an ECO. The Release Notes
            for V4.2 ECO 3 will be updated to indicate the necessary
            changes that need to be made to System Services and C
            Socket Programming Guide to eliminate the references to
            this parameter that indicate that it is used.

            Reference:

            QAR 70-5-924
            PTR 70-5-447 / CFS.53296 / MGO102981

    ECO W 08-JUN-1999 Alpha and VAX

            Images:

            UCX$INETACP.EXE UCX V4.2-21W

            Problem:

            ucx$inet_acp consumes 100% cpu time in scsi cluster
            environment.

            Solution:

            Prevent corruption in the interface chain.

            Reference:

            PTR 70-5-1000 / CFS.66288 / TKTB25143

    ECO X 16-JUN-1999 Alpha only

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21X
            UCX$BGDRIVER_SEC.EXE UCX V4.2-21X

            Problem:

            PPP: ASN device staying assigned. Attempt to free line
            crashes system. Continuation of 70-5-843.

            Solution:

            Added code to check for in-progress cleanup of a PPP line,
            and handle this better.

            Reference:

            PTR 70-5-976 / CFS.65846 / HPAQ20R56

    ECO Y 17-JUN-1999 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21Y
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21Y (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21Y (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21Y (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21Y (VAX)

            Problem:

            System crash during UCX$SHUTDOWN with INCONSTATE,
            Inconsistent I/O data base q.

            Solution:

            Check if thread owns the VMS Communications Interface Block
            before closing it down.

            Reference:

            PTR 70-5-1032 / CFS.67160 / ZPO010358

    ECO Z 25-JUN-1999 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21Z
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21Z (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21Z (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21Z (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21Z (VAX)

            Problem:

            UCX small buffers are never deallocated when creating and
            deleting SLIP interfaces (actually any multicast-capable
            interfaces). After some days the max value is reached.

            Solution:

            Deallocate the multicast address buffers that get
            allocated each time an interface is defined.

            Reference:

            PTR 70-5-676 / CFS.57541 / EVT102495

    ECO AA 30-JUN-1999 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21AA
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21AA (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21AA (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21AA (VAX)
            UCX$INTERNET_SERVICES_SEC_V6.EXE UCX V4.2-21AA (VAX)

            Problem:

            System hang or CPUSPINWAIT crash occurs on Pathworks
            shutdown.

            Solution:

            An optimization was introduced to the BGdriver a few
            years ago specifically for Pathworks to coalesce
            fragmented UDP packets received from the network. This
            optimization failed to adjust the socket's accounting of
            associated mbufs when a fragmented packet was coalesced,
            causing an infinite loop to occur when the socket was
            closed. Fixed to properly account for coalesced mbufs.

            Reference:

            PTR 70-5-1074 / CFS.67243 / BCGM40KS1
            PTR 70-5-1092 / CFS.68867 / MGO13335A

    ECO AA 01-JUL-1999 Alpha and VAX

            Problem:

            F$GETDVI("TT","TT_ACCPORNAM") continues to provide the
            "old" name for a renamed host.

            Solution:

            The INET ACP maintains a small 20-entry cache for IP
            address <--> hostname translation to speed acceptance
            of incoming telnet and rlogin sessions. This cache
            was designed without any means to invalidate renamed
            entries, although over time old entries will be pushed
            out to make room for new entries. The cache is cleared
            only when UCX is started.

            To redesign the cache with an invalidation mechanism
            when hosts are renamed is beyond the scope of an ECO.

            There are some possible avoidances which involve
            switching from using hostname (which can change during
            the lifetime of a session) to using IP address instead
            (which is immutable for the lifetime of a session):

             1. Modify the Telnet and/or Rlogin services to
                specify /LOG_OPTIONS=(ADDRESS). This will cause
                the INET ACP's cache to be bypassed and the IP
                address (in dotted-decimal form) to be provided
                by TT_ACCPORNAM rather than hostname:
                  $ write sys$output F$GETDVI("TT","TT_ACCPORNAM")
                would now show something like:
                     Host: 16.20.208.147 Port: 42124

             2. Parse SYS$REM_ID for IP address. For Telnet & FTP
                the form of this logical is TELNET_<ipaddr-in-hex>
                and FTP_<ipaddr-in-hex>, respectively. SYS$REM_ID
                does not appear to be used for Rlogin.

            Reference:

            PTR 70-5-792 / CFS.60706 / EVT102608 / UCX Notes 4826, 5761

    ECO AB 15-JUL-1999 Alpha and VAX

            Images:
         
            UCX$BGDRIVER.EXE UCX V4.2-21AB
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21AB (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21AB (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21AB (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21AB (VAX)
         
            Problem:

            UCX does not respect the socket buffer quota
            when TCP LOOPBACK is enabled

            Solution:

            Test the receive side (so$t_rcv) of the receive socket (R0)
            instead of the send side (so$t_snd) of the receive socket (R0)

            Reference:

            PTR 70-5-727 / CFS.59009 / EVT102541

    ECO AC 4-AUG-1999 Alpha and VAX

            Images:
         
            UCX$BGDRIVER.EXE UCX V4.2-21AC
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21AC (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21AC (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21AC (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21AC (VAX)
         
            Problem:

            The case of "No valid UCX license, but still need port 6000 to
            work for DECwindows" still failed after the fix for 70-5-947
            which went into the kernel in ECO R.

            Solution:

            Corrected a register miss-compare. Code previously placed port
            number in r0, but compared port 6000 to r1 for above case.

            Reference:

            QAR 30-2-596
            PTR 70-5-947 / CFS.63427 / MGO103818

    ECO AD 4-AUG-1999 Alpha and VAX
            
            Images:
         
            UCX$BGDRIVER.EXE UCX V4.2-21AD
            UCX$INTERNET_SERVICES.EXE UCX V4.2 21AD (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21AD (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21AD (VAX)
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21AD (VAX)

            Problem:

            Cannot telnet/ping after restart of ucx from ucx$config.
            The interfaces do not get defined. This problem started
            after installing patch containing PTR 70-5-1032 fix.
            
            Solution:

            The ECO G fix to deal with NET$AR_LAN_VECTOR not being
            defined was defective -- and it actually didn't get
            built until ECO Y was built to fix 70-5-1032.
            Corrected that fix to properly close the LAN port upon
            UCX shutdown.
            
            References:

            PTR 70-5-1091 / CFS.68860 / ZPO018753

    ECO 4 updates
    --------------
    ECO AE 20-AUG-1999 VAX only

            Images:
         
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21AE
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21AE
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21AE
            UCX$INTERNET_SERVICES_V6_SEC.EXE UCX V4.2-21AE
         
            Problem:

            After update from UCX 4.1 ECO 9 to 4.2 ECO 3, the system crashed
            during Pathworks startup. This problem was introduced with the fix
            for 70-5-1074.

            Solution:

            Save register R3 on the stack *before* clearing it.

            Reference:

            PTR 70-5-1134 / CFS.70187 / MG044828A
            PTR 70-5-1155 / CFS.70901 / UTO29981A
            PTR 70-5-1153 / CFS.70878 / HPAQ90F9R

    ECO AF 16-SEP-1999 Alpha and VAX

            Images:
         
            UCX$INETACP.EXE UCX V4.2-21AF
         
            Problem:

            System crash INVEXCEPTN after enabling BOOTP

            Solution:

            Load r2 with INETCB expected by INETACP_STOP_SERVICE_1() routine.
            
            Reference:

            PTR 70-5-1109 / CFS.69310 / BRO78175A
                    

    ECO AG 24-SEP-1999 Alpha and VAX

            Images:
         
            UCX$BGDRIVER.EXE UCX V4.2-21AG
            UCX$BGDRIVER_SEC.EXE UCX V4.2-21AG
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21AG (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21AG (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21AG (VAX)
            UCX$INTERNET_SERVICES_SEC_V6.EXE UCX V4.2-21AG (VAX)
         
            Problem:

            UDP applications can receive SS$_REJECT error due to ICMP
            Port Unreachable error caused by an entirely unrelated
            application. The ICMP port unreachable error is being
            reported to *all* sockets bound to the local interface
            receiving the error, not just the socket tickling the port
            that resulted in the error.

            Solution:

            UCX is based on older Berkeley code which was not designed
            to discriminate the delivery of ICMP errors based on port
            number, which this particular error is best suited for.
            (TCPIP V5 is much more modern and has such code.) Rather
            than redesign UCX, which would be risky at this stage of
            its life, UCX was modified to simply not deliver an ICMP
            Port Unreachable error to any socket. Since UDP is an
            inherently unreliable protocol, UDP applications can not
            depend on receiving such error indications anyway.

            Reference:

            PTR 70-5-1142 / CFS.70731 / UVO23151
            

    ECO AH 29-OCT-1999 Alpha and VAX

            Images:

            UCX$BGDRIVER UCX V4.2-21AH
            UCX$BGDRIVER_SEC.EXE UCX V4.2-21AH
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21AH (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21AH (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21AH (VAX)
            UCX$INTERNET_SERVICES_SEC_V6.EXE UCX V4.2-21AH (VAX)
         
            Problem:

            System crashed with INVEXCEPTN UCX$BGDRIVER due to a regression
            caused by fix PTR 70-5-676.

            Solution:
                    
            Add back the line of code believed to be obsolete during 70-5-676
            fix. Once this line was added back, it was necessary to add
            reference count to the RTI buffer to avoid any future crashes during
            its deallocation.

            Reference:

            PTR 70-5-1167 / CFS.71330 / MGO62962A
            PTR 70-5-1252 / CFS.73275 / SQO49493A
            PTR 70-5-1255 / CFS.73323 / BRO01846A
            PTR 70-5-1220 / CFS.72788 / HPAQB1QKC
            PTR 70-5-1310 / CFS.74612 / STL014171

    ECO AI 3-JAN-2000 Alpha and VAX

            Images:

            UCX$INETACP.EXE UCX V4.2-21AI

            Problem:

            If TFTP service is configured with an accept or reject
            host/network list, and the very first TFTP connection
            comes from a rejected host, all subsequent TFTP requests
            are rejected, even from acceptable hosts. A converse
            situation also exists: if the first TFTP connection
            comes from an accepted host, TFTP will accept all further
            requests, even those from rejected hosts.

            Solution:

            The first problem, a denial-of-service issue, occurred
            because the INETACP was leaving the rejected TFTP request
            in the TFTP service's receive socket buffer, where it
            was reprocessed (and re-rejected) for every new request
            that came in. The INETACP now clears rejected requests
            from the socket.

            The second problem, a security concern, occurs because
            the INETACP spawns a TFTP process to service all future
            TFTP requests when the first acceptable request comes in,
            and it passes off the TFTP service socket to that process.
            Accept/Reject processing only occurs within the INETACP
            -- there is no code in TFTP to do this itself. This is a
            design limitation of the INETACP and TFTP service which is
            not fixable within the scope of an ECO. For sites that
            consider this a serious security issue, two workarounds
            exist: (1) disable the TFTP service entirely, or (2)
            configure UCX to reject *all* communications from a
            rejected host/network (using SET COMM/ACCEPT/REJECT)
            instead of configuring it on a per-service basis.

            Reference:

            PTR 70-5-1136 / CFS.70242 / MGO44648A

    ECO AK 7-JAN-2000 Alpha and VAX

            Images:

            UCX$BGDRIVER UCX V4.2-21AK
            UCX$BGDRIVER_SEC.EXE UCX V4.2-21AK
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21AK (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21AK (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21AK (VAX)
            UCX$INTERNET_SERVICES_SEC_V6.EXE UCX V4.2-21AK (VAX)

            Problem:

            System crashed with INVEXCEPTN when Pathworks is shut down
            to stop runaway UCX$PWIPACP_*.LOG, which shows errors like:
            ... *** sys$qio Accept failed ***. channel 272 error 676
            ... *** sys$qio Accept failed ***. channel 256 error 44
            ... *** sys$qio Accept failed ***. channel 256 error 44
            which repeats ad nauseum. (The problem is not necessarily
            unique to Pathworks, however.)

            Solution:

            This is regression from 70-5-963 fix introduced in 4.2-21S.
            The probing of the output parameter buffer was misplaced
            exposing a hole in which a listen socket could end up being
            associated with more than one channel (UCB). Corrected by
            relocating that fix to a safer place, eliminating the hole.

            Reference:

            PTR 70-5-1189 / CFS.72146 / Req Id: BCGMA1RHT / UCX Note 7321
            PTR 70-5-1229 / CFS.72936 / Req Id: DEKQB0018 / UCX Note 7402
            PTR 70-5-1250 / CFS.73238 / Req Id: BCGMC0TH1
            PTR 70-5-1254 / CFS.73301 / Req Id: HPAQC12K5
            PTR 70-5-1257 / CFS.73341 / Req Id: BCGMC14C3
            PTR 70-5-1304 / CFS.74500 / Req Id: MGO22773A
            PTR 70-5-1321 / CFS.74790 / Req Id: HPAQ21C1X
            PTR 70-5-1278 / CFS.73853 / Req Id: BCSM10QS4

    ECO AL 14-JAN-2000 Alpha and VAX

            Images:

            UCX$INETACP.EXE UCX V4.2-21AL

            Problem:

            RLOGIN server can hang during user proxy validation in
            rare circumstance.

            Solution:

            This problem was diagnosed a while back as being caused
            by the INET ACP calling $GETUAI system service while in
            Kernel mode, leading to a deadlock situation in VMS/RMS.
            The problem was fixed in TCPIP V5 but not brought back
            to V4.x. Backported V5 fix to V4.x such that $GETUAI is
            called in User mode.

            Also corrected several incomplete or possibly corrupt
            OPCOM messages produced by the INET ACP in this and
            several other Rlogin rejection circumstances.

            Reference:

            PTR 70-5-1242 / CFS.73090 / Req Id: BCGMC0GW4
            PTR 70-5-214 / CFS.50804 / Req Id: UTO101394 / UCX Note 5645
            PTR 70-5-953 / CFS.65313 / Req Id: GOZ101070

    ECO AM 8-FEB-2000 Alpha and VAX

            Images:

            UCX$INETACP.EXE UCX V4.2-21AM

            Problem:

            UCX$INET_ACP process enters MUTEX state because
            Timer Queue Limit is reached.

            Solution:

            Save the address to the cluster IFNET data structure in R3,
            not R2, which can be overwritten in INETACP_ACP_LINK().

            Reference:

            PTR 70-5-1227 / CFS.72868 / Req Id: MGO91408A / UCX Note 7380
            
    ECO AN 14-MAR-2000 Alpha and VAX

            Images:

            UCX$INETACP.EXE UCX V4.2-21AN

            Problem:

            UCX$INET_ACP process enters MUTEX state because Timer Queue Limit
            is reached.

            Solution:

            70-5-1227 fix was incomplete and failed to address the full problem,
            which was introduced by 70-5-901 fix in 4.2 ECO 3.
            Use only one timer ID since there should only be one cluster timer
            running.

            Reference:

            PTR 70-5-1321 / CFS.74790 / Req Id: HPAQ21C1X

    ECO AO 25-MAR-2000 VAX Only

            Images:

            UCX$INETACP.EXE V4.2-21AO

            Problem:

            RLOGIN fails to a VAX server running pre-release V4.2 ECO 4
            kit. The client hangs, and on the server the INETACP process
            is hung preventing further connections. VAX server must be
            rebooted to clear.

            Solution:

            A piece of the 70-5-1242 fix backported from V5.0 was incorrect
            given how another piece of that fix was backported from C to
            Macro32. Corrected a CALLS instruction to a JSB. (On Alpha
            these Macro32 instructions end up doing the same thing so the
            problem is benign for Alpha.)

            Reference:

            QAR 30-2-609

    ECO AP 25-MAR-2000 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21AP

            Problem:

            The BGdriver goes into an infinite loop if there are no
            available ports, causing a system hang or crash.

            Solution:

            Backport the TCP/IP V5.0A solution. Run through the list
            of all the ports once. If no ports are available, exit
            with an error (EADDRINUSE).

            Reference:

            PTR 70-5-1352 / CFS.75355 / Req Id: SQO84274A
            

    ECO 5 updates
    --------------
    ECO AQ 18-JUL-200 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21AQ (Alpha)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21AQ (VAX)

            Problem:

            Socket passed to tcp_ctloutput() contained NULL so_pcb field,
            which caused the system to crash.

            Solution:

            Backport V5.0A fix to check for non-NULL so_pcb field before
            reference and return an error if it is NULL. Also initialize
            the placeholder for the IRP address, which contains the so_pcb
            field. This part was also missing in V5.x.

            Reference:

            PTR 70-5-1398 / CFS.76411 / Req Id: UVO54445
            

    ECO AR 2-AUG-200 Alpha and VAX

            Images:

            UCX$BGDRIVER UCX V4.2-21AR

            Problem:

            BGDRIVER crashed due to mbuf chain not being linked properly.

            Solution:

            Relink the mbuf chain properly when removing a 0-length mbuf
            from the chain.

            Reference:

            PTR 70-5-1400 / CFS.76436 / Req Id: STL052188
            

    ECO AS 22-NOV-200 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21AS (Alpha only)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21AS (VAX only)
            UCX$INETACP.EXE UCX V4.2-21AS

            Problem:

            There is a synchronization hole for an incoming UDP datagram to
            be replayed twice -- first successfully, then again through a
            failure path causing a system crash.

            Solution:

            Close the synch hole by removing the function for the dequeuing of
            the REQCB from the BGdriver and place this function in the INETACP.

            Reference:

            PTR 70-5-1511 / CFS.79236 / Req Id: ISO100625

    ECO AT 22-JAN-200 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21AT
            UCX$BGDRIVER_SEC.EXE UCX V4.2-21AT
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21AT (VAX)
            UCX$INTERNET_SERVICES_V6.EXE UCX V4.2-21AT (VAX)
            UCX$INTERNET_SERVICES_SEC.EXE UCX V4.2-21AT (VAX)
            UCX$INTERNET_SERVICES_SEC_V6.EXE UCX V4.2-21AT (VAX)

            Problem:

            Excessive large buffer consumption can occur when sending
            small UDP datagrams via loopback interface. This code path
            is not enforcing the Total Buffer Limit socket buffer quota.

            Solution:

            Properly enforce the Total Buffer Limit socket buffer quota.

            Reference:

            PTR 70-5-1549 / CFS.80201 / Req Id: BCSMB0P98

    ECO AU 12-APR-200 Alpha

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21AU
            UCX$INETACP.EXE UCX V4.2-21AU

            Problem:

            The BGDRIVER crashes when terminating an I/O request.

            Solution:

            Within the RCV_XMT_COMMON_PREPROCESSING routine, move code from one
            place, where the IRP fields were only conditionally initialized, to
            the beginning of the routine, where the fields are sure to be
            initialized.

            Reference:

            PTR 70-5-1616 / CFS.82268 / Req Id: FNO26391A
            PTR 70-5-1634 / CFS.82536 / Req Id: MGO65957A

    ECO AV 20-APR-200 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21AV
            UCX$INETACP.EXE UCX V4.2-21AV

            Problem:

            Crash in INET_SEL_BUILD_PAR_LIST.

            Solution:

            Backport modifications from V5.1's INET_SEL_INIT_SYS_LIST()
            routine to V5.0A's INET_SEL_BUILD_PAR_LIST() routine to properly
            check that every entry on the list is in fact a BG UCB.

            Reference:

            PTR 70-5-1636 / CFS.82546 / Req Id: BCPM30MQP

    ECO AW 23-APR-200 Alpha and VAX

            Images:

            UCX$BGDRIVER.EXE UCX V4.2-21AW Alpha
            UCX$INTERNET_SERVICES.EXE UCX V4.2-21AW VAX

            Problem:

            Extra initial blank line is output from RSH and REXEC server.

            Solution:

            Fixed flawed code that had been designed to remove this extra
            line feed from the beginning of RSH/REXEC server output.

            Reference:

            PTR 70-5-1263 / CFS.73456 / Req Id: BCGMC1G1G / UCX Note 7508

    ECO AX 26-APR-200 Alpha and VAX

            Images:

            UCX$INETACP.EXE UCX V4.2-21AX

            Problem:

            Shutting down UCX V4.2 ECO 4 results in a SSRVEXCEPT crash in the
            INETACP. Customer reported experiencing similar crash 4 times
            within a few weeks.

            Solution:

            The INETACP needs to be more robust and check for Telnet having
            been shut down prior to processing a INETACPF$C_CREATE_SESSION
            request.

            Reference:

            PTR 70-5-1591 / CFS.81489 / Req Id: SQO59406A

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

    Corrections for DIGITAL TCP/IP Services V4.2 INET Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 09-FEB-1998 Alpha and VAX

            Images:

            UCX$INETDRIVER.EXE UCX V4.2-21A

            Problem:

            I/O cancel does not return the OpenVMS error
            SS$_CANCEL as does TGV INETDRIVER.

            Solution:

            Added a macro to all return code translations to check
            for a valid UNIX exit code and, in the absence of one,
            return the OpenVMS error code. This code should address
            any problems with exit codes.

            Reference:

            None.

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 IPC Images
    ---------------------------------------------------------------------------
    ECO 2 updates:
    --------------
    ECO A 28-MAY-1998 Alpha only

            Images:

            UCX$IPC_SHR.EXE UCX V4.2-21A

            Problem:

            Alpha customers using Alignment Fault Reporting (AFR)
            to fine-tune their application performance are thwarted
            if their application uses gethostbyname(), because the
            application will no longer work.

            Solution:

            Fixing the source of the alignment faults would likely
            require modifying the database format, which is not
            feasible to do in an ECO and could be very risky.
            (Alignment faults are only a performance issue, their
            occurrence should not break any functionality.) Rather,
            we corrected the malformed code to properly revert the
            LIB$SIG_TO_RET exception handler in ucx$gethostbyname()
            prior to its calling into the UCX$ACCESS_SHR.EXE library
            where the alignment faults occur.

            Reference:

            PTR 70-5-672 / CFS.57336 / UVO105808
            PTR 70-5-245 / CFS.50501 / UVO105305

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 TELNET Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 29-JAN-1998 Alpha and VAX

            Images:

            UCX$TNDRIVER.EXE UCX V4.2-21A

            Problem:

            System crashed in OpenVMS routine EXE$TIMEOUT while
            servicing a corrupt fork and wait queue.

            Solution:

            The major reason this problem occurred is that OpenVMS
            changed the value of the name of a bit position in a TTY
            UCB (such as a TNDRIVER UCB) in OpenVMS V6.2. In
            particular, symbol TTY$V_FD_BUSY was defined as bit 8 in
            OpenVMS versions prior to V6.2, and it was redefined to
            be bit 10 in V6.2.
            The TNDRIVER distributed for all VAX platforms uses the
            old definition and for Alpha platforms running, V6.2 of
            OpenVMS, the TNDRIVER built for V6.2 uses the old
            definition. The result is that the wrong bit was being
            tested on systems where the definitions were out of
            synch. The solution was to devise a new test of the
            condition that works on all platforms.

            Reference:

            PTR 70-5-407 / CFS.52568 / HPAQ70BDE

    ECO 2 updates:
    --------------
    ECO B 05-MAY-1998 Alpha and VAX

            Images:

            UCX$TELNET.EXE UCX V4.2-21B

            Problem:

            Using the FIND key in TN3270 after connecting to an IBM
            system can grant the user OPER privilege in DCL
            subprocess back on the VMS host.

            Solution:

            Change STESCRKBD.B32::SPAWN(), wrapping its LIB$SPAWN()
            call with calls to the reset_privs() routine introduced
            in 1995, similar to how TELNET$SPAWN() now works.

            Reference:

            70-5-712 / CFS.58556 / STLQ34027

    ECO 3 updates:
    --------------
    ECO C 19-OCT-1998 Alpha and VAX

            Images:

            UCX$TELNET.EXE UCX V4.2-21C

            Problem:

            ATTN key not working after first usage. The lack of
            this functionality prevents users from being able to
            switch between multiple sessions on the IBM host,
            impacting their performance tremendously.

            Solution:

            Directly cause IAC-BREAK to be sent on the wire without
            queuing it into the normal data stream.
            Bypass entirely the SNA protocol stuff of generating a
            Signal RU expedited data request, setting the
            LUFLG$V_SIG_SNT flag, and waiting for a Signal Response
            before clearing this flag.

            Reference:

            PTR 70-5-801 / CFS.61151 / HPAQ70KTM
            PTR 70-5-838 / CFS.62038 / BCPM815CB

    ECO D 13-NOV-1998 Alpha and VAX

            Images:

            UCX$TNDRIVER.EXE UCX V4.2-21D

            Problem:

            TNdriver: INVEXCEPTN, Exception while above ASTDEL UCX 4.1
            ECO 9 Alpha

            Solution:

            Problem was found in UCX$TN_SERVER_RLOGIN.MAR. This file
            was modified to correct the problem.

            Reference:

            PTR 70-5-841 / CFS.62072 / BCGM81698

    ECO E 16-NOV-1998 Alpha and VAX

            Images:

            UCX$TNDRIVER.EXE UCX V4.2-21E

            Problem:

            System crash in UCX$TNDRIVER at offset 000033A8

            Solution:

            Prevent crash by better checking.

            Reference:

            PTR 70-5-895 / CFS.63460 / HPAQA199N

    ECO F 02-FEB-1999 Alpha and VAX

            Images:

            UCX$TNDRIVER.EXE UCX V4.2-21F

            Problem:

            System hang caused by corruption of the timer queue.

            Solution:

            Prevent corruption of the timer queue by ucx$tndriver.

            Reference:

            PTR 70-5-941 / CFS.65098 / ZPOB10137
            PTR 70-5-957 / CFS.65362 / KAOQ12632
            PTR 70-5-984 / CFS.65964 / KAOQ22021

    ECO G 11-FEB-1999 Alpha and VAX

            Images:

            UCX$TNDRIVER.EXE UCX V4.2-21G

            Problem:

            VMS user processes do not disappear when the TCP/IP
            connection is broken/disconnected.

            Solution:

            Mark unit offline when previous attempts to send
            disconnect to the application have failed.

            Reference:

            PTR 70-5-910 / CFS.64120 / UTO101866

    ECO H 02-MAR-1999 Alpha and VAX

            Images:

            UCX$TNDRIVER.EXE UCX V4.2-21H

            Problem:

            TNdriver causes a INVEXCEPTN crash at OTS$CALL_PROC_C due
            to it referencing a null pointer.

            Solution:

            Since pointer can be null depending on the type of
            session, test before branching.

            Reference:

            PTR 70-5-916 / CFS.64301 / HPAQB1M1L

    ECO I 29-MAR-1999 Alpha and VAX

            Images:

            UCX$TNDRIVER.EXE UCX V4.2-21I

            Problem:

            The fix for 70-5-910 was incomplete.

            Solution:

            Removed the test for the device being offline in
            tn$disconnect.

            Reference:

            PTR 70-5-910 / CFS.64120 / UTO101866
            PTR 70-5-989 / CFS.66060 / UTO101930
            PTR 70-5-1145 / CFS.70534 / BRO88113
            PTR 70-5-1135 / CFS.70195 / HPAQ80P5Z
            PTR 70-5-1125 / CFS.69778 / ZPO022452

    ECO 4 updates
    --------------
    ECO K 29-FEB-2000 Alpha and VAX

            Images:

            UCX$TNDRIVER.EXE UCX V4.2-21K

            Problem:

            [1] System occasionally allocates all of the available large
                buffers.

            [2] VAX system can crash due to TNdriver confusion about type of
                transfer.

            Solution:

            [1] Have TNdriver enforce limit of 65535 character burst
                transfer from the above terminal driver's GETNXT routine.

            [2] Double-check that the VAX has the correct type of transfer
                (burst or single-character) from the above terminal
                driver's GETNXT routine.

            Reference:

            PTR 70-5-1290 / CFS.74234 / Req Id: BCGM11WK4
            PTR 70-5-859 / CFS.62537 / Req Id: UVO106153
            PTR 70-5-698 / CFS.58039 / Req Id: HPAQ21Q6X

    ECO 5 updates
    --------------
    ECO L 12-JUL-2000 Alpha and VAX

            Images:

            UCX$TNDRIVER.EXE UCX V4.2-21L

            Problem:

            System still occasionally allocates all of the available large
            buffers, even with the original fix for 70-5-1290 installed.

            Solution:

            During TN$STARTIO, reload R2 from UCB$W_TN_OUTLEN and
            R3 from UCB$L_TN_OUTADR for burst transfers.

            Reference:

            PTR 70-5-1290 / CFS.74234 / Req Id: BCGM11WK4

    ECO M 21-MAY-2001 Alpha and VAX

            Images:

            UCX$TELNET.EXE UCX V4.2-21M

            Problem:

            UCX-E-REQREJECT is seen on TN3270 screen due to the receipt
            of a long Request Unit > 4 KB. Customer is unable to proceed
            with their 3270 application as a result.

            Solution:

            Increased the TN3270 receive buffer size to avoid breaking up a
            RU > 4 KB bytes. The new limit is 16 KB.

            Reference:

            PTR 70-5-1658 / CFS.83081 / Req Id: KAOQ22102 / UCX Note 8390

    ECO N 6-SEP-2001 Alpha and VAX

            Images:

            UCX$TNDRIVER.EXE UCX V4.2-21N

            Problem:

            Regression of 70-5-1290 found during ECO 5 SQA testing. A
            faulty cmpb instruction in the 70-5-1290 redux fix causes
            TNdriver to crash immediately.

            Reference:

            PTR 70-5-1290 / CFS.74234 / Req Id: BCGM11WK4

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 SNMP Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 22-JAN-1998 Alpha and VAX

            Images:

            UCX$SNMPIVP.EXE UCX V4.2-21A

            Problem:

            Non-initialization of status variable for
            snmp_request() routine.

            Solution:

            Initialize variable to non-error value.

            Reference:

            QAR 30-3-77

    ECO A 22-JAN-1998 Alpha and VAX

            Images:

            UCX$OS_MIBS.EXE UCX V4.2-21A

            Problem:

            Display of physical address for interface group
            (OID 1.3.6.1.2.1.2.2.1.6) incorrect:
            * First two bytes incorrect, correct bytes start
              at third position, but then last 2 not displayed.
            * Wrong address for display, either mismatched,
              or in case of LO0 address, displayed when none
              should be (exact problem depended on the number of
              interfaces).

            Solution:

            Correct string compare routines that determined match of
            address to interface name in table read, also copy
            of physical address from QIO data structure to
            application structure.

            Reference:

            PTR 70-5-571 / CFS.55374 / HPAQA25GZ

    ECO A 22-JAN-1998 Alpha and VAX

            Problem:

            Display of incorrect next hop
            (OID 1.3.6.1.2.14.21.1.7), often as 0.0.0.0.

            Solution:

            Change to copy correct data from QIO data structure.

            Reference:

            QAR 30-2-509

    ECO A 22-JAN-1998 Alpha and VAX

            Problem:

            In-code documentation added for unfinished Process
            Software CIDR change.

            Solution:

            Corrected.

            Reference:

            None.

    ECO A 22-JAN-1998 Alpha and VAX

            Images:

            UCX$ESNMP_SHR.EXE UCX V4.2-21A

            Problem:

            A SHRIDMISMAT error for applications linked with
            the previous version of the ucx$esnmp_shr.exe.

            Solution:

            Insert GSMATCH=lequal,a,b into options file, where
            a,b match the values inserted by the linker for the
            base version of UCX V4.1.

            Reference:

            None.

    ECO A 22-JAN-1998 Alpha and VAX

            Images:

            UCX$ESNMP_SHR.EXE UCX V4.2-21A

            Problem:

            Function missing from shareable image for API: inst2ip().

            Solution:

            For Alpha: add SYMBOL_VECTOR to link options file.
            For VAX: add VECTOR to macro file.

            Reference:

            None.

    ECO A 22-JAN-1998 Alpha and VAX

            Problem:

            Header file corrections:
            esnmp.h: need #define for __() so users can use this
                     header file for custom applications.
            ioctl.h: minor correction taken from old UCX V4.1 code
                     for consistency.

            Solution:

            esnmp.h: with #ifdef __VMS, insert #define __(x) x.
            ioctl.h: edit out old structure value (rt_mask) not
                     used in OpenVMS.

            Reference:

            None.

    ECO B 17-FEB-1998 Alpha and VAX

            Images:

            UCX$ESNMP_SERVER.EXE UCX V4.2-21B
            UCX$OS_MIBS.EXE UCX V4.2-21B
            UCX$HR_MIB.EXE UCX V4.2-21B

            Problem:

            Incorrect MIB variable reporting, counts for if group.

            Solution:

            Aligned header file.

            Reference:

            QAR 30-2-377

    ECO B 17-FEB-1998 Alpha and VAX

            Problem:

            MIB-II subagent aborts if system has pseudo-interface
            configured.

            Solution:

            Correct clearing out of buffer area.
            Also, include interface name in error message for easier
            debugging.

            Reference:

            PTR 70-5-688 / CFS.57686 / MGO103352

    ECO 2 updates:
    --------------
    ECO C 19-MAY-1998 Alpha and VAX

            Images:

            UCX$CHESS_SUBAGENT.EXE UCX V4.2-21C
            UCX$ESNMP_SERVER.EXE UCX V4.2-21C
            UCX$ESNMP_SHR.EXE UCX V4.2-21C
            UCX$OS_MIBS.EXE UCX V4.2-21C
            UCX$HR_MIB.EXE UCX V4.2-21C

            Problem:

            Need more robustness for subagent functioning.

            Solution:

            Subagent code modified to do shorter sleep, more restarts.

            Reference:

            QAR 30-2-534

    ECO C 19-MAY-1998 Alpha and VAX

            Images:

            UCX$CHESS_SUBAGENT.EXE UCX V4.2-21C

            Problem:

            Chess sub-agent example is linked unnecessarily against
            ucx$access_shr.exe and ucx$ipc_shr.exe. No effect on UCX
            V4.2 but good to send out an updated example for users to
            test interoperability against V5.0.

            Solution:

            Remove link of those shareables in the .opt files for
            Chess example.

            Reference:

            None

    ECO D 27-MAY-1998 Alpha and VAX

            Sources:

            types.h

            The file types.h belongs in the system directory:
                    SYS$COMMON:[UCX$LIB.RPC]

            Problem:

            DECC compiler on Alpha fails with "%CC-E-NOLINKAGE"
            errors on typedefs: int32, uint32, int64 & uint64
            There are a number of workarounds available for this
            problem.

            Solution:

            Use the INTS.H definitions for int32, uint32, int64 and
            uint64. This prevents the %CC-E-NOLINKAGE errors that
            were generated at compile time if both RPC.H and
            PTHREAD.H were included. INTS.H properly defines int32
            and uint32 for both current platforms and properly
            defines int64 and uint64 for the Alpha platform.
            However, if the platform is VAX, INTS.H does not define
            either int64 or uint64. This is an acceptable solution
            because none of the provided source code in either
            RPCXDR or PCNFSD uses either int64 or unit64. Therefore,
            these typedefs are only used in customer applications.
            If a customer application is currently using the
            misdefined 32-bit typedefs int64 and/or uint64 on either
            platform, the solution would be to modify the source
            code of the application to use int32 and/or uint32 and
            recompile.

            Reference:

            PTR 70-5-242 / CFS.50386 / HPAQ40J07

    ECO D 27-MAY-1998 Alpha and VAX

            Images:

            UCX$OS_MIBS.EXE UCX V4.2-21D

            Problem:

            Inaccurate counts for ifTable data elements.

            Solution:

            Use values from qio call adapted from lancp code (VMS
            V7.1) (DCL command: mcr lancp show device/counters).

            Reference:

            PTR 70-5-789 / CFS.60594 / HGOQ60143

    ECO E 29-JUL-1998 Alpha only

            Images:

            UCX$HR_MIB.EXE UCX V4.2-21E
            UCX$OS_MIBS.EXE UCX V4.2-21E

            Problem:

            Code for consistency with V5.
            Checking 64-bit counters; likely never implemented unless
            4.x build to be done on 7.2 Alpha (otherwise #ifdef'ed out)

            Solution:

            For 64-bit counts, check architecture and VMS version,
            adjust qiow parameter accordingly. Add routine to check
            VMS version at run-time.

            Reference:

            None.

    ECO E 29-JUL-1998 Alpha only

            Images:

            UCX$CHESS_SUBAGENT.EXE UCX V4.2-21E
            UCX$HR_MIB.EXE UCX V4.2-21E
            UCX$OS_MIBS.EXE UCX V4.2-21E

            Problem:

            Fix for ECO C 19-May "robustness". After unsuccessful
            close was still just trying to re-open, got dupl.

            Solution:

            See under ECO C 19-MAY-1998 for more details.

            Reference:

            QAR 30-2-534

    ECO E 29-JUL-1998 Alpha only

            Images:

            UCX$HR_MIB.EXE UCX V4.2-21E
            UCX$OS_MIBS.EXE UCX V4.2-21E

            Problem:

            SNMP cannot handle display of large number (>700) sockets.

            Solution:

            Change data structure to QIO.

            Reference:

            UCX Note 6390

    ECO F 03-AUG-1998 Alpha and VAX

            Sources:

            CHESS_METHOD.C

            Images:

            UCX$CHESS_SUBAGENT.EXE UCX V4.2-21F
            UCX$HR_MIB.EXE UCX V4.2-21F
            UCX$OS_MIBS.EXE UCX V4.2-21F

            Problem:

            Chess sub-agent aborts on SET of OID
            1.3.6.1.4.1.36.2.15.2.99.4.1.4.4 to 3 (delete);
            this was on VMS 6.2, DEC C 5.7-004, link with
            UCX$SNMP:ESNMP.OLB

            Solution:

            An element of "method" data structure was not getting
            initialized within the calling code in esnmp_poll.c. Both
            the calling code and the example were fixed. Error showed
            up only on certain platforms and in link with .olb, not
            shareable; could be that under certain conditions the
            problem struct element was getting initialized to 0 by
            chance or because of architecture, DEC C version, etc.

            Reference:

            UCX Note 6453

    ECO 3 updates:
    --------------
    ECO G 14-SEP-1998 Alpha and VAX

            Images:

            UCX$ESNMP_SHR.EXE UCX V4.2.21G
            UCX$CHESS_SUBAGENT.EXE UCX V4.2-21G
            UCX$ESNMP_SERVER.EXE UCX V4.2.21G
            UCX$HR_MIB.EXE UCX V4.2-21G
            UCX$OS_MIBS.EXE UCX V4.2-21G
            UCX$SNMPIVP.EXE UCX V4.2.21G
            UCX$ESNMP.OLB UCX V4.2.21G

            Problem:

            Unable to run the examples UCX$CHESS_SUBAGENT because
            the agent id name is wrongly truncated.

            If the total length, including dots, of hostname + domain
            (as returned by gethostname(), i.e., concatenation of
            tcpip$inet_host + "." + tcpip$inet_domain) is > 25
            characters, subagent init routine in may not generate a
            unique name to register with in master agent, and
            subagent can never start up.

            Solution:

            Instead of forming the subagent name from full host name
            + PID (with truncation occurring after 25 characters),
            use only the first 22 characters of the host name. This
            allows for "_" and full 8 hex digits from PID. Since for
            4.x master and subagents always run on the same host,
            possible truncation of host name doesn't matter.

            Reference:

            PTR 70-5-861 / CFS.62568 / UTO101832
            PTR 70-5-1055 / CFS.67884 / BRO101393

    ECO I 04-MAY-1999 Alpha and VAX

            Images:

            UCX$ESNMP_SERVER.EXE UCX V4.2-21I

            Problem:

            When starting up large number of subagents, some cannot
            bind to socket, end up terminating.

            Solution:

            Order of calls to bind(), getsockname(), and setsockopt()
            in routine bind_sub_skt was wrong. Problem did not show
            up in all cases, mainly seen in TCPIP V5.0 on VMS V7.2.
            Same code back here, so fixed.

            Reference:

            QAR 30-2-579

    ECO J 06-MAY-1999 Alpha and VAX

            Images:

            UCX$ESNMP_SERVER.EXE UCX V4.2-21J

            Problem:

            UNDO functionality did not work.
            MMS file did not have correct dependency for building
            subagents.

            Solution:

            Change or add dependency for subagents on .OLB, not
            shareable .EXE.

            Reference:

            UCX Note 7007

    ECO K 11-JUN-1999 Alpha and VAX

            Images:

            UCX$CHESS_SUBAGENT.EXE UCX V4.2-21K
            UCX$ESNMP_SERVER.EXE UCX V4.2-21K
            UCX$ESNMP_SHR.EXE UCX V4.2-21K
            UCX$HR_MIB.EXE UCX V4.2-21K
            UCX$MIBCOMP.EXE UCX V4.2-21K
            UCX$MOSY.EXE UCX V4.2-21K
            UCX$OS_MIBS.EXE UCX V4.2-21K
            UCX$SNMPI.EXE UCX V4.2-21K
            UCX$SNMPIVP.EXE UCX V4.2-21K
            UCX$SNMP_REQUEST.EXE UCX V4.2-21K

            Problem:

            No official images have been built for ECOs
            F through J.

            Solution:

            Build new images with the image ID 'UCX V4.2-21K'
            that will include all the fixes from ECO F
            through ECO J.

            Reference:

            PTR 70-5-861 / CFS.62568 / UTO101832
            QAR 30-2-579
            UCX Note 7007

    ECO 4 updates
    --------------
    ECO L 8-NOV-1999 Alpha and VAX

            Images:
         
            UCX$OS_MIBS.EXE UCX V4.2-21L
         
            Problem:

            sysObjectID returned needs to be changed to conform to
            Compaq Insight Manager.

            Solution:

            Hard code OID. This does not change and does not use
            VMS version number.

            Reference:

            QAR 30-2-603

    ECO 5 updates
    --------------
    ECO M 14-APR-2000 VAX and Alpha

            Images:

            UCX$OS_MIBS.EXE UCX V4.2-21M

            Problem:

            Version displayed for MIB-II variable sysDescr does not include
            full OpenVMS version information.

            Solution:

            In itemlist for sys$getsyiw call, change SYI$_NODE_SWVERS to
            SYI$_VERSION and in using resulting string, trim trailing blanks.

            Reference:

            QAR 30-2-606

    ECO N 7-SEP-2001 Alpha and VAX

            Images:

            UCX$SNMPIVP.EXE UCX V4.2-21N
            
            Problem:

            Executing SNMP IVP test results in %SYSTEM-W-NOSUCHDEV
            if run before TCPIP is started after system reboot.
            Found during ECO 5 SQA testing.

            Reference:

            Internal testing.

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 SDA Images
    ---------------------------------------------------------------------------
    ECO 2 updates:
    --------------
    ECO B 15-OCT-1998 Alpha and VAX

            Images:

            UCX$SDA.EXE UCX V4.2-21B

            Problem:

            pwip$sda.exe ECO A was installed as ucx$sda.exe
            in ECO 1.

            Solution:

            ucx$sda.exe needs to be relinked for Alpha V6.2
            and V7.0 and VAX V6.2 with a new image ID.

            Reference:

            None.

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 BIND Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 19-DEC-1997 Alpha and VAX

            Images:

            UCX$ACCESS_SHR.EXE UCX V4.2-21A

            Problem:

            Obsolete IQUERY calls need to be removed for
            compatibility with other BIND implementations.

            Solution:

            Replaced the call to FindHostInfo that uses IQUERY
            with GetHostByAddr().

            Reference:

            None.

    ECO A 19-DEC-1997 Alpha V7.x only

            Images:

            UCX$METRIC.EXE UCX V4.2-21A

            Problem:

            Wrong image ID.

            Solution:

            Image was rebuilt with correct ID.

            Reference:

            Internal report.

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 BIND_SERVER Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 13-JAN-1998 Alpha and VAX

            Images:

            UCX$BIND_SERVER.EXE UCX V4.2-21A

            Problem:

            The name server generated too much logging information
            about load balancing.

            Solution:

            Put both syslog() calls inside "if DEBUG" clause.

            Reference:

            PTR 70-5-630 / CFS.56463 / EVT102451

    ECO 3 updates:
    --------------
    ECO B 21-JUN-1999 Alpha and VAX

            Images:

            UCX$BIND_SERVER.EXE UCX V4.2-21B

            Problem:

            Load balancing worked for only one cluster in a multiple
            cluster environment. The other clusters were not properly
            balanced.

            Solution:

            Do not search the entire host list for the highest rated
            host. Only search the current cluster host list for the
            highest rated (least loaded) host.

            Reference:

            PTR 70-5-1024 / CFS.66898 / BCGM31SHH / UCX Note 6932

    ECO 4 updates
    --------------
    ECO C 4-FEB-2000 Alpha and VAX

            Images:

            UCX$BIND_SERVER.EXE UCX V4.2-21C

            Problem:

            This fix was submitted to 4.1, but was not ported to 4.2.

            The name server sorts the response based on the subnet locale.
            It shouldn't do that for cluster names.

            Solution:

            Fix ns_req() routine not to sort the response based on the
            subnet locale if this is a cluster name.

            Reference:

            QAR 30-2-576
            PTR 70-5-694 / CFS.57941 / Req Id: MCGM21JMG

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 PWIP Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 22-JAN-1998 Alpha and VAX

            Images:

            UCX$PWIPACP.EXE UCX V4.2-21A

            Problem:

            Several different symptoms, including crashes,
            memory corruption, loss of PWIP connections, etc.

            Solution:

            A variable in routine getChan() was incorrectly
            declared to be static. The result was that,
            if the routine was ever entered simultaneously
            (such as in normal mode and in an AST), data could be
            corrupted. This day-one bug was dormant until the latest
            release of PATHWORKS. With an older version of PATHWORKS,
            conditions were such that the routine was never entered
            simultaneously. However, the new release has a different
            set of calls into PWIP and the bug is now exposed. The
            solution was to make the variable a normal automatic
            variable.

            Reference:

            Many reports.

    ECO 3 updates:
    --------------
    ECO B 23-JUN-1999 Alpha and VAX

            Images:

            UCX$PWIPDRIVER.EXE UCX V4.2-21B

            Problem:

            UCX 4.2 ECO 2, INVEXCEPTN, Exception while above ASTDEL
            Process currently executing on this CPU: UCX$PWIP_ACP

            Solution:

            Validate pointers to socket and inpcb before referencing
            data structures while processing T_CONN_CON indication.

            Reference:

            PTR 70-5-1046 / CFS.67487 / HPAQ41B1Q
            PTR 70-5-1061 / CFS.68036 / HPAQ50RWJ
            PTR 70-5-1129 / CFS.69983 / BCSM805KR
    ECO 5 updates
    --------------
    ECO C 26-OCT-2000 Alpha and VAX

            Images:

            UCX$PWIPACP.EXE UCX V4.2-21C

            Problem:

            Since upgrading clients from NT4-SP3 to NT4-SP6a the server
            response has become terribly slow.

            Solution:

            In pwipacp_ucx::bindPort() the $QIO used the uninitialized variable
            "channel" rather than the intended "acpcb->original_channel"

            Reference:

            PTR 70-5-1476 / CFS.77197 / Req Id: ZUO23883A

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 UCP Images
    ---------------------------------------------------------------------------

    ECO 1 updates:
    --------------
    ECO A 06-APR-1997 Alpha V7.x only

            Images:

            UCX$UCP.EXE UCX V4.2-21A

            Problem:

            Wrong image ID.

            Solution:

            Image was rebuilt with correct ID.

            Reference:

            Internal report.

    ECO 3 updates:
    --------------
    ECO B 20-OCT-1998 Alpha and VAX

            Images:

            UCX$UCP.EXE UCX V4.2-21B

            Problem:

            When a multi-homed host is configured such that its
            addresses are of different lengths, the logical(s)
            UCX$INET_HOSTADDRx are set to incorrect values.

            Solution:

            Set the string length correctly for all address strings.

            Reference:

            PTR 70-5-820 / CFS.61642 / GOZ100984

    ECO C 1-JUL-1999 Alpha and VAX

            Images:

            UCX$UCP.EXE UCX V4.2-21C

            Problem:

            SET COMMUNICATIONS/REJECT=NOHOSTS=x.x.x.x doesn't
            always remove the desired entry from the list.

            Solution:

            Fixed the NOHOSTS and NONETWORKS list removal code to
            not assume the respective /ACCEPT or /REJECT HOSTS and
            NETWORKS lists are sorted. The code now searches the
            entire list for the desired entry to remove.

            Reference:

            PTR 70-5-752 / CFS.59606 / BCGM5022P

    ECO 4 updates
    --------------
    ECO D 21-SEP-1999 Alpha and VAX

            Images:
         
            UCX$UCP.EXE UCX V4.2-21D
         
            Problem:

            UCX SET CONFIG COMM /TYPE=[DEFAULT, ETHER or FDDI] can only be set
            by manipulating the last two bits of "n" in UCX SET CONFIG COMM
            /LARGE=FREE=n

            Solution:

            Fixed the size of _OPTIONS as defined in the memory block to be 3
            numbers. It was previously defined as 2.

            Reference:

            PTR 70-5-755 / CFS.59702 / EVT102566
            PTR 70-5-829 / CFS.61882 / UTO101816
            PTR 70-5-1148 / CFS.70742 / BCGM902MD

    ECO E 8-NOV-1999 Alpha and VAX

            Images:
         
            UCX$UCP.EXE UCX V4.2-21E
         
            Problem:

            KERNEL: show arp command gives ACCVIO
            
            Solution:

            The UCP initialization code for get ARP
            was modified to handle the ACCVIO error code.

            Reference:

            PTR 70-5-948 / CFS.65284 / MGO103970
            PTR 70-5-1199 / CFS.72374 / HPAQB0C96

    ECO F 31-JAN-2000 Alpha and VAX

            Images:

            UCX$UCP.EXE UCX V4.2-21F

            Problem:

            Unable to set the probe and the drop timers of
            a Service defined in the service database.

            Solution:

            Fixed UCXCP$$SET_TCP_OPTS() to build a
            valid TCP Options structure.

            Reference:

            PTR 70-5-493 / CFS.54138 / Req Id: EVT102326
            PTR 70-5-602 / CFS.55901 / Req Id: EVT102420
            PTR 70-5-1213 / CFS.72673 / Req Id: UVO98145 / UCX Note 7190

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 BOOTP and TFTP Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 04-FEB-1998 Alpha and VAX

            Images:

            UCX$BOOTP.EXE UCX V4.2-21A

            Problem:

            BOOTP replies with the wrong Server Address on a
            multiple interface host.

            Solution:

            Correct a problem in the subnet_match() routine. Pass
            subnet mask of the BOOTP client to subnet_match(). The
            responding interface must be in the same subnet as BOOTP
            client.

            Reference:

            PTR 70-5-497 / CFS.54174 / EVT102328

    ECO 5 updates
    --------------
    ECO B 27-APR-2001 Alpha and VAX

            Images:

            UCX$TFTP.EXE UCX V4.2-21B

            Problem:

            TFTP server does not retransmit properly after a lost packet,
            causing client to hang or give up.

            Solution:

            Fixed TFTP retransmission to work reliably.

            Reference:

            PTR 70-5-1622 / CFS.82290 / Req Id: BCGM21ZWS / UCX Note 8379
            PTR 70-5-1027 / CFS.66996 / Req Id: BCSM31Z0V / UCX Note 7499

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 FTP Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 05-FEB-1998 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21A

            Problem:

            The FTP initialization file, FTPINIT.INI, was not being
            used when FTP executed in batch mode.

            Solution:

            Corrected the code path to place the FTP initialization
            into the common path independent of whether the FTP
            client is executing on a DC$_TERM or not.

            Reference:

            PTR 70-5-605 / CFS.55947 / MCGMB1LCC

    ECO D 05-FEB-1998 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21D

            Problem:

            Internal problems caused by the presence of the
            FTPINIT.INI file. The DCL command line was lost
            if the file existed.

            Solution:

            Processed the initialization file only after
            parsing the command line.

            Reference:

            Internal testing.

    ECO E 05-FEB-1998 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21E

            Problem:

            If the local source file of the COPY/FTP command
            does not exist (or an error signaled), that error
            was not returned to DCL for examination of $STATUS.

            Solution:

            The status FTP$_NORMAL was always returned by the central
            FTP PUT routine, even after it signals the error. In
            addition, the routine did not signal the error in typical
            FTP fashion. The code has been modified to signal an
            appropriate error and to return error indication to DCL.

            Reference:

            PTR 70-5-618 / CFS.56104 / MGO103212

    ECO F 09-FEB-1998 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21F

            Problem:

            The PUT command sends an unwildcarded file in its
            uppercase OpenVMS format, which is not acceptable for
            UNIX systems.

            Solution:

            When the responsibility for uppercasing moved to the
            caller of the common 'put' routine, the appropriate
            code needed in the unwildcarded put routine was
            never implemented. The file's name from the NAM
            block is now lowercased if the connection is not in
            VMS-Plus mode and uppercase enforcement is disabled.

            Reference:

            PTR 70-5-609 / CFS.55993 / HGOQB0361

    ECO 2 updates:
    --------------
    ECO G 25-JUN-1998 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21G

            Problem:

            FTP will not allow one to output results from DIR/OUT
            to a directory owned by an identifier when DISKQUOTAs
            are enabled on the volume.

            Solution:

            In dir_lst_rqst(), do not use FAB$M_TMP flag when
            creating user-specified DIR/OUT file, and no longer
            SYS$ENTER() it.

            Reference:

            PTR 70-5-733 / CFS.59175 / HPAQ40V5Q

    ECO H 10-AUG-1998 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21H

            Problem:

            FTP 'Directory/FTP' output is wrongly displayed when
            filename sizes are 20 characters (names are concatenated).
            This can confuse not only users but also automated batch
            procedures.

            Solution:

            Add one space to enforce at least one blank between
            columns.

            Reference:

            PTR 70-5-756 / CFS.59707 / EVT102568

    ECO I 11-AUG-1998 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21I

            Problem:

            FTP Client command 'user username password' no longer
            works in a DCL procedure file.

            Solution:

            The fix was ported from a V5 fix.
            Change ftp$prompt() to check the variable fromatty rather
            than stdin_specified to determine when to use C I/O and
            when to use SMG. Modified login_prompt() to accept input
            that is not from a proper terminal by testing both
            stdin_specified and fromatty.

            Reference:

            PTR 70-5-531 / CFS.54755 / EVT102362
            PTR 70-5-775 / CFS.60067 / TKTB52245

    ECO K 25-AUG-1998 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21K

            Problem:

            FTP in batch mode fails to set $status on an error.
            FTP command files can stop working if they use the DCL
            'on error' directive to handle various types of FTP
            errors.

            Solution:

            Port from 5.0. Change in ftpget and ftpput to propagate
            error status values out to DCL.

            Reference:

            PTR 70-5-689 / CFS.57719 / UTO101650

    ECO 3 updates:
    --------------
    ECO L 13-NOV-1998 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21L

            Problem:

            FTP can corrupt VMS index files when transferred.
            Customers can avoid only by doing a CONVERT of the
            file prior to transferring via FTP.

            Solution:

            Fixed FTP (both client and server) to create a
            properly-sized index file structure such that it
            can contain all the data transferred. Also undid
            a previous change in which RMS$_EOF errors were
            ignored when attempting to write beyond the EOF
            of such files.

    > COMPATIBILITY WARNING!! This change will cause <
    > index files received by a fixed client or server <
    > from an unfixed counterpart to now report failure. <
    > The state of the transferred file after reporting <
    > this failure will be no different than if the file <
    > had been received by an unfixed client or server <
    > who quietly believed truncating the file was okay. <

            Reference:

            PTR 70-5-823 / CFS.61674 / UVO106108
            PTR 70-5-842 / CFS.62085 / TLAQ70031

    ECO M 18-NOV-1998 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21M

            Problem:

            Many FTP commands unnecessarily consume VMS
            channels in both client and server when a
            search-list logical is involved in the
            operation. This eventually results in SYSTEM-
            F-NOIOCHAN error. User must start a new FTP
            session to make further progress.

            Solution:

            Fixed FTP (both client and server) to clean up
            channels no longer needed after each command.

            Reference:

            PTR 70-5-839 / CFS.62042 / BCGM815V7
            PTR 70-5-1222 / CFS.72837 / UTO51529A

    ECO N 24-DEC-1998 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21N

            Problem:

            FTP client can sometimes display an error message
            from the server twice. With COPY/FTP, it might
            display no error message at all, or substitute an
            unrelated non-error message for a real error.
            Server can corrupt some 501 error messages. This
            can be confusing to users.

            Solution:

            Fixed client to display messages only once.
            Fixed server to provide uncorrupted messages.
            Also fixed a rare situation where client can
            send a corrupted command to the server; this
            happened only when doing a put with wildcarded
            versions to a specified target file (e.g.
            FTP> put file.txt;* remote-file).

            Reference:

            QAR 30-2-565

    ECO O 28-JAN-1999 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21O

            Problem:

            FTP client fails to recognize login command in a
            command procedure file.

            Solution:

            The FTP client was modified to allow 'login <user_name>'
            and 'login "<user_name>"' in a command file or batch
            job.

            Reference:

            PTR 70-5-931 / CFS.64679 / TKTRC0588

    ECO P 09-MAR-1999 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21P

            Problem:

            FTP /INPUT=xxx does not work after installing UCX 4.2
            ECO 2.

            Solution:

            FTP client was changed to again to allow /INPUT files.
            This functionality was inadvertently broken by the fix
            for PTR 70-5-775.

            Reference:

            PTR 70-5-975 / CFS.65871 / SOO101227
            PTR 70-5-946 / CFS.65222 / UTO101897
            PTR 70-5-995 / CFS.66218 / BCGM21QZF
            PTR 70-5-1112 / CFS.69400 / ZPO020971

    ECO Q 11-JUN-1999 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21Q

            Problem:

            FTP in 4.2 ECO 2 broke the handling of DCL command
            scripts which have Fortran carriage control record
            attribute. Customer's automatically-generated scripts
            which perform FTP functions no longer work. They
            worked fine prior to upgrading to 4.2 ECO 2.

            Solution:

            Undo original PTR 70-5-775 fix which caused this
            regression, and re-fix that problem in a different
            manner, taking into account interim fixes for 70-5-931
            and 70-5-975 which also dealt with command and/or
            FTP/INPUT script functionality.

            Reference:

            PTR 70-5-983 / CFS.65958 / ZPO005735

    ECO R 11-JUN-1999 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21R

            Problem:

            MPUT in Binary mode with VMS_Plus disabled results in
            RMS-F-COD error on 2nd and subsequent files processed.

            Solution:

            Fixed FTP client's binary mode file send routine to
            save and restore certain FAB fields that get reused
            when processing multiple files.

            Reference:

            PTR 70-5-985 / CFS.65977 / UVO106407
            PTR 70-5-1011 / CFS.66682 / UVO106463

    ECO S 17-JUN-1999 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21S

            Problem:

            FTP client doesn't return to original directory on
            exit. User will be left in the last directory to
            which they did an LCD or SET DEFAULT/LOCAL command.

            Solution:

            FTP now properly restores the location which had
            been saved from when FTP was invoked.

            Reference:

            QAR 30-2-572

    ECO S 22-JUN-1999 Alpha and VAX

            Problem:

            COPY/FTP *.* host::dir, which used to copy all files
            to the remote system's "dir" subdirectory in 4.1 SSB,
            now fails with "553 dir: Is a directory." (Unix target)
            or "550 dir: Access is denied." (VMS target).

            Solution:

            4.1 SSB was being generous in supporting this ambiguous
            remote file specification where "dir" can be interpreted
            as being either the name of a directory or the name of a
            file. In 4.1 ECO F and 4.2, the COPY/FTP operation was
            rewritten to improve support for non-VMS remote systems
            and in the process the interpretation was necessarily
            changed such that "dir" is treated as a filename as it
            would be if the VMS COPY command parsed this.

            To restore the original 4.1 SSB behavior would be a step
            backwards; however there are viable workarounds for a
            variety of target platforms:
              Unix: COPY/FTP *.* host::"dir/"
              WinNT: COPY/FTP *.* host::"dir\"
              VMS: COPY/FTP *.* host::[.dir]
            Note that the use of double-quotes is necessary when
            specifying a non-VMS pathname style.

            Reference:

            PTR 70-5-896 / CFS.63487 / UTO101852

    ECO T 23-JUN-1999 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21T

            Problem:

            [1] $ COPY/FTP A. B.DAT would drop a character off the
                target filename, resulting in B.DA being created.
                This would only occur when the source filename has
                no type. (70-5-806)

            [2] $ COPY/FTP of a wildcarded list of files can result
                in a loop where the errors %FTP-E-INPROCF and
                %RMS-F-IFI are reported ad infinitum, filling up log
                files. (70-5-1001)

            Solution:

            [1] In the FTP client, when a target file has been
                specified, don't touch its type or version fields;
                this is only done when automatically generating a
                target file specification from the source file
                specification. Also no longer convert a version
                separator ';' to '.' when doing VMS-to-VMS (VMS
                Plus) transfers. This makes the filename conform
                better to VMS standards in %FTP-S-COPIED messages.

            [2] In the FTP client, eliminate the possibility of an
                infinite loop when dealing with errors in this
                situation. Second, try to prevent the RMS-F-IFI
                error from occurring -- it can only result from a
                previous file transfer that was not properly cleaned
                up.

                The second piece of the fix was found to also apply
                to FTP server code, where it could potentially
                prevent channel leakage.

            Reference:

            PTR 70-5-806 / CFS.61299 / EVT102630 / UCX Note 6402
            PTR 70-5-1001 / CFS.66367 / EVT102812 / UCX Note 6738

    ECO U 23-JUN-1999 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21U

            Problem:

            FTP client "PUT a.a,b.b" yields "a.a;1" and "a.a;2" on
            remote system, instead of expected "a.a;1" and "b.b;1".

            Solution:

            Fixed PUT of comma-separated source file lists such
            that when no remote file is specified, the default
            is the corresponding entry from the source list, not
            always the first in the source list.

            Reference:

            PTR 70-5-776 / CFS.60170 / SOO101139 / UCX Note 6116

    ECO V 13-JUL-1999 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21V

            Problem:

            Problem with 70-5-839 fix found during subsequent
            code scan. Bug appears to be benign.

            Solution:

            Remove extra level of indirection in a call
            introduced with 70-5-839 fix.

            References:

            QAR 30-5-268

    ECO 4 updates
    --------------
    ECO W 25-AUG-1999 Alpha and VAX

            Images:
         
            UCX$FTP.EXE UCX V4.2-21W
            UCX$FTPC.EXE UCX V4.2-21S
         
            Problem:

            [1] Put/Convert inserts extra LineFeeds (LF) when sending
                certain VFC files. (70-5-954)

            [2] FTP Client does not send STRU R files correctly in
                ASCII mode. Regression from UCX V4.0 ECO stream.
                (70-5-1107)

            Solution:

            [1] The algorithm FTP used to convert VFC/PRN-format files
                made certain assumptions about the VFC prefix and
                suffix codes when mapping records to FTP ASCII "lines
                of text" on the wire, which according to the RFC must
                end with <CR><LF> (or end-of-record <IAC><01> for
                STRU R files).

                The algorithm works fine for common VMS listing and
                log files which are VFC/PRN format, but can fail in
                the general case for files written by customer Cobol
                applications.

                Fixed FTP's conversion algorithm to perform a more
                faithful conversion of VFC/PRN prefix/suffix code
                combinations with a better mapping to FTP ASCII
                records on the wire. This affected both the client
                (Put/Convert) and the server (UCX$FTP_CONVERT_FILE
                logical). Also fixed bug in server which has
                prevented VFC conversion from working at all since
                early in the UCX 4.1 ECO stream.

            [2] FTP client was sending <IAC><00> instead of <IAC><01>
                as the end-of-record tag. Fixed it to send the proper
                <IAC><01> sequence. The server, which has similar
                code, did not suffer from this problem. Both client
                and server appear capable of receiving STRU R-format
                in ASCII mode okay.

            References:

            PTR 70-5-954 / CFS.65319 / EVT102771 / UCX Note 6786
            PTR 70-5-1107 / CFS.69202 / BRO72130A / UCX Note 7067
            PTR 70-5-1277 / CFS.73803 / UVO81901

    ECO X 11-OCT-1999 Alpha and VAX

            Images:
         
            UCX$FTP.EXE UCX V4.2-21X
         
            Problem:

            FTP client in batch mode is not exiting appropriately
            when encountering an error while doing an "mget".

            Solution:

            Backported functionality from TCP/IP V5 to report
            "last_ftp_error_seen" to cause FTP to exit.

            Reference:

            PTR 70-5-824 / CFS.61742 / HPAQ80C0G

    ECO Y 15-OCT-1999 Alpha and VAX

            Images:
         
            UCX$FTP.EXE UCX V4.2-21Y
            UCX$FTPC.EXE UCX V4.2-21U
         
            Problem:

            COPY/FTP (get) retrieves multiple versions of the specified
            file when it shouldn't, and reverses the version ordering to
            boot. For example:
              COPY/FTP remote"user pwd"::login.com []
            retrieves remote"user pwd"::login.com;2 --> []login.com;1
            and remote"user pwd"::login.com;1 --> []login.com;2

            Solution:

            Fixed COPY/FTP (get) and FTP GET command operations in VMS
            Plus mode (VMS-to-VMS) to behave much more like the VMS
            $COPY command behaves (with /NOCONCAT option):
              - only retrieve the highest version when no version is
                specified;
              - preserve version number of source file when possible;
              - disallow overwriting (superceding) an existing version
                of a file (both client and server); and
              - in circumstances for which the previous change is not
                desirable, create a new version to avoid a conflict
                with an existing version.
            Note that it is still possible to end up with reversed
            versions when retrieving all versions of a file (e.g.
            COPY/FTP remote"user pwd"::login.com;* []) and those
            versions already exist locally. This is exactly how VMS
            $COPY/NOCONCAT behaves in this circumstance.

            Reference:

            PTR 70-5-988 / CFS.66051 / UTO101929 / UCX Note 6857

    ECO Z 5-NOV-1999 Alpha and VAX

            Images:
         
            UCX$FTP.EXE UCX V4.2-21Z
         
            Problem:

            COPY/FTP returns a successful status (FTP$_COPIED)
            even when the destination disk is full.

            Solution:

            This class of problem (error propagation out to DCL
            $status) has been a thorn in UCX FTP client's side for a
            long time. (The FTP client was originally designed with
            interactive use only in mind.) Several prior fixes have
            plugged a hole here or there. This solution caplitalizes
            on a comprehensive review of FTP code that was done for
            TCPIP V5.0A and backports into UCX much of the error
            propagation improvements that were made in that release.

            For the reported problem, send_data() was modified to
            return FTP$_COPIED only on success, and FTP$_NOTCOPIED
            on failure.

            NOTE: This change could "break" batch-mode FTP scripts
                    which "relied" on FTP's lack of error propagation.
                    A workaround exists for such situations:
                    In the file SYS$LOGIN:FTPINIT.INI (or the file
                    referenced by a logical named "FTPINIT"), include
                    the following FTP command:
                            set error_level error
                    This instructs FTP not to abort (in batch mode)
                    when a non-fatal error is encountered.

            Reference:

            PTR 70-5-1163 / CFS.71175 / EVT49088A
            PTR 70-5-1247 / CFS.73188 / BRO8368

    ECO AA 15-NOV-1999 Alpha and VAX

            Images:
         
            UCX$FTP.EXE UCX V4.2-21AA
         
            Problem:

            FTP> mget file can result in RMS-E-FEX error since 70-5-988
            fix was implemented. Using FTP> get file instead works
            fine, generating a new version of file if the actual version
            of the requested remote file actually exists locally.

            Solution:

            Fixed FTP> mget to maximize the local file's version when no
            version has been explicitly specified for the file. This is
            what 70-5-988 fix did for FTP> get.

            Reference:

            QAR 30-2-602

    ECO AB 15-NOV-1999 Alpha and VAX

            Images:
         
            UCX$FTP.EXE UCX V4.2-21AB
         
            Problem:

            The FTP 'mput' command does not search the several
            equivalence names defined by a logical name correctly.

            Solution:

            This problem was partly caused by 70-5-839 fix to
            eliminate channel leaks, in which several uses of
            SYS$PARSE were changed to be syntax-checking only.

            Mput no longer passes the expanded result of its
            SYS$PARSE down to wldcrd_put_process().

            A similar problem with the recv and dir/out= commands,
            and with $copy/ftp remote local were also corrected.

            Reference:

            PTR 70-5-1177 / CFS.71701 / TKT018643

    ECO AC 21-FEB-2000 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21AC

            Problem:

            FTP Client occasionally hangs in accept().

            Solution:

            Use select() to monitor both the data and control ports.

            Reference:

            PTR 70-5-1165 / CFS.71233 / Req Id: BCGM918DV
            UCX Note 7159 and UCX Note 7330
            

    ECO 5 updates
    --------------
    ECO AD 11-JUL-200 Alpha and VAX

            Images:

            UCX$FTP.EXE UCX V4.2-21AD
            
            Problem:

            [1] FTP Client assumes that * is invalid for output filename.
                This may not be true if Server is non-VMS.

            [2] FTP send command ACCVIO's if globbing is off.

            Solution:

            [1] Allow the FTP Server to determine if special characters
                are valid for the output filename if not VMS Plus mode.

            [2] Unconditionally set command type.

            Reference:

            PTR 70-5-1152 / CFS.70848 / Reg. ID HPAQ90BGK

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 FTPD Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 29-JAN-1998 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21A

            Problem:

            CWD only reported syntax errors when attempting to
            establish a new default directory even though the
            device and/or directory strings may be invalid.

            Solution:

            The $PARSE SYNCHK option was being used when parsing
            the new default directory. Turning this off allows
            the device and directory strings to be checked for
            validity and existence.

            Reference:

            PTR 70-5-549 / CFS.54999 / MCGMA140C

    ECO B 30-JAN-1998 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21B

            Problem:

            The command 'CWD /' returns an error.

            Solution:

            Treat 'CWD /' as synonymous with 'CWD ~' and 'CWD':
            set the default to SYS$LOGIN:.

            Reference:

            PTR 70-5-624 / CFS.56290 / EVT102444

    ECO C 05-FEB-1998 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21C

            Problem:

            RENAME does not handle wildcard characters correctly.

            Solution:

            Recoded RNTO action routine to handle wildcards
            as well as multiline output.

    ECO C 05-FEB-1998 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21C

            Problem:

            CWD does not handle logical names properly when they
            are expressed without a colon (:) at the end.

            Solution:

            Added a check for a logical name when deciding if the
            string needs to be translated from UNIX to OpenVMS
            format.

            Reference:

            PTR 70-5-523 / CFS.54606 / MGO103083

    ECO 2 updates:
    --------------
    ECO D 29-MAY-1998 Alpha and VAX

            Images:

            UCX$FTPD.EXE UCX V4.2-21D

            Problem:

            The FTP server stops creating FTPC session processes
            after 100,000 connections. Users are unable to FTP
            into the system.

            Solution:

            Reset the session_sequence counter when it exceeds
            999999 so the FTPC process name is a valid VMS process
            name.

            Reference:

            PTR 70-5-743 / CFS.59475 / TKTQ40039

    ECO E 20-AUG-1998 Alpha and VAX

            Images:

            UCX$FTPD.EXE UCX V4.2-21E

            Problem:

            FTP Server hangs in LEF state after getpeername()
            failure. Remote users cannot FTP into this system
            any more -- they will be prompted for the username,
            but not for the password.

            Solution:

            Re-enable ASTs before returning in all cases. Always
            return a value when returning from startup_session().

            Reference:

            PTR 70-5-827 / CFS.61807 / UTO101809

    ECO F 10-SEP-1998 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21F

            Problem:

            FTP put of file named 'TT' may overwrite
            UCX$FTPSERVER.COM if user has sufficient privilege.
            This breaks the FTP server such that it will no longer
            accept any future connections.

            Solution:

            Fixed by having the FTPC child process suppress the
            default TT logical definition.

            Reference:

            PTR 70-5-765 / CFS.59922 / HPAQ50XHH

    ECO 3 updates:
    --------------
    ECO G 21-Sep-1998 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21G

            Problem:

            Multiple FTP APPENDs not updating remote file correctly
            in binary mode. Only ASCII mode APPEND works.

            Solution:

            Fixed binary-mode appends to properly append to binary
            files with partially-filled last blocks, and to use
            RMS $WRITE rather than $PUT.

            Reference:

            PTR 70-5-840 / CFS.62046 / HPAQ80L96

    ECO H 08-OCT-1998 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21H

            Problem:

            FTP server returns duplicate lines to ls command when
            directory contain 258 files of 30 characters. Directory
            listings whose data content is larger than 4K bytes can
            contain redundant information as the last 4K+ bytes
            might be accidentally sent twice.

            Solution:

            The routines FillNetBuffer() and nlist() were updated to
            fix the problem.

            Reference:

            PTR 70-5-853 / CFS.62407 / KAOQ90630

    ECO I 15-OCT-1998 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21I

            Problem:

            [1] Cannot append to file in path utilizing a search-list
                logical.
            [2] Some append messages appear sloppy or are missing
                useful info.
            [3] Server can lose sync with client when attempting an
                append to a file of incompatible format (e.g. ascii
                to binary or vice-versa). When this happens, the
                client must disconnect and start a new FTP session.
            [4] FTP URLs from a browser (passive mode) do not work
                correctly.

            Solution:

            [1] Properly point the FAB to the NAM structure.
            [2] Properly init nam.nam$b_rss instead of nam.nam$b_rsl
                in appe_ascii(). Terminate messages with FAO "!/"
                so they end with a newline, and make sure with
                multiline response that last message includes the '-'
                after the reply number (501 or 550), per the RFC.
            [3] Don't SYS$WAIT() on an RMS operation when posting
                that operation failed.
            [4] Port V5 fix, properly initializing raddrlen arg in
                FTP server's call to accept() a passive data
                connection.

            Reference:

            PTR 70-5-868 / CFS.62658 / HPAQ911WL
            QAR 30-2-557
            QAR 30-2-554
            QAR 30-2-556
            UCX Note 6558

    ECO K 11-NOV-1998 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21K

            Problem:

            FTP can corrupt VMS index files when transferred.
            Customers can avoid only by doing a CONVERT of the
            file prior to transferring via FTP.

            Solution:

            Fixed FTP (both client and server) to create a
            properly-sized index file structure such that it
            can contain all the data transferred. Also undid
            a previous change in which RMS$_EOF errors were
            ignored when attempting to write beyond the EOF
            of such files.

    > COMPATIBILITY WARNING!! This change will cause <
    > index files received by a fixed client or server <
    > from an unfixed counterpart to now report failure. <
    > The state of the transferred file after reporting <
    > this failure will be no different than if the file <
    > had been received by an unfixed client or server <
    > who quietly believed truncating the file was okay. <

            Reference:

            PTR 70-5-823 / CFS.61674 / UVO106108
            PTR 70-5-842 / CFS.62085 / TLAQ70031

    ECO L 19-NOV-1998 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21L

            Problem:

            Many FTP commands unnecessarily consume VMS
            channels in both client and server when a
            search-list logical is involved in the
            operation. This eventually results in SYSTEM-
            F-NOIOCHAN error. User must start a new FTP
            session to make further progress.

            Solution:

            Fixed FTP (both client and server) to clean up
            channels no longer needed after each command.

            Reference:

            PTR 70-5-839 / CFS.62042 / BCGM815V7
            PTR 70-5-1222 / CFS.72837 / UTO51529A

    ECO M 22-DEC-1998 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21M

            Problem:

            FTP client can sometimes display an error message
            from the server twice. With COPY/FTP, it might
            display no error message at all, or substitute an
            unrelated non-error message for a real error.
            Server can corrupt some 501 error messages. This
            can be confusing to users.

            Solution:

            Fixed client to display messages only once.
            Fixed server to provide uncorrupted messages.
            Also fixed a rare situation where client can
            send a corrupted command to the server; this
            happened only when doing a put with wildcarded
            versions to a specified target file (e.g.
            FTP> put file.txt;* remote-file).

            Reference:

            QAR 30-2-565

    ECO O 14-JUN-1999 Alpha and VAX

            Images:

            UCX$FTPD.EXE UCX V4.2-21O

            Problem:

            FTP server provides inconsistent "530 Login incorrect"
            messages.

            Solution:

            Make sure all such messages end with a period '.'.

            Reference:

            QAR 30-4-1

    ECO P 16-JUN-1999 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21P

            Problem:

            UCX$FTPC_xxx processes can hang after entering password
            then hitting Ctrl-Y. The UCX$FTPD.LOG shows error
            messages like:
              %UCX-I-FTP_NODE, Client Nodename : mario2
              %UCX-I-FTP_USER, Username : :
              %UCX-I-FTP_OBJ, Object : Error
              %UCX-I-FTP_CHINFO, FTPC000004DFassigning channel to
              command mailbox
              %SYSTEM-F-IVDEVNAM, invalid device name

            Solution:

            Fixed the FTPC process to abort rather than attempt to
            continue in this circumstance; a channel to the command
            mailbox connecting FTPC to its parent FTPD process is
            necessary for proper FTP operation. Also corrected
            malformed error message in this instance.

            Reference:

            PTR 70-5-1025 / CFS.66946 / UTO101967

    ECO Q 18-JUN-1999 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21Q

            Problem:

            Rename problems with FTP:
             1. "rename x.x y.y" fails with error "550 ACP enter
                function failed" when y.y exists with same version
                as x.x.
             2. "rename x.x y." renames x.x to be y.x, not y.
            Both are regressions introduced in 4.1 ECO 9 and
            4.2 ECO 1.

            Solution:

            The FTP server's RNTO (rename-to) operation was fixed
            to address both of these problems.

            Reference:

            PTR 70-5-962 / CFS.65493 / HPAQ11SQ3
            PTR 70-5-1084 / CFS.68665 / ZUO101646

    ECO R 23-JUN-1999 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21R

            Problem:

            [1] $ COPY/FTP A. B.DAT would drop a character off the
                target filename, resulting in B.DA being created.
                This would only occur when the source filename has
                no type. (70-5-806)

            [2] $ COPY/FTP of a wildcarded list of files can result
                in a loop where the errors %FTP-E-INPROCF and
                %RMS-F-IFI are reported ad infinitum, filling up log
                files. (70-5-1001)

            Solution:

            [1] In the FTP client, when a target file has been
                specified, don't touch its type or version fields;
                this is only done when automatically generating a
                target file specification from the source file
                specification. Also no longer convert a version

                separator ';' to '.' when doing VMS-to-VMS (VMS
                Plus) transfers. This makes the filename conform
                better to VMS standards in %FTP-S-COPIED messages.

            [2] In the FTP client, eliminate the possibility of an
                infinite loop when dealing with errors in this
                situation. Second, try to prevent the RMS-F-IFI
                error from occurring -- it can only result from a
                previous file transfer that was not properly cleaned
                up.

                The second piece of the fix was found to also apply
                to FTP server code, where it could potentially
                prevent channel leakage.

            Reference:

            PTR 70-5-806 / CFS.61299 / EVT102630 / UCX Note 6402
            PTR 70-5-1001 / CFS.66367 / EVT102812 / UCX Note 6738

    ECO 4 updates
    --------------
    ECO S 25-AUG-1999 Alpha and VAX

            Images:
         
            UCX$FTP.EXE UCX V4.2-21W
            UCX$FTPC.EXE UCX V4.2-21S
         
            Problem:

            [1] Put/Convert inserts extra LineFeeds (LF) when sending
                certain VFC files. (70-5-954)

            [2] FTP Client does not send STRU R files correctly in
                ASCII mode. Regression from UCX V4.0 ECO stream.
                (70-5-1107)

            Solution:

            [1] The algorithm FTP used to convert VFC/PRN-format files
                made certain assumptions about the VFC prefix and
                suffix codes when mapping records to FTP ASCII "lines
                of text" on the wire, which according to the RFC must
                end with <CR><LF> (or end-of-record <IAC><01> for
                STRU R files).

                The algorithm works fine for common VMS listing and
                log files which are VFC/PRN format, but can fail in
                the general case for files written by customer Cobol
                applications.

                Fixed FTP's conversion algorithm to perform a more
                faithful conversion of VFC/PRN prefix/suffix code
                combinations with a better mapping to FTP ASCII
                records on the wire. This affected both the client
                (Put/Convert) and the server (UCX$FTP_CONVERT_FILE
                logical). Also fixed bug in server which has
                prevented VFC conversion from working at all since
                early in the UCX 4.1 ECO stream.

            [2] FTP client was sending <IAC><00> instead of <IAC><01>
                as the end-of-record tag. Fixed it to send the proper
                <IAC><01> sequence. The server, which has similar
                code, did not suffer from this problem. Both client
                and server appear capable of receiving STRU R-format
                in ASCII mode okay.

            References:

            PTR 70-5-954 / CFS.65319 / EVT102771 / UCX Note 6786
            PTR 70-5-1107 / CFS.69202 / BRO72130A / UCX Note 7067
            PTR 70-5-1277 / CFS.73803 / UVO81901

    ECO T 8-SEP-1999 Alpha and VAX

            Images:
         
            UCX$FTPC.EXE UCX V4.2-21T
         
            Problem:

            FTP 'sunique' (store unique) put operations could
            overwrite an existing version of the specified file
            if the target filename includes a version specification.

            Solution:

            FTP server handling of STOU command had been modified
            in 4.1 ECO and 4.2 to no longer generate a weird-looking
            unique filename (which apparently wasn't always unique),
            but to instead exploit RMS' file versioning scheme by
            forcing a new (unique) version for the specified file.
            Unfortunately, code to override an explicit version
            specified in the target filename was only implemented
            for the case of storing non-VMS-Plus ASCII files.

            Fixed the FTP server STOU operation to create a new
            version for the file regardless of any specified version
            or file transfer mode (ASCII, BINARY, VMS-Plus).

            Reference:

            PTR 70-5-1128 / CFS.69894 / KAOQ73305

    ECO U 15-OCT-1999 Alpha and VAX

            Images:
         
            UCX$FTP.EXE UCX V4.2-21Y
            UCX$FTPC.EXE UCX V4.2-21U
         
            Problem:

            COPY/FTP (get) retrieves multiple versions of the specified
            file when it shouldn't, and reverses the version ordering to
            boot. For example:
              COPY/FTP remote"user pwd"::login.com []
            retrieves remote"user pwd"::login.com;2 --> []login.com;1
            and remote"user pwd"::login.com;1 --> []login.com;2

            Solution:

            Fixed COPY/FTP (get) and FTP GET command operations in VMS
            Plus mode (VMS-to-VMS) to behave much more like the VMS
            $COPY command behaves (with /NOCONCAT option):
              - only retrieve the highest version when no version is
                specified;
              - preserve version number of source file when possible;
              - disallow overwriting (superceding) an existing version
                of a file (both client and server); and
              - in circumstances for which the previous change is not
                desirable, create a new version to avoid a conflict
                with an existing version.
            Note that it is still possible to end up with reversed
            versions when retrieving all versions of a file (e.g.
            COPY/FTP remote"user pwd"::login.com;* []) and those
            versions already exist locally. This is exactly how VMS
            $COPY/NOCONCAT behaves in this circumstance.

            Reference:

            PTR 70-5-988 / CFS.66051 / UTO101929 / UCX Note 6857

    ECO V 7-JAN-2000 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21V

            Problem:

            FTP> del .; command does not works after UCX was upgraded
            from 4.0 ECO 5 to UCX 4.2 ECO 3. Error is: "550 The file
            specification must contain a name, type and version number
            (even if wildcarded)."

            Solution:

            Modify FTP DELE command to relax this restriction to just
            requiring a version number, in order to accommodate files
            that consist of just a name, or just a type.

            Reference:

            PTR 70-5-1231 / CFS.72967 / Req Id: ZPO035470 / UCX Note 7474
            

    ECO 5 updates
    --------------
    ECO W 14-JUN-2000 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21W

            Problem:

            FTP rename using wildcards in UCX 4.2 ECO3 fails with
            '550-invalid wildcard operation'

            Solution:

            The type field of the target was not properly stripped
            of the wildcard character (*). Problem was introduced
            with the fix for 70-5-1084.

            Reference:

            PTR 70-5-1396 / CFS.76305 / Req Id: UTO94780A
            PTR 70-5-1327 / CFS.74874 / Req Id: UVO87105

    ECO X 21-AUG-2000 Alpha and VAX

            Images:

            UCX$FTPD.EXE UCX V4.2-21X

            Problem:

            FTP Server ACCVIO'S because the reallocation of the session
            table on the 129th simultaneous connection fails.

            Solution:

            Dynamically reallocate the session table.
            Session table grows by MAX_SESSIONS.
            
            Reference:

            PTR 70-5-1408 / CFS.76668 / Req ID: HPAQ51QP2

    ECO Y 27-NOV-2000 Alpha and VAX

            Images:

            UCX$FTPD.EXE UCX V4.2-21Y

            Problem:

            [1] UCX FTP Server can occasionally reject a valid login.

            [2] UCX FTP Server child process has bogus SYS$REM_NODE
            and SYS$REM_NODE_FULLNAME information. On Alpha
            these usually translate to the IP address 48.48.48.48.

            Solution:

            [1] Moved several session-specific global variables into
            the per-session data structure so one FTP session
            cannot disturb another session's state during login.

            [2] Avoid writing beyond the bounds of an on-stack string
            destroying the stack variable used in the generation
            of the SYS$REM_NODE / SYS$REM_NODE_FULLNAME logicals.

            Reference:

            PTR 70-5-1472 / CFS.78307 / Req Id: UTO11601A / UCX Note 8000
            PTR 70-5-510 / CFS.54426 / Req Id: UVO105587 / UCX Note 5880

    ECO Z 24-APR-2001 Alpha and VAX

            Images:

            UCX$FTPC.EXE UCX V4.2-21Z

            Problem:

            FTP> DIR search-list-logical can encounter the server errors
            "550 file not found" or "550 unsupported file structure level"
            when the search-list-logical is composed of concealed members.
            Problem only occurs when file details are requested from the
            server, and not when just filenames are requested.

            Solution:

            Modified the FTP server to better detect the transition from
            one concealed device entry to another within a search-list-
            logical's SYS$SEARCH() results, so it has the proper device
            open for obtaining the requested file details.

            Reference:

            PTR 70-5-1648 / CFS.82762 / Req Id: NL_G01281

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 CFS_SHR Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 16-FEB-1998 Alpha only

            Images:

            UCX$CFS_SHR.EXE UCX V4.2-21A

            Problem:

            On Alpha, if two threads enter the BFS$$SIGNAL routine,
            they can be merged together. This condition can lead
            to an assortment of symptoms, including an ACCVIO
            message, a corrupted stack, SS$_OPCDEC, and looping on
            thread rundown trying to unlock a resource not owned by
            this thread.

            Solution:

            Initialize the stored ATCB pointer for
            Alpha-conditionalized code as well as VAX code.

            Reference:

            PTR 70-5-92 / CFS.45425 / UTO101196
            PTR 70-5-182, 70-5-262 / CFS.50080 / UTO101363

    ECO A 16-FEB-1998 Alpha only

            Problem:

            On Alpha systems, file system error messages go to
            UCX$CFS_FATAL_MESSAGES, by default assigned to _OPA0:,
            instead of being handled as OPCOM messages as with VAX
            systems. Writing directly to _OPA0: can be annoying on
            workstation servers, because the writing causes the
            monitor to display the console window.

            Solution:

            The executive mode stack must be switched back to normal
            before the $SNDOPR is done.

            Reference:

            CFS.41421 / UCX Note 4724

    ECO 2 updates:
    --------------
    ECO B 28-SEP-1998 Alpha and VAX

            Images:

            UCX$CFS_SHR.EXE UCX V4.2-21B

            Problem:

            Analyze Container/Repair fails on a saved backup/noimage
            from a 20GB disk, preventing data recovery.

            Solution:

            Increase the length of a structure element to a long.
            Remove the reserved word that was used for alignment
            purposes. Rename the variable to nbit$l_size to avoid
            confusion about its size. Fix format statements that
            assumed that nbit$w_size was a word.

            Reference:

            PTR 70-5-849 / CFS.62247 / EVT102668

    ECO C 29-SEP-1998 Alpha and VAX

            Images:

            UCX$CFS_SHR.EXE UCX V4.2-21C

            Problem:

            NFS server hangs; NFS clients report "Server not
            responding". NFS server was observed to be:
            1. In CUR state consuming 100% of CPU, because of
               lock mismangement.
            2. Hung in LEF state due to corrupted queues.
            3. Hung in LEF state because AST delivery had been
               disabled.

            Solution:

            Rewrite the thread AST enable and disable code. Use a
            BFS$$SLEEP(500) instead of scheduling another EXEC AST
            and waiting. When a thread regains control, it now
            rechecks the state of the RDCB should another thread
            have changed it. Mark RDCB's that have been processed
            so they aren't inadvertently reprocessed by another
            thread. Corrected lock/unlock ordering in several
            places. Also added stack trace which gets generated on
            exceptions.

            Reference:

            PTR 70-5-774 / CFS.60042 / TKTR51269

    ECO 3 updates:
    --------------
    ECO E 12-NOV-1998 Alpha and VAX

            Images:

            UCX$CFS_SHR.EXE UCX V4.2-21E

            Problem:

            When an EXPORT entry is used with the NAME_CONVERSION
            option, the OSF/1 command 'pwd' doesn't display the
            right path.

            Solution:

            Generate a correct file handle during mount operation.

            Reference:

            PTR 70-5-332 / CFS.51568 / EVT102224

    ECO G 13-JUL-1999 Alpha and VAX

            Images:

            UCX$CFS_SHR.EXE UCX V4.2-21G

            Problem:

            ACCVIO when exporting files greater than 2GB. This
            prevents using files greater than 2GB and less then 4GB
            in size via NFS.

            Solution:

            Fixed the handling of files that are greater than 2GB
            in size. This fix will only handle files up to 4GB-1 in
            size.

            Reference:

            PTR 70-5-958 / CFS.65376 / EVT102774

    ECO H 19-JUL-1999 Alpha and VAX

            Images:
         
            UCX$CFS_SHR.EXE UCX V4.2-21H
         
            Problem:

            30-5-321: feedback on problems found with PTR 70-5-774.
            70-5-1098: SSRVEXCEPT Bugchecks with NFS$SERVER process
            in UCX$CFS_SHR

            Solution:
            
            Fix both problems found.
            
            Reference:

            QAR 30-5-321
            PTR 70-5-1098 / CFS.69030 / MGO05890A

    ECO 4 updates
    --------------
    ECO I 4-AUG-1999 Alpha and VAX

            Images:
         
            UCX$CFS_SHR.EXE UCX V4.2-21I
         
            Problem:

            When UCX$CFS_MODUS_OPERANDI is set to 512, and a VMS NFS
            client is being used, the NFS server sometimes reports
            FCPREADERR ACCVIO ILLIOFUNC. This prevents the client from
            accessing some files.

            Solution:

            Fixed handling of UCX$CFS_MODUS_OPERANDI 512 to not break the
            communication of the VMS file's attributes between the VMS
            NFS-Client and the VMS NFS-Server.

            Reference:

            PTR 70-5-492 / CFS.54130 / MGO103045 / UCX Note 5682

    ECO K 12-AUG-1999 Alpha and VAX

            Images:
         
            UCX$CFS_SHR.EXE UCX V4.2-21K
            UCX$SERVER_NFS.EXE UCX V4.2-21B
         
            Problem:

            NFS (being Client and server) can't DELETE some temporary files.

            Solution:

            Fixed NFS file handle so the temporary file will be deleted.

            Reference:

            PTR 70-5-784 / CFS.60402 / EVT102590 / UCX Note 6338 /
            PTR 70-5-1287 / CFS.74036 / DJO035784
            UCX Note 4991 / CFS.47215 / UCX Note 4985 / CFS.46879 /
            EVT102015

    ECO L 26-JAN-2000 Alpha and VAX

            Images:

            UCX$CFS_SHR.EXE UCX V4.2-21L

            Problem:

            Filename extensions stripped with name conversion option. This
            would sometimes cause bad directory listings.

            Solution:

            Initialize variable in all cases.

            Reference:

            PTR 30-2-568
            
    ECO M 27-JAN-2000 Alpha and VAX

            Images:

            UCX$CFS_SHR.EXE UCX V4.2-21M

            Problem:

            Internal change.

            Solution:

            Backport 5.0a change.

            Reference:

            PTR 30-2-569
            PTR 70-5-332 / CFS.51568 / EVT102224
            
    ECO 5 updates
    --------------
    ECO N 3-MAY-2000 Alpha and Vax

            Images:

            UCX$CFS_SHR.EXE UCX V4.2-21N

            Problem:

            Problem wih BFS not returning an error status for bad
            arguments. I.E. The synch status.

            Solution:

            Fixed bfs$$synch-alpha.m64 to save R0 from $$STARTUP.

            Reference:

            PTR 30-2-611

    ECO O 13-JUN-2000 Alpha and VAX
            Images:

            UCX$CFS_SHR.EXE UCX V4.2-21O

            Problem:

            Backup errors on NFS due to a failure to allocate
            space for access control lists (ACL).

            Solution:

            Allocate space for the ACL and only return an error if unable to
            allocate it due to lack of space available in the system.

            Reference:

            PTR 70-5-1389 / CFS.76085 / Req Id: BCGM41B57

    ECO P 6-OCT-2000 Alpha and VAX

            Images:

            UCX$CFS_SHR.EXE UCX V4.2-21P

            Problem:

            When copying a file from a NFS client to the NFS Server the server
            stops sending data and the thread usage then increases to the
            maximum.

            Solution:

            Fixed NFS server locking problem.

            Reference:

            PTR 70-5-1457 / CFS.78027 / Req Id: GB_G00798
            PTR 70-5-1487 / CFS.78731 / Req Id: UTO12274A

    ECO Q 9-JAN-2001 Alpha and VAX

            Images:

            UCX$CFS_SHR.EXE UCX V4.2-21Q

            Problem:

            NFS problem with file aliases where certain file aliases created
            on the VMS side are only partly visable on Unix.

            Solution:

            Treat all file aliases to directories as directories when
            MODUS_OPERANDI bit 16384 is set.

            Reference:

            QAR 70-8-42
            

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 DNFS Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 06-APR-1997 Alpha V7.x only

            Images:

            UCX$DNFSACP.EXE UCX V4.2-21A
            UCX$DNFSDISMOUNT.EXE UCX V4.2-21A
            UCX$DNFSDRIVER.EXE UCX V4.2-21A
            UCX$DNFSMOUNT.EXE UCX V4.2-21A

            Problem:

            Wrong images IDs.

            Solution:

            Images were rebuilt with correct IDs.

            Reference:

            Internal report.

    ECO 2 updates:
    --------------
    ECO A 02-JUN-1998 Alpha and VAX

            Images:

            UCX$DNFSACP.EXE UCX V4.2-21A

            Problem:

            The system crashes with a PGFLIPLHI; the current process
            is the NFS client ACP process (DNFS1ACP).

            Solution:

            The solution was to correctly define $LLINK_START and
            $LLINK_END to be linkage addresses. Due to a "BUG" in the
            linker, the addresses need to have storage defined to get
            the correct address assigned.

            Reference:

            None.

    ECO B 13-OCT-1998 Alpha and VAX

            Images:

            UCX$DNFSACP.EXE UCX V4.2-21B

            Problem:

            Wrong image IDs.

            Solution:

            Images were rebuilt with correct IDs.

            Reference:

            None.

    ECO 3 updates:
    --------------
    ECO C 26-OCT-1998 Alpha and VAX

            Images:

            UCX$DNFSACP.EXE UCX V4.2-21C

            Problem:

            UCX 4.2 problem with NFS client not seeing ADF files
            correctly which causes the wrong record format and other
            RMS info to be wrong.

            Solution:

            Remove unnecessary code obsoleted by a previous change.

            Reference:

            PTR 70-5-858 / CFS.62520 / BCGM90MWP

    ECO D 13-JAN-1999 Alpha and VAX

            Images:

            UCX$DNFSACP.EXE UCX V4.2-21D

            Problem:

            During dismount of DNFS devices, the system crashed
            with a SPLREL.

            Solution:

            Fixed the locking done during UCX dismount of DNFS
            devices.

            Reference:

            PTR 70-5-937 / CFS.64814 / BRO101315

    ECO E 05-FEB-1999 Alpha and VAX

            Images:

            UCX$DNFSACP.EXE UCX V4.2-21E

            Problem:

            NFS dismount will not work when the disk is mounted with
            /BACKGROUND.

            Solution:

            Dismount the disk properly.

            Reference:

            PTR 70-5-961 / CFS.65442 / BRO101330
            PTR 70-5-885 / CFS.63171 / UTO101842
            PTR 70-5-871 / CFS.62743 / BCGM9189V

    ECO F 24-MAR-1999 Alpha and VAX

            Images:

            UCX$DNFSACP.EXE UCX V4.2-21F

            Problem:

            NFS-Client consumes 100% CPU when very large directories
            are used.

            Solution:

            Change single linked list to double and avoid creating
            an ADF list when building the directory cache to improve
            performance.

            Reference:

            PTR 70-5-952 / CFS.65302 / MGO103972

    ECO 4 updates
    --------------
    ECO G 10-DEC-1999 Alpha and VAX

            Images:
         
            UCX$DNFSACP UCX V4.2-21G
         
            Problem:

            On NFS-Client a copy-command is successful although it causes a
            nopriv error message (but the file is copied).

            Solution:

            The proxy database is used to map VMS UICs to NFS UIDs. If the
            accessor's NFS UID is the same as the object's NFS UID then use
            the accessor's VMS UIC as the file owner.

            Reference:

            PTR 70-5-900 / CFS.63648 / MGO103837 / 6597

    ECO 5 updates
    --------------
    ECO H 1-AUG-2000 Alpha and VAX

            Images:

            UCX$DNFSACP.EXE UCX V4.2-21H
            
            Problem:
            
            The original problem under 70-5-1203 is a crash is UCX$DNFSACP due
            to memory corruption. A diagnostic module was sent which now hung
            the NFS client when it caught the udp_recv_ast touching deallocated
            memory. Also found a bug in cnfs-proxy where the zeroing of memory
            after the username characters was modifing 1 too many bytes.

            Solution:

            Avoid freeing the TRANS block if there is still a receive
            outstanding. Changed the condition in the zeroing "for loop" from
            <= to < so that only the allocated bytes are modified.

            Reference:

            PTR 70-5-1340 / CFS.75197 / Req Id: MGO34961B
            PTR 70-5-1203 / CFS.72400 / Req Id: MGO82709A

    ECO I 2-NOV-2000 Vax and Alpha

            Images:

            UCX$DNFSACP.EXE UCX V4.2-21I

            Problem:

            Rename of files that the client provides with default ADFs
            get deleted if the owner is not the one renaming.

            Solution:

            During a rename, avoid creating an ADF file for files that
            already have default ADF.
            
            Reference:

            70-5-1448

    ECO K 05-APR-2001 Alpha and VAX

            Images:

            UCX$DNFSACP.EXE UCX V4.2-21K

            Problem:

            The NFS client does not send a set attribute to the server after
            writing a file that is the same size or smaller, letting it default
            to 512 bytes. Initial fix attempt caused a data corruption
            regression.

            Solution:

            Send a setattr procedure to set the size after the re-write, being
            careful not to confuse this situation with the one that led to file
            corruption. Also, backported V5.1 change so the NFS client now
            reports the correct allocated size instead of the EOF mark.

            Reference:

            PTR 70-5-1562 / CFS.80621 / Req Id: MGO34019B / UCX Note 7934
            PTR 70-5-1604 / CFS.81793 / Req Id: MGO56058B

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 LPD Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 22-JAN-1998 Alpha and VAX

            Images:

            UCX$LPD_SHR.EXE UCX V4.2-21A

            Problem:

            Unable to print 700 small or medium ANSI or
            binary files at once.

            Solution:

            Modified card_RMS() function, which on buffer
            overflow calls flush_card() rather than signaling
            RMS$_RTB.

            Reference:

            PTR 70-5-389 / CFS.52472 / MGO102932

    ECO A 22-JAN-1998 Alpha and VAX

            Images:

            UCX$LPD_SHR.EXE UCX V4.2-21A

            Problem:

            Unable to stop and delete queues in a processing state.
            It appears that the issue was one of not recognizing and
            closing "damaged" connections, and therefore remained
            "stuck" down in the driver and unable to respond to SMB
            messages and the like.

            Solution:

            Added code in rresvport() to use system logical names
            UCX$LPD_KEEPALIVE (y/n), UCX$LPD_PROBETIME (1..64k) and
            UCX$LPD_DROPTIME (1..64k).

            Reference:

            PTR 70-5-313 / CFS.51291 / HPAQ50U67

    ECO 2 updates:
    -------------
    ECO B 10-JUN-1998 Alpha and VAX

            Images:

            UCX$LPD_SHR.EXE UCX V4.2-21B

            Problem:

            When printing several files via LPD which share the
            same setup module from different queues, the second
            print is retained on error with RMS-E-FLK, or the two
            two symbionts could hang.

            Solution:

            Segment large buffers ( > 32K ) into 32K byte lengths.
            Log only the first and last 32 bytes of buffers that
            are >= 32K. Now that large buffers have been segmented
            to never exceed 32K, we can safely use the TCP send()
            function on each segment.

            Reference:

            None.

    ECO C 28-SEP-1998 Alpha and VAX

            Images:

            UCX$LPRSETUP.EXE UCX V4.2-21C

            Problem:

            At OpenVMS 7.1, the spool directory is not created
            automatically when using UCX$LPRSETUP, nor is any
            message produced to warn the user of this problem.
            However, the directory is easily created manually.

            Solution:

            A mkdir() 3rd uic arg bug in VMS 7.x has been reported to
            the DECC folks (DECC Note 2659).

            In the interim, it seems viable to workaround the mkdir()
            by changing UCX$LPRSETUP to use the standard 2-arg
            mkdir() call and to properly report any problems in doing
            so. Since most users of UCX$LPRSETUP would be privileged
            (System Administrators), they would likely have one of
            the GRPPRV, SYSPRV, or BYPASS privileges which forces
            even the standard 2-arg mkdir() to create spool
            directories owned by the parent [UCX$AUX,UCX_LPD].
            (The SYSTEM account is typically configured with such

            privileges.) Unprivileged users are not able to create
            spool directories due to insufficient permissions anyway.
            With this code in place, sufficiently privileged users
            can create spool directories via UCX$LPRSETUP regardless
            of whether the release of OpenVMS contains the mkdir()
            bug or not.

            WriteEntry() was also changed to only call MakeSpool()
            when writing the entry to the PRINTCAP file, and not when
            writing it to the LOG file. This change seems prudent
            -- now that the user is informed of mkdir() errors, the
            directory should only be created once!

            Reference:

            PTR 70-5-248 / CFS.49654 / HPAQ30KFB
            PTR 70-5-541 / CFS.54885 / ZUO101298
            PTR 70-5-846 / CFS.62164 / MGO103723

    ECO 3 updates:
    --------------
    ECO D 05-NOV-1998 Alpha and VAX

            Images:

            UCX$LPD_SHR.EXE;1 UCX V4.2-21D

            Problem:

            The line printer daemon fails to properly retry print
            jobs.

            Solution:

            If LIB$SUB_TIMES reports that difference time is negative
            then use the smallest possible difference time and still
            check for maximum time allowed instead of stopping on
            error.

            Reference:

            PTR 70-5-696 / CFS.58021 / HPAQ21PN1
            PTR 70-5-848 / CFS.62202 / BRO101241
            PTR 70-5-894 / CFS.63444 / BRO101280

    ECO E 11-DEC-1998 Alpha and VAX

            Images:

            UCX$LPD_SHR.EXE UCX V4.2-21E
            UCX$LPD_SMB.EXE UCX V4.2-21E

            Problem:

            LPD symbiont inserts LF character after setup module.

            Solution:

            Defined two logicals to control this behavior on
            either a per-system basis (UCX$LPD_SETUP_NOLF)
            or a per-queue basis (UCX$LPD_<queue>_SETUP_NOLF)

            Reference:

            PTR 70-5-281 / CFS.51026 / UTO101399

    ECO F 11-JAN-1999 Alpha and VAX

            Images:

            UCX$TELNETSYM.EXE UCX V4.2-21F

            Problem:

            UCX$TELNETSYM.EXE symbiont crashes with an access
            violation, %SYSTEM-F-ACCVIO.

            Solution:

            Added a state variable so that the "users" of the
            request_packet would know when to free the packet
            and when to ignore it because it was already freed.

            Reference:

            PTR 70-5-725 / CFS.58965 / UTO101705
            PTR 70-5-740 / CFS.59357 / MGO103492
            PTR 70-5-913 / CFS.64168 / BCGMB181C
            PTR 70-5-879 / CFS.63030 / HPAQA03FL
            PTR 70-5-815 / CFS.61472 / UTO101801
            PTR 70-5-1008 / CFS.66654 / HPAQ3124Q

    ECO G 29-MAR-1999 Alpha and VAX

            Images:

            UCX$LPD_SHR.EXE UCX V4.2-21G
            UCX$LPD_SMB.EXE UCX V4.2-21G

            Problem:

            STOP/QUEUE/RESET fails to terminate LPD symbiont process.
            This can result in the LPD symbiont occasionally sending
            jobs to the wrong printer.

            Solution:

            Closed some holes where STOP/QUEUE/RESET might not
            terminate the symbiont process (particularly while
            waiting on a network event). Forcibly delete the
            symbiont process if the job controller attempts to
            reinvigorate a stuck symbiont giving it a new personality
            (queue).

            Reference:

            PTR 70-5-939 / CFS.64932 / ZUO101571
            PTR 70-5-876 / CFS.62943 / BCSM91VCB / UCX Note 6489

    ECO H 29-MAR-1999 Alpha and VAX

            Images:

            UCX$LPD_SMB.EXE UCX V4.2-21H

            Problem:

            STOP/QUEUE/RESET fails to terminate LPD symbiont process.

            Solution:

            Closed another hole where STOP/QUEUE/RESET might not
            terminate the symbiont process (when job controller
            signals SS$_INSFMEM while LPD is trying to inform it of
            job completion status).

            Reference:

            PTR 70-5-980 / CFS.65904 / UVO106399

    ECO I 02-APR-1999 Alpha and VAX

            Images:

            UCX$TELNETSYM.EXE UCX V4.2-21I

            Problem:

            When using TelnetSym, documents with forms can include
            an extra formfeed at the start of the job.

            Solution:

            Problem occurs because the form content can push the
            formfeed that the VMS Print Symbiont inserts into a
            second or subsequent output buffer. The existing scheme
            for formfeed suppression in the TelnetSym, govered by the
            logical UCX$TELNETSYM_SUPPRESS_FORMFEEDS, was designed
            only to work within the first output buffer.

            Provide a new bit in UCX$TELNETSYM_SUPPRESS_FORMFEEDS
            (bit 3, value 8) that extends the TelnetSym's search
            for a formfeed to suppress beyond the first output
            buffer until an actual formfeed is found. This bit
            must be used in combination with existing bits 0 and 1
            to indicate suppression at beginning and/or end of job.

            Reference:

            PTR 70-5-966 / CFS.65698 / GOZ101076

    ECO K 22-JUN-1999 Alpha and VAX

            Images:

            UCX$LPD_SHR.EXE UCX V4.2-21K
            UCX$MSG.EXE UCX V4.2-21C

            Problem:

            Zero-length print jobs can cause LPD problems with HP
            and some other printers.

            Solution:

            Redo ineffective CFS.45415 fix such that LPD ignores
            zero-length data files -- not even telling the LPD
            server about them. This mimics the behavior of the
            Unix lpr client.

            In the process, also re-fixed CFS.44328 problem of
            the potential long delay between UCX LPD contacting
            the remote LPD server and it actually sending the
            first data file. Some servers/printers timed out
            the connection due to this delay. The original fix
            for that problem proved defective and was removed
            per CFS.45791 but never re-fixed until now.

            Reference:

            PTR 70-5-520 / CFS.54571 / SOO101032 / UCX Notes 4861, 6989
            PTR 70-5-930 / CFS.64660 / UTO101883
            CFS.44328
            QAR 30-2-570

    ECO L 13-JUL-1999 Alpha and VAX

            Images:

            UCX$TELNETSYM.EXE UCX V4.2-21L

            Problem:

            The TelnetSym fix for 70-5-966 is too broad in one
            respect (suppressing *all* records containing <CR><FF>
            not just the first), and not broad enough in another
            (is only effective for queues set up with non-default
            /NORECORD_BLOCKING setting).

            Solution:

            Reimplemented 70-5-966 fix to address these
            inadequacies. This solution is upwardly compatible
            with the original, in which bit 3 in
            UCX$TELNETSYM_SUPPRESS_FORMFEEDS is utilized to enable
            this extended method for formfeed suppression.

            Reference:

            QAR 30-2-587

    ECO 4 updates
    --------------
    ECO M 17-DEC-1999 Alpha and VAX

            Images:
         
            UCX$LPD_SHR.EXE UCX V4.2-21M
            UCX$LPD_SMB.EXE UCX V4.2-21M
            UCX$LPD_RCV.EXE UCX V4.2-21M
            UCX$LPRM.EXE UCX V4.2-21M
            UCX$LPQ.EXE UCX V4.2-21M

            Problem:

            LPD can insert an unwanted linefeed at the beginning of a
            VFC/PRN format text file. LPD's conversion of such files
            is too literal with regard to the file's first VFC prefix.

            Solution:

            Suppress the unwanted linefeed if the new system logical
            is defined: UCX$LPD_1ST_VFC_PREFIX_SPECIAL

            Reference:

            PTR 70-5-1156 / CFS.70907 / UVO27513

    ECO O 21-DEC-1999 Alpha and VAX

            Images:

            UCX$LPD_SHR.EXE UCX V4.2-21O
            UCX$LPD_SMB.EXE UCX V4.2-21O
            UCX$LPD_RCV.EXE UCX V4.2-21O
            UCX$LPRM.EXE UCX V4.2-21O
            UCX$LPQ.EXE UCX V4.2-21O

            Problem:

            LPD jobs are not being relayed with SYSTEM-F-TIMEOUT
            errors observed. With LPD_DEBUG = 7, log file shows
            (lpd$send.c/1444) result of 'select' on socket: 3,
            rfds: 0, status: 0. LPD Symbiont may also report an
            ACCVIO if of recent UCX vintage (4.2 ECO 3).

            Solution:

            LPD was ignoring all but the minutes field in the
            UCX$LPD_RETRY_INTERVAL logical. Customer had
            configured a retry interval of 50 seconds -- less
            than a minute, resulting in a select() timeout of 0
            when waiting for remote server to acknowledge a
            command.

            Fixed LPD to calculate its select timeout based on
            all the fields of an interval time specification,
            from days down to hundreths of a second.

            Also fixed ACCVIO which could occur in this situation,
            a problem introduced by earlier 70-5-520 fix.

            Reference:

            PTR 70-5-1179 / CFS.71741 / EVT21374A
            PTR 70-5-1268 / CFS.73591 / HPAQC1W6J
            PTR 70-5-1298 / CFS.74387 / KAOW11QQB
            UCX Notes 7341 & 7394

    ECO 5 updates
    --------------
    ECO P 5-APR-2000 Alpha and VAX

            Images:

            UCX$LPD_SMB.EXE UCX V4.2-21P

            Problem:

            LPD symbiont doesn't accept jobs submitted with the
            /LOWERCASE qualifier.

            Solution:

            Modified the LPD symbiont to tell job controller we support
            /LOWERCASE so jobs can be queued with this attribute.

            Reference:

            PTR 70-5-1243 / CFS.73102 / Req. Id: UTO57482A / UCX Note 7484
            PTR 70-5-1318 / CFS.74727 / Req. Id: KAOQ21404
            

    ECO Q 9-APR-2001 Alpha and VAX

            Images:

            UCX$TELNETSYM.EXE UCX V4.2-21Q

            Problem:

            The Telnet Symbiont has a delay of 5 seconds before printing. This
            delay was necessary to accomodate the DECserver 300. A customer
            has requested that this delay be removed.

            Solution:

            Added a new logical, UCX$TELNETSYM_NO_DECSERVER_300 that if
            defined reduces the delay from 5 seconds to a half second.

            Reference:

            PTR 70-5-1621 / CFS.82308 / Req Id: MGO61243A / UCX Note 8369

    ECO R 24-APR-2001 Alpha and VAX

            Images:

            UCX$LPRSETUP.EXE UCX V4.2-21R

            Problem:

            When adding a printer via LPRSETUP, the user is allowed to enter
            comments for the printer's PRINTCAP.DAT entry. However, if the
            comment is longer than 77 characters, the PRINTCAP.DAT file can
            be corrupted with an overlong comment line and several lines that
            should be comments but aren't prefixed by the comment character
            ('#'). This leads to further problems when trying to delete the
            corrupted entry.

            Solution:

            When adding a comment via LPRSETUP, automatically wrap comment
            lines that are greater than 77 characters onto the next line(s).

            Reference:

            PTR 70-5-1371 / CFS.75788 / Req Id: UVO22295

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 POP Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 26-JAN-1998 Alpha and VAX

            Images:

            UCX$POP_SERVER.EXE UCX V4.2-21A

            Problem:

            The POP server could not process mail messages with more
            than 255 bytes in a line.

            Solution:

            Changed code to bypass the limit by looking at OpenVMS
            callable mail's internal buffer for the message.

            Reference:

            PTR 70-5-600 / CFS.55889 / BRO101117

    ECO A 26-JAN-1998 Alpha and VAX

            Images:

            UCX$POP_SERVER.EXE UCX V4.2-21A

            Problem:

            When trying to read large mail messages, the POP
            server hangs and issues a MAIL-W-NOMOREREC error message
            to the log file.

            Solution:

            The problem occurs because OpenVMS callable mail reads
            the entire mail message. If the process does not have
            enough memory, callable mail returns MAIL-W-NOMOREREC.

            The solution is to detect this condition and send a
            mail message back to the recipient telling them to ask
            their system administrator to increase the POP server
            account's page file quota, thereby correcting the
            problem.

            Reference:

            PTR 70-5-614 / CFS.56064 / MCSMC037F

    ECO 2 updates:
    --------------
    ECO B 22-APR-1998 Alpha and VAX

            Images:

            UCX$POP_SERVER.EXE UCX V4.2-21B

            Problem:

            VMSmail API was returning an incorrect number of records
            for a mail message that was in it's NEWMAIL folder.
            The POP server uses this number to loop through calls to
            mail$message_get() to get each line (record) of the
            message. Because the length of the message was
            incorrectly given as one more than the actual length, the
            call to mail$message_get() to get the last message line
            resulted in the MAIL-W-NOMOREREC error.

            Solution:

            Documents a situation where VMSmail reported 120-record
            message, but the actual external mail file contained only
            119 records as read through the MAIL$M_RECMODE (record-
            at-a-time) method. Tolerate this off-by-one accounting.

            Reference:

            PTR 70-5-700 / CFS.58096 / MCSM301R2

    ECO C 11-MAY-1998 Alpha and VAX

            Images:

            UCX$POP_SERVER.EXE UCX V4.2-21C

            Problem:

            PMDF (another vendor's) mail client was translating
            single-quote (') characters in From: addresses into "\s"
            before wrapping them with SMTP%"...". This renders the
            address as illegal from RFC822 standpoint, so SMTP and
            POP did not recognize this as a proper "SMTP" From
            address, failing one of the three conditions necessary
            for ignore_mail11_headers operation. While single-quote
            is a legal character for an SMTP address, embedded
            backslashes are not.

            Solution:

            If POP's patch_from_line() call to SMTP's
            build_path_from() routine fails with UCX$_SMTP_PARSERR,
            and the From: address begins with the SMTP%" jacket, then
            relax the ignore_mail11_headers constraint that the VMS
            mail From: address must be RFC822 and treat it as if it
            really was RFC822/SMTP compliant. Customer is expected
            to notify the third party vendor to get the root cause
            problem in the mail client fixed.

            Reference:

            PTR 70-5-616 / CFS.56076 / MCSMC03V9

    ECO 3 updates:
    --------------
    ECO D 07-JAN-1999 Alpha and VAX

            Images:

            UCX$POP_SERVER.EXE UCX V4.2-21D

            Problem:

            POP server could abort with ACCVIO.

            Solution:

            Properly format a string before passing it to sprintf().

            Reference:

            QAR 30-2-573

    ECO 4 updates
    --------------
    ECO E 12-JAN-2000 Alpha and VAX

            Images:

            UCX$POP_SERVER.EXE UCX V4.2-21E

            Problem:

            Images supplied with CFS.70257 do not work correctly. Incoming
            mail is not queued into SMTP-Queue. Message number 0000803A.

            Solution:

            Fixed internal build issues.

            Reference:

            PTR 70-5-1245 / CFS.73151 / Request Id: MGO00418A
            PTR 70-5-1137 / CFS.70257 / Request Id: MGO46318A

    ECO F 4-FEB-2000 Alpha and VAX

            Images:

            UCX$POP_SERVER.EXE UCX V4.2-21F

            Problem:

            POP server consistently causes client error/timeout on
            certain messages.

            Solution:

            Reenable blocking socket I/O when writing the end-of-message
            sequence.

            Reference:

            QAR 30-2-593
            

    ECO 5 updates
    --------------
    ECO G 4-MAY-2000 Alpha and VAX

            Images:

            UCX$POP_SERVER.EXE UCX V4.2-21G

            Problem:

            POP Server gives ACCVIO, when reading a new mail containing very
            long lines.

            Solution:

            Replace internal non-standard bcopy() routine with the standard
            "ANSI C" memmove() routine.

            Reference:

            PTR 70-5-1379 / CFS.75908 / Req Id: ZUO12706A

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 SMTP Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 26-JAN-1998 Alpha and VAX

            Images:

            UCX$SMTP_MAILSHR.EXE UCX V4.2-21A
            UCX$SMTP_RECEIVER.EXE UCX V4.2-21A
            UCX$SMTP_SYMBIONT.EXE UCX V4.2-21A
            UCX$SMTP_PARSESHR.EXE UCX V4.2-21A (VAX)
            UCX$SMTP_PARSESHR_TV.EXE UCX V4.2-21A (Alpha)
            UCX$UUENCODE.EXE UCX V4.2-21A
            UCX$UUDECODE.EXE UCX V4.2-21A
            UCX$SMTP_SFF.EXE UCX V4.2-21A

            Problem:

            A customer tried to send file that had fixed-length
            records, which caused various problems.

            Solution:

            This situation is not supported. Print warning when this
            action is attempted.

            Reference:

            PTR 70-5-529 / CFS.54722 / BRO101087

    ECO 2 updates:
    --------------
    ECO B 08-JUN-1998 Alpha and VAX

            Images:

            UCX$SMTP_RECEIVER.EXE UCX V4.2-21B

            Problem:

            SMTP receiver is not including any 'From' DOMAIN header
            information.

            Solution:

            Retrofit change from the V5 code:
            Add "from domain" clause into the Received: header we
            tack onto incoming messages.

            Reference:

            PTR 70-5-625 / CFS.56297 / HPAQC0QBQ

    ECO C 20-JUL-1998 Alpha and VAX

            Images:

            UCX$SMTP_MAILSHR.EXE UCX V4.2-21C

            Problem:

            When the customer starts UCX, it always displays the
            following error in the UCX$SMTP_LOGFILE.LOG:
              smtp_parse_init 2nd QIO() failed, ISOB status = 844
              Error building list of IP addresses for the local host,
              status = 844
            UCX V4.1 E8 SMTP, Inbound mail causing a %SYSTEM-F-ACCVIO
            on the UCX$SMTP_RECEIVER server, which does not deliver
            the mail.

            Solution:

            Add logic to fetch the MAXIMUM NUBER OF INTERFACES and to
            use that value in the buffer size calculation. The
            definition of INET$C_MAX_IFNETS was added to inetdef.h.
            Delete the "comment" part of the from address.

            Reference:

            PTR 70-5-659 / CFS.57089 / HGOQC0140
            PTR 70-5-674 / CFS.57436 / EVT102488

    ECO 3 updates:
    --------------
    ECO D 03-NOV-1998 Alpha and VAX

            Images:

            UCX$SMTP_RECEIVER.EXE UCX V4.2-21D

            Problem:

            SMTP truncates everything after a null character.

            Solution:

            Use memcpy() to copy the data instead of strncpy.
            Memcpy() will copy the specified number of bytes of data
            regardless of NULLs.

            Reference:

            PTR 70-5-830 / CFS.61908 / BCSM80T47

    ECO E 12-JAN-1999 Alpha and VAX

            Images:

            UCX$SMTP_ADDR_PARSE.EXE UCX V4.2-21E
            UCX$SMTP_MAILSHR.EXE UCX V4.2-21E
            UCX$SMTP_PARSESHR.EXE UCX V4.2-21E (VAX)
            UCX$SMTP_PARSESHR_TV.EXE UCX V4.2-21E (Alpha)
            UCX$SMTP_RECEIVER.EXE UCX V4.2-21E
            UCX$SMTP_SFF.EXE UCX V4.2-21E
            UCX$SMTP_SYMBIONT.EXE UCX V4.2-21E
            UCX$UUDECODE.EXE UCX V4.2-21E
            UCX$UUENCODE.EXE UCX V4.2-21E

            Problem:

            Undefined symbol ARPADATE while building POP facility.

            Solution:

            Re-link SMTP.

            Reference:

            QAR 30-2-573

    ECO 4 updates
    --------------
    ECO F 16-SEP-1999 Alpha and VAX

            Images:
         
            UCX$SMTP_MAILSHR.EXE UCX V4.2-21F
            UCX$MSG.EXE UCX V4.2-21E
         
            Problem:

            The UCX> ANALYZE MAIL /REPAIR operation does not fix
            any inconsistencies, but exits with %UCX-E-SMTPERROR
            and %UCX-W-ANA_QUEACC. These error show non-printable
            characters and customer needs to reset its terminal.

            Solution:

            Initialized the field passed when writing out this message
            to avoid the non-printable characters. Allow the analyze mail
            to continue to queue other files despite the error caused by
            particular invalid files. Also, added another informational
            message which aids in determining which file and possible cause
             of the failing file message:

            UCX-I-ANA_USER_RNF, $SNDJBCW(CREATE_JOB) reports RMS-E-RNF;
              Suspect user name <name> is not valid for file:
                <filename>

            Reference:

            PTR 70-5-1097 / CFS.69028 / MGO14797A

    ECO G 24-SEP-1999 Alpha and VAX

            Images:
         
            UCX$SMTP_SYMBIONT.EXE UCX V4.2-21G
         
            Problem:

            Some SMTP debug messages are not formatted properly.

            Solution:

            Corrected the format problem by properly ordering
            the arguments passed to the error message handler.

            Reference:

            QAR 30-5-181
            

    ECO H 12-JAN-2000 Alpha and VAX

            Images:

            UCX$POP_SERVER.EXE UCX V4.2-21E
            UCX$SMTP_MAILSHR.EXE UCX V4.2-21H
            UCX$SMTP_PARSESHR.EXE UCX V4.2-21H (VAX only)
            UCX$SMTP_ADDR_PARSE.EXE UCX V4.2-21H (Alpha only)
            UCX$SMTP_PARSESHR_TV.EXE UCX V4.2-21H
            UCX$SMTP_RECEIVER.EXE UCX V4.2-21H
            UCX$SMTP_SFF.EXE_ECO UCX V4.2-21H
            UCX$SMTP_SYMBIONT.EXE_ECO UCX V4.2-21H

            Problem:

            Images supplied with CFS.70257 do not work correctly. Incoming
            mail is not queued into SMTP-Queue. Message number 0000803A.

            Solution:

            Fixed internal build issues.

            Reference:

            PTR 70-5-1245 / CFS.73151 / Request Id: MGO00418A
            PTR 70-5-1137 / CFS.70257 / Request Id: MGO46318A

    ECO 5 updates
    --------------
    ECO I 22-JAN-2001 Alpha and VAX

            Images:

            UCX$SMTP_MAILSHR.EXE UCX V4.2-21I

            Problem:

            Access Violation occurs in MAILSHR when an attempt is made to mail
            a file via SMTP, with incorrect file attributes.

            Solution:

            Bugs were identified in both VMSMail and SMTP which both conspired
            to cause these ACCVIOs on Alpha (and other errant behavior on VAX).
            In VMSmail, its RMS error AST routine was fixed to include correct
            VMSmail context when LIB$SIGNALing the error which SMTP was
            reporting via the MAIL$PROTOCOL interface. Contact VMS Support
            regarding availability of this patch.

            In SMTP, don't always trust the longest-record-length file
            attribute, establishing a minimum 1000-byte buffer for reading mail
            files, and don't resignal RMS$_RTB to the MAILSHR condition handler
            directly from SMTP.

            Reference:

            PTR 70-5-1565 / CFS.79662 / Req Id: UTO49604B

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 RSH Images
    ---------------------------------------------------------------------------
    ECO 3 updates:
    --------------
    ECO A 04-NOV-1998 Alpha and VAX

            Images:

            UCX$RSH.EXE UCX V4.2-21A

            Problem:

            RSH /SYSERR to self (localhost loopback) doesn't work
            properly; symptoms range from hanging RSH client to
            crashing system.

            Solution:

            The crash was addressed by Kernel ECO F 24-JUN-1998 fix.
            RSH client hang is caused by kernel's in_pcbbind() not
            returning EADDRINUSE in one instance where it probably
            should. Rather than destabilize the kernel in this
            heavily-used area, worked around the problem in RSH by
            having it bind its stderr connection to an explicit
            address of a local interface rather than INADDR_ANY.

            Reference:

            PTR 70-5-832 / CFS.62021 / EVT102660

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 RLOGIN Images
    ---------------------------------------------------------------------------
    ECO A 06-APR-1997 Alpha only.

            Images:

            UCX$RLOGIN.EXE UCX V4.2-21A

            Problem:

            Wrong image ID.

            Solution:

            Image was rebuilt with correct ID.

            Reference:

            Internal report.

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 RPC Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 29-JAN-1998 Alpha and VAX

            Images:

            UCX$RPCXDR_SHR.EXE UCX V4.2-21A

            Problem:

            IEEE double precision results in 'Server can't
            decode argument' from a UCX client.

            Solution:

            The RPC message appears to be short by four bytes.
            Checking the source revealed that if the first four
            bytes encode properly, the second four bytes will
            not be encoded because an || was being used instead
            of an && condition.

            Reference:

            PTR 70-5-629 / CFS.56410 / HPAQC11RL

    ECO 2 updates:
    -------------
    ECO B 27-MAY-1998 Alpha and VAX

            Sources:

            [RPCXDR]types.h

            The file types.h belongs in the system directory:
                    SYS$COMMON:[UCX$LIB.RPC]

            Problem:

            DECC compiler on Alpha fails with "%CC-E-NOLINKAGE"
            errors on typedefs: int32, uint32, int64 & uint64

            Solution:

            Use the INTS.H definitions for int32, uint32, int64 and
            uint64. This prevents the %CC-E-NOLINKAGE errors that
            were generated at compile time if both RPC.H and
            PTHREAD.H were included. INTS.H properly defines int32
            and uint32 for both current platforms and properly
            defines int64 and uint64 for the Alpha platform.
            However, if the platform is VAX, INTS.H does not define
            either int64 or uint64. This is an acceptable solution
            because none of the provided source code in either RPCXDR
            or PCNFSD uses either int64 or unit64. Therefore, these
            typedefs are only used in customer applications. If a
            customer application is currently using the misdefined
            32-bit typedefs int64 and/or uint64 on either platform,
            the solution would be to modify the source code of the
            application to use int32 and/or uint32 and recompile.

            Reference:

            PTR 70-5-242 / CFS.50386 / HPAQ40J07

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 RCP Images
    ---------------------------------------------------------------------------
    ECO 3 updates:
    --------------
    ECO A 12-Mar-1999 Alpha and VAX

            Images:

            UCX$RCP.EXE UCX V4.2-21A

            Problem:

            UCX V3, V4, V5 don't preserve the time when sending from VMS to
            UNIX with RCP/PRESERVE. A +/- 1 hour shift depends on DST.

            Solution:

            Base time offset on file time, not current time.

            Reference:

            PTR 70-5-968 / CFS.65783 / EVT102794
            PTR 70-5-484 / CFS.53930 / MCSM907Z5

    ECO B 11-JUN-1999 Alpha and VAX

            Images:

            UCX$RCP.EXE UCX V4.2-21B

            Problem:

            COPY/RCP on a binary file changes the file attributes
            from fixed length to STREAM LF and corrupts the file.

            Solution:

            RCP will now treat VMS fixed-length (FIX) and undefined
            (UDF) format files as binary and copy them verbatim
            without doing the implicit conversion to Stream_LF.
            Note however that RCP will NOT preserve file attributes
            on the target file (which will still be created as
            Stream_LF). To fix this is beyond the scope of an ECO
            and may not be possible without incompatibly breaking
            the RCP protocol. File attributes on the target will
            have to manually be corrected by the user.

            Lest some customers have come to depend on the original
            behavior of RCP, that behavior can be restored by setting
            the logical UCX$RCP_SEND_FIX_FORMAT_AS_ASCII to "1",
            "True", or "Yes".

            Reference:

            PTR 70-5-960 / CFS.65406 / BCGM117J9 / UCX Note 6654
            PTR 70-5-1006 / CFS.66612 / MGO104079
            QAR 30-2-571

    ECO 5 updates
    --------------
    ECO C 27-NOV-2000 Alpha and VAX

            Images:

            UCX$RCP.EXE UCX V4.2-21C

            Problem:

            $copy/rcp gives incorrect return status when a file locked
            error occurs.

            Solution:

            Have the open calls return the correct error status, and have
            the last error signalled via LIB$SIGNAL be returned as the
            error status. Also, set the vaxc$errno status when errors are
            returned from C routines, and return that as the error status.

            Reference:

            PTR 70-5-1248 / CFS.73189 / Req Id: BRO08368A / UCX Note 7485

    ECO D 16-JAN-2001 Alpha and VAX

            Images:

            UCX$RCP.EXE UCX V4.2-21D

            Problem:

            The customer expects that UCX$RCP_SEND_FIX_FORMAT_AS_ASCII=1
            should send a fixed-length (512 bytes) file (.EXE) as binary,
            not as a Stream_LF file.

            Solution:

            If the file is a fixed-format file, and its record size exactly
            matches the value from the UCX$RCP_SEND_FIX_FORMAT_AS_ASCII logical,
            the file will not be converted to Stream_LF, but will be sent as
            binary. For example, if the logical's value is "512", and the file
            has a fixed length 512-byte record format, RCP will not convert the
            file to Stream_LF before sending it.

            Reference:

            PTR 70-5-1286 / CFS.74012 / Req Id: EVT65251A / UCX Note 7489

    ECO E 29-MAY-2001 Alpha and VAX

            Images:

            UCX$RCP.EXE UCX V4.2-21E

            Problem:

            $ COPY/RCP[/USER=remusr] loc.file remhost::rem.file can fail
            with "%RCP-E-CONHST, error connecting to remote host ...".
            /USER specification, if supplied, also seems to be ignored.
            This only affects $ COPY/RCP, not $ RCP.

            Reference:

            PTR 70-5-1450 / CFS.77805 / Req Id: UTO08559A
            PTR 70-5-1695 / CFS.83930 / Req Id: HPAQ50P4V

    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 NTP Images
    ---------------------------------------------------------------------------
    ECO 2 updates:
    -------------
    ECO A 10-SEP-1998 Alpha and VAX

            Images:

            UCX$NTPD.EXE UCX V4.2-21A

            Problem:

            Unable to synchronize VMS systems running UCX NTP.

            Solution:

            Added an option similar to Unix NTP which allows the
            correction of any time difference, including times greater
            than the maximum aperture. The flag is not set by default,
            which means that if the time difference is too large
            (around 5.3 hours or so) then the following message will
            appear in the log file: seconds is too large (set clock
            manually or set correct-any).

            To set the option, CORRECT-ANY is added to the
            UCX$NTP.CONF file which after doing the filtering and
            finding the difference to be too large, it will reset the
            time.

            Reference:

            PTR 70-5-799 / CFS.61108 / BCGM70GLH

    ECO 4 updates
    --------------
    ECO B 21-JAN-2000 Alpha and VAX

            Images:

            UCX$NTPD.EXE UCX V4.2-21B

            Problem:

            NTP synchronization problem with NON-vms peers.

            Solution:

            Added code to ignore a peer that does not do the protocol
            correctly.

            Reference:

            QAR 30-2-605
            PTR 70-5-1333 / CFS.75013 / MGO30470A
            PTR 70-5-1344 / CFS.75220 / BCGM30MHT
    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 NFS Images
    ---------------------------------------------------------------------------
    ECO 3 updates:
    --------------
    ECO A 23-NOV-1998 Alpha and VAX

            Images:

            UCX$SERVER_NFS.EXE UCX V4.2-21A

            Problem:

            Customer is having problem with NFS proxies losing their
            dynamic status. Mounting of disk fails with the loss of
            dynamic proxy.

            Solution:

            Prevent dynamic proxies from changing to an unknown name
            like a zero (0) length name. This may cause NFS requests
            to fail that used to work if the unknown name comes from
            a machine that has a proxy for the known name for the
            given IP address.

            Reference:

            PTR 70-5-865 / CFS.62593 / STLQ91603 / UCX Note 6523
            PTR 70-5-1052 / CFS.67829 / BRO101392

    ECO A 22-MAR-1999 Alpha and VAX

            Problem:

            NFS: Server is not responding %UCX-E-NORESPOND after a
            DIR command from the client.

            Solution:

            Increase NFS startup parameter UCX$CFS_CACHE_SIZE.

            Reference:

            PTR 70-5-949 / CFS.65287 / GOZ1010

    ECO 4 updates
    --------------
    ECO B 12-AUG-1999 Alpha and VAX

            Images:
         
            UCX$CFS_SHR.EXE UCX V4.2-21B
            UCX$SERVER_NFS.EXE UCX V4.2-21B
         
            Problem:

            NFS (being Client and server) can't DELETE some temporary files.

            Solution:

            Fixed NFS file handle so the temporary file will be deleted.

            Reference:

            PTR 70-5-784 / CFS.60402 / EVT102590
            UCX Note 6338
            UCX Note 4991 / CFS.47215
            UCX Note 4985 / CFS.46879 / EVT102015

    ECO C 20-AUG-1999 Alpha and VAX

            Images:
         
            UCX$SERVER_NFS.EXE UCX V4.2-21C
            UCX$MSG.EXE UCX V4.2-21D
         
            Problem:

            NFS log file is generating a misleading error message for EXQUOTA.
            
            Solution:

            Separate the message into 5 different messages according to
            the error encountered.

            Reference:

            PTR 70-5-811 / CFS.61356 / BCGM71569

    ECO D 7-OCT-1999 Alpha and VAX

            Images:
         
            UCX$SERVER_NFS.EXE UCX V4.2-21D
         
            Problem:

            "showmount -e <VMS NFS Server>" gets the error: Export list > UDP
            max. Data truncated.

            Solution:

            Added new logical ucx$nfs_trim_export to reduce the amount of data
            a client will receive. If the logical is set to 1, check to see if
            the client can mount a given pathname and only return the pathname
            and the client name that matched. Do not return all client names
            nor all pathnames. If the logical is not set to 1, return the
            export list the old way.

            Reference:

            PTR 70-5-1130 / CFS.70002 / MGO37874A
            
    ---------------------------------------------------------------------------
    Corrections for DIGITAL TCP/IP Services V4.2 UCPLIB Images
    ---------------------------------------------------------------------------
    ECO 1 updates:
    --------------
    ECO A 19-DEC-1997 Alpha and VAX

            Images:

            UCX$ACCESS_SHR.EXE UCX V4.2-21A

            Problem:

            Obsolete IQUERY calls need to be removed for
            compatibility with other BIND implementations.

            Solution:

            Replaced the call to FindHostInfo that uses IQUERY
            with GetHostByAddr().

            Reference:

            None.

    ECO 4 updates
    --------------
    ECO B 18-AUG-1999 Alpha and VAX

            Images:
         
            UCX$ACCESS_SHR.EXE UCX V4.2-21B
         
            Problem:

            SHOW DEVICE /HOST= does not work with IP addresses,
            only HOST names.

            Solution:

            Provide UCX$$DISCONNECT() with the number of elements
            to be found when searching for IP addresses.

            Reference:

            70-5-766 / CFS.59925 / BCGM50XLN

    ECO 5 updates
    --------------
    ECO C 04-Sep-2001 Alpha and VAX

            Images:

            UCX$ACCESS_SHR.EXE UCX V4.2-21C

            Problem:

            OpenVMS TCP/IP Bind Server response problem, isolated to
            a build problem with UCX-8027.

            Reference:

            PTR 70-5-1828 / CFS.86575 / Req Id: NL_G02065 / UCX Note 8027

    INSTALLATION NOTES:

    A system reboot is required after the installation of this update.

    The DEC-AXPVMS-UCXECO_42_5-V0400--4.PCSI kit is installed using
    the PCSI utility.

    $PRODUCT INSTALL UCXECO_42_5 /SOURCE=device-name

    The ECO kit checks to ensure that a valid license is installed
    before proceeding. If one is not found, the installation aborts.
    Restart the installation after a valid license is installed.

    This DEC-AXPVMS-UCXECO_42_5-V0400--4 kit will install on the
    Alpha platform, and is supported with either OpenVMS release 6.2
    or OpenVMS release 7.1. No other platforms or OpenVMS releases
    are supported with this kit.

    All trademarks are the property of their respective owners.

    ---