$Id: NEWS,v 1.74.2.26 2003/05/18 10:57:24 egil Exp $ NEWSX HISTORY ------------- V1.6 - 18 may 2003 Fixes in source code for INN 2.4 (bug #237): Avoid use of BOOL Renamed to avoid conflicts with INN configuration (old problem): NEWSUMASK -> INN_NEWSUMASK NNTP_PORT -> NNTP_PORT_NAME V1.6pre3 - 22 jan 2003 Look for sys/malloc.h as used by Mac OS X. Renamed configure.in to configure.ac Require autoconf version 2.50 or higher. Should not be required to do a straight configure and build, though. V1.6pre2 - 22 jan 2003 New configure option --with-hostconfig to set the directory for the newsx per host configuration file. Corresponding new newsx option --hostconfig. Defaults to setting for inhosts. V1.6pre - 21 jan 2003 Aborted fecthes now updates state more consistently. Configure now insists that libinn and libstorage be present for recent versions of INN. Configure attempts to do more in terms of finding libraries for INN 2.x, so that so --with-newslib should no longer be required except in unusal cases. When we have libstorage, we now insist that we have a storage.h from INN. There is no longer a default storage.h in the distribution. Currently, we look for storage.h in /usr/include and /usr/include/inn and NEWSHOME/include. For other locations, please report to newsx@kvaleberg.no or to bugzilla. The configure option --with-newsinclude may be used for specifying which directory to look in. The distribution contains a suggested patch for INN 2.3.4 that installs storage.h under $NEWSHOME/include. Configure is now updated to latest and greatest autoconf/automake. Names of various internal symbols have changed. The mktemp() vz. mkstemp() issue has been looked into. The bug(s) introduced by use of mkstemp() should now be corrected, and a new internal function newstemp() has been added to replace the mk(s)temp. STORAGEAPI and EXTENDEDDBZ no longer relevant for modern INN. V1.5pre2 - 18 jan 2003 This version was never distributed. Fix from Andreas Metzler <metzler@logic.univie.ac.at> for path_bangs(). V1.5pre - 2 oct 2002 Introduced Bugzilla at http://www.kvaleberg.com/bug/ for reporting of bugs Important error messages now sent to both stderr and syslog, so problems will be discovered when newsx is running under cron (#106) Security fixes wrt. syslog and sprintf (#73) Quoting of leading periods now in accordance to RFC977 (#82) --readbeforeauth and --ihave can now live together (#83) --newlist works again (#104) configure looks even more places and complains more when things are not as they should configure adds options --with-rnews=PROG and --with-inews V1.4pl7 - 6 feb 2002 The following Debian bugs should have been addressed: Bug#127380: newsx fails to upload messages with CR Bug#123119: Filter should no longer cause newsx to stop Bug#88795: newsx: Inn 2.3.1 storage API compilation patch Bug#84621: newsq now supports --help and --version Bug#26209: patches for newsx to support AUTHINFO GENERIC The following FreeBSD bugs should have been addressed: ports/30455: news/newsx: fix problem when inn has tagged-hash V1.4pl6 - 28 jan 2002 Switched from mktemp() to mkstemp() Support for RPM package Fix for reallocation problem in sim.c by Bernhard R. Erdmann V1.4pl5 - 27 jan 2002 Fixed name space collisions for newer INN versions: xmalloc et al. INN storage manager fixes from Petter Gustad. Tagged hash fixes from G. Paul Ziemba. V1.4pl4 - 14 feb 2001 Patches from Winston Edmond. V1.4 - 9 apr 1999 Scanlogs silly error message removed; mea culpa. NeXT detail again. Updated to automake 1.4 and autoconf 2.13 Repaired and updated --groups behaviour. Fix for combination of --tag and --no-path by Stefan Huelswitt, huels@iname.com Standard profile in $PATHETC/newsx.conf Standard profile per server in $INHOSTS/spoolname.conf Documentation now shows reasonably sane filenames even for runtime configuration. V1.4pre3 - 3 Apr 1999 Implemented --profile "filename" that allows command line options to be placed in a profile file. New options, useful for profile files: --spoolname --hostname and --port. Added feature for inn scanlogs lock. Only required if INN scanlogs is patched to read newsx logs. Requires option --scanlogs. By Uli Zappe, uli@zappe.de. Experimental runtime configuration. Can even support a list of alternative configuration files: --with-newsconfig=FILE --with-newsconfig=FILE:FILE Also possibly useful for runtime configuration: --with-newslib=DIR Options --config and --config-is now actually reads the configuration. Add option --verify to just verify it. A couple of remaining NeXT peculiarities handled. Fixes for INN storage-API. Updated INSTALL document somewhat. Also removing "NNTP-Posting-Date:" when posting. Option --tag will always add "newsx" tag to path of incoming messages. Updated documentation. V1.4pre2 - 24 Mar 1999 Implement support for "newsx" as newsfeeds exclude pattern, adding "newsx" to incoming paths as required. Name of host lockfiles made compatible with INN innstat. V1.4pre - 16 Mar 1999 Made INN incoming batch file names correspond to INN convention, i.e. hostnameXXXXXX. Fixed --forget-inactive so that it also works when there are no news, and fixed message too. Reported by Uli Zappe. Now removing "X-Complaints-To:" and "X-Trace:" on posting, in the same manner as "NNTP-Posting-Host:". Implemented interface for INN 2.x storage API. Made configure complain if no libinn is available for INN. This could be a problem for INN 2.x Split dbz v3 and v6 to prepare for more runtime configuration. In cnews mode, always selects v3 mode. Removed DBZ_VERSION version tracking in configure, and postponed to runtime. Implemented a "--minfree n" options that check that the news spool must have room for a minimum of n kilobytes before fetching more news. Fixed error re. multiple locks. Altered log format so that it is compatible with innreport. Patch from Uli Zappe. Now filtering faked DNEWS-generated articles. The --keep-fake option will retain them - if you really insist. Fixed a couple of bugs in early 1.4pre V1.3 - 30 Dec 1998 Unchanged from V1.3pre2 V1.3pre2 - 21 Nov 1998 The ME specification of the INN newsfeeds file should be treated in quite another manner from the Cnews sys file. In Cnews, the ME field is the sites general subscription list for incoming news. In INN, the content of ME is simply prepended to all other entries, and bears no influence on incoming news that INN will accept. It can be argued that the Cnews interpretation is more intuitive, whereas the INN interpretation is more useful. Up to now, newsx has handled the ME field in the Cnews manner at all times. This has now been corrected, so that INN interpretation is used in INN mode. V1.3pre - 21 Nov 1998 Fix for newsx wrongly assuming a good current-pointer after a STAT error message, from Steinar Haug, sthaug@nethelp.no Configure updates for INN 2.1. Most importantly, it now does a much better search for the libinn library. Fixed --max-path error message, path line error report, --without-history message. Added a --filter option to do filtering with cleanfeed and similar. Only tested with cleanfeed, available from http://www.exit109.com/~jeremy/news/cleanfeed.html Be sure to enable the highwind style interface (similar to the one employed by the Cyclone, Typhoon and Breeze servers). Added --no-queue option to make newsx bail out if another newsx is accessing the same server, instead of queing up for access. New --forget-inactive option that will remove inactive groups from the in.hosts list. New --groups option that allows group specifications in addition to the one in sys or newsfeeds. Will only affect fetching. For instance, to explicitly avoid fetching of control groups, use: --groups '*,!control.*' Now correctly opens syslog at an early stage. Window size now defaults to 5. V1.2 - 11 Sep 1998 All incoming articles are now checked to see if their path is consistent with the exclusions given in sys/newsfeeds. The --no-path option skips this check. All outgoing articles are now checked to see if the length of their paths are not too long. This is an extra precaution against inadvertently submitting "foreign" articles for posting. The --max-path option controls this. Its default value is 1, consistent with a simple, local, newsspool. To disable this feature, set it to an impossibly large value, like 999. The new --inews option will pipe incoming news to inews. Note that this is not an option for ordinary use: it should only be used for special configurations where newsx is used as a gateway to inject new messages. The --inews-options specifies command line options for inews. The leading '-' must be included. The default options are "-hOS". The new --add-header allows a specific header to be added to incoming messages. The header will be added exactly as specified, except that the special case "Path" will be replaced by a header line that says "Path: HOSTNAME!not-for-mail". Note that this is definitely not an option for ordinary use: it should only be used for special configurations, for instance where newsx is used as a gateway to inject new messages. The new --pipe-to is similar to --inews, but specifies which program incoming news is to be piped to. The pipe is opened and closed once for each news message. The new --rnews-to is similar to --rnews, but specifies which program incoming news is to be piped to. The pipe is continuous for each session, and article seperation is in rnews style. Made options compatible with GNU standard: Added --help, updated --version, renamed --noaction to --dry-run, --keeppath to --keep-path, and renamed --noxx to --no-xx. Retained the old versions for compatibility. File locking on posting logfile, folder of posted articles and statistics file. Check for putenv() and setenv() in configure, and use lib/setenv.c if neither are available. Thanks to Helmut Heller <heller@altoetting-online.de>. Use getopt_long() from standard C library, if available. Moved getopt fuctions to lib. A couple of further fixes for NeXT, discovered by -Wall. V1.1 - 6 Sep 1998 Build libdbz.a only if not HAVE_LIBINN Added -Wall for Gnu compiler (again), and fixed various complaints thus raised. Fix for make check. Note that make check probably won't be reliable for all environments, so don't despair if it fails. V1.0 - 2 Sep 1998 Introduced log-entries in all source files. Option --nops to disable ps status updates. A couple of fixes for NeXT Patch from Peter Maydell to handle @-syntax in newsfeeds, marked by PMM in sys.c Patch from Peter Maydell to support AUTHINFO GENERIC V1.0pre2 - 28 Jun 1998 Fixed PACKED in configure.in V1.0pre1 - 27 Jun 1998 For INN 2.0, made in.hosts follow the new convention Implemented HAVE_MMAP for INN v.2.0 dbz-code Added <errno.h> in history.c Omitted '-' in newsq ps-command. Rephrased the statistics re. omitted articles to make it more clear what happened. Support for INN 2.0 extendeddbz Will now issue QUIT message on aborted transfers with minimal timeout. Various minor install/configure-fixes Auto-detection of a suitable libinn, and use that instead. Probably only relevant for INN 2.0. Made dbz/nonblocking autoconfig more reliable (hopefully). V0.16 - 21 Jun 1998 Find out about INN 2.0 DO_TAGGED_HASH in configure script. Cleaned up the generation of the lsm-file. The use of the NEXT command has been rewritten and polished. A --missing option tunes the number of missing articles in a row before a NEXT command is issued (instead of a sequential STAT). A value of zero will cause NEXT to be used extensively. The default value is 0 if no window, 2 if a window is specified. A --nonext option will disable use of the NNTP NEXT command entirely. A --maxnew option sets the max. number of articles fetched in a new group. A --maxart option sets the max. number of articles fetched in any group. Disposed of the need for requesting a STAT following a NEXT. Removed installation of dbz/endian A --no-ps option turns off the process status update. V0.15 - 18 Jun 1998 Added support for newer dbz v.3.0 history files that has an extra argument in the history.dir file. Repaired error reporting when dbz database is in the wrong format. Implemented configuration options: --with-newshome=DIR news home directory is DIR --without-history do not perform history database lookup --with-errlog=LOG_XX do error logging to LOG_XX --with-inhosts=DIR use DIR as in.hosts directory --with-minspool=size use size as guideline for incoming spool size --with-timeout=secs use secs as general timeout, default is 600 Implemented a newsx host access lock in addition to the existing spool access lock. Can be turned off with --nohostlock if you really insist. V0.14 - 17 Jun 1998 Added support for INN ver. 2.0. The dbz data base format is version 6, and quite different from the previous version. The hashing function is MD5. The configure should be able to detect the this. Added PID to temporary name in incoming spool, so as to support simultaneous fetches from the same server. Replaced colrm by sed in configure script since some Unices don't have it. Made the debug log look better by terminating lines of dots with newlines. Use the standard umask for news as specified in the news configuration (usually 002). Fix for --rnews behavior by per@erix.ericsson.se Supplemented the debug output with the state information also available via "ps" at debug level 4. The extended debug level moves to 5, the full I/O display to 6. Implemented -q option, primarily for testing the history database lookup function. V0.13 - 2 Jan 1998 Added AC_ISC_POSIX to configure.in. This should add the -posix or -Xp option to C compilers that needs it (i.e. NeXT NS3.3, heller@altoetting-online.de) Added AC_TYPE_PID_T to configure.in, handling missing pid_t under NeXTstep. V0.12 - 31 Aug 1997 Cleaned up handling of timeouts and interrupts a number of places, so that the incoming messages are not lost (so often). Implemented better timeout on TCP/IP connection establishment. Fixed bug in handling of -e option. Added proper handling of "gotit" when using IHAVE. Allowed numeric port number, and finally implemented the network byte swopping in a properly portable manner. Use of NNTP NEXT command for filling article gaps, significantly speeding up transfers of newsgroups with a lot of missing articles. Contributed by: Voitenko Sergej <sv@sdtcom.lg.ua> Made the telnet protocol detect newlines even when there only is a single carriage return. Not really a pretty sight ;-) Increased debug info for interrupt cleanup. V0.11 - 14 Aug 1997 Implemented --list option to get list of newsgroup names from the remote newsserver. This list can be output to a file or piped to a command. Implemented --newlist option to get list of new newsgroup names from the newsserver. Implemented --desc option to get all relevant newsgroup descriptions from the remote newsserver. This list can be output to a file or piped to a command. Implemented --alldesc option to get list of all newsgroup descriptions available from the remote newsserver. Implemented --mfilter option to allow filtering based on message ID. A corresponding F-entry in the statistics file reflects how many articles were filtered. Inserted an extra level of debugging with -d so that the a single -d will no longer output a '.' for every article. Made --debug take a numeric argument. V0.10 - 20 Jul 1997 Group authorization error does not stop news transfer. Updated to automake 1.2. Fixed EOF-handling bug in telnet mode. V0.9 - 05 Mar 1997 Altered some option when using --ihave, and made MODE READER behave sensibly with --ihave too. Further fine tuning of the installation script. The lsm-file is no longer part of the tar.gz file - due to the compression that is in fact impossible for the byte counts to tally. The self- referrence in the lsm-file is bad enough, but it works of sorts since it isn't compressed. Removed "X-Server-Date:" for normal POST operation. Added a small chapter about message header handling in the man page. V0.8 - 18 Feb 1997 Implemented --rnews, which will pipe incoming news directly to the incoming spool. V0.7 - 17 Feb 1997 Introduced --fail <time> option for failing messages older than <time>. Using the text "never" will turn off this mechanism. This behavior is also currently the default, although it is expected that this might change in future versions. Introduced --bounce <where> option for sending info about failed messages. If <where> is exactly "none", no message will be sent. If <where> is "poster", the message will be returned to whoever created it. Option --attach controls the way the message is attached for --bounce. Introduced the newsq utility that will give various status information. See newsq man page. Introduced --stat option for gathering of statistics, and decreased the amount of statistics dumped to syslog. Introduced --ihave option. Introduced --inhosts option, for debugging. Locks for INN moved to the $LOCKS directory (this was less of a problem that it could sound - the locks was to lock out other newsx processes). The --locks option can be used for overriding the default choice. V0.6 - 05 Jan 1997 For INN mode, implemented correct interoperation with "ctlinnd flush" for posting from outgoing spool. NOTE: The previous mode of operation could very easily loose outgoing messages with INN. Started using automake. Begun adaptation for ansi2knr. Added --ignore option V0.5 - 16 Dec 1996 Introduced --window that will speed things up a bit, in rare cases by a factor of 10. Added --syncnew V0.4 - 14 Dec 1996 Changed configure so that it reads the news config files. Have individual settings for each of the files, a la INN. Fixed a bug with line continuation in the middle of tokens in the sys/newsfeeds file. Clarified the documentation somewhat. Expanded the -h option. Introduced long options. Fixed the inital state (while parsing the command line) of the "ps" title handler. Introduced --togo, --active, --newsfeeds, --home, --batch, and --incoming options. V0.3 - 10 Dec 1996 Made varargs/stdarg handling more portable. Do no longer rely on Gnu realloc() behavior. Introduced the FAQ. No new functionality. V0.2 - 09 Dec 1996 Redone dependencies to work with non-Gnu makes and ccs Included Gnu getopt for those systems that doesn't have it. Addressed other portability issues. No new functionality. V0.1 - 13 Nov 1996 Renamed to newsx Implemented fetching of news using GROUP/STAT/ARTICLE Implemented parsing of C News sys and active files. Implemented parsing of INN newsfeeds and active files. Interface to news history database. Improved signal handling. Implemented "ps" status. POSTIT HISTORY -------------- V1.0 - 11 Nov 1996 Supports NNTPSERVER environment variable. V0.8 - 14 July 1996 Handling of removal of stale lockfiles and processes. V0.7 - 18 June 1996 Introduced autoconf "config.h" Minor fixes V0.6 - 29 April 1996 Skipping "NNTP-Posting-Host". Handle lines > 512 characters properly. Started using GNU autoconf/configure. V0.5 - 9 April 1996 Cleaned up source quite extensively, and removed references to other sources. Added support for a seperate log file and for collection of posted articles in folders. Implemented improved file locking for C News and INN. There is now a lock timeout. Placed manual page in section 8, where it belongs. The INN version has still not been verified properly. V0.4 - 27 February 1996 Added top script for file locking. Currently only for C News. V0.3 - 29 January 1996 Removed backup in "togo.o" by default (causes "possibly stalled" message). V0.2 - 28 December 1995 Support for INN format of outgoing batch files included. V0.1 - 4 December 1995 Initial ALPHA version.