home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / uucp / duucp-1.17 / AU-117b-bin.desc next >
Encoding:
Text File  |  2014-05-19  |  25.8 KB  |  848 lines

  1.  
  2. Here is the next release (beta, at least) of AmigaUUCP. It includes updates
  3. to many programs, many bugfixes, etc. It does not currently include updates
  4. to DMAIL or DNEWS, or include any of the contributed programs. Those will
  5. be present in the full release, which is still being put together.
  6.  
  7. As promised, its here before the end of the year (1993), although not by
  8. much!    :)
  9.  
  10. There are many added features. See the list below for more information.
  11.  
  12. There are four files in this release. If you do not have MUNPACK, you may
  13. BMS these from adastra.cvl.va.us, or FTP them from hopper.itc.Virginia.EDU,
  14. probably in pub/incoming.
  15.  
  16. I am only posting binaries and man pages to alt.sys.amiga.uucp.patches, not
  17. the sources. Those ARE available for BMS or FTP as described above and below.
  18. BTW, GRn 2.0i is also available for FTP from hopper.itc.Virginia.EDU.
  19.  
  20. The readme is this file.
  21.  
  22. The files are:
  23.  
  24. Ram Disk: > ls archives:au-*
  25.  ----rwxd    1        25064  29-Dec-93 18:47:12  AU-117b.readme
  26.  ----rwxd    1       233054  29-Dec-93 18:41:44  AU-117b-src.lha
  27.  ----rwxd    1       449766  29-Dec-93 18:37:54  AU-117b-bin.lha
  28.  ----rwxd    1       154273  29-Dec-93 21:07:49  AU-117b-man.lha
  29.            862157 bytes (1686 blocks, 4 items shown)
  30.  
  31. At least one enterprising soul found these available and started BMS'ing
  32. them before I released this note.   :)
  33.  
  34. AmigaUUCP 1.17-beta, Long Feature List
  35.  
  36. This is the long feature list for the AmigaUUCP 1.17-beta release,
  37. providing a detailed list of changes for each program.
  38.  
  39. THIS IS NOT A COMPLETE RELEASE. Backup what you have before installing
  40. this software. This software is meant to be installed over an existing
  41. AmigaUUCP installation. If are using other news software (such as
  42. wCNews) you should pick and choose carefully what you install.
  43.  
  44. Thanks go to a variety of alpha-testers. Many source changes were provided
  45. by Chris Hinds Genly for ANSI compatibility. Many suggestions were posted
  46. and provided by Kai 'wusel' Siering.
  47.  
  48. Note that this *is a beta*. There may still be severe problems. Please
  49. refer issues to me (amigauucp@adastra.cvl.va.us). I have not provided
  50. updates to DMAIL or DNEWS because they are still messy.
  51.  
  52. Major changes throughout:
  53.  
  54.     Understands UUSpool: subdirectories by system
  55.  
  56.     ANSI, GCC, and (hopefully) SAS/C compatible
  57.  
  58.     malloc() results checked throughout
  59.  
  60.     error returns at 30 instead of 1
  61.  
  62.     usage() messages put out for wrong arguments
  63.  
  64.     pure and residentable, except for Getty
  65.  
  66.     updated man pages
  67.  
  68. Major changes by program:
  69.  
  70. SENDMAIL:
  71.  
  72.     .22
  73.         Added in support for wusel's RFC-976 SmartUUCP option.
  74.  
  75.         No longer lose the first header if it isn't "From " and
  76.         properly process mail that starts with a ">From ". SMail
  77.         and sendmail 8.* both do this differently.
  78.  
  79.     .21
  80.         Check malloc() results.
  81.  
  82.         Reformat. Added debugging when PROCDEBUG defined at compile time.
  83.  
  84.         Message-id is now RFC-822 compliant.
  85.  
  86.         If a message-id header exists, a new one is NOT added.
  87.  
  88.         A new config option StripUUCP causes addresses to have ".UUCP"
  89.         stripped prior to resolving domain stuff. Primarily for the
  90.         uunet.ca folks...
  91.  
  92.         Bounces now return up to 65535 lines of the bounce.
  93.  
  94.         Now calls UUX instead of building UUSpool: files internally.
  95.  
  96.         Errors to stderr instead of stdout.
  97.  
  98.         A locally stored message now has a proper "id" in the Received
  99.         header.
  100.  
  101.         Comparisons for headers are no longer case sensitive.
  102.  
  103.         Deal properly with TIMEZONES of the form -0500 and +0400.
  104.         Partial timezones are still not supported, but this would
  105.         be easily added if anyone needs it.
  106.  
  107.         Use standard list processing features instead of the "funky"
  108.         stuff that Matt depended on.
  109.  
  110.         If RealName is empty, then an empty "()" is no longer appended.
  111.  
  112.         Multiple From: and Subject: lines are no longer submitted in
  113.         the final mail. The last one in applies.
  114.  
  115.         If the UserName supplied via "-f" has a "@" or "!" in it, then
  116.         "@node.domain" is no longer appended; the "-f" argument is taken
  117.         as a FQDN for the From: header.
  118.  
  119. UUXQT:
  120.     .19
  121.         Added rlharc for Peter Simons LHarcUUCP.
  122.  
  123.     .18
  124.         Changes to support UseSubDirs. If UseSubDirs is set, UUXQT
  125.         will scan for files in UUSpool as well as all its subdirectories.
  126.         If a hostname is given as an argument, UUXQT will process only
  127.         that hostname's subdirectory.
  128.  
  129.     .17
  130.         Parse the X.* file more cleanly.
  131.  
  132.         Error messages now go to stderr, not stdout.
  133.  
  134.     .16
  135.         Cleaned up debugging output (when compiled with PROCDEBUG).
  136.  
  137.     .15
  138.         Doesn't confusingly report that there are "no files to process"
  139.         when re-checking for new files, after the first set has already
  140.         been processed. Exits quietly.
  141.  
  142.     .14
  143.         Reformatted.
  144.  
  145.         RNEWS now gets file named explicitly instead of as stdin. This
  146.         is a performance win (fewer seeks).
  147.  
  148.         Checks are made earlier to see if UUXQT is already running.
  149.  
  150.         No longer explicitly name UUSPOOL when doing directory scan,
  151.         this should improve scan times (UUXQT does a chdir() to UUSPOOL
  152.         almost first thing -- always has, so that is the current
  153.         directory for the scan).
  154.  
  155.         Improved some error handling.
  156.  
  157.         UUXQT used to halt after the first batch had an error. Not
  158.         any more. The individual error is logged, then UUXQT goes on
  159.         to the next batch. The total number of batches with errors is
  160.         logged at the end, if there are any.
  161.  
  162.         What, me worry?
  163.  
  164.     .12
  165.         Renames control files after error instead of deleting them or
  166.         leaving them as is.  X. ->    E.
  167.  
  168.         Does not chdir back to home directory after error but before
  169.         scan is done.
  170.  
  171.         Understands BSMTP (batch SMTP)
  172.  
  173. UUCICO:
  174.     .26
  175.         Added -nodelay and -packets to be compatible with wusel's
  176.         UUCICO.
  177.  
  178.         -nodelay causes UUCICO to not wait after a "no chars found
  179.         at port" (added as part of Steve Drew's changes. see below
  180.         starting at "Small mods added.."). For very high speed devices,
  181.         it could cause a problem.
  182.  
  183.         -packets causes UUCICO to calculate the most efficient packet
  184.         size to use for outgoing packets. NOTE: MANY UNIX SYSTEMS WILL
  185.         NOT SUPPORT THIS PROPERLY. Taylor UUCP does, of course. Without
  186.         this set, if -P6 (1024 byte packets) and only 100 bytes needed
  187.         to be sent, all 1024 bytes were sent. With this set, only 128
  188.         bytes are set.
  189.  
  190.     .25
  191.         Added checking for USESUBDIRS to uucico.c in read_ctl()
  192.         and to sysdep.c in work_scan(). If work_scan() cannot
  193.         find files to process in UUSpool:<system_name> it will
  194.         search simply UUSpool:.
  195.  
  196.         Logfile name when getty changed to T:uucico.log from
  197.         "uuslave.log".
  198.  
  199.         work_scan() no longer terminates the passed hostname after
  200.         seven characters. It still only *uses* 7, as do UUX and
  201.         sendmail; but the parameter is not modified (this fixes
  202.         a problem where a second work_scan for the same system
  203.         would fail -- because a full hostname over seven characters
  204.         would now only be seven chars, and the directory couldn't
  205.         be found).
  206.  
  207.         Several statics depended on DICE startup setting locals
  208.         to zero without an initializer. No more.
  209.  
  210.         Noticed that turnon() doesn't know about ^PRLCK. Didn't
  211.         fix it though.
  212.  
  213.     .24
  214.         Included all of Steve Drew's sd-3 changes, except for
  215.         the setvbuf() one. I set _bufsiz to 8192, so that all
  216.         stdio files have a buffer of 8K.
  217.  
  218.         SD-3 also included the XferStat patches from Andrew Kopp, as
  219.         modified by John Bickers, so they are in here as well.
  220.  
  221.         Fixed/improved a hair on the way Steve was calling the
  222.         mailer's and now get the mailer specified in UULib:Config
  223.         instead of always using "sendmail".
  224.  
  225.         Included Russell McOrmond's patch to set_baud in sysdep.c
  226.         where Overide was not being checked before the baud rate
  227.         of the serial port was being changed.
  228.  
  229.         Included several of my debugging patches.
  230.  
  231.         All malloc's are now checked.
  232.  
  233.         Included 'wusel's patches to fix rename() where the destination
  234.         name wasn't sent by the remote UUCICO. Allows a directory
  235.         destination (from the UUCP command) where the destination was
  236.         specified as a directory, and the filename should be the same
  237.         as the origination filename.
  238.  
  239.         Filesize and CPS rate for receive_file and send_file are logged,
  240.         based on wusel's patches.
  241.  
  242.         Based on wusel's patches, added UUXqtInterval where UUXQT is
  243.         started every 'x' number of file pairs (UUXqtInterval is 'x').
  244.         Added UUXqtPriority, which defines the priority that UUXqt
  245.         is started at. On 1.3, Execute() is used, on 2.0+, System().
  246.  
  247.         The parameter options NDxXrnPstB and -proto now may have their
  248.         arguments either WITH OR WITHOUT a space.
  249.  
  250.         The -N option now has the parameter length checked against
  251.         maxhostlen (20).
  252.  
  253.         XferStat now has a single array with the logfile name in it,
  254.         and the protocol is always logged (was just for 'G' & 'g').
  255.  
  256.         Externs cleaned up, all necessary externs are "Prototype"d
  257.         and SysBase and DOSBase are in "includes.h".
  258.  
  259.         Eliminated use of "shorts" in deference to ints.
  260.  
  261.         Most honest-to-goodness error messages used to go to stdout.
  262.         They now go to stderr. I think I got most of them. Debug messages
  263.         still go to stdout. Most real error messages are also logged.
  264.  
  265.         After closing the serial port, now wait 5 seconds (used to be 3)
  266.         before trying to reopen it.
  267.  
  268.         UUCICO now reports when it doesn't know the system name, without
  269.         failing quietly.
  270.  
  271.         Now, if a send-expect timeout occurs, and no retries/retransmits
  272.         (ie, the '-' in the send-expect string) are left, the loop
  273.         stops without sending the other stuff in the send-expect string.
  274.  
  275.         A couple of FAIL vs. REFUSED checks were wrong (normally not
  276.         important, but I wanted it correct); and a couple of if()
  277.         statements depended on SUCCESS == 0.
  278.  
  279.         On a send-expect abort, don't run UUXqt.
  280.  
  281.         In local_receive_file() the "Receive" request was being built
  282.         with garbage on the end. Most UUCP's couldn't care less, because
  283.         the garbage was AFTER everything they looked for. Taylor cares
  284.         because it has extensions that use the space afterwards. Thanks
  285.         to Peter Woods <peterw@swamp.amigans.gen.nz> for noticing this
  286.         and providing a fix that I based my fix on. Also added some
  287.         additional logging (at level 1) to note when this happens.
  288.  
  289.         These are Steve Drew's (drew@bootrom.cgo.dec.com) changes:
  290.  
  291.           o Small mods to reading chars that results in less cpu load
  292.         when recieving data at high speeds. This only seems to have
  293.         a noticeable benifit to faster Amiga's ie 020/030/040 machines.
  294.         I have seen the load go from %70 down to < %10 on a 030 machine.
  295.  
  296.           o Fix to getname() that resulted in overwritting memory for
  297.         systems that gave > 20 chars of data in the Shere message.
  298.         (Thanks to Kai 'wusel' Siering for the fix).
  299.  
  300.           o run sendmail async
  301.  
  302.           o Added Mail notify on failure/success file copies (see below)
  303.  
  304.           o Added Packet retransmit loggin. (adds line to uuspool: if any
  305.         retransmits)
  306.  
  307.           o GIO changes to Force failure if > %25 packets in error.
  308.  
  309.           o Fixed bug with send_file returning COPYFAIL (otherwise
  310.         AmigaUUCP could loose files on send if protocol error just
  311.         after startup)
  312.  
  313.           o Logging of phone number dialed to logfile (even if dial fails).
  314.  
  315.           o Record device used and phone number dailed in xferstat.
  316.  
  317.           o Records if conversation failed to both logfile and xferstat.
  318.  
  319.         xferstat example:
  320.  
  321.         < bigsys 06-12-92 00:45:36 > 06-12-92 00:45:49 (00:00:13)  1121    590    52%
  322.         | g 3  256    427    14155 #          0     7680 #    0    1
  323.         | VIA device serial.device unit 0 number 5558014
  324.         # Conversation FAILED => LOGFILE
  325.  
  326.     .23
  327.         send-expect timeout modified for instr().
  328.  
  329. UUCP:
  330.     .04
  331.         Now, checks for USESUBDIRS config option, and if set, try
  332.         to use UUSPOOL:systemname. If a Lock() on that directory
  333.         fails, then place command files in UUSPOOL the old way.
  334.  
  335.         Accept "-u user" and "-g grade" options, to set the user
  336.         and grades used. User, as before, defaults to what is set
  337.         in UULib:config. Grade, as before, defaults to "A".
  338.  
  339.         Fixed extra chdir() bug where a lock could be left on UUSPOOL.
  340.  
  341.         Eliminated lots of unused, unrequired, static arrays.
  342.  
  343.     .03
  344.         UUCP no longer reads UULib:Config directly, it uses the
  345.         library routines.
  346.  
  347.         No longer uses 'ints' to hold addresses.
  348.  
  349.         Error messages go to stderr, not stdout.
  350.  
  351.         Global pointers are properly null'ed.
  352.  
  353.         Added an atexit() handler, to deal with locks and libraries.
  354.  
  355.         Reformat.
  356.  
  357. UUNAME:
  358.     .03
  359.         UUNAME now works as advertised. New -c and -l arguments are
  360.         recognized, in conformance with HDB UUCP. Duplicate sites
  361.         in L.Sys are not listed.
  362.  
  363. UUSTAT:
  364.     .02
  365.         Now check UseSubDirs
  366.  
  367.     .01
  368.         Initial release
  369.  
  370. UUX:
  371.     .08
  372.  
  373.         Use read() and write() for copying the files to get
  374.         major speed increase.
  375.  
  376.         Added checks for UseSubDir. If set, then place files in
  377.         subdirectories of UUSPOOL. If not, do as always.
  378.  
  379.         Add -g (grade), -u (user), and -n (no copy) options.
  380.  
  381.         Up stdio buffer size to 8K. Improves performance dramatically.
  382.  
  383.     .07
  384.         Removed enforcer hit/array limits on filesize.
  385.  
  386.         Now used buffered stdio for copying the data file instead
  387.         of character stdio.
  388.  
  389.         Error messages now go to stderr, instead of stdout.
  390.  
  391.         No files are left open at exit, now.
  392.  
  393.         All global pointers are properly null'ed.
  394.  
  395.         No more 16/32 bit assumptions (addresses were in ints).
  396.  
  397.         Reformat.
  398.  
  399. UUHOSTS:
  400.     .04
  401.         Updated. Its still worthless, use UUNAME.
  402.  
  403. UUPOLL:
  404.     .05
  405.         Removed stuff that doesn't make any difference any more (like
  406.         checking T:UUCP.LOCK) and ANSI'ed the program.
  407.  
  408.         It's still worthless. Don't use it.
  409.  
  410. FIFO
  411.     37.5
  412.         The fifo-hander now understands ACTION_WAIT_CHAR. It doesn't
  413.         actually honor the timeout field, but assumes a zero timeout
  414.         (for knowing whether or not a character is present to be
  415.         read). Patch provided by David Varley, Victoria, Australia
  416.         (sol.deakin.OZ.AU!drum3!dave).
  417.  
  418.         All version strings (and the library Version/Revision)
  419.         updated to 37.5.
  420.  
  421.         Cleaned up sources to compile with ANSI flags set. Updated
  422.         makefile with an "install" command and changed it to not
  423.         compile directly to L: and LIBS:.
  424.  
  425.     37.4
  426.         Added 'K' flag.  This flag causes any Write() to fail if
  427.         there are no readers on the other end of the fifo and is
  428.         extremely useful in preventing lockup situations.
  429.  
  430.         Changes made to l:fifo-handler and libs:fifo.library
  431.  
  432. UUCP.LIB
  433.  
  434.     1.17
  435.     LoadHashObject() now allows an escaped (via '\') quoted string in
  436.     the input (UULib:Aliases).
  437.  
  438.     Sources are now ANSI compliant. Removed most ndir stuff as SAS/C,
  439.     DICE and GCC all have their own. Removed qsort(). Removed the
  440.     /include/sys/*.h files, as they conflicted with commercial DICE
  441.     and GCC, and were unused except for Manx.
  442.  
  443.     Manx support can be considered to be "dead".
  444.  
  445.     security.c now uses the dos.library SameLock() on v36 or above.
  446.  
  447.     getpwnam.c returns real_name information (finger info).
  448.  
  449.     isdir.c now works properly over Envoy.
  450.  
  451.     malloc()'s are now checked throughout the library (with DICE).
  452.  
  453.     C= 2.0 (or above) includes are unconditionally required to generate
  454.     the library.
  455.  
  456.     Added safe_chdir() to the library so that the proper CLI directory
  457.     is restored on finish.
  458.  
  459. COMPRESS:
  460.     .04
  461.         Added in Chris Hinds Genly's changes to use uucp.lib
  462.         compression calls. Now knows about ODU.
  463.  
  464. DCRON
  465.     .02
  466.         Added IDENT() string.
  467.  
  468.         SAS/C compatibility and ANSI prototypes (Chris Genly's changes,
  469.         plus a few).
  470.  
  471.         Got rid of the typedef abominations.
  472.  
  473. TARSPLIT
  474.     .02
  475.         SAS/C compatibility and ANSI prototypes (Chris Genly's changes,
  476.         plus a few).
  477.  
  478. UNSHAR:
  479.     .02
  480.         SAS/C compatibility and ANSI prototypes (Chris Genly's changes,
  481.         plus a few).
  482.  
  483. UUDECODE
  484.  
  485.     .02
  486.         SAS/C compatibility and ANSI prototypes (Chris Genly's changes,
  487.         plus a few).
  488.  
  489.         Switched use of local index() to libc's strchr().
  490.  
  491. UUENCODE
  492.  
  493.     .02
  494.         SAS/C compatibility and ANSI prototypes (Chris Genly's changes,
  495.         plus a few).
  496.  
  497. FORWARDNEWS.C:
  498.     .06
  499.         More cleanup changes.
  500.  
  501.         Use pragmas now.
  502.  
  503.         Allow '!' as synonym for '-' in UULib:Sys file for
  504.         consistency with Unix systems.
  505.  
  506.         The UULib:Sys file now doesn't have to have '\' continuation
  507.         characters on comment and empty lines.
  508.  
  509.         UULib:Sys now allows whitespace to preceed groupnames on
  510.         continuation lines.
  511.  
  512.         Some logic changes for a small speedup in processing.
  513.  
  514. BATCHNEWS.C:
  515.  
  516.     .10
  517.         ANSI-fied.
  518.  
  519.         Now supports -t and -h arguments.
  520.  
  521.         A usage() message is printed when bad arguments are used.
  522.  
  523.         All malloc()'s are now checked.
  524.  
  525. RNEWS.C:
  526.     .27
  527.         Now, if control is in uulib:newsgroups, file control messages
  528.         in control. Otherwise, discard them.
  529.  
  530.     .26
  531.         Re-implemented the OnlyOne option (-1) which was evidently
  532.         broken as part of the 1.16 base release by Matt! I just got
  533.         the first bug report on it.
  534.  
  535.         Removed an extraneous error check in unbatch().
  536.  
  537.         Set-up for "forward-only" groups.
  538.  
  539.         RNews would exit leaving an extra lock on the directory it
  540.         started from; if any warning or error messages were printed.
  541.  
  542.         Error messages are now printed to stderr, instead of stdout.
  543.  
  544.         Error exit()'s now exit (30) instead of "whatever" (1, 2, 10
  545.         were all used).
  546.  
  547.     .25
  548.         Additional debugging data for file removals. New procedure
  549.         rm(), which spits out the file name before doing the
  550.         remove().
  551.  
  552.     .24
  553.         If RNews had to figure out the compression method (ie, -u
  554.         wasn't specified, and it was a "compress"/"cunbatch" style
  555.         batch); RNews wasn't removing the temporary file. Oops. I
  556.         probably broke this in patch 19.
  557.  
  558.         Make DOSBase a "struct Library" not "struct DOSLibrary" for
  559.         version checking purposes.
  560.  
  561.     .23
  562.         Changed ulog() information for "decompression failed" to a
  563.         LogLevel 1, instead of a LogLevel -1 (ie, made it not appear
  564.         by default during a local posting).
  565.  
  566.     .22
  567.         Added the -p argument to indicate that RNEWS is being called
  568.         by POSTNEWS. The only effect is that a specified uncompressor
  569.         via the -u argument is ignored (as this is normally specified
  570.         as a default in UULib:Config).
  571.  
  572.         Also changed so that if the uncompressor fails, RNEWS does not
  573.         terminate but continues to try to interpret the batch. Thus,
  574.         programs that don't set the -p properly can create batches,
  575.         and post news locally with only a minor performance impact.
  576.  
  577.     .21
  578.         The 2.04 includes had Flush() as a void in <clib/dos_protos.h>,
  579.         this was screwing with DICE's brain. Using 3.1 includes now.
  580.  
  581.         The temporary file created when "-u" was not being removed
  582.         due to the filename array (Buf) being overwritten in the
  583.         HandleSequenceNumber procedure -- now the filename has its
  584.         own array (FBuf).
  585.  
  586.     .20
  587.         RNEWS was not properly terminating the input array from
  588.         .next files, causing article numbers to be misformed (this
  589.         was broken by .19).
  590.  
  591.         NewsDir is now used, instead of many calls on GetConfigDir().
  592.  
  593.         Memory storing pathnames wasn't being free'd appropriately,
  594.         it wasn't returned until RNEWS terminated.
  595.  
  596.         Some error handling added to CopyToGroup().
  597.  
  598.         The '-n' argument now gives more useful information when RNEWS
  599.         is compiled with DEBUG.
  600.  
  601.         RNEWS was limiting the size of a .next file to seven bytes.
  602.         Not any more.
  603.  
  604.     .19
  605.         When the -u flag is specified, a batch header of the "#!"
  606.         form is now stripped from the input file -- the compression
  607.         header will be logged with "-x 1" or higher.
  608.  
  609.         A article header of "! rnews" (as opposed to "#! rnews")
  610.         was allowed. It no longer is.
  611.  
  612.         JunkFlag is now a global, reducing the individual article
  613.         data path.
  614.  
  615.         CopyToGroup now uses AmigaDOS style I/O; resulting in a
  616.         speed improvement.
  617.  
  618.         HandleSequenceNumber now uses AmigaDOS style I/O; resulting
  619.         in a speed improvement.
  620.  
  621.         Several local allocations were removed and replaced with
  622.         use of a global Buffer resulting in a speed improvement.
  623.  
  624.         More error handling.
  625.  
  626.     .18
  627.         A very-old bug, exacerbated by .17, where a Lock() was not
  628.         released on an input file, has been corrected.
  629.  
  630.     .17
  631.         Added -u flag for specifying the decompresser to run. SHOULD
  632.         be -d (for C News compatibility), but that was already in use
  633.         for setting the debug level.
  634.  
  635.         Some work to simplify gunbatch/funbatch, if I decide to go
  636.         back and support those.
  637.  
  638.     .16
  639.         Changed a buffer to unsigned char, which caused non-cunbatch
  640.         compressed-file headers to fail sometimes.
  641.  
  642.     .15
  643.         .next files are now created without using update I/O, so that
  644.         XFH should work.
  645.  
  646.         Article numbers no longer roll over at 32767.
  647.  
  648.         The long-standing problem with "#! r_n_e_w_s" being in an article
  649.         screwing up RNEWS has been corrected.
  650.  
  651.         Even more better error handling.
  652.  
  653.         It was possible for RNEWS to get into an infinite loop under
  654.         some error conditions (such as out-of-memory). This is no longer
  655.         true.
  656.  
  657.         If a newsbatch does *not* have a "#! cunbatch" header, RNEWS
  658.         checks for the "magic numbers" to see if it should be handled
  659.         as a compressed batch.
  660.  
  661.         Added '-t' option for specifying temporary directory for building
  662.         uncompressed batches. Significantly reduces thrashing on my
  663.         news partition when set to T: (ram disk) as well as a significant
  664.         speed improvement. Does eat up memory though, especially if the
  665.         input is from stdin and it is a pipe.
  666.  
  667.         Initial NewsOverView coding. Not yet supported.
  668.  
  669.         Much reformatting (because I wanted to :).
  670.  
  671. POSTNEWS.C:
  672.  
  673.     .09
  674.         PostNews now sets the -p argument for RNEWS. This requires
  675.         RNews-23 or above.
  676.  
  677.         SysBase and DOSBase are declared external for pragma support.
  678.  
  679.     .08
  680.         The obsolete 'Newsfeed' email message is no longer sent.
  681.  
  682.         PostNews will no longer duplicate From, Date, Message-Id,
  683.         Organization, Subject, or Newsgroup headers. It's comparison
  684.         of headers is no longer case-sensitive.
  685.  
  686.         Rewrote lots of it.
  687.  
  688.         Error messages now go to standard error, whereas before
  689.         they may have been redirected into the bit-bucket.
  690.  
  691.         If RNews fails while trying to file the article, PostNews
  692.         now checks the return status and logs a message. The temporary
  693.         files generated to post the news article is NOT deleted.
  694.  
  695.         The day (like "Mon") is now included when PostNews generates
  696.         a Date header.
  697.  
  698.         PostNews now checks arguments much more carefully. A variety
  699.         of error-checking has been added, and miscellaneous garbage
  700.         removed.
  701.  
  702.         The stdio bufsize now set to 8K (from default of 1024 bytes).
  703.  
  704. TRIMNEWS.C
  705.  
  706.     .07
  707.         Made ANSI compliant.
  708.  
  709.     .06
  710.         Version .05 of TrimNews would fail on 1.3 and below due to
  711.         the use of the 2.0+ function.
  712.  
  713.         TrimNews now logs the number of files deleted and how many
  714.         bytes were in the files deleted.
  715.  
  716.     .05
  717.         If DeleteFile() fails, print an error message to stdout as to
  718.         *why* it failed. Useful for debugging. 2.0 and above only.
  719.  
  720.         On 2.0 and above, if TrimNews is compiled with DEBUG set,
  721.         extensive debug information for ExAll() related things is
  722.         displayed on stdout.
  723.  
  724.         On 3.0 and above, TrimNews waits for 2 seconds after processing
  725.         a directory before switching to the next directory.
  726.  
  727.     .04
  728.         When on 2.04 and above, use a double-buffered ExAll(), instead
  729.         of the prior single-buffered ExAll(). Allocate the ExAllData
  730.         buffers to be 200 bytes larger than ExAll() is informed. These
  731.         two changes are to work around ExAll() bugs.
  732.  
  733.         Implement a "-all" argument to indicate that all articles are
  734.         to be deleted. This overrides any specification in UULib:Newsgroups
  735.         or any -h parameter. ".next" files are NOT deleted.
  736.  
  737.         Implement a "-h <hours>" argument to indicate that deletion
  738.         should take place in the specified <hours> instead of days. This
  739.         does not override a days argument in UULib:Newsgroups, and is
  740.         global (for all newsgroups).
  741.  
  742.     .03
  743.         When on 2.04 and above, use ExAll instead of ExNext(). Large
  744.         speed improvement and avoid problems with ExNext() on some
  745.         filesystems.
  746.  
  747.         Remove stdio for significant decrease in object size.
  748.  
  749.         TrimNews will now recognize a break between groups (it
  750.         used to ignore CTRL-C completely).
  751.  
  752. ANYMAIL.C
  753.  
  754.     .05
  755.         Modified source to be ANSI compliant.
  756.  
  757. SPLITMBOX.C
  758.  
  759.     .02
  760.         Modified source to be ANSI compliant.
  761.  
  762. FROM.C
  763.     .06
  764.         Added _bufsiz = 8192 for speed.
  765.  
  766.         Some reformat.
  767.  
  768.     .05
  769.         Modified source to be ANSI compliant.
  770.  
  771.     .04
  772.         If a subject or a username was less than 20 characters wide,
  773.         extra newlines would be added into the output for a message.
  774.         Not any more...
  775.  
  776.         The username field is expanded to 25 characters, and the subject
  777.         field to 45. They both were 20 previously. The message number
  778.         field is expanded to 4 characters.
  779.  
  780.         If a username cannot be found, "from" now exits with a return
  781.         code of 30, not 0.
  782.  
  783.         "from" now calls exit() instead of falling off...
  784.  
  785. UIDENT.C
  786.  
  787.     .03
  788.         Modified source to be ANSI compliant.
  789.  
  790. MAILQ.C
  791.     .05
  792.         Added ctrl-c checking.
  793.  
  794.         Added atexit() support.
  795.  
  796.         Some reformat.
  797.  
  798.     .04
  799.         Modified source to be ANSI compliant.
  800.  
  801. LOCKSERIAL
  802.     .03
  803.         Modified source to be ANSI compliant.
  804.  
  805. FLATTOHEIRARCHICAL
  806.  
  807.     .02
  808.         Modified source to be ANSI compliant.
  809. EXPANDM
  810.  
  811.     .02
  812.         ANSI-ized and output has been prettified.
  813.  
  814. TRIMFILE
  815.  
  816.     .02
  817.         Properly NULL OwnDevUnit in global section.
  818.  
  819.         Error messages to stderr.
  820.  
  821.         Failure exit()'s now at 30, instead of 1.
  822.  
  823.         Improved parameter and other error checking.
  824.  
  825.         Source is ANSI compliant.
  826.  
  827.         Reformat.
  828.  
  829. GETTY
  830.     .14
  831.         I have no idea what went into .12 and .13.
  832.  
  833.         Added Chris Wichura's patches for checking DOS version;
  834.         and if >= 36 (ie, 2.0 or above) setting the local environment
  835.         variable "GettyLogin". If Getty was run with UserReport (-u1);
  836.         then User and RealName from the Passwd entry are also set as
  837.         local environment variables.
  838.  
  839.         Cleaned up some errors/warnings for non-ANSI-isms.
  840.  
  841.         A bad SetSignal() in Disconnect() was corrected.
  842.  
  843.         All malloc()'s are now checked for success.
  844.  
  845.         The "real" fifo.h is now included.
  846.  
  847.         A lot of reformat, but not complete.
  848.