Bug Fixes

The DOS internal serial port driver, COMM.ASM, had the disgusting habit
using an invalid segment register to determine the serial port hardware
interrupt to restore at the end of processing.  This generally left the
DOS system in a highly unstable state upon the exit of UUCICO.
Corrected to load the interrupt number when the segment register was
valid.

If an RFC-822 format input address without a host name (such as user@
with no host) is passed into the address parser, the parser passed a
null pointer to checkname().  Corrected in user_at_node to trap the
invalid address.

If checkname() was called with invalid arguments, its error message was
only slightly more useful than an Amiga DOS guru meditation number.
Changed to report the name of the calling routine rather than checkname
itself.

OS/2 import.c function has the fantasy that undefined file systems such
as VINES handle long names.  Fixed for the specific case, a general fix
was submitted by Kai Uwe Rommel but is not (yet) installed.

The internal fast string allocation function, strpool(), would corrupt
memory if given a string longer than the internal pool size.  Corrected
to simply strdup() the offending string.

Empty password processing was confused with no login password
processing.  Corrected to make the two unique.

The MAIL alias command would cause an abort under Windows NT if given no
operands.  Corrected parser to require at least one operand.  [Get a
life, Dave.]

Special processing for OS/2 made Windows NT handle subshells incorrectly
in MAIL.  Corrected by making the OS/2 processing unique.  (Boy, is it
unique.)

If problems occurred in news processing, the root error tended to be not
reported.  This left the user to ponder a vague generic error message.
Corrected by adding various error checks and messages to news low level
processing functions.

RNEWS failed to honor the Uncompress configuration variable.  Corrected
to give this precendance over the internal function to determine the
decompression program based on the file signature.

The low-level history code generated incompatible history files if
compiled with 16 bit vs. 32 bit compilers.  Corrected by Kai Uwe Rommel.

If neither TMP nor TEMP were set, the batch file (non-REXX) version of
UUCLEAN would go into a recursive loop.  Corrected by supplying a
reasonable default directory of \UUPC\TMP in this case.

The OS/2 REXX version of SU would incorrectly double the final backslash
in the UPCUSRRC variable path name.  Corrected to only use a single
backslash.

Carrier detection loss was not always performed reliably because the
error flag was reset after each query of the carrier detect status.
Modified carrier detection routines in different environments to latch
lost carrier status until explicitly reset.

Under Daylight savings time, the 32 bit OS/2 version set the clock an
hour off when calling NIST.  Corrected to add in the missing hour.

If the native DOS serial port driver detected the close function was
called when the port was already closed, the program aborted with no
specific error message.  A message has been added.

Under OS/2 or Windows NT, if a UUCICO tried to set up a pipe to allowing
suspending use of the port while phone was waiting to ring and a pipe
already existed, the results were unpredictable.  Corrected by Dave Watt
to detect and handle the error.

If UUSTAT could not delete a file to kill a job, it would still report
success.  Corrected to check return codes from the delete function and
to report success accordingly.

Enhancements

Drew Derbyshire, with help from Dave Watt, added support to all
environments to update title and/or task list with program name,
version, and/or current action.

Hot handle support was added to OS/2 and Windows NT.

Dave Watt added TCP/IP support to the OS/2 32 bit version.

NOTE:  If you do not have TCP/IP installed, you must DELETE
       the supplied 32 bit UUCICO.EXE and rename the supplied
       UUCICON.EXE to UUCICO.EXE.

A new command, UUCPD.CMD, has been in support of UUCICO under
IBM TCP/IP for OS/2.

UUCICO has been modified to support optionally firing off UUXQT
automatically for a system as soon as the connection to that system is
complete via the new -U.  This is primarily for use by the hot handles
support.  UUPOLL has been modified to also accept the flag, and to
not run UUXQT when UUCICO will do so.

Under Windows NT, the configuration information can be added to the NT
registry to allow retrieval from there rather than from the UUPC.RC
file.  This support added by Dave Watt.

The internal fast string allocation function, strpool(), determined the
length of every string allocated everytime it allocated a new string.
Modified to cache this information at the cost of one byte per string.

Modified RMAIL gateway function to include the from user and from node
as additional parameters on the gateway command line to keep the
information available.

Kai Uwe Rommel added a grade option to inews.

The OS/2 REXX version of SU now automatically sets the environment
variable LOGNAME to the mailbox name of the user as well as the UPCUSRRC
variable.

Added new boolean option SuppressEmptyPassword to cause skipping of the
prompt for a null (empty) password by UUCICO.
