Jump to page titleUNITED STATES
hp.com home products and services support and drivers solutions how to buy
» contact hp


more options
 
hp.com home
End of Jump to page title
HP Services Software Patches
Jump to content


» software & drivers
» ask Compaq
» reference library
» forums & communities
» support tools
» warranty information
» contact support
» parts
» give us feedback

patches by topic
» DOS
» OpenVMS
» Security
» Tru64 Unix
» Ultrix 32
» Windows
» Windows NT

associated links
» what's new
» contract access
» browse patch tree
» search patch tree
» join mailing list

connection tools
» nameserver lookup
» traceroute
» ping


Find Support Information and Customer Communities for Presario.
Content starts here
DEC TCP/IP UCXVAX_E04042 TCP/IP V4.2 VAX ECO Summary
TITLE: DEC TCP/IP UCXVAX_E04042 TCP/IP V4.2 VAX ECO Summary
 
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.pcsi-dcx_axpexe, then it can
       be expanded by typing RUN kitname.pcsi-dcx_axpexe.  The resultant
       file will be the PCSI installation file which can be used to install
       the ECO.
 
*DEC TCP/IP] UCXVAX_E04042 TCP/IP V4.2 VAX ECO Summary
 
Copyright (c) Compaq Computer Corporation 1999, 2000.  All rights reserved.

Modification Date:  21-DEC-2000
Modification Type:  Documentation:  Technical
                    Removed references to OpenVMS V7.2.  TCP/IP V4.2
                    is not supported on OpenVMS V7.2.

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

OP/SYS:     OpenVMS VAX

SOURCE:     Compaq Computer Corporation

ECO INFORMATION:

     ECO Kit Name:  UCXVAX_E04042
     ECO Kits Superseded by This ECO Kit:  UCXVAX_E03042
                                           UCXVAX_E02042
                                           UCXVAX_E01042
     ECO Kit Approximate Size:  17,046 Blocks
                    Saveset A -  2,754 Blocks
                    Saveset B - 14,292 Blocks

     Kit Applies To:  DIGITAL TCP/IP Services for OpenVMS V4.2
                      OpenVMS VAX V6.2; V7.1
     System/Cluster Reboot Necessary:  Yes
     Installation Rating:  None

     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 DEC TCP/IP V4.2 on OpenVMS VAX V6.2 and 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__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
	     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_
	    and FTP_, 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 VAX 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

---------------------------------------------------------------------------
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
	{, 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_
	    and FTP_, 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
	

---------------------------------------------------------------------------
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

---------------------------------------------------------------------------
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	

---------------------------------------------------------------------------
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
---------------------------------------------------------------------------
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

---------------------------------------------------------------------------
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 '
	and 'login ""' 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  (or end-of-record <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 <00> instead of <01>
	    as the end-of-record tag.  Fixed it to send the proper
	    <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
	

---------------------------------------------------------------------------
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  (or end-of-record <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 <00> instead of <01>
	    as the end-of-record tag.  Fixed it to send the proper
	    <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
	

---------------------------------------------------------------------------
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-21K
     
	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
	
---------------------------------------------------------------------------
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

---------------------------------------------------------------------------
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__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 
	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

---------------------------------------------------------------------------
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
	

---------------------------------------------------------------------------
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 TCPIP> ANALYZE MAIL /REPAIR operation does not fix
        any inconsistencies, but exits with %TCPIP-E-SMTPERROR
        and %TCPIP-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  is not valid for file:
            

	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

---------------------------------------------------------------------------
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  

---------------------------------------------------------------------------
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 " 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


INSTALLATION NOTES:

In order for the corrections in this kit to take effect, the system must
be rebooted.  If the system is a member of a VMScluster, the entire
cluster should be rebooted.

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 UCXVAX_E04042 kit will install on the VAX 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.

       IBM is a registered trademark of International Business Machines
         Corporation.

       UNIX is a registered trademark in the United States and other
         countries, licensed exclusively through X/Open Company Ltd.

       Hewlett-Packard is a registered trademark of Hewlett-Packard
         Company.
Files on this server are as follows:
»ucxvax_e04042.README
».CHKSUM
»ucxvax_e04042.a-dcx_vaxexe
»ucxvax_e04042.b-dcx_vaxexe
»ucxvax_e04042.CVRLET_TXT
privacy statement using this site means you accept its terms