home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
back2roots/padua
/
padua.7z
/
padua
/
uucp
/
duucp-1.17
/
AU-117b0.readme
< prev
next >
Wrap
Text File
|
2014-05-19
|
25KB
|
815 lines
AmigaUUCP 1.17-beta, Long Feature List
This is the long feature list for the AmigaUUCP 1.17-beta release,
providing a detailed list of changes for each program.
THIS IS NOT A COMPLETE RELEASE. Backup what you have before installing
this software. This software is meant to be installed over an existing
AmigaUUCP installation. If are using other news software (such as
wCNews) you should pick and choose carefully what you install.
Thanks go to a variety of alpha-testers. Many source changes were provided
by Chris Hinds Genly for ANSI compatibility. Many suggestions were posted
and provided by Kai 'wusel' Siering.
Note that this *is a beta*. There may still be severe problems. Please
refer issues to me (amigauucp@adastra.cvl.va.us). I have not provided
updates to DMAIL or DNEWS because they are still messy.
Major changes throughout:
Understands UUSpool: subdirectories by system
ANSI, GCC, and (hopefully) SAS/C compatible
malloc() results checked throughout
error returns at 30 instead of 1
usage() messages put out for wrong arguments
pure and residentable, except for Getty
updated man pages
Major changes by program:
SENDMAIL:
.22
Added in support for wusel's RFC-976 SmartUUCP option.
No longer lose the first header if it isn't "From " and
properly process mail that starts with a ">From ". SMail
and sendmail 8.* both do this differently.
.21
Check malloc() results.
Reformat. Added debugging when PROCDEBUG defined at compile time.
Message-id is now RFC-822 compliant.
If a message-id header exists, a new one is NOT added.
A new config option StripUUCP causes addresses to have ".UUCP"
stripped prior to resolving domain stuff. Primarily for the
uunet.ca folks...
Bounces now return up to 65535 lines of the bounce.
Now calls UUX instead of building UUSpool: files internally.
Errors to stderr instead of stdout.
A locally stored message now has a proper "id" in the Received
header.
Comparisons for headers are no longer case sensitive.
Deal properly with TIMEZONES of the form -0500 and +0400.
Partial timezones are still not supported, but this would
be easily added if anyone needs it.
Use standard list processing features instead of the "funky"
stuff that Matt depended on.
If RealName is empty, then an empty "()" is no longer appended.
Multiple From: and Subject: lines are no longer submitted in
the final mail. The last one in applies.
If the UserName supplied via "-f" has a "@" or "!" in it, then
"@node.domain" is no longer appended; the "-f" argument is taken
as a FQDN for the From: header.
UUXQT:
.19
Added rlharc for Peter Simons LHarcUUCP.
.18
Changes to support UseSubDirs. If UseSubDirs is set, UUXQT
will scan for files in UUSpool as well as all its subdirectories.
If a hostname is given as an argument, UUXQT will process only
that hostname's subdirectory.
.17
Parse the X.* file more cleanly.
Error messages now go to stderr, not stdout.
.16
Cleaned up debugging output (when compiled with PROCDEBUG).
.15
Doesn't confusingly report that there are "no files to process"
when re-checking for new files, after the first set has already
been processed. Exits quietly.
.14
Reformatted.
RNEWS now gets file named explicitly instead of as stdin. This
is a performance win (fewer seeks).
Checks are made earlier to see if UUXQT is already running.
No longer explicitly name UUSPOOL when doing directory scan,
this should improve scan times (UUXQT does a chdir() to UUSPOOL
almost first thing -- always has, so that is the current
directory for the scan).
Improved some error handling.
UUXQT used to halt after the first batch had an error. Not
any more. The individual error is logged, then UUXQT goes on
to the next batch. The total number of batches with errors is
logged at the end, if there are any.
What, me worry?
.12
Renames control files after error instead of deleting them or
leaving them as is. X. -> E.
Does not chdir back to home directory after error but before
scan is done.
Understands BSMTP (batch SMTP)
UUCICO:
.26
Added -nodelay and -packets to be compatible with wusel's
UUCICO.
-nodelay causes UUCICO to not wait after a "no chars found
at port" (added as part of Steve Drew's changes. see below
starting at "Small mods added.."). For very high speed devices,
it could cause a problem.
-packets causes UUCICO to calculate the most efficient packet
size to use for outgoing packets. NOTE: MANY UNIX SYSTEMS WILL
NOT SUPPORT THIS PROPERLY. Taylor UUCP does, of course. Without
this set, if -P6 (1024 byte packets) and only 100 bytes needed
to be sent, all 1024 bytes were sent. With this set, only 128
bytes are set.
.25
Added checking for USESUBDIRS to uucico.c in read_ctl()
and to sysdep.c in work_scan(). If work_scan() cannot
find files to process in UUSpool:<system_name> it will
search simply UUSpool:.
Logfile name when getty changed to T:uucico.log from
"uuslave.log".
work_scan() no longer terminates the passed hostname after
seven characters. It still only *uses* 7, as do UUX and
sendmail; but the parameter is not modified (this fixes
a problem where a second work_scan for the same system
would fail -- because a full hostname over seven characters
would now only be seven chars, and the directory couldn't
be found).
Several statics depended on DICE startup setting locals
to zero without an initializer. No more.
Noticed that turnon() doesn't know about ^PRLCK. Didn't
fix it though.
.24
Included all of Steve Drew's sd-3 changes, except for
the setvbuf() one. I set _bufsiz to 8192, so that all
stdio files have a buffer of 8K.
SD-3 also included the XferStat patches from Andrew Kopp, as
modified by John Bickers, so they are in here as well.
Fixed/improved a hair on the way Steve was calling the
mailer's and now get the mailer specified in UULib:Config
instead of always using "sendmail".
Included Russell McOrmond's patch to set_baud in sysdep.c
where Overide was not being checked before the baud rate
of the serial port was being changed.
Included several of my debugging patches.
All malloc's are now checked.
Included 'wusel's patches to fix rename() where the destination
name wasn't sent by the remote UUCICO. Allows a directory
destination (from the UUCP command) where the destination was
specified as a directory, and the filename should be the same
as the origination filename.
Filesize and CPS rate for receive_file and send_file are logged,
based on wusel's patches.
Based on wusel's patches, added UUXqtInterval where UUXQT is
started every 'x' number of file pairs (UUXqtInterval is 'x').
Added UUXqtPriority, which defines the priority that UUXqt
is started at. On 1.3, Execute() is used, on 2.0+, System().
The parameter options NDxXrnPstB and -proto now may have their
arguments either WITH OR WITHOUT a space.
The -N option now has the parameter length checked against
maxhostlen (20).
XferStat now has a single array with the logfile name in it,
and the protocol is always logged (was just for 'G' & 'g').
Externs cleaned up, all necessary externs are "Prototype"d
and SysBase and DOSBase are in "includes.h".
Eliminated use of "shorts" in deference to ints.
Most honest-to-goodness error messages used to go to stdout.
They now go to stderr. I think I got most of them. Debug messages
still go to stdout. Most real error messages are also logged.
After closing the serial port, now wait 5 seconds (used to be 3)
before trying to reopen it.
UUCICO now reports when it doesn't know the system name, without
failing quietly.
Now, if a send-expect timeout occurs, and no retries/retransmits
(ie, the '-' in the send-expect string) are left, the loop
stops without sending the other stuff in the send-expect string.
A couple of FAIL vs. REFUSED checks were wrong (normally not
important, but I wanted it correct); and a couple of if()
statements depended on SUCCESS == 0.
On a send-expect abort, don't run UUXqt.
In local_receive_file() the "Receive" request was being built
with garbage on the end. Most UUCP's couldn't care less, because
the garbage was AFTER everything they looked for. Taylor cares
because it has extensions that use the space afterwards. Thanks
to Peter Woods <peterw@swamp.amigans.gen.nz> for noticing this
and providing a fix that I based my fix on. Also added some
additional logging (at level 1) to note when this happens.
These are Steve Drew's (drew@bootrom.cgo.dec.com) changes:
o Small mods to reading chars that results in less cpu load
when recieving data at high speeds. This only seems to have
a noticeable benifit to faster Amiga's ie 020/030/040 machines.
I have seen the load go from %70 down to < %10 on a 030 machine.
o Fix to getname() that resulted in overwritting memory for
systems that gave > 20 chars of data in the Shere message.
(Thanks to Kai 'wusel' Siering for the fix).
o run sendmail async
o Added Mail notify on failure/success file copies (see below)
o Added Packet retransmit loggin. (adds line to uuspool: if any
retransmits)
o GIO changes to Force failure if > %25 packets in error.
o Fixed bug with send_file returning COPYFAIL (otherwise
AmigaUUCP could loose files on send if protocol error just
after startup)
o Logging of phone number dialed to logfile (even if dial fails).
o Record device used and phone number dailed in xferstat.
o Records if conversation failed to both logfile and xferstat.
xferstat example:
< bigsys 06-12-92 00:45:36 > 06-12-92 00:45:49 (00:00:13) 1121 590 52%
| g 3 256 427 14155 # 0 7680 # 0 1
| VIA device serial.device unit 0 number 5558014
# Conversation FAILED => LOGFILE
.23
send-expect timeout modified for instr().
UUCP:
.04
Now, checks for USESUBDIRS config option, and if set, try
to use UUSPOOL:systemname. If a Lock() on that directory
fails, then place command files in UUSPOOL the old way.
Accept "-u user" and "-g grade" options, to set the user
and grades used. User, as before, defaults to what is set
in UULib:config. Grade, as before, defaults to "A".
Fixed extra chdir() bug where a lock could be left on UUSPOOL.
Eliminated lots of unused, unrequired, static arrays.
.03
UUCP no longer reads UULib:Config directly, it uses the
library routines.
No longer uses 'ints' to hold addresses.
Error messages go to stderr, not stdout.
Global pointers are properly null'ed.
Added an atexit() handler, to deal with locks and libraries.
Reformat.
UUNAME:
.03
UUNAME now works as advertised. New -c and -l arguments are
recognized, in conformance with HDB UUCP. Duplicate sites
in L.Sys are not listed.
UUSTAT:
.02
Now check UseSubDirs
.01
Initial release
UUX:
.08
Use read() and write() for copying the files to get
major speed increase.
Added checks for UseSubDir. If set, then place files in
subdirectories of UUSPOOL. If not, do as always.
Add -g (grade), -u (user), and -n (no copy) options.
Up stdio buffer size to 8K. Improves performance dramatically.
.07
Removed enforcer hit/array limits on filesize.
Now used buffered stdio for copying the data file instead
of character stdio.
Error messages now go to stderr, instead of stdout.
No files are left open at exit, now.
All global pointers are properly null'ed.
No more 16/32 bit assumptions (addresses were in ints).
Reformat.
UUHOSTS:
.04
Updated. Its still worthless, use UUNAME.
UUPOLL:
.05
Removed stuff that doesn't make any difference any more (like
checking T:UUCP.LOCK) and ANSI'ed the program.
It's still worthless. Don't use it.
FIFO
37.5
The fifo-hander now understands ACTION_WAIT_CHAR. It doesn't
actually honor the timeout field, but assumes a zero timeout
(for knowing whether or not a character is present to be
read). Patch provided by David Varley, Victoria, Australia
(sol.deakin.OZ.AU!drum3!dave).
All version strings (and the library Version/Revision)
updated to 37.5.
Cleaned up sources to compile with ANSI flags set. Updated
makefile with an "install" command and changed it to not
compile directly to L: and LIBS:.
37.4
Added 'K' flag. This flag causes any Write() to fail if
there are no readers on the other end of the fifo and is
extremely useful in preventing lockup situations.
Changes made to l:fifo-handler and libs:fifo.library
UUCP.LIB
1.17
LoadHashObject() now allows an escaped (via '\') quoted string in
the input (UULib:Aliases).
Sources are now ANSI compliant. Removed most ndir stuff as SAS/C,
DICE and GCC all have their own. Removed qsort(). Removed the
/include/sys/*.h files, as they conflicted with commercial DICE
and GCC, and were unused except for Manx.
Manx support can be considered to be "dead".
security.c now uses the dos.library SameLock() on v36 or above.
getpwnam.c returns real_name information (finger info).
isdir.c now works properly over Envoy.
malloc()'s are now checked throughout the library (with DICE).
C= 2.0 (or above) includes are unconditionally required to generate
the library.
Added safe_chdir() to the library so that the proper CLI directory
is restored on finish.
COMPRESS:
.04
Added in Chris Hinds Genly's changes to use uucp.lib
compression calls. Now knows about ODU.
DCRON
.02
Added IDENT() string.
SAS/C compatibility and ANSI prototypes (Chris Genly's changes,
plus a few).
Got rid of the typedef abominations.
TARSPLIT
.02
SAS/C compatibility and ANSI prototypes (Chris Genly's changes,
plus a few).
UNSHAR:
.02
SAS/C compatibility and ANSI prototypes (Chris Genly's changes,
plus a few).
UUDECODE
.02
SAS/C compatibility and ANSI prototypes (Chris Genly's changes,
plus a few).
Switched use of local index() to libc's strchr().
UUENCODE
.02
SAS/C compatibility and ANSI prototypes (Chris Genly's changes,
plus a few).
FORWARDNEWS.C:
.06
More cleanup changes.
Use pragmas now.
Allow '!' as synonym for '-' in UULib:Sys file for
consistency with Unix systems.
The UULib:Sys file now doesn't have to have '\' continuation
characters on comment and empty lines.
UULib:Sys now allows whitespace to preceed groupnames on
continuation lines.
Some logic changes for a small speedup in processing.
BATCHNEWS.C:
.10
ANSI-fied.
Now supports -t and -h arguments.
A usage() message is printed when bad arguments are used.
All malloc()'s are now checked.
RNEWS.C:
.27
Now, if control is in uulib:newsgroups, file control messages
in control. Otherwise, discard them.
.26
Re-implemented the OnlyOne option (-1) which was evidently
broken as part of the 1.16 base release by Matt! I just got
the first bug report on it.
Removed an extraneous error check in unbatch().
Set-up for "forward-only" groups.
RNews would exit leaving an extra lock on the directory it
started from; if any warning or error messages were printed.
Error messages are now printed to stderr, instead of stdout.
Error exit()'s now exit (30) instead of "whatever" (1, 2, 10
were all used).
.25
Additional debugging data for file removals. New procedure
rm(), which spits out the file name before doing the
remove().
.24
If RNews had to figure out the compression method (ie, -u
wasn't specified, and it was a "compress"/"cunbatch" style
batch); RNews wasn't removing the temporary file. Oops. I
probably broke this in patch 19.
Make DOSBase a "struct Library" not "struct DOSLibrary" for
version checking purposes.
.23
Changed ulog() information for "decompression failed" to a
LogLevel 1, instead of a LogLevel -1 (ie, made it not appear
by default during a local posting).
.22
Added the -p argument to indicate that RNEWS is being called
by POSTNEWS. The only effect is that a specified uncompressor
via the -u argument is ignored (as this is normally specified
as a default in UULib:Config).
Also changed so that if the uncompressor fails, RNEWS does not
terminate but continues to try to interpret the batch. Thus,
programs that don't set the -p properly can create batches,
and post news locally with only a minor performance impact.
.21
The 2.04 includes had Flush() as a void in <clib/dos_protos.h>,
this was screwing with DICE's brain. Using 3.1 includes now.
The temporary file created when "-u" was not being removed
due to the filename array (Buf) being overwritten in the
HandleSequenceNumber procedure -- now the filename has its
own array (FBuf).
.20
RNEWS was not properly terminating the input array from
.next files, causing article numbers to be misformed (this
was broken by .19).
NewsDir is now used, instead of many calls on GetConfigDir().
Memory storing pathnames wasn't being free'd appropriately,
it wasn't returned until RNEWS terminated.
Some error handling added to CopyToGroup().
The '-n' argument now gives more useful information when RNEWS
is compiled with DEBUG.
RNEWS was limiting the size of a .next file to seven bytes.
Not any more.
.19
When the -u flag is specified, a batch header of the "#!"
form is now stripped from the input file -- the compression
header will be logged with "-x 1" or higher.
A article header of "! rnews" (as opposed to "#! rnews")
was allowed. It no longer is.
JunkFlag is now a global, reducing the individual article
data path.
CopyToGroup now uses AmigaDOS style I/O; resulting in a
speed improvement.
HandleSequenceNumber now uses AmigaDOS style I/O; resulting
in a speed improvement.
Several local allocations were removed and replaced with
use of a global Buffer resulting in a speed improvement.
More error handling.
.18
A very-old bug, exacerbated by .17, where a Lock() was not
released on an input file, has been corrected.
.17
Added -u flag for specifying the decompresser to run. SHOULD
be -d (for C News compatibility), but that was already in use
for setting the debug level.
Some work to simplify gunbatch/funbatch, if I decide to go
back and support those.
.16
Changed a buffer to unsigned char, which caused non-cunbatch
compressed-file headers to fail sometimes.
.15
.next files are now created without using update I/O, so that
XFH should work.
Article numbers no longer roll over at 32767.
The long-standing problem with "#! r_n_e_w_s" being in an article
screwing up RNEWS has been corrected.
Even more better error handling.
It was possible for RNEWS to get into an infinite loop under
some error conditions (such as out-of-memory). This is no longer
true.
If a newsbatch does *not* have a "#! cunbatch" header, RNEWS
checks for the "magic numbers" to see if it should be handled
as a compressed batch.
Added '-t' option for specifying temporary directory for building
uncompressed batches. Significantly reduces thrashing on my
news partition when set to T: (ram disk) as well as a significant
speed improvement. Does eat up memory though, especially if the
input is from stdin and it is a pipe.
Initial NewsOverView coding. Not yet supported.
Much reformatting (because I wanted to :).
POSTNEWS.C:
.09
PostNews now sets the -p argument for RNEWS. This requires
RNews-23 or above.
SysBase and DOSBase are declared external for pragma support.
.08
The obsolete 'Newsfeed' email message is no longer sent.
PostNews will no longer duplicate From, Date, Message-Id,
Organization, Subject, or Newsgroup headers. It's comparison
of headers is no longer case-sensitive.
Rewrote lots of it.
Error messages now go to standard error, whereas before
they may have been redirected into the bit-bucket.
If RNews fails while trying to file the article, PostNews
now checks the return status and logs a message. The temporary
files generated to post the news article is NOT deleted.
The day (like "Mon") is now included when PostNews generates
a Date header.
PostNews now checks arguments much more carefully. A variety
of error-checking has been added, and miscellaneous garbage
removed.
The stdio bufsize now set to 8K (from default of 1024 bytes).
TRIMNEWS.C
.07
Made ANSI compliant.
.06
Version .05 of TrimNews would fail on 1.3 and below due to
the use of the 2.0+ function.
TrimNews now logs the number of files deleted and how many
bytes were in the files deleted.
.05
If DeleteFile() fails, print an error message to stdout as to
*why* it failed. Useful for debugging. 2.0 and above only.
On 2.0 and above, if TrimNews is compiled with DEBUG set,
extensive debug information for ExAll() related things is
displayed on stdout.
On 3.0 and above, TrimNews waits for 2 seconds after processing
a directory before switching to the next directory.
.04
When on 2.04 and above, use a double-buffered ExAll(), instead
of the prior single-buffered ExAll(). Allocate the ExAllData
buffers to be 200 bytes larger than ExAll() is informed. These
two changes are to work around ExAll() bugs.
Implement a "-all" argument to indicate that all articles are
to be deleted. This overrides any specification in UULib:Newsgroups
or any -h parameter. ".next" files are NOT deleted.
Implement a "-h <hours>" argument to indicate that deletion
should take place in the specified <hours> instead of days. This
does not override a days argument in UULib:Newsgroups, and is
global (for all newsgroups).
.03
When on 2.04 and above, use ExAll instead of ExNext(). Large
speed improvement and avoid problems with ExNext() on some
filesystems.
Remove stdio for significant decrease in object size.
TrimNews will now recognize a break between groups (it
used to ignore CTRL-C completely).
ANYMAIL.C
.05
Modified source to be ANSI compliant.
SPLITMBOX.C
.02
Modified source to be ANSI compliant.
FROM.C
.06
Added _bufsiz = 8192 for speed.
Some reformat.
.05
Modified source to be ANSI compliant.
.04
If a subject or a username was less than 20 characters wide,
extra newlines would be added into the output for a message.
Not any more...
The username field is expanded to 25 characters, and the subject
field to 45. They both were 20 previously. The message number
field is expanded to 4 characters.
If a username cannot be found, "from" now exits with a return
code of 30, not 0.
"from" now calls exit() instead of falling off...
UIDENT.C
.03
Modified source to be ANSI compliant.
MAILQ.C
.05
Added ctrl-c checking.
Added atexit() support.
Some reformat.
.04
Modified source to be ANSI compliant.
LOCKSERIAL
.03
Modified source to be ANSI compliant.
FLATTOHEIRARCHICAL
.02
Modified source to be ANSI compliant.
EXPANDM
.02
ANSI-ized and output has been prettified.
TRIMFILE
.02
Properly NULL OwnDevUnit in global section.
Error messages to stderr.
Failure exit()'s now at 30, instead of 1.
Improved parameter and other error checking.
Source is ANSI compliant.
Reformat.
GETTY
.14
I have no idea what went into .12 and .13.
Added Chris Wichura's patches for checking DOS version;
and if >= 36 (ie, 2.0 or above) setting the local environment
variable "GettyLogin". If Getty was run with UserReport (-u1);
then User and RealName from the Passwd entry are also set as
local environment variables.
Cleaned up some errors/warnings for non-ANSI-isms.
A bad SetSignal() in Disconnect() was corrected.
All malloc()'s are now checked for success.
The "real" fifo.h is now included.
A lot of reformat, but not complete.