Appendix_5:_Changes_From_Previous_Versions

Introduction

This section summarizes most changes made to UUPC/extended since release
1.12b.  Please contact Drew Derbyshire, help@kew.com, for information on
changes previous to the scope of this document or other questions.

Version 1.12p Revision Summary

Bug Fixes

The manual was reorganized, with the configuration files broken out into
their own section and most of the missing files added.  Also added an
appendix with a brief overview on uucp file transfer protocols.

If no known path delivery path was known for a host (and use of the
default mail server was explicitly barred via the HOSTPATH file), when
RMAIL reported the error it reported the host in error as the local
host.  The message is cor- rected to report the actual problem host.

If a negative sequence number for UUCP spool files was gen- erated, the
resulting generated UNIX format file name could incorrectly have spaces
in it.  Corrected this by only using an unsigned long integer for the
UUCP sequence number.

If an in-memory temporary file actually residing on disk is used in a
for redirected command input (such as bounced mail), the use of the file
fails.  Corrected by closing the file before reopening it for input.

The address parser debugging messages would report an ad- dress as
"local" if the address did not include a host name, which confused users
on site hiding hosts.  Changed the message to more precisely report that
no host is included in the name.

RMAIL would not properly handle bouncing of mail if the originator
address started with a dash (-) because it would be taken as an option.
Modified RMAIL to use "--" option to prevent address from being taken as
an option.

Because RMAIL has trouble with addresses being with dashes (-), UUXQT
would delete any address destined for RMAIL if it began with a dash.
Modified UUXQT to gracefully handle such addresses gracefully by
terminating option processing with double dashes (--).

UUXQT would not properly invoke RMAIL for all addresses if it was passed
more than one DOS command line full of data.  Corrected processing to
execute RMAIL for all addresses provided.

In NEWSRUN, if the search for a news group in the active file fails,
under certain conditions the search will cause the program to terminate
with a memory violation.

The history file processor did not use the same buffer size under DOS as
opposed to various 32 bit environments.  This could cause history record
truncation of records during processing.  Corrected to use standard size
buffers across all platforms.

On multiple disk systems, UUCLEAN under DOS may not find the news
directory if it is on a different drive than the UUPC.RC configuration
file.  Modified UUCLEAN under DOS to look for history file as a signal
to run expire as opposed to active file.

When using the UUCICO NIST support, if an attempt was made to set the
clock before 2 AM GMT during daylight savings times at least 48 days
before the change back to standard time, daylight savings would be
ignored and the clock would be set one hour slow.

When debugging, it was difficult to determine the UNIX file name of a
file in the spool directory.  RMAIL has modified to include various file
identifying information in the exe- cute file.

Version 1.12o Revision Summary

Enhancements

The new Boolean option suppressLoginInfo is added to allow disabling the
display of the system version and login time during remote system login.

The previously unimplemented Boolean option undelete now works under
OS/2.  When noundelete is set or defaulted, files are deleted by ALL
UUPC/extended programs using a faster file delete call which bypasses
the OS/2 Undelete Cache.

Bug fixes

The ACTIVE file processing used by NEWSRUN, EXPIRE, and other news
programs could not handle large ACTIVE files well, relying on a simple
linked list structure.  The prog- ress has been rewritten to use a tree
mimicking the natural structure of the Usenet news hierarchy.

As usual, Kai Uwe Rommel contributed many of the news re- lated fixes to
this release.

When no news server was defined in the UUPC.RC file and no SYS file
existed, an invalid SYS file was generated.  The automatic generation of
the SYS file was corrected to use the mail server as the default news
server as well.

The unused Boolean option compressbatch is dropped.

When no parameter are passed to a program from UUXQT or other programs,
a bug in the IBM OS/2 C/Set++ compiler will generate invalid parameters
to the program.  A workaround has been applied to various programs to
always pass at least a debug level to various programs such as RNEWS,
INEWS, and SENDBATS.

The code added to 1.12n to determine the starting sequence number would
sometimes generate a negative sequence number for jobs.  Corrected to
always limit the sequence number between one and one million.

Various programs tended to have stack overflows under the MS C DOS 8.0
compiler, especially when various common routines called memory
intensive C library functions such as sprintf.  Various common routines
were revised to use more efficient formatting, and in addition various
DOS modules were changed from .COM files to .EXE files to allow
additional memory usage.

Previously, if an entire subdomain (denoted with an asterisk prefix) was
listed in the HOSTPATH file to be routed to a gateway program, the
subdomain entry was passed to gateway program by RMAIL.  RMAIL is
corrected to pass the actual host name being gatewayed to the program.

If RMAIL processed a forward file with no aliases, it would exit with a
non-zero return code but no error message.  It now bounces the mail
properly with a message reporting no addresses could be delivered to,
and then exits with status zero.

When writing entries into the V-Mail server queue, RMAIL searched the
directory for a free file name, which because of a race condition could
result in a file name collision.

RMAIL is modified to use normal sequencing instead for more reliable and
faster operation.

If an entry in the system aliases file was immediately pre- ceded by a
comment line, the comment was processed as part of the alias.  System
alias processing is corrected to com- pletely ignore the comment.

Under Windows NT, changes to the internal configuration table would
cause REGSETUP to fail because of references to NULL pointers.

If UUPOLL was running with auto-UUXQT (-U) mode where UUCICO normally
runs UUXQT in background, UUXQT was never run for the local host.  This
in turn caused news command which would locally queued to never run.

UUPOLL is modified to automatically run UUXQT for the local host when in
auto-UUXQT mode.

When a call grade was specified in the time field of the SYSTEMS file
and UUCICO was invoked to call any system with work ("-s any"), UUCICO
might try to call a system it has no work to send to.

The NIST clock setting code failed to work properly with the MS C DOS
8.0 compiler, and generally smelled bad.  Restruc- tured the code to
break apart system dependent and independent parts, corrected system
dependent code, also revised messages to make the action taken clear.

In some cases, various programs either overreported or un- dereported
problems with deleting files.  Modified affected programs to exactly
report failed deletions of files.

If a group was removed from the ACTIVE file by a rmgroup command, all
groups after that group were deleted as well.  Corrected ACTIVE file
processing routines to not truncate ACTIVE file list.

A space in a message id would cause severe problems with the history
file database.  Modified history file processing to properly handle such
ill-formatted fields.

When RNEWS is processing news from a pipe, it failed to properly process
the data.  RNEWS is modified to (more) gracefully handle such input.

Maximum hop processing news caused infinite loops in NEWS- RUN.
Corrected this error and moved the check maximum hops to inside the SYS
file processor where it belonged.

Other Changes

Correcting of various compiler warnings continued.

Versions 1.12j Through 1.12n Revision Summary

Enhancements

All program beeps can now be suppressed via the new Boolean option
suppressbeep.  (This strange little hack prevents crashes in DOS boxes
on an OS/2 system near and dear to Snuffles's heart, not to mention her
tail.)

Specifying a new default grade for mail is now supported via the
configuration variable mailGrade, and defaults to class 'C'.

UUCICO file transfers are now processed on a per-grade ba- sis.  All
files of a specified class and above are sent first, then all any lower
grade files, one class at time.  The initial cut-off point (above which
all files are sent into random order) is class 'C', and is configurable
via the configuration file variable firstGrade.

Mike McLagan contributed new code to handle news distribu- tion.  News
distribution is now automatically handled by a C news style SYS file.
If no SYS file exists and one is needed, a default configuration is
automatically generated.  In support of news the other following changes
were also made:

1) Remote batched news is now handled by the new program
   SENDBATS.  This program must be run by hand or via the
   UUPOLL -B option.

2) If the local site was previously configured to accept
   news and send copies to other sites using the UUPCSHADOWS
   environment variable, entries for these systems are also
   automatically added to the generated SYS file.  This is
   true even if snews processing is enabled.

3) RNEWS has been broken into two programs, RNEWS and NEWS-
   RUN. NEWSRUN is either executed directly by RNEWS and
   INEWS if the Boolean option fastnews is set, otherwise
   queued to run under UUXQT by an RNEWS generated UUX com-
   mand.  (Note fastnews was broken in 1.12n, and was  fixed
   in 1.12o)

4) A maximum news batch size can be configured via the vari-
   able BatchSize, the default for which is 64 kilobytes.

5) A new default grade send news at is configured via the
   variable newsGrade, and defaults to class 'n'.

6) The program used to compress new can be specified via the
   variable compress, and defaults to the program 'compress
   %s'

7) History file processing is now always enabled; the Boo-
   lean option history is dropped.  Users first using 1.12n
   with news should run the GENHIST program to insure the
   history file is up to date.

8) By default, UUXQT no longer aborts if RNEWS fails.  The
   previous behavior can be restored via the new Boolean op-
   tion newsPanic.

9) The undocumented Boolean option uupcnewsserv is dropped.

10)Archiving old news is no longer supported, and the Ar-
   chive variable is dropped.

11)Active file processing no longer bothers to validate
   whether or not directories exist.

12)In addition to C news SYS file processing, support is
   added for Jeff Coffler's Network News System (NNS) for
   Windows NT.  Processing for NNS  is enabled by the new
   Boolean option nns.

13)Existing snews support is also modified to behave com-
   patibility with SYS file mode processing.  If snews
   processing is enabled and a news SYS file exists, normal
   SYS directed processing takes place in addition snews
   processing.

14)Kai Uwe Rommel wrote a caching function to speed news
   history processing.

15)The OS/2 PNEWS script has been modified to support
   prompting for distribution and providing default re-
   sponses to prompts.

    Note: Both snews and nns modes can be enabled at the
          same time. This makes for really weird results and
          a full hard disk if you don't actually have NNS
          and snews running.

    Note: If NNS processing is enabled and a news SYS file
          exists, normal SYS directed processing takes place
          in addition to NNS processing.

    Note: Version 2.05 of NNS is required to exploit
          UUPC/extended.

The programs MAIL, NEWSRUN, and RMAIL have all been modified to allow
using memory buffering for work files rather than disk based files when
possible if the new Boolean option imfile is set.  All program use a
common API which automati- cally falls back to disk based work files
when imfile is not set and/or when data size exceeds a pre-defined
limit.  A 64K limit is used in 16 bit environments, and one megabyte
limit is used for 32 environments.

If one more or user ids do not have a password, the password prompt for
these user ids can be suppressed via the new Boolean option
suppressemptypassword suppressemptypass- word''.

Configuration file processing is now optimized to limit parsing of
variables to those actually needed.  This trades speed for some
parameters not being checked until the pro- grams that need them being
run.

The current time zone can again be set in the configuration file via the
variable TZ.

    Note: While the time zone is set using the syntax
          EST5EDT, it always prints as a simple hour and mi-
          nute offset.

Dave Watt contributed REGSETUP, to allow inserting UUPC/extended
environment and configuration information into the NT registry.

Kai Uwe Rommel ported FROMWHO, a program to quickly display mailbox
contents.

The job number sequence file (\uupc\seq) is changed from an ASCII file
to a binary file and renamed (to \uupc\spool\seq.dat).  Use of the file
is optimized to use a single open to read and update the file.

The secondary host routing table (\uupc\hostpath), is now only loaded
when needed by the mail router functions.  Pre- viously, it was loaded
whenever the main host table (\uupc\systems) was loaded.

Mail alias processing is now modified so that system aliases will be
gracefully processed recursively, allowing a mail alias in the system
alias file (\uupc\aliases) to directly refer to other aliases in the
system file or itself, which case it is resolved as a local address.

UUPOLL is modified to support the UUCICO auto-UUXQT flag (- U).

When an external shell is invoked by UUCICO, the current debuglevel can
be passed to the external shell via the %x substitution string.

When generating a dummy job via the poll (-P) option, UUSTAT now
supports specifying the job grade via the grade option (-g).

Bug fixes

Miles Zarathustra extensively tested and tuned the Windows serial
communications interface, making it more robust.  In addition, Drew
Derbyshire added application level buffering and line pacing to allow
additional data to be queued for a remote system.

Under DOS using the native (internal) serial port driver, UUCICO would
corrupt memory when exiting.  Corrected in COMM.ASM to load correct
register.

    Note: This change was the primary difference between
          versions 1.12i and the more widely distributed
          1.12j.

UUCICO acted unpredictably if given a login script which ended in an
expect string.  Script processing was modified to properly support this.

UUSTAT failed to report if it was unable to delete a file as part of
kill processing.  The program has been modified to check for such errors
and report them.

If transmitting more than 26 files in one job, the UUCP command used
non- alphanumeric characters in the work file names.  Modified UUCP
command to use 0-9, then A-Z, and then a-z for intermediate file names.

The default packet size for 'G' and 'v' protocols was 1024 bytes, which
is large enough to easily overload many sys- tems.  The default was
reduced to 512 bytes per packet, although the larger value can still be
explicitly specified in the modem file.

The invalid characters percent sign (%) and exclamation point (!) are
now rejected in the domain name.

Host name lookup processing is modified to report in the case of failure
the calling routine and not the internally called common lookup routine.

OS/2 editors and pagers are now invoked via the system() call, which
allows use of PM based editors without going through hoops.  As a
result, support of the Boolean options neweditorwindow neweditorwindow''
and newpagerwindow new- pagerwindoware dropped.

Directory processing, especially the expansion and normali- zation of
directory paths, has been optimized.  This corrects severe performance
problems with the Windows NT versions of various programs, which were
punished by slow system calls to examine the file system.

Attempts to determine file system types and whether they supported long
file names was incomplete under OS/2.  Now under OS/2, long file name
(HPFS) support on a drive is now determined by actually trying to open a
file with a long name rather than asking for the name of the file
system.

Under OS/2 and the 32 bit C/Set++ compiler, the time was not properly
set by the NIST during daylight savings time.  Modified to add in the
required offset.

An extra Windows NT console was being created when running synchronous
programs.  The NT specific support code is cor- rected to avoid this.

Selected debugging messages have been wrapped into condi- tionally
compiled code to make the shipped modules smaller.

Under Windows NT, directory search debugging messages no longer insert
blank lines into the log.

The mail address parser is modified to detect and handle an invalid
(empty) host name being passed in, returning ques- tion marks (?) rather
than a NULL pointer which will crash the program.

If no address information was provided for a entry in nick- name file,
the nickname is now ignored.  Previously, this could crash MAIL.

If quote characters, including double quotes (") and/or angle brackets
(<>) were unbalanced on an entry in the nick- name file, the resulting
processing was unpredictable and usually undesired.  This condition is
now explicitly trapped and the offending entry ignored.

The queuing of mail for remote hosts has been rewritten so that the call
file is written only once, not multiple time as was possible previously
if multiple addresses were queued for the same address.  This prevents
possible errors with UUCICO prematurely sending the file and also
improves per- formance.

Various programs which did not write the user (U) line of the execute
(X.*) file first had problems communicating remote systems running the
brain damaged MKS toolkit.  The programs have been modified to generate
the user line first.

If RMAIL had a problem before fully initialized (such as an invalid or
missing parameter), the message would not be logged.  This has been
corrected by opening the log file before parsing options.

The DOS and Windows/NT batch file version of UUCLEAN would loop if
neither TMP nor TEMP were in the environment.  Modi- fied the batch
files to use a reasonable default.

The UUPOLL status in the OS/2 task list and Windows NT title bar would
be obsolete during sleep periods.  UUPOLL now updates the message more
often.

UUCICO execution duration would vary up to 59 seconds from the desired
time relative to UUPOLL.  Modified UUPOLL and UUCICO to more exactly
handle when a passive poll termi- nates, allowing an active poll to
start at a more consistent time.81

Rapid suspends and resumes of ports under OS/2 could cause UUCICO to
hang.  Corrected by Kai Uwe Rommel by the addition of suitable delays.

The UUCP 't' protocol support was just plain wrong, and would not
inter-operate with any non-UUPC/extended UUCICO.  Corrected to use the
correct protocol.

    Note: This makes the UUCICO 't' protocol incompatible
          with versions of UUPC/extended previous to 1.12m.
          A workaround for these old systems is to use 'e'
          protocol, which is compatible (and correct).

The UUCP 'e' protocol failed to report when a time out oc- curred,
causing UUCICO to hang if a remote connection was lost.

Both the UUCP 't' and 'e' protocol modules failed to report when various
time-out errors occurred, leaving it up to the user to guess.  Both
modules have been to report time-outs, and in addition the TCP/IP
protocol module has been modified to report if an end of file condition
arises.

If for a TCP/IP connection, the port number was appended to the host
name in the systems file, it was not converted properly into binary.
Corrected in ulibip.c.

Other changes

The Microsoft Visual C++ 2.0 compiler for Windows NT is now supported.

The Microsoft Visual C++ 1.5 (DOS 8.0) for DOS is now sup- ported.

The License has been rewritten and included with each ar- chive.

Numerous compiler warnings for various compilers have been suppressed.

Versions 1.12h through 1.12i Revision Summary

Enhancements

Added support for the OS/2 IBM C Set++ 2.01 compiler.  This was based on
work from Kai Uwe Rommel.

Added Ignore= variable to allow configuring headers ignored by Print
command in mail.

Added ReplytoList= variable to allow configuration address replied to
from the Reply command in mail.

Added HonorControl Boolean option to determine where or not addgroup and
rmgroup news control messages are honored.

The OS/2 version of the WAITING command now prints the mail- boxes with
waiting mail in user id order.

If a remote error correcting modem connects to a UUPC/extended system
without an EC modem, the login prompt could be presented before the
remote system was ready for it.  The AnswerDelay= variable has been
added to allow a configurable delay in how long the answering UUCICO
waits before sending the login prompt, with a default of 2 sec- onds.

Bug Fixes

Modified change directory functions to properly update saved directory
if any and only change directory works.

Corrected various functions to RMAIL to insure redirection of input
works properly for nested invocations of programs.

Revised memory allocation of host name table and associated information
to reduce storage fragmentation in memory con- strained (16 bit)
versions.

Revised memory allocation in MAIL to allow processing large mailboxes
(greater than ~ 250 items) under DOS by freeing constrained NEAR memory.

Control characters are now stripped out of OS/2 generated messages so
they appear on one line.

If the public directory for a host is overridden by the Permission file,
the directory is now correctly expanded in other directory references
for that host in the Permissions.

Modified ExtractAddress() to correctly parse multiple ad-

dresses from the same input line as required.

Leading and trailing spaces are now stripped from addresses in alias and
forwarding files.

When attempting to access devices (i.e. the printer port) to save files
on, MAIL no longer appends the default suffix.

RMAIL was unable to generically parse RFC-822 headers.  The parsing of
headers is now revised to handle any valid input.

RNEWS failed to properly assign article numbers for dupli- cate articles
when using a history file.  Corrected by Kai Uwe Rommel.

The database functions used by RNEWS and EXPIRE failed to report the
nature of various operating systems errors (such as missing files).
Corrected by addition of new messages and additional checks for error
returns from function calls.

The GETUUPC.CMD, used under OS/2 to perform configuration file lookups,
had trouble locating path names under selected conditions.  Corrected.

The buffer allocated by the communications suite handler for
communications I/O was sometimes smaller than the default system I/O
buffer size (BUFSIZ) on 32 bit systems.  Updated to insure at least
BUFSIZ bytes are allocated.

The updates of the system status file was overly aggressive, and
collisions would impact performance if two copies of UUCICO were dialing
out at the same system.  The status file is now only updated when
connecting or exiting UUCICO.

The system status file was renamed and backed up every time it was
updated.  This was redundant since the file is now locked using the
UUCICO lock manager; the backup is now omitted.

The 'g' protocol handler in UUCICO was allocating an unused local buffer
which could consume up to 1K in extra memory.  The allocation is
deleted, and an additional buffer is also moved to FAR memory to release
constrained NEAR memory under DOS and 16 bit OS/2.

Some UUCP systems (including Taylor v1.04) only send 7 char- acters of
their host name when answering a call, and UUPC/extended required 8 if
it knows the system by 8 charac- ters or longer.  Corrected to only
compare 7 characters if that is all is that presented.

An anonymous host attempting to send a file would cause UUCICO to abort
the connection.  Modified UUCICO to reject the file gracefully without
dropping the connection.

The NIST clock setting routine could be easy confused by garbage input
from the remote system, and set the time off by several hours.  Modified
nbstime() to require an exact match of all expected characters before
setting the clock.

nbstime() failed to properly report the number of seconds the clock was
adjusted.  Corrected to report the delta, and to also report when the
system believed it was perfectly in sync with the time server when it
set the clock.

Numerous internal changes have been made to the building of
UUPC/extended from source.  By default, pre-compiled headers are used
for the IBM C Set++ compiler and Borland C++, all supported compilers
except Borland C++ use the same rewrit- ten NMAKE.MAK file, a full list
of dependent headers is generated and included to insure files are
correctly recom- piled after a header file update, etc.

The reported serial port speeds in messages under OS/2 with 32 bit
compilers was humorous, if dead wrong.  Corrected to report the boring
but correct speeds.

The OS/2 serial port handler, which includes support to attempt to fill
its internal receive buffer when one charac- ter is read at speeds over
2400 bps.  Unfortunately, it was attempting to fill the buffer if one
character was read OR the speed was over 2400 bps.  Corrected processing
to the logical AND intended.

UUPORT did not return the documented return codes.  Cor- rected by Kai
Uwe Rommel.

UUSTAT suffered from a memory leak and other inefficiencies which caused
it to run out of memory under DOS.  Deleted various unneeded debugging
code, and corrected status func- tion to free unneeded memory.

Versions 1.12c through 1.12g Revision Summary

Bug Fixes

Under DOS with the Borland C++ 3.1 compiler, UUXQT would randomly abort
or cause RMAIL to abort if too many files were processed in one pass.
This was finally traced to prob- lems with C run time library function
putenv(), and the

problem call deleted.

Richard Gumpertz <rhg@cps.com> made numerous changes to allow clean
compilation under MS C 7.0.

Richard Gumpertz modified the internal DOS communications driver
(COMM.ASM) to better support 8250 based serial ports, to handle RTS flow
control (to prevent the modem from over- running the serial port), and
to allow non-standard IRQ/port assignments at compile time.  (This
latter support is not enabled in the shipped executables.)

Richard Gumpertz converted the ArtiComm specific INT 14 communications
driver into a generic INT 14 driver and cor- rected various bugs within
it.

Both OS/2 and Windows NT communications drivers were modi- fied to
attempt to read and buffer as many input characters as possible to
reduce the number of calls to the operating system communications
functions, improving through-put.

If a 'g'/'G'/'v' protocol connection encountered a time-out condition,
it tended not to be reflected for double the user specified time-out
condition.  Corrected to use the true time-out.

The communications suites which use internal buffers were changed to use
a common buffer in FAR memory which is allo- cated and released as
needed by the communication suite selection functions.  This allows a
bigger buffer to used without multiple copies being required by
individual suites.

Kai Uwe Rommel and Drew Derbyshire converted arpadate() to

use actual time zone offsets rather than time zone names.  This is
necessary to allow proper display of time zones outside North America.

The OS/2 version of MAIL could not start a PM editor or pager in version
1.12b.  Added Boolean options neweditorwin- dow and newpagerwindow to
allow starting a new editor window or new pager window under OS/2 to
handle PM based editors and/or pagers.

If a environment prefixed configuration file variable (i.e.  OS2.foo)
was invalid, the environment name was reported, not the actual keyword.
Corrected to report both parts of the name.

Under Windows, file direction didn't work properly for out- put files.
Corrected by Richard Gumpertz.

expand_path() did not always save current directory prop- erly.
Corrected by Richard Gumpertz.

Conversion for the Kanji character set did not work properly under
Borland C++ because of differences between error re- turns in the MS C
and BC++ run time libraries.  Corrected by using generic error check.

If the temporary directory was a root directory, double slashes were
inserted into the name.  Corrected by checking for multiple slashes and
deleting them in mktempname().

Under Windows NT, abort of communications processing in UUCICO was not
graceful.  Corrected by Dave Watt.

The Windows NT file mapping routines could not determine if remote
volumes accepted long names.  Corrected by Dave Watt.

Programs which saved and restored the current directory when changing
directories did not work if the new directory was changed to a different
drive.  Corrected by Richard Gum- pertz.

If remote file access was granted to an entire drive through the
permissions file, access was denied to the drive because the directory
searched for did not match the actual saved path in the security tables.
Corrected.

The Windows 3.x version of UUPOLL would crash the first time UUCICO
exited.  Corrected via new function declarations by Paul Steckler.

In MAIL, issuing the header or Header commands to display the summary of
the items in the mailbox often caused the last header description to be
displayed twice.  Corrected.

In MAIL, trying to save mail to the parent directory using
.. notation was rejected because the first period was taken to be the
current item in the mailbox.  Corrected.

In MAIL, entering a mail command within the program with a subject but
no addresses caused the program to crash.  Cor- rected mail sending
functions to verify at least one address exists.

RMAIL incorrectly attempted to initialize the current date string before
the time zone information had been initial- ized.  Corrected by Kai Uwe
Rommel.

UUCICO printed dialing and connection speeds for network oriented
protocols which in truth have no speeds associated with them.

New messages were added for these suites.

Reordered 't' protocol packet processing to correct problems encountered
when running over named pipes.

Modified file buffering into the common UUCICO packet proc- essing to
correct nasty OS/2 32 bit performance hits because of unbuffered files.

Adding missing winsock.h to distribution source.

Virtually every error message in the OS/2 serial port driver reported
the routine name for OS/2 API errors as DosDe- vIOCtl.  Revised messages
to reflect the sub-function of this routine being invoked to make error
reporting more unique.

The OS/2 and Windows NT serial port drivers have been modi- fied to save
and restore modem settings to their original state when the port is
closed.

On non-FAT file systems, different subdirectories were cre- ated in the
spool directory for use by UUXQT under DOS and the native OS/2 or
Windows NT UUXQT.  Corrected so all gen- erated names use a system name
of no longer than eight characters.

RMAIL makes use a new configuration variable MaximumUUXQT, to determine
the longest line which can be written in a command line to a remote
system.  The old hard coded value and new default is 512 bytes.

If neither environment information nor a UUCP From line with "remote
from" was passed to RMAIL, the program would gener- ate an invalid new
UUCP From line.  Corrected by examining the From line more diligently in
ParseFrom().

In 16 bit OS/2, UUCICO would report an out of memory condi- tion in
dcpxfer().  Corrected by reducing default transfer buffer size which had
implicitly risen from increased packet sizes.

UUCICO would incorrect attempt to suspend processing on network devices
before calling them.  Corrected by checking for network port before
calling suspend function.

Carrier detect logic for OS/2 and Windows NT both incor- rectly checked
the actual modem status bits.  Corrected in ulibos2.c and ulibnt.c.

UUX wrote the wrong file name in the execute file when queu- ing data
from standard input to be executed on the local system.  Corrected in
UUX.C.

Enhancements and Other Hacks

UUCICO was modified to check the access of all file trans- fers outside
the spool directory, not just remote initiated transfers.  This is more
secure and compatible with the UNIX UUCICO processing.

    Note: The UUCP command -C option causes the input file
          to be copied to the spool directory and trans-
          ferred from the spool.  This option should be used
          to transfer a file from the local system residing
          in a directory UUCICO is not granted read access
          to.

RMAIL will now directly queue mail for Vandenburg Systems Research's
v-mail automated list processor.  Other packages can also process this
queue in a simpler fashion than di- rectly looking in the UUPC/extended
spool queue.

UUCICO now has the ability to pass various connection to child processes
invoked via the shell parameter of the PASSWD file.  The following
parameters are substituted as follows:

   %%  Insert a single percent sign (%)
   %l  Communications port handle (OS/2 and Windows NT only)
   %p  Base name of modem file in use.
   %p  Communications port name
   %u  Logged in user name
   %w  Logged in user name (alias compatible with UUCICO command line flags)
   %s  Communications port speed

Default maximum buffer size for 'g'/'G'/'v' protocol packets was raised
to 1024 bytes from 512 bytes.

RMAIL now accepts the -g option to set the grade of outbound mail.

Renamed Aliases keyword in UUPC.RC file to Nickname to bet- ter reflect
the use of the file as compared to the system aliases file.

Added Permissions keyword to UUPC.RC file allow renaming the Permissions
file.

Restored ability to display files destined for spool direc- tories
during transfer, as was the default in releases previous to 1.11y.  The
display of such transfers is enabled by the new Boolean option
showspool.

Richard Gumpertz modified UUX and UUXQT to work properly together in the
same fashion as UNIX systems.  NOTE THAT AS OF RELEASE 1.12e, NO
SECURITY CHECKING IS DONE ON COMMAND LINE ARGUMENTS TO PROGRAMS EXECUTED
BY UUXQT.

Modified user configuration processing to pick up the cur- rent user id
from either the system environment variables LOGNAME (used by RCS under
variable environments) or USER- NAME (created automatically under
Windows NT).  If UUPCUSRRC is not set, this user id is then used to
locate the [userid].RC file.

Kai Uwe Rommel made numerous enhancements to news process- ing,
especially centering on new history support (prevent duplicate posts)
and writing a back end for posting (INEWS).  Drew Derbyshire then added
backwards compatibility in EXPIRE for installations which do not have
the Boolean option his- tory set.

Kai Uwe Rommel ported the UUTRAF utility to summarize the connections as
recorded in the SYSLOG file.

    Note: To use UUTRAF, you must have the Boolean option
          syslog set.

    Note: This required minor changes to the SYSLOG file
          output format.

Added new Boolean options shortfrom and suppressfrom to alter generation
of the UUCP From line within RMAIL.

When RMAIL queues mail for a single address, the Received:  line now
contains a field specifying the address.

RMAIL now makes additional efforts to determine where mail is from using
the environment data set up by UUXQT if incom- ing mail is lacking a
UUCP From line.  Also, mail for which the source cannot be determined is
labeled as coming from somewhere!unknown rather than the local host
/dev/null.

Kai Uwe Rommel ported the OS/2 version to IBM C Set/2.

Dave Watt ported the automatic port suspension code from OS/2 to Windows
NT.

Dave Watt wrote an 'e' protocol module.

The login script processor was enhanced to support the new escape
sequences \E and \e to enable and disable waiting for each character
sent during script processing to be echoed.  This provides an
alternative to CharDelay to prevent data overruns when dialing and
logging into remote systems.

UUSTAT has been modified to report both the number of call files queued
for and the unprocessed execute files received from remote systems when
the -q option is issued.
