This file describes the changes which have been made in NNTP since the initial release. Individuals who either reported the bug or inspired the bug fix are in square brackets. 1.5.11 Fixes to spawn.c and batch.c for those system that need execle() to specifically call /bin/sh to exectute a sh script. [All CNEWS sites running System V.] Fixes to the timeout code to make it all work the GNUS. [leres@ee.lbl.gov] Fixes to nntpxmit to support CNEWS batch file formats which contain the name of the article file and its message id. [flee@guardian.cs.psu.edu] Fixes to nntpxmit to not mistake the delete character in an article as an EOF indication. [pst+@ir.stanford.edu] Added the $HOME environmental variable in the new environment provided to a child process. [steve@avalon.dartmouth.edu] Added rudimentary support to clientlib for TLI. [sob@tmc.edu] Changes to inews to optionally use gethostbyname() to get canonical hostname as needed. [jef@ee.lbl.gov] Changed extern int timezone to extern long timezone in time.c. [pk@unidoct.chemietechnik.uni-dortmund.de] Reset SIGCLD before calling serve for WIN/TCP users on System V. [wescott%micky%sauron%ncrcae@ncrlnk.dayton.ncr.com] Changed references to "server" in clientlib.c to "nntpserver" to avoid a conflict with WIN/TCP. [rdc30med@nmrdc1.nmrdc.nnmc.navy.mil] Defining DBZ will take care of defining DBM. [tgt@cblpf.att.com] Some minor changes to nntpxfer to remove the risk of doing an update when it's not necessary. [ccc141j@monu6.cc.monash.edu.au, corbin@utep-vaxa.uucp] Changes to nntpxmit to correctly utilize LOG_DEBUG when LOG is defined and not when it isn't. [alden@shape.mps.ohio-state.edu] Change order of setuid/setgid in spawn.c and batch.c to execute setgid first. [apple.com!arc!chet] Provided an optional and untested way to use a dynamically resizing article array in the server. This will allow large numbers of articles in each group without giving nntp heartburn. [leres@ee.lbl.gov] 1.5.10 Fixes to spawn.c to allow it to work correctly with CNEWS. [All CNEWS sites....Sorry, guys and gals!] Fixes to prevent mysterious chowning of directories by nntp. [dave@tis.com] Corrections to code in misc.c so that #undef SYSLOG will still compile. [rb@newton.physics.purdue.edu] Added more precision to time reports. [flee@shire.cs.psu.edu] Modified nntpsend.sh to use the correct test flag. [zjat02@trc.amoco.com (Jon A. Tankersley)] Fixed a bug in check_ng that caused the server to close down and abort on occasion. [Jyrki Kuoppala ] Fixed a bug in access.c that might cause the first line in the nntp_access file to be skipped. [Jari Helminen ] Fix to mini-inews to insure that variables are being set before they are used. [muller@ucsd.edu] Fix so that SETPROCTITLE option will not destroy environmental and arguement vectors. [ken@hpsdlz.sdd.hp.com, leres@ftp.ee.lbl.gov] Support for mmap() system call in nntpxmit. [david@elroy.jpl.nasa.gov, stevo@elroy.jpl.nasa.gov] Changes for hpux so that SETPROCTITLE will work and flexnames can be used if supported. [pk@unidoct.chemietechnik.uni-dortmund.de, ken@hpdlz.sdd.hp.com] LOAD now supported when nntp is started by inetd. [mcooper@usc.edu] 1.5.9 Incorporation of proposed NNTP version 2 authentication scheme. This is a trial and can be disabled if necessary. [brian@ucsd.edu] Minor fixes to nntpxmit to use more configuration information from common/conf.h. [trinkle@cs.purdue.edu] Fixed space checking code that has been tested more throughly! [eckert@informatik.uni-erlangen.de] Modifications to batch and spawn to correctly invoke inews when using Cnews. [gengenbach@forwiss.uni-passau.de] Bug fix to nextlast.c to return correct message when moving back and forth within a group. [kent@ssbell.IMD.Sterling.COM] Removed the presumption that USG means you don't have DBM from conf.h. [Mark Warren ] Increased security so that running nntpd as root would not necessarily mean running inews as root.[paul@uxc.cso.uiuc.edu,vixie@decwrl.dec.com] Fixed the nntpd start and stop time calculations. [del@thrush.mlb.semi.harris.com, eggert@twinsun.com] Fixed the Path: produced by mini-inews so that cnews will do the right thing. [del@thrush.mlb.semi.harris.com (Don Lewis)] Added the include directive for on sparc computers to insure bad things don't happen when we vfork in spawn.c and batch.c. [eggert@twinsun.com] In nntpxmit, BSD_43 and BSD_42 mean the same thing now. [John Robert LoVerso ] Added the option of setting the process title to indicate what NNTPD is doing much like sendmail does. [asp@uunet.uu.net] Added fixes to make nntp work on Apollo. [jnp@tele.nokia.fi] Added nntpxmit.dst to doc directory. [pab@naucse.cse.nau.edu] 1.5.8 Better support for SCO Xenix 2.3 with TCP/IP. [sob@bcm.tmc.edu] Better integration of nntpxmit and nntpxfer with the rest of the distribution. [muller%sdcc7@ucsd.edu] Inodes can now be checked to availability as well as disk space. See the new parameter MINFILES in common/README and common/conf.h.dist. [budd@bu.edu] USG systems with DBM can use it (assuming you compiled your news to use it) with less problems from nntp getting compiled wrong. [igb@fulcrum.british-telecom.co.uk] IHAVE speed up by having gethistent() just do a check for an article instead of a full retrieval. [fletcher@cs.utexas.edu (Fletcher Maddox), david@elroy.jpl.nasa.gov (David Robinson)] If the article is garbled, it should be rejected. Hopefully, it will be now. [ warren@schizo.samsung.com (Warren Lavallee)] nntp now sets the USER and LOGNAME environmental variables to POSTER if POSTER is defined. This is mostly for CNEWS.[weening@neon.stanford.edu] mini-inews now places the fully qualified domain name in the Path: lie to help those poor unfortunate that still think it supposed to contain a valid route for return mail. [ david@wiley.UUCP (David Hull) ] The reply to XHDR no longer appends extra blank lines. [ (Pekka Kytolaakso) netmgr@finsun.csc.fi ] 1.5.7 Typo in batch.c left the CNEWS BATCH_FILE undefined. [ Joe Weening ] Malformed history line messages were being logged when this was not the case. [fletcher@cs.utexas.edu (Fletcher Mattox)] Corrected MACH space call to correctly reflect that it only works with the CMU MACH and not NeXT. NeXT is also supported, but it uses a statfs call that is similiar to Sun. [Tom.Lane@zog.cs.cmu.edu] Added support for the REUSEADDR socket option to make it easier to deal with multiple copies of the daemon running. [rick@uunet.uu.net] Fixed a bug in nntp_awk so that the connection count from unknown explorers is correct. [Samuel Lam ] Fixed getword() subroutine in newnews.c so that it will work with history files from B News 2.11 patch 17 and before and patch 18 and beyond and with CNEWS.[Rein Tollevik ] Corrected a bug in seekuntil() that caused the NEWNEWS command to never work correctly. [Rein Tollevik ,Dan Oscarsson ] Getting the .signature file from DOTDIR (in fakeinews) was inconsistent with real "inews"'s. It is now conditional. Define DO_DOTDIR if you want to have it use this environmental variable. [ Mark Davies Added support for the CNEWS active.times file. If you run CNEWS, you won't need mkgrdates to get NEWGROUP to work as it should. [Felix Lee ] Minor changes to nntpxmit so that it will get some information from common/conf.h like everything else does. [Michael A. Cooper ] Bug fix to clientlib.c to allow systems that don't know about the new hostent structure to work. [Edwin Kremer ] UMASK support added so that CNEWS will not create world writeable batches.[ Mark Nagel ] Updated nntpxfer to use get_tcp_conn.c from nntpxmit. This make it work on System V. nntpxfer is still largely unsupported, but we'll keep working to get it into shape. [Stan Barber ] Fixed access.c so that comma seperated lists of newsgroups in the nntp access file will be interpreted correctly. [mta@tut.fi] New version of shlock.c for nntpxmit. [fair@apple.com] 1.5.6 Added support for Cnews [geoff@utstat.toronto.edu] Bug fix for space() to work on BSD 4.3 [sob@bcm.tmc.edu] Added MACH definition to space() routine [Tom.Lane@zog.cs.cmu.edu] Added LOAD definition so that the load average could be used as a criterion for rejecting a connection [Wes Craig ,Brian Kantor ] Bug fix to subnet.c to work on Sun 4 which delints it somewhat [karl@triceratops.cis.ohio-state.edu (Karl Kleinpaste)] Changed parsit.c to deal with whatever size words someone wanted to pass it (until malloc() fails) [sob@bcm.tmc.edu] Fixed LOG/SYSLOG definitions so they both don't have to be defined to work correctly [Felix Lee ] Bug fix for systems that used void as the return value for signal() [ Peter J Nilsson ] Added a feature to clientlib.c to allow the use of an IP number (versus a name) for the NNTPSERVER [trn@warper.jhuapl.edu (Tony Nardo)] Inews.c was modified to use the RN DOTDIR to find .signature and to make a better attempt to check header syntax before passing it off. [Mark Nagel ] 1.5.5 June 5, 1989 Bug fix to server.c which allows TIMEOUT to be included correctly. [ marcl@vax.SPD.3Com.COM (Marc Lavine) ] Bug fix to mkgrdates. [ Tom Kloos ] Conf.h altered to properly set READ_SUPER on BSD 4.3 systems. [grandi@noao.edu] Bug fix to newnews.c to support GMT time stamps in 2.11 history file correctly.[Tom.Lane@ZOG.CS.CMU.EDU] Speed up to newnews.c to keep from chewing up so much CPU time. [ Rein Tollevik ] More documentation fixes. [sob@bcm.tmc.edu] Added changes to deal with DGUX more effectively. [gary@svx.sv.dg.com] Changed parsit.c to deal with 255 character words instead of 132 character words. [ dp@chorus.fr ] 1.5.4 May 11, 1989 README and documentation updated to reflect reality. [sob@bcm.tmc.edu] Added HIDDENNET support (like news 2.11.17) to nntp "fake-inews." [allan@cs.strath.ac.uk] Clearer error messages from the GROUP command. [dww@stl.stc.co.uk (David Wright)] Out-of-space support for SunOS, ULTRIX and 4.[23]BSD added. [Tad Guy , Chris Japeway ] Initial TMNN reader support added. [suggested by erict@snark.UUCP, written by sob@bcm.tmc.edu] (NOTE: Support for the TMNN history file format IS NOT in this release.) Extended the nntp_access file to include domain name suffix support. [esj@banana.cis.ufl.edu (Eric S. Johnson)] Replaced the 4.2-like fakesyslog with 4.3-like fakesyslog. [John Robert LoVerso ] Bug fix to the newnews command to make it show the first article posted since the specified time/date. [mg@ukc.ac.uk (M.W.Guy)] 1.5.3 September 18, 1988 Under the USGHIST option, the history file was not being closed before the next article coming in (via XFER) was processed. After about 20 articles, "No more files" would come up on the console. NNTP would take articles from incoming connection even though there was no space to store them. [sob@bcm.tmc.edu] 1.5.2 May 6, 1988 Arguements were reversed in ahbs.c. Stoopid typo in strcasecmp.c for System V. [sob@bcm.tmc.edu] 1.5.1 March 1, 1988 System V fixes to strcasecmp.c, SIGCLD handling and memory management. [sob@bcm.tmc.edu, apt@uhnix1.uh.edu] Fixed Excelan support. [sob@bcm.tmc.edu] 1.5 February 26, 1988 New top level Makefile. [Casey Leedom, casey@lll-crg.llnl.gov] Now using strcasecmp/strncasecmp instead of streql/strneql. Due credit is given to the University of California at [sic] Berkeley for the use of this software. :-) Combined common/response_codes.h and common/rfc977.h into common/nntp.h. Better fix for getifnetmask ioctl returning 0 netmask. Patch to Configure to handle domains for non-portable code. [Brad Smith, brad@saturn.ucsc.edu] New version of nntpxmit with article retransmission. [Erik Fair, fair@ucbarpa.Berkeley.EDU]. System V compatability; will now compile on Hockey-Pux (HPUX). [Stan Barber, sob%soma.tmc.edu@tmc.edu] EXCELAN TCP support. [Stan Barber, sob%soma.tmc.edu@tmc.edu] server/subnet.c now supports compiled-in netmasks. This is useful if you want subnet support on machines that don't have the necessary ioctls for determining network masks on a per-interface basis. Fake syslog support included for real this time. 1.4 October 15, 1987 Reorganized documentation directory. Thanks for the extraction stuff, Stan. [Stan Barber, sob%%soma.uucp@rice.edu] Added transfer timeouts. [Steve Schoch, schoch@ames.arpa] Fixed a problem with IHAVE which allowed a remote machine to repeatedly feed you articles that you expired (although all you'd do with them is throw them away). [Fred Avolio, avolio@decuac.dec.com] DECNet support (see server/dnet_access.c and common/clientlib.c). [Matt Thomas, thomas%syrah.dec@decwrl.dec.com] Fixed serious joe code in distribution checks in NEWNEWS. NEWNEWS statistics. Newsgroup security. Performance enhancements (about 2x better for article xfers). xhdr command added to improve performance on subject searches. Compiled-in server name no longer supported. common/clientlib.c/getserverbyfile() now looks at the environment variable NNTPSERVER before checking the file. inews/inews.c now limits .signature files to MAX_SIGNATURE lines. server/misc.c/spawn() now returns the error output of rnews/inews alone with the posting failed code. This is in turn printed by inews/inews.c so the user has some idea of why his article wasn't accepted. rn patches now for patchlevel #40 Bug fix: rrn no longer leaves droppings in /tmp "Skipping unavailable article" problems fixed Support for 4.3 TIOCGWINSZ ioctl [sam@okeeffe.berkeley.edu] Configure asks for domains Pnews/Rnmail understand hostnames with .'s in them. Makefile fixes [harvard!lownlab!kiely] PYRAMID #defines removed, as it is all being done by default now. inews/inews.c now exits 0, since before it had a random exit status, causing pyramids to choke. [forys@boulder.colorado.edu] server/server.c now logs user/system/elapsed time as floats instead of ints. [rick@seismo.css.gov] server/ihave.c no longer logs every message id transfered but instead keeps statistics which are logged at the end. [rick@seismo.css.gov] server/serve.c now times out after TIMEOUT seconds of idleness. server/access.c converts remote hostname to lower case when logging, in case you have a nameserver which is helping you. server/misc.c/getartbyid now reports message-id's when it encounters a malformed line in the history file. [gds@spam.istc.sri.com] inews/inews.c had an uninitialized variable, which could cause trouble. [jwp%chem@sdcsvax.ucsd.edu] common/clientlib.c now understands 4.3 nameserver multiple addresses, and tries them all before giving up. common/clientlib.c has has 2 new functions: "getserverbyfile" opens a given file and returns the name of the server given in the file to use for news. "handle_server_response" prints informative messages based on the initial connection response code. server/access.c now is case insensitive when checking for host read/xfer permissions. server/misc.c/spawn didn't check for a closed connection while receiving input from client. As a result, truncated news articles could be received. server/newnews.c had a printf which was missing an argument. [louie@trantor.umd.edu] Added fake syslog facility to server. Code is in server/fakesyslog.c. [mckenny@sri-unix.arpa] Fixed length argument to accept() in server/main.c [mckenny@sri-unix.arpa] Now uses pipe to rnews so as to get rnews output for debugging. Also chowns temporary file to POSTER's uid and gid. [mckenny@sri-unix.arpa] Fixed bugs in server/netaux.c to close syslog fd. [mckenny@sri-unix.arpa] Made bcopy() standard in server/misc.c [kre@munnari.OZ] Documentation changes to make certain things about client installation clearer. [munnari!charlie.oz!craig] 1.3 30 June 1986 rrn is no longer included as complete source, but rather as a set of context diffs and a program to apply them to your rn source. Many thanks go to Gene Spafford for an outstanding job doing this. [spaf@gatech.csnet] The dreaded kill/save bug is fixed; rn was passing /bin/sh too many open file descriptors. Thanks and a tip of the proverbial hat to Chris Maio! Change to rrn/util.c. [chris@columbia.edu] Fixed a bug in rrn/artio.c which caused an assertion failure on line 114 of artio.c; artopen was returning Nullfp without closing the fp associated with the bogus article. [genrad!ens@eddie.mit.edu, beorn@ic.berkeley.edu] Added #define PYRAMID in common/conf.h, added some #ifdef PYRAMID code in server/misc.c to deal with Pyramids not initializing static data to 0, as well as an fseek problem. [spaf@gatech.CSNET] Another wait bug fixed in spawn() in server/misc.c. Added a required \r in post.c. Added signal(SIGCHLD, SIG_IGN) to server/serve.c, to fix exit status problem with ALONE defined. Statistics logging now returns sum of the nntpd and its children for process time. server/main.c [fair@ucbarpa.berkeley.edu] Subnet support for access file finally added. server/subnet.c added, common/conf.h now has #defines for SUBNET, DAMAGED_NETMASK. inews/inews.c now generates a from line with the UUCP name instead of always using gethostname(). common/conf.h changed to add #defines for UUNAME, GHNAME. [jwang@atrp.mit.edu] Added LIBS to Makefile. [soma!sob@rice.edu] 1.2c 17 May 1986 Support for Masscomp added (#define MASSCOMP in ../common/conf.h). [soma!sob@rice.edu] Syslog output now requires SYSLOG to be defined in ../common/conf.h. This is handy on systems which, for some reason or another, don't have syslog. [soma!sob@rice.edu] server/post.c had arguments reversed in a printf. [salex@rice.edu] rrn/common.h had PIPESAVER misdefined. [cspencer@bbncc5.arpa] server/group.c was missing a \r in a printf. [lear@rutgers.edu] xmit/nntpxmit.c is a new version. Highlights include improved error reactions and logging info. [fair@ucbarpa.berkeley.edu] xmit/nntpsend is a shell script for sending news via nntp in a sane manner, with locking. [pleasant@topaz.rutgers.edu, fair@ucbarpa.berkeley.edu] The locking mechanism is provided courtesy of Mr. Fair's "shlock.c", in xmit/shlock.c. support/nntp_awk produces weekly reports from the nntp server logging output. [fair@ucbarpa.berkeley.edu] Makefile (in this directory) would do a "make install" as the default action; it now prints a helpful message. [arnold@cgl.ucsf.edu] server/Makefile and support/Makefile had needless dependencies in them; if you didn't do a make depend, you'd have problems on a 4.2 system. The server and support stuff now depend only on their own .h files. [arnold@cgl.ucsf.edu] 1.2b 13 April 1986 common/clientlib.c stupidly had some debugging printfs enabled. rrn/{artio.c,head.c} had sprintf("... %d", foo) where "foo" was a long. %d -> %ld. [cspencer@bbncc5.arpa] server/time.c had an order of evaluation problem in the macro "twodigtoi". [fletcher@tzec.cs.utexas.edu, among others.] server/common.h included if DBM was defined, caused multiply-defined NULL's. [cda@opal.berkeley.edu, pleasant@topaz.rutgers.edu, among others.] server/active.c would lose because variable "i" would be at the end of the group array if it was called on a timer interrupt. "i" now set to zero properly. This only occurs if FASTFORK is defined. [cda@opal.berkeley.edu] 1.2a 20 March 1986 common/conf.h defined MAX_GROUPS as 300; this was too low on some machines. Upped to 450. [solex@rice.edu, beorn@ic.berkeley.edu] rrn/Makefile.sh had .c instead of .o for OBJS and SRCS respectively. Also had cc -o ../common/clientlib.o (see below). inews/inews.c had (char *) 0 for gets(), which made SUN's upset. Changed to simply NULL. [brian@sdcsvax.ucsd.edu] inews/Makefile had cc -o ../common/clientlib.o which some machines don't do. [brian@sdcsvax.ucsd.edu] common/clientlib.c has "untp" instead of "nntp". server/active.c made more robust about reading active file if active file is longer than MAX_GROUPS. server/common.h included common/conf.h after checking for DBM, which caused some problems. [soma!sob@rice.edu] 1.2 15 March 1986 Released.