diff -Nacr inn-2.2/CONTRIBUTORS inn-2.2.1/CONTRIBUTORS *** inn-2.2/CONTRIBUTORS Thu Jan 21 03:01:07 1999 --- inn-2.2.1/CONTRIBUTORS Wed Aug 25 08:32:29 1999 *************** *** 1,6 **** The following is a list of the people (in roughly chronological order) ! who've helped out If anyone's name has been left out (probably), or if ! something has been incorrectory to you (ditto), please let us know. Rich Salz: Designed and wrote most of it. --- 1,7 ---- The following is a list of the people (in roughly chronological order) ! who've helped out. If anyone's name has been left out (probably), or if ! something has been incorrectly attributed to you (ditto), please let us ! know. Rich Salz: Designed and wrote most of it. *************** *** 46,52 **** Alan Barrett: Did the work-limiter in the select loop to stop streaming from ! killing performance. Greg Patten: Wrote the perl innlog --- 47,53 ---- Alan Barrett: Did the work-limiter in the select loop to stop streaming from ! killing performance. Greg Patten: Wrote the perl innlog *************** *** 74,80 **** Dave Hayes: Along with some bugfixes, Dave wrote the posting-backoff code for ! nnrpd and the patches to the perl hooks to make the headers modifiable. Joe Greco: Wrote the code for measuring the timing of various parts of innd --- 75,82 ---- Dave Hayes: Along with some bugfixes, Dave wrote the posting-backoff code for ! nnrpd and the patches to the perl hooks to make the headers ! modifiable. Joe Greco: Wrote the code for measuring the timing of various parts of innd *************** *** 85,94 **** Katsuhiro Kondou: Provided unified overview, trash method, spool translation method, ! traditional expire policy for articles stored through storage api ! and expireindex as well has hundreds of fixes to clean up defects as changes were made. Did a large amount of man page documentation ! and clean up. Russell Vincent Expanded inn.conf to make many of the old compile time options --- 87,97 ---- Katsuhiro Kondou: Provided unified overview, trash method, spool translation method, ! traditional expire policy for articles stored through storage API ! and expireindex, as well has hundreds of fixes to clean up defects as changes were made. Did a large amount of man page documentation ! and clean up. Has also been a major force in the CVS pool ! maintenance. Russell Vincent Expanded inn.conf to make many of the old compile time options *************** *** 108,113 **** --- 111,121 ---- on Expires header. Also added the '@' article exclusion code to incoming.conf. + Russ Allbery: + Has done large amounts of clean-up on various pieces of the system + (especially the documentation), and has helped with the CVS pool + maintenance. + Also: Dave Barr: *************** *** 124,130 **** Wrote the INSTALL documentation. The following people helped above and beyond the call of duty with testing ! (provided patches, bug reports, suggestions and lobbying) Paul Vixie, Robert Elz, Evan Champion, Robert Keller, Barry Bouwsma, markd@mira.net.au, Ollivier Robert, Kevin Jameson, Heiko W. Rupp, Fletcher --- 132,138 ---- Wrote the INSTALL documentation. The following people helped above and beyond the call of duty with testing ! (provided patches, bug reports, suggestions and lobbying): Paul Vixie, Robert Elz, Evan Champion, Robert Keller, Barry Bouwsma, markd@mira.net.au, Ollivier Robert, Kevin Jameson, Heiko W. Rupp, Fletcher diff -Nacr inn-2.2/CVS/Entries inn-2.2.1/CVS/Entries *** inn-2.2/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/CVS/Entries Wed Aug 25 09:26:34 1999 *************** *** 0 **** --- 1,44 ---- + /.now_do/1.2/Tue May 19 03:14:11 1998//TINN-2_2_1 + /CONTRIBUTORS/1.13.2.3/Wed Aug 25 15:32:29 1999//TINN-2_2_1 + /COPYRIGHT/1.1.1.1/Mon Aug 4 04:03:44 1997//TINN-2_2_1 + /ChangeLog/1.1.2.5/Wed Aug 25 14:50:18 1999//TINN-2_2_1 + /HISTORY/1.1.1.1/Mon Aug 4 04:03:44 1997//TINN-2_2_1 + /INSTALL/1.19.2.6/Wed May 12 00:51:15 1999//TINN-2_2_1 + /MANIFEST/1.20.2.5/Wed Dec 30 05:24:12 1998//TINN-2_2_1 + /MakeInews/1.3/Wed May 20 12:52:50 1998//TINN-2_2_1 + /MakeLib/1.3/Wed May 20 12:52:50 1998//TINN-2_2_1 + /MakeRnews/1.4/Thu May 21 03:00:06 1998//TINN-2_2_1 + /Makefile/1.18.2.5/Wed Aug 25 15:25:55 1999//TINN-2_2_1 + /Makefile.global.in/1.23/Tue Oct 13 12:23:08 1998//TINN-2_2_1 + /NEWS/1.1.2.5/Wed Aug 25 15:13:53 1999//TINN-2_2_1 + /README/1.5.2.6/Wed Aug 25 15:58:43 1999//TINN-2_2_1 + /README.perl_hook/1.9.2.3/Sat Jun 26 00:31:25 1999//TINN-2_2_1 + /README.tcl_hook/1.1.1.1/Mon Aug 4 04:03:44 1997//TINN-2_2_1 + /aclocal.m4/1.3/Mon Sep 7 08:51:04 1998//TINN-2_2_1 + /config.guess/1.2/Sat Jun 27 02:49:51 1998//TINN-2_2_1 + /config.sub/1.1/Thu Jun 25 05:56:45 1998//TINN-2_2_1 + /configure/1.104.2.6/Wed Apr 28 01:12:56 1999//TINN-2_2_1 + /configure.in/1.106.2.6/Wed Apr 28 01:12:55 1999//TINN-2_2_1 + /iftrue.sh/1.1.1.1/Mon Aug 4 04:03:44 1997//TINN-2_2_1 + /install-sh/1.1/Thu Jun 25 05:56:47 1998//TINN-2_2_1 + /installit.sh/1.1.1.1/Mon Aug 4 04:03:44 1997//TINN-2_2_1 + /ltconfig/1.2.2.2/Mon Jun 21 22:02:35 1999//TINN-2_2_1 + /ltmain.sh/1.1/Thu Jun 25 06:10:22 1998//TINN-2_2_1 + /makedirs.sh.in/1.11/Thu Jul 30 23:45:11 1998//TINN-2_2_1 + D/authprogs//// + D/backends//// + D/config//// + D/contrib//// + D/doc//// + D/expire//// + D/frontends//// + D/include//// + D/innd//// + D/innfeed//// + D/lib//// + D/nnrpd//// + D/obsolete//// + D/samples//// + D/site//// + D/storage//// + D/syslog//// diff -Nacr inn-2.2/CVS/Repository inn-2.2.1/CVS/Repository *** inn-2.2/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/CVS/Repository Wed Aug 25 09:24:13 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn diff -Nacr inn-2.2/CVS/Root inn-2.2.1/CVS/Root *** inn-2.2/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/CVS/Root Wed Aug 25 09:24:13 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/CVS/Tag inn-2.2.1/CVS/Tag *** inn-2.2/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/CVS/Tag Wed Aug 25 09:25:27 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/ChangeLog inn-2.2.1/ChangeLog *** inn-2.2/ChangeLog Thu Oct 22 00:36:40 1998 --- inn-2.2.1/ChangeLog Wed Aug 25 07:50:18 1999 *************** *** 1,2033 **** ! Wed Oct 21 23:12:40 1998 Katsuhiro Kondou ! ! * samples/innreport_inn.pm: samples/innreport_inn.pm: ! - fixed article stats calculation problem ! ! Wed Oct 21 22:09:58 1998 Clatyon O'Neill ! ! * include/innconf.h: Fixed config variable entry for nnrpperlauth ! ! * storage/cnfs/cnfs.c: ! Doh, I didn't declare lastupdate to be static so it was rereading the ! cycbuff headers everytime that CNFSArtMayBeHere() was called. ! ! Wed Oct 21 15:13:31 1998 David C Lawrence ! ! * obsolete/innshellvars.csh.in, samples/Attic/innshellvars.csh.in: ! innshellvars.csh.in moved from samples to obsolete. ! Per email with James Brister, Katsuhiro Kondou and David Lawrence ! ! Wed Oct 21 14:12:29 1998 Clatyon O'Neill ! ! * storage/cnfs/cnfs.c: ! Changed CNFSArtMayBeHere to consider cycbuff headers to be stale if more ! than 30 sec has elapsed instead of after 1000 calls. This makes a big ! difference with nnrpd in daemon mode with SM_preopen. W/o this new articles ! don't show up unless the client xover's or retrieves 1000 articles. ! ! Wed Oct 21 13:54:07 1998 David C Lawrence ! ! * samples/control.ctl: relcom.* is now PGP signed. ! ! Wed Oct 21 07:34:31 1998 James Brister ! ! * site/Makefile: ! Added news2mail (and its sample cf file) pullnews and mailpost ! Changed installation permission of the shellvars scripts to include ! world-read. ! ! * nnrpd/Makefile: Fixed library ordering in build of nnrpd and actived. ! ! * innd/icd.c: ! Changed second argument of 2-arg msync to active file size from 0 (bsd/os ! 2.1 kept falling over). ! ! * doc/inn.conf.5: ! Include note about pathtmp needing to be on the same partition as ! the incoming spool directory (or else inews will break when spooling). ! ! * doc/Makefile: ! Include new man files news2mail.8 pullnews.8 mailpost.8 in the processing ! ! * NEWS: Description of differences from version to next. ! ! * configure, configure.in: ! Added new programs mailpost, new2mail and pullnews to the processed ! files. ! ! * samples/news2mail.cf: Sample config file for news2mail ! ! * samples/pullnews.in: suck'ing feed perl script. ! ! * samples/news2mail.in: News to email gateway. ! ! * samples/mailpost.in: Email to news gateway. ! ! * doc/news2mail.8, doc/pullnews.8, doc/mailpost.8: ! Man pages for new programs. ! ! Mon Oct 19 15:16:19 1998 James Brister ! ! * CONTRIBUTORS, README: 2.2 preparation. ! ! Mon Oct 19 09:19:28 1998 Katsuhiro Kondou ! ! * samples/version.pl.in, samples/sendme.pl.in, samples/sendsys.pl.in, samples/senduuname.pl.in, samples/controlchan.in, samples/ihave.pl.in: ! samples/controlchan.in: ! samples/ihave.pl.in: ! samples/sendme.pl.in: ! samples/sendsys.pl.in: ! samples/senduuname.pl.in: ! samples/version.pl.in: ! - From: Fluffy ! - small patch for nonstandard mailers ! ! * README.perl_hook: README.perl_hook: ! - add description of nnrpd_auth.pl ! ! Sun Oct 18 23:44:19 1998 Katsuhiro Kondou ! ! * samples/inn.conf.in: samples/inn.conf.in: ! - sample (default) entry for nnrpperlauth is added ! ! * doc/inn.conf.5: doc/inn.conf.5: ! - description of nnrpperlauth is added. ! ! Sun Oct 18 19:11:39 1998 David C Lawrence ! ! * site/Makefile: Removed bogus reference to doactsync. ! ! * samples/Attic/innshellvars.csh.in: Added inn_getftp variable. ! ! * site/Makefile: ! Fixed my own boneheaded mismatch of a { opening brace with a ) closing paren. ! ! Sat Oct 17 01:07:28 1998 David C Lawrence ! ! * samples/innshellvars.tcl.in, samples/mod-active.in, samples/simpleftp.in, site/Makefile, backends/actsyncd.sh.in, samples/actsync.cfg.in, samples/innshellvars.in, samples/innshellvars.pl.in, configure, configure.in, MANIFEST: ! This set of changes all has to do with enabling support for getting ! ftp://ftp.isc.org/pub/usenet/CONFIG/active file for managing the ! active file. Specifically: ! ! MANIFEST: lists new file in samples: mod-active.in and simpleftp.in ! configure.in: Look for ncftp or wget for fetching active file ! simpleftp.in: Used if neither ncftp nor wget is found. ! innshellvars*: $GETFTP is ncftp, wget or simpleftp ! actsyncd.sh.in: Support either ftp or nntp retrieval of remote active file ! actsync.cfg.in: Use ftp://ftp.isc.org/pub/usenet/CONFIG/active by default ! mod-active.in: process actsync or checkgroups output efficiently, performing ! all newgroup/rmgroup/changegroup in one innd pause/edit/reload action. ! site/Makefile: install mod-active and simpleftp ! ! Thu Oct 15 23:24:02 1998 Katsuhiro Kondou ! ! * configure, configure.in: configure.in: ! configure: ! - From: Aidan Cully ! - On NetBSD, the command line to check for the necessary perl ldopts ! gives me this: ! Note (probably harmless): No library found for -ldb ! -L/usr/local/lib /usr/local/lib/perl5.004/auto/DynaLoader/DynaLoader.a -L/usr/local/lib/perl5.004/CORE -lperl -lm -lc -lcrypt ! ! This is kind of a pissy thing to put in the Makefile.global.. ! ! Thu Oct 15 19:51:30 1998 David C Lawrence ! ! * samples/control.ctl: updated control message sender of ukr.* ! ! Thu Oct 15 01:59:38 1998 Clatyon O'Neill ! ! * nnrpd/commands.c, nnrpd/nnrpd.c: ! - Fixed it so that nnrpd will compile if compiling w/o perl. ! Startconnection and CMDauthinfo were assuming that you compiled with ! --with-perl ! ! * nnrpd/post.c, nnrpd/group.c, nnrpd/misc.c, nnrpd/nnrpd.h, nnrpd/article.c: ! - XOVER's no long require 2 calls to dbzfetch if you're running with ! extendeddbz turned on. ! ! - Cleaned up a few more isxxx() calls and a few printf("%ld", int)'s ! ! - Reworked HISgetent so that it makes a little bit more sense. It looks ! like the "flag" parameter was being used for about 3 different things and it ! was _incredibly_ confusing. It appears to work with storage api, but I'm ! not convinced it works for traditional spool. As a side note, the XPATH ! command appears to be completely broken and probably should be removed. ! ! Wed Oct 14 17:26:19 1998 David C Lawrence ! ! * samples/signcontrol.in: ! added simple comments about why particular headers are signed ! ! made error messages a tad more helpful for situations when it is hard ! to know what message was trying to be signed (such as via an "at" job) ! ! ensure headers from @ignoreheaders are not in output, even if present ! in @orderheaders. ! ! some minor cleanups. ! ! Wed Oct 14 05:38:59 1998 Katsuhiro Kondou ! ! * storage/cnfs/cnfs.c: storage/cnfs/cnfs.c: ! - pagefudge calculation was incorrect. ! ! Tue Oct 13 23:17:53 1998 Clatyon O'Neill ! ! * samples/nnrpd_auth.pl.in, nnrpd/article.c, innd/his.c, lib/dbz.c, include/configdata.h, include/dbz.h, expire/expireindex.c, backends/actsync.c, backends/batcher.c, backends/innxmit.c: ! - Fixed dbz.c so that the structures are packed again like they should be. ! Just for future reference, don't change this unless you've got a damn good ! reason. This makes about a 10-20% difference in the size of the ! history.index file. ! ! - More gcc -Wall cleanups ! ! - Fixed a few places that had long or int instead of OFFSET_T. ! ! - changed the default for OFFSET_T to off_t ! ! * nnrpd/Makefile: Fixed nnrpd so that profiling works. ! ! Tue Oct 13 14:22:22 1998 Katsuhiro Kondou ! ! * samples/controlchan.in: samples/controlchan.in: ! - From: Fluffy ! - This makes the named-pipe syslog stuff only be tried if the host ! system is running linux. ! ! The test for INN::Syslog is for a more portable version of the ! module I'm working on. ! ! Tue Oct 13 14:07:35 1998 Clatyon O'Neill ! ! * expire/makehistory.c, expire/newsrequeue.c, expire/expireindex.c, expire/expireover.c, expire/fastrm.c, expire/makeactive.c, expire/convdate.c, expire/expire.c: ! - Converted a couple of int references to OFFSET_T ! ! - More gcc -Wall warning cleanup ! ! * storage/timehash/timehash.c, storage/cnfs/cnfs.c, storage/interface.c: ! More clean up of gcc -Wall warnings ! ! * lib/hash.c, lib/inndcomm.c, lib/parsedate.y, lib/perl.c, lib/reservedfd.c, lib/conffile.c, lib/dbz.c: ! Cleanup of libinn to prevent warnings with gcc -Wall. Still a few left. ! ! * configure.in, configure: ! Converted configure to only use largefile support if the user specifies ! --with-largefiles on the command line. Right now still only supported with ! CNFS. ! ! * samples/cnfsstat.in: ! Changed cnfsstat so that it will remove nulls from the name of a spool ! object before printing them. ! ! * configure.in, storage/cnfs/Makefile, configure, Makefile.global.in: ! Added support to configure to autodetect an environment that supports ! largefiles ala Unix98 and build CNFS with largefile support if there is ! support. At some point we need to make this true for the entire tree, or at ! least make it an option for the entire tree. ! ! * nnrpd/nnrpd.h: ! - Added a perl hook for authentication into nnrpd. If inn.conf variable ! 'nnrpperlauth' is true then nnrp.access is bypassed and the perl function ! 'authenticate' is called. See the example program 'nnrpd_auth.pl' for more ! info. ! ! - Removed PERMdefault since it was impossible to set it to anything but ! false. ! ! Forgot to commit this the first time. ! ! * site/Makefile, nnrpd/misc.c, nnrpd/nnrpd.c, nnrpd/perl.c, nnrpd/post.c, nnrpd/actived.c, nnrpd/commands.c, nnrpd/group.c, include/paths.h.in, lib/getconfig.c, include/innconf.h, include/libinn.h: ! - Added a perl hook for authentication into nnrpd. If inn.conf variable ! 'nnrpperlauth' is true then nnrp.access is bypassed and the perl function ! 'authenticate' is called. See the example program 'nnrpd_auth.pl' for more ! info. ! ! - Removed PERMdefault since it was impossible to set it to anything but ! false. ! ! * lib/cleanfrom.c: ! Fixed a problem where nnrpd would go into an infinite loop if someone posted ! with a From: line that had mismatched parentheses. ! ! Sun Oct 11 23:04:50 1998 Katsuhiro Kondou ! ! * samples/newgroup.pl.in, samples/rmgroup.pl.in: ! samples/newgroup.pl.in: ! samples/rmgroup.pl.in: ! - Error log was logged to notice ! ! Fri Oct 9 17:23:36 1998 Katsuhiro Kondou ! ! * samples/version.pl.in, samples/sendme.pl.in, samples/sendsys.pl.in, samples/senduuname.pl.in, samples/checkgroups.pl.in, samples/controlchan.in, samples/ihave.pl.in: ! samples/checkgroups.pl.in: ! samples/controlchan.in: ! samples/ihave.pl.in: ! samples/sendme.pl.in: ! samples/sendsys.pl.in: ! samples/senduuname.pl.in: ! samples/version.pl.in: ! - To: inn-patches@isc.org ! - Okay, so FreeBSD doesn't like for perl to have signal handler to ! clean up after child processes. I ripped out the handler and ! instead have a waitpid() after each open2() call. Bleah. ! ! There's also a fix to let syslog work under linux, the lib dir gets ! grabbed up front in a variable so that there doesn't need to be a ! hard-coded path in checkgroups.pl, and a couple other changes to ! accommodate older INN versions are in there that shouldn't matter to ! current. ! ! * innd/chan.c: innd/chan.c: ! - From: Sang-yong Suh ! - I found another buglet introduced by inn-1.5 and still undiscovered. ! It's bp->Left in CHANreadtext() of chan.c. ! I agree the idea. However, I want to read as many bytes as possible ! if I am receiving the article text. Therefore I'd like to limit the ! read size only when the channel is in CSgetcmd. ! ! * nnrpd/group.c: nnrpd/group.c: ! - From: STEVEN_GILLARD@HP-Australia-om1.om.hp.com ! - If a group has an empty overview index file, the GRPscandir routine ! will open the file but never close it. ! ! Thu Oct 8 22:43:09 1998 Katsuhiro Kondou ! ! * storage/cnfs/cnfs.c: storage/cnfs/cnfs.c: ! - needs to check to see if madvise() is available ! ! * innd/cc.c, innd/innd.h: innd/cc.c: ! - From: Sang-yong Suh ! - I often use ``ctlinnd xexec inndstart'' to restart innd. ! However, I noticed that fd is leaking. ! innd/innd.h: ! - From: Sang-yong Suh ! - Obviously, CHANnull expects the variable ``fd'' as the third value. ! ! Thu Oct 8 16:39:25 1998 Clatyon O'Neill ! ! * storage/cnfs/cnfs.c: ! - CNFS method will now issue a MADV_SEQUENTIAL before reading the article if ! the host system defines MADV_SEQUENTIAL ! ! - If the path in the cycbuff and the actual path mismatch log the error, but ! don't consider it to be fatal. ! ! Wed Oct 7 07:22:13 1998 Katsuhiro Kondou ! ! * samples/newgroup.pl.in: samples/newgroup.pl.in: ! - From: Fluffy ! - fixed syntax erorr ! ! Tue Oct 6 14:25:32 1998 James Brister ! ! * expire/makeactive.c, backends/actsync.c, backends/innxmit.c, nnrpd/group.c, innd/ng.c, lib/hash.c: ! Some minor lint removal ! ! Tue Oct 6 05:00:56 1998 Katsuhiro Kondou ! ! * backends/inndf.c: backends/inndf.c: ! - include "clibrary.h" (some system claims optind is not defined) ! ! Mon Oct 5 23:14:24 1998 Katsuhiro Kondou ! ! * configure: configure: ! - recreate configure with updated configure.in by tale ! ! * storage/qio.c: storage/qio.c: ! - From: miquels@cistron.nl (Miquel van Smoorenburg) ! - This should fix the overview corruption some people see with ! traditional overview because the buffer size is too small. ! ! * samples/sendsys.pl.in, samples/senduuname.pl.in, samples/version.pl.in, samples/newgroup.pl.in, samples/rmgroup.pl.in, samples/sendme.pl.in, samples/checkgroups.pl.in, samples/controlchan.in, samples/ihave.pl.in: ! samples/checkgroups.pl.in: ! samples/controlchan.in: ! samples/ihave.pl.in: ! samples/newgroup.pl.in: ! samples/rmgroup.pl.in: ! samples/sendme.pl.in: ! samples/sendsys.pl.in: ! samples/senduuname.pl.in: ! samples/version.pl.in: ! - From: fluffy@meow.org (Fluffy) ! - There is a very important security fix here, plus a bunch of smaller ! cleanup work. ! ! Sun Oct 4 10:45:46 1998 James Brister ! ! * frontends/rnews.c: New -r flag to specifiy the remote host. ! ! * doc/rnews.1: Document new -r flag. ! ! Fri Oct 2 18:01:09 1998 David C Lawrence ! ! * INSTALL: Updated comment about perl as a required package. ! Added comment about GNU Make as a possibly required package. ! ! * configure.in: ! Commented out check for perl5.004 in configure; should not be necessary ! for building. We may want to re-enable the code to verify something like ! embedded perl, or warn about auxiliary programs. ! ! * storage/buildconfig: ! Remove requirement for perl5.003. Now perl4 compatible. ! ! Fri Oct 2 01:50:46 1998 Katsuhiro Kondou ! ! * samples/cnfsstat.in, samples/rc.news.in: samples/cnfsstat.in: ! - From: Robert Collier ! - I include here an updated version of cnfsstat[1], it adds two more ! options that allow it to be used as an external program from mrtg, ! and to generate a suitable mrtg.conf from your configuration files. ! samples/rc.news.in: ! - '-a' for 'cnfsstat -s' is useless ! ! * doc/cnfsstat.8: doc/cnfsstat.8: ! - update for Robert's patch ! ! Mon Sep 28 23:06:29 1998 Katsuhiro Kondou ! ! * samples/version.pl.in, samples/rmgroup.pl.in, samples/sendme.pl.in, samples/sendsys.pl.in, samples/senduuname.pl.in, samples/controlchan.in, samples/ihave.pl.in, samples/newgroup.pl.in, samples/checkgroups.pl.in: ! samples/checkgroups.pl.in: ! samples/controlchan.in: ! samples/ihave.pl.in: ! samples/newgroup.pl.in: ! samples/rmgroup.pl.in: ! samples/sendme.pl.in: ! samples/sendsys.pl.in: ! samples/senduuname.pl.in: ! samples/version.pl.in: ! - From: Fluffy ! - Following are patches against the scripts as distributed in the last ! few snapshots. They could use some more exercise to make sure that ! all possible places for tainted data to sneak in are covered. ! ! * doc/Makefile: doc/Makefile: ! - cnfsstat.8 and controlchan.8 are added ! ! * doc/cnfsstat.8, doc/controlchan.8, doc/cycbuff.conf.5: ! doc/cnfsstat.8: ! doc/controlchan.8: ! - add undocumented scripts ! doc/cycbuff.conf.5: ! - storage.ctl is not used already ! ! * MANIFEST: MANIFEST: ! - add doc/cnfsstat.8 and doc/controlchan.8 ! ! Fri Sep 25 04:10:49 1998 Katsuhiro Kondou ! ! * nnrpd/article.c: nnrpd/article.c: ! - don't close overview data until next 'group' is issued (for non- ! storageapi) ! ! * expire/expireindex.c: expire/expireindex.c: ! - From: "Wyer, Brett" ! - I don't claim to be a C programmer, but the fix seemed fairly clear ! once I looked at the code a bit for the prior post I put up. After ! applying the fix, I was able to rebuild my news overview database ! from scratch. Apparently my problem with overview corruption is not ! too terribly common, or most people having to do rebuilds don't have ! overviewmmap turned off--otherwise this would have shown up much ! sooner. ! ! Thu Sep 24 23:56:46 1998 Katsuhiro Kondou ! ! * storage/cnfs/cnfs.c: storage/cnfs/cnfs.c: ! - From: sfp@aplcomm.jhuapl.edu (Steve Parr) ! - Two other Makefile questions. storage/buildconfig in the ! distribution is much older than storage/buildconfig.in. Should a ! make clobber be removing it? And in older versions, you could do a ! make update from the top level and it would do a make install in all ! subdirs except site where it would do a make update. It no longer ! does the make update in site. Is that intended? ! ! * storage/buildconfig.in: storage/buildconfig.in: ! - From: sfp@aplcomm.jhuapl.edu (Steve Parr) ! - Two other Makefile questions. storage/buildconfig in the ! distribution is much older than storage/buildconfig.in. Should a ! make clobber be removing it? And in older versions, you could do a ! make update from the top level and it would do a make install in all ! subdirs except site where it would do a make update. It no longer ! does the make update in site. Is that intended? ! ! * site/Makefile: site/Makefile: ! - cnfsstat is added ! ! * contrib/Attic/cnfsstat.pl: contrib/cnfsstat.pl: ! - cnfsstat.pl is moved to samples/cnfsstat ! ! * samples/rc.news.in, samples/cnfsstat.in, samples/inn.conf.in: ! samples/cnfsstat.in: ! - newly added ! samples/inn.conf.in: ! - docnfsstat is added ! samples/rc.news.in: ! - invoke cnfsstat if docnfsstat is true ! ! * nnrpd/nnrpd.c, nnrpd/misc.c: nnrpd/misc.c: ! nnrpd/nnrpd.c: ! - From: sfp@aplcomm.jhuapl.edu (Steve Parr) ! - Here are some patches I made to the INN snapshot of 9/12. The most ! significant one being the SIGCHLD handling of nnrpd in daemon mode. ! Without the patch, postings to moderated groups get mailed but the ! mail process gets reaped before nnrpd can check for errors and so ! nnrpd says the posting may have failed. Since some clients ! automatically retry the posting, this results in repeated mailings to ! moderators. ! ! * doc/inn.conf.5: doc/inn.conf.5: ! - docnfsstat is added ! ! * configure, configure.in, MANIFEST: MANIFEST: ! configure.in: ! configure: ! - contrib/cnfsstat.pl is moved to samples/cnfsstat.in ! ! Wed Sep 23 13:27:24 1998 Dave Barr ! ! * samples/controlchan.in: ! SECURITY: change system() call to be a list so /bin/sh is not called ! ! Wed Sep 23 07:30:58 1998 Katsuhiro Kondou ! ! * nnrpd/article.c: nnrpd/article.c: ! - oops! nnrpdcheckart was not used for calling IsCancelled() ! ! * nnrpd/article.c: nnrpd/article.c: ! - nnrpdcheckart was not used for xover ! ! * samples/controlchan.in: samples/controlchan.in: ! - From: Fluffy ! - You want protection? We got protection. I've gone a bit overboard ! with the excluded characters, so adjust to taste. What this does is ! prevent controls with "interesting" characters from being passed to ! external procedures at all. ! ! * doc/expire.8: doc/expire.8: ! - reflect Marc's comment(explain exception of remember line for self ! expire) ! ! * contrib/format_overview.pl, contrib/Attic/cnfsstat.pl, contrib/count_overview.pl: ! contrib/cnfsstat.pl: ! - From: Kjetil Torgrim Homme ! - I took Andreas Lamprecht's cnfsstat.pl and updated it to INN 2.1 ! (ie. storage.conf, not storage.ctl). I also added an "-a" switch so ! that it will report the approximate age of the oldest article in each ! cycbuff, and modified the output format a little. ! contrib/count_overview.pl: ! - From: "Ronald A. Jarrell" ! - This script breaks apart the overview record and pulls the xref ! entries, and counts them. I intend, when I get a chance, to automate ! it a little more, by allowing you to just specify a number, instead ! of the overview file itself, and by having it look up in overview.ctl ! what should be in the file, and not display the groups outside that ! range. But this only took 10 mintues, and serves its purpose. ! contrib/format_overview.pl: ! - From: "Ronald A. Jarrell" ! - I've found this next script makes life a LOT easier in managing ! the format, and moving the damn numbers around. I just strip ! all all the index numbers, and add in what group I need. When I'm ! done, I feed it all to a sort -n, and quickly double check that ! the alphabetic sort did order them properly (generally it should, ! but I'm paranoid). Then I feed that list to this mindless ! script. All of the above is quite trivial to do while still in ! vi by doing a lot of :%!whatever's... ! ! * include/config.h.in: include/config.h.in: ! - check getopt.h ! ! * backends/inndf.c: backends/inndf.c: ! - check getopt.h ! ! * configure, MANIFEST, configure.in: MANIFEST: ! - From: "Ronald A. Jarrell" ! - add contrib/count_overview.pl contrib/format_overview.pl ! configure.in: ! configure: ! - check getopt.h ! ! Tue Sep 22 06:51:24 1998 Katsuhiro Kondou ! ! * samples/controlchan.in: samples/controlchan.in: ! - From: Fluffy ! - > I don't see any check for a valid Reply-To address, so a string ! > like xx';rm -rf /;'xx would cause lots of damage... ! This is eliminated by adding a couple lines to CleanAddy ! ! Mon Sep 21 01:47:44 1998 Katsuhiro Kondou ! ! * lib/cleanfrom.c: lib/cleanfrom.c: ! - Reported by "Pavel Gulchouck" ! - Look into lib/cleanfrom.c. It takes only first line from folded ! header field, and it thinks that all between first LPAREN and last ! RPAREN are comments. :-( ! ! Sun Sep 20 13:25:08 1998 Katsuhiro Kondou ! ! * samples/controlbatch.in: samples/controlbatch.in: ! - From: Fluffy ! - Just a couple typos and forgotten bits, no showstoppers. ! ! * samples/innwatch.in: samples/innwatch.in: ! - From: noroi@mob.or.jp (IKEDA Kenji) ! - evaluating shell variables in a smart way ! ! Sat Sep 19 03:13:46 1998 Katsuhiro Kondou ! ! * samples/innwatch.in: samples/innwatch.in: ! - From: noroi@mob.or.jp (IKEDA Kenji) ! - ${LIM} included ${INNWATCH*} itself ! ! * storage/interface.c: storage/interface.c: ! - if article which has Expires header but expire is not defined in ! storage.conf, it may not be stored. ! ! * samples/innwatch.in: samples/innwatch.in: ! - fixed syntax error ! ! Thu Sep 17 22:10:30 1998 Katsuhiro Kondou ! ! * backends/inndf.c: backends/inndf.c: ! - From: "Igor Timkin" ! - FreeBSD 3.0 have definition of getopt in unistd.h. ! ! - From: "Edward S. Marshall" ! - This should solve the problem in a much more portable manner (works ! on Linux, Solaris 2.x, FreeBSD, Digital UNIX, HP-UX, and (I think) ! SunOS; I needed to do this for another project I wrote which used ! getopt). ! ! * nnrpd/nnrpd.c: nnrpd/nnrpd.c: ! - From: miquels@cistron.nl (Miquel van Smoorenburg) ! - This patch removes the HAVE_SHADOW stuff from ! config/config.scoreboard. It is replaced by a configure test for ! getspnam() and -lshadow. ! ! If nnrpd is run in standalone mode, it tries to add itself to the ! supplimentary group "shadow" (configurable) before changing uid/gid. ! This way, nnrpd is still able to access the shadow file read-only on ! many systems. ! ! * include/configdata.h, include/config.h.in: include/config.h.in: ! include/configdata.h: ! - From: miquels@cistron.nl (Miquel van Smoorenburg) ! - This patch removes the HAVE_SHADOW stuff from ! config/config.scoreboard. It is replaced by a configure test for ! getspnam() and -lshadow. ! ! If nnrpd is run in standalone mode, it tries to add itself to the ! supplimentary group "shadow" (configurable) before changing uid/gid. ! This way, nnrpd is still able to access the shadow file read-only on ! many systems. ! ! * doc/nnrp.access.5, doc/nnrpd.8: doc/nnrp.access.5: ! doc/nnrpd.8: ! - From: miquels@cistron.nl (Miquel van Smoorenburg) ! - This patch removes the HAVE_SHADOW stuff from ! config/config.scoreboard. It is replaced by a configure test for ! getspnam() and -lshadow. ! ! If nnrpd is run in standalone mode, it tries to add itself to the ! supplimentary group "shadow" (configurable) before changing uid/gid. ! This way, nnrpd is still able to access the shadow file read-only on ! many systems. ! ! * configure, configure.in: configure.in: ! configure: ! - From: miquels@cistron.nl (Miquel van Smoorenburg) ! - This patch removes the HAVE_SHADOW stuff from ! config/config.scoreboard. It is replaced by a configure test for ! getspnam() and -lshadow. ! ! If nnrpd is run in standalone mode, it tries to add itself to the ! supplimentary group "shadow" (configurable) before changing uid/gid. ! This way, nnrpd is still able to access the shadow file read-only on ! many systems. ! ! * config/config.scoreboard: config/config.scoreboard: ! - From: miquels@cistron.nl (Miquel van Smoorenburg) ! - This patch removes the HAVE_SHADOW stuff from ! config/config.scoreboard. It is replaced by a configure test for ! getspnam() and -lshadow. ! ! If nnrpd is run in standalone mode, it tries to add itself to the ! supplimentary group "shadow" (configurable) before changing uid/gid. ! This way, nnrpd is still able to access the shadow file read-only on ! many systems. ! ! * storage/interface.c: storage/interface.c: ! - From: Olaf Titz ! - Selecting on "expires" in storage.conf fails for two reason: ! 1. Parsing of the argument confuses d, h, m, s suffixes. ! 2. parsedate() wants a null-terminated string, so we have to copy ! here. I have replaced Now.time by time(0) because, for reasons I ! don't know, parsedate left a 0 in Now.time when I was testing this ! changed routine. ! ! * nnrpd/group.c: nnrpd/group.c: ! - From: miquels@cistron.nl (Miquel van Smoorenburg) ! - If nnrpd is running on traditional spool and "nnrpdcheckart" is true, ! XHDR/XPAT can take a loooong time in for example alt.2600, because ! the lowest article according to GRPscandir() is 414. ! ! This patch limits the articles reported by GRPscandir to the ! range according to the active file. My news server finally has a ! low load and people can read alt.2600 again ;) ! ! * nnrpd/group.c: nnrpd/group.c: ! - xgtitle didn't work ! ! * samples/sendbatch.in, samples/innstat.in, samples/innwatch.ctl.in, samples/innwatch.in, samples/innshellvars.in, samples/innshellvars.pl.in, samples/innshellvars.tcl.in, samples/Attic/innshellvars.csh.in, samples/inn.conf.in, samples/inncheck.in: ! samples/inn.conf.in: ! samples/inncheck.in: ! samples/innshellvars.csh.in: ! samples/innshellvars.in: ! samples/innshellvars.pl.in: ! samples/innshellvars.tcl.in: ! samples/innstat.in: ! samples/innwatch.ctl.in: ! samples/innwatch.in: ! samples/sendbatch.in: ! - incorporate inndf ! ! * include/config.h.in: include/config.h.in: ! - incorporate inndf ! ! * doc/inndf.8, doc/innwatch.8, doc/innwatch.ctl.5, doc/Makefile, doc/inn.conf.5: ! doc/Makefile: ! doc/inn.conf.5: ! doc/inndf.8: ! doc/innwatch.8: ! doc/innwatch.ctl.5: ! - incorporate inndf ! ! * config/config.scoreboard: config/config.scoreboard: ! - incorporate inndf ! ! * backends/inndf.c, backends/Makefile: backends/Makefile: ! backends/inndf.c: ! - incorporate inndf ! ! * configure, MANIFEST, configure.in: MANIFEST: ! configure.in: ! configure: ! - incorporate inndf ! ! Tue Sep 15 02:24:02 1998 Katsuhiro Kondou ! ! * expire/makehistory.c: expire/makehistory.c: ! - From: Kjetil Torgrim Homme ! - When makehistory invokes sort, it will not pass on the -T flag unless ! you have given it on the command line to makehistory. I thought ! pathtmp from inn.conf would be used as a default value. ! ! * doc/makehistory.8: doc/makehistory.8: ! - When makehistory invokes sort, it will not pass on the -T flag unless ! you have given it on the command line to makehistory. I thought ! pathtmp from inn.conf would be used as a default value. ! ! Mon Sep 14 15:38:45 1998 Katsuhiro Kondou ! ! * samples/news.daily.in: samples/news.daily.in: ! - TAGGEDHASH is DO, if --enable-tagged-hash is specified. ! ! * samples/news.daily.in: samples/news.daily.in: ! - history.pag is not moved for tagged hash if EXPDIR is specified ! ! * doc/inn.conf.5: doc/inn.conf.5: ! - 'status' was not explained. ! - fixed some typo. ! ! Sun Sep 13 22:47:43 1998 Katsuhiro Kondou ! ! * innd/art.c: innd/art.c: ! - From: Fluffy ! - I've got HMAC/SHA-1 cancel locks working in the perl filter (innd ! runs with -C). (Yes, perl is an icky place for this, but it's easier ! to play with it on a running server that way. In C later, eh?) ! ! This addition lets it work. I'll clean up the perl bits and post a ! pointer later. Meow. ! ! Sat Sep 12 14:08:27 1998 Katsuhiro Kondou ! ! * samples/checkgroups.pl.in: samples/checkgroups.pl.in: ! - docheckgroups is installed into @LIBDIR@ ! ! * innd/ng.c: innd/ng.c: ! - lowmark wasn't adjusted if storageapi is true and no overview index ! exists. ! ! * storage/cnfs/cnfs.c: storage/cnfs/cnfs.c: ! - From: STEVEN_GILLARD@HP-Australia-om1.om.hp.com ! - Ah...so we want to make sure artoffset + artlength < cycbuff->len. ! - The way things are currently does not protect us against this ! condition. ! ! * storage/interface.c: storage/interface.c: ! - didn't check patterns existense in storage.conf ! ! * samples/newgroup.pl.in, samples/controlchan.in, samples/ihave.pl.in, samples/rmgroup.pl.in, samples/checkgroups.pl.in: ! samples/checkgroups.pl.in: ! - temporary file was left ! samples/controlchan.in: ! - @progparams was not initialized ! samples/ihave.pl.in: ! - should use $inn::pathhost ! samples/newgroup.pl.in: ! samples/rmgroup.pl.in: ! - temporary file was left ! ! * nnrpd/article.c: nnrpd/article.c: ! - From: "Igor Timkin" ! - In the case of empty group CMDgetrange return random ! value of rp->High. ! ! * innd/cc.c: innd/cc.c: ! - From: Fluffy ! - Per a discussion early this morning in news.admin.net-abuse.usenet. ! This adds a perl callback to do something akin to grephistory. May ! be useful if we need to reference stuff on the spool. Or not. =) ! ! * README.perl_hook, INSTALL: INSTALL: ! - From: Tilman Schmidt ! - I would like to propose a small addition to the INSTALL document of ! INN 2.1 mentioning the necessity of setting up some mechanism for ! getting locally posted articles out. (I hate to admit it, but I got ! actually bitten by that, wondering for days why none of our postings ! ever made it out onto the 'net.) ! README.perl_hook: ! - From: Fluffy ! - Per a discussion early this morning in news.admin.net-abuse.usenet. ! This adds a perl callback to do something akin to grephistory. May ! be useful if we need to reference stuff on the spool. Or not. =) ! ! Wed Sep 9 04:42:12 1998 Katsuhiro Kondou ! ! * samples/newgroup.pl.in, samples/rmgroup.pl.in: ! samples/newgroup.pl.in: ! samples/rmgroup.pl.in: ! - pathdb/newsgroups was not updated ! ! Tue Sep 8 10:28:41 1998 Katsuhiro Kondou ! ! * samples/inncheck.in: samples/inncheck.in: ! - reported from From: Florian La Roche ! - newly added parameters in inn.conf were not recognized by inncheck ! ! * samples/controlchan.in: samples/controlchan.in: ! - $inn::pgpverify was not parsed correctly. ! ! Mon Sep 7 23:23:57 1998 Katsuhiro Kondou ! ! * expire/expire.c: expire/expire.c: ! - didn't care reservation and pause status for innd if an error happens ! ! * doc/ctlinnd.8: doc/ctlinnd.8: ! - reported from Gabor Kiss ! - ctlinnd(8) contains command "feedinfo" twice. ! ! * samples/parsecontrol.in, samples/checkgroups.pl.in, samples/controlchan.in, samples/docheckgroups.in, samples/inn.conf.in, samples/checkgroups.in: ! samples/checkgroups.in: ! samples/checkgroups.pl.in: ! samples/controlchan.in: ! samples/docheckgroups.in: ! samples/parsecontrol.in: ! - newsgroup patterns for checkgroups is now used for processing ! - writelog didn't work for checkgroups ! samples/inn.conf.in: ! - check existense of pgp program for default 'pgpvefy' value ! ! * doc/control.ctl.5: doc/control.ctl.5: ! - newsgroup patterns for checkgroups is now used for processing ! ! * configure, configure.in, aclocal.m4: aclocal.m4: ! configure.in: ! configure: ! - '--enable-libtool=no' is default now ! ! Sun Sep 6 23:07:38 1998 Katsuhiro Kondou ! ! * samples/controlchan.in: samples/controlchan.in: ! - controlchan didn't use sm to read article for storageapi ! - controlchan now reads article directory for non-storageapi ! ! * samples/innshellvars.in: innshellvars.in: ! - From: Richard Michael Todd ! - In the recent patches to samples/innshellvars*, the line that sets ! TMPDIR in innshellvars seems to have been deleted, apparently ! accidentally (it isn't gone from the other innshellvars.* scripts). ! Alas, things like news.daily depend on TMPDIR being set, so this ! breaks things. ! ! * storage/trash/trash.c, storage/trash/trash.h: storage/trash/trash.c: ! storage/trash/trash.h: ! - From: Robert Kiessling ! - inn does not compile out-of-the box with IRIX 6.2. Here is a patch for ! the necessary changes. ! ! * storage/timehash/timehash.c, storage/timehash/timehash.h: ! storage/timehash/timehash.c: ! storage/timehash/timehash.h: ! - From: Robert Kiessling ! - inn does not compile out-of-the box with IRIX 6.2. Here is a patch for ! the necessary changes. ! ! * storage/cnfs/cnfs.c, storage/cnfs/cnfs.h: storage/cnfs/cnfs.c: ! storage/cnfs/cnfs.h: ! - From: Robert Kiessling ! - inn does not compile out-of-the box with IRIX 6.2. Here is a patch for ! the necessary changes. ! ! * storage/buildconfig.in, storage/interface.h: storage/buildconfig.in: ! storage/interface.h: ! - From: Robert Kiessling ! - inn does not compile out-of-the box with IRIX 6.2. Here is a patch for ! the necessary changes. ! ! * innd/innd.h: innd/innd.h: ! - From: Robert Kiessling ! - inn does not compile out-of-the box with IRIX 6.2. Here is a patch for ! the necessary changes. ! ! * include/libinn.h, include/config.h.in: include/config.h.in: ! include/libinn.h: ! - From: Robert Kiessling ! - inn does not compile out-of-the box with IRIX 6.2. Here is a patch for ! the necessary changes. ! ! Sat Sep 5 15:16:45 1998 Katsuhiro Kondou ! ! * innd/cc.c: innd/cc.c: ! - fixed some syntax error for some systems ! - HIShavearticle() needs hash instead of messageid ! ! * innd/innd.c, innd/cc.c: innd/cc.c: ! innd/innd.c: ! - From: mooring@arduin.Tymnet.COM (Ed Mooring) ! - I rounded up enough tuits to let perl call back into INN for the ! features I outlined. ! ! * README.perl_hook: README.perl_hook: ! - From: mooring@arduin.Tymnet.COM (Ed Mooring) ! - I rounded up enough tuits to let perl call back into INN for the ! features I outlined. ! ! * site/Makefile: site/Makefile: ! - filter script for perl in MOST* are removed (they are still in REST*) ! ! * samples/parsecontrol.in, samples/scanlogs.in, samples/innshellvars.pl.in, samples/innshellvars.tcl.in, samples/innwatch.in, samples/Attic/innshellvars.csh.in, samples/inn.conf.in, samples/innshellvars.in, samples/control.ctl, samples/controlchan.in: ! samples/control.ctl: ! - 'checkgroups:*@*:example.*:drop' line is now commented out ! samples/controlchan.in: ! samples/inn.conf.in: ! - add innwatchsleeptime, pgpverify, controlfailnotice and logcycles ! samples/innshellvars.csh.in: ! samples/innshellvars.in: ! samples/innshellvars.pl.in: ! samples/innshellvars.tcl.in: ! - remove MAIL_BADCONTROLS, LOG_CYCLES and WANT_PGPVERIFY ! samples/innwatch.in: ! - SLEEP is replaced by INNWATCH_SLEEPTIME ! samples/parsecontrol.in: ! - MAIL_BADCONTROLS is now read from inn.conf ! samples/scanlogs.in: ! - CYCLES is replaced by LOG_CYCLES ! ! * doc/inn.conf.5: doc/inn.conf.5: ! - add innwatchsleeptime, pgpverify, controlfailnotice and logcycles ! ! * config/config.scoreboard: config/config.scoreboard: ! - remove MAIL_BADCONTROLS, LOG_CYCLES, INNWATCH_SLEEPTIME and ! WANT_PGPVERIFY ! ! * configure, INSTALL, configure.in: INSTALL: ! configure.in: ! configure: ! - remove --enable-pgp-verify from configure ! ! Fri Sep 4 10:21:18 1998 Katsuhiro Kondou ! ! * samples/controlbatch.in: samples/controlbatch.in: ! - '#!/bin/sh' line was not substituted by configure ! ! * storage/Makefile: storage/Makefile: ! - From: miquels@cistron.nl (Miquel van Smoorenburg) ! - By default INNs shared libs are installed mode 550. Which means that ! if UUCP execs rnews it fails with "library not found". ! ! * site/Makefile: site/Makefile: ! - controlbatch is incorporated ! ! * samples/version.pl.in, samples/sendsys.pl.in, samples/senduuname.pl.in, samples/sendme.pl.in, samples/rmgroup.pl.in, samples/rc.news.in, samples/ihave.pl.in, samples/newgroup.pl.in, samples/controlchan.in, samples/controlbatch.in, samples/checkgroups.pl.in: ! samples/checkgroups.pl.in: ! samples/controlbatch.in: ! samples/controlchan.in: ! samples/ihave.pl.in: ! samples/newgroup.pl.in: ! samples/rmgroup.pl.in: ! samples/sendme.pl.in: ! samples/sendsys.pl.in: ! samples/senduuname.pl.in: ! samples/version.pl.in: ! - From: Fluffy ! - update for controlchan ! - controlbatch is incorporated ! samples/rc.news.in: ! - don't claim 'No .news.daily file; need to run news.daily?', if ! installed for the 1st time ! ! * lib/Makefile: lib/Makefile: ! - From: miquels@cistron.nl (Miquel van Smoorenburg) ! - By default INNs shared libs are installed mode 550. Which means that ! if UUCP execs rnews it fails with "library not found" ! ! * configure, MANIFEST, configure.in, INSTALL: INSTALL: ! MANIFEST: ! configure.in: ! configure: ! - From: Fluffy ! - controlbatch is now incorporated ! ! Thu Sep 3 14:45:31 1998 Katsuhiro Kondou ! ! * lib/getconfig.c: lib/getconfig.c: ! - From: James Fidell ! - Looks like there's an error in getconfig.c for the sourceaddress ! option. This should fix it : ! ! Wed Sep 2 15:27:17 1998 Katsuhiro Kondou ! ! * samples/inncheck.in, samples/inn.conf.in: samples/inn.conf.in: ! samples/inncheck.in: ! - From: Christophe Wolfhugel ! - I have modified the patch and introduced ! a new option in inn.conf : sourceaddress. ! ! * nnrpd/misc.c: nnrpd/misc.c: ! - check backoff parameters before checking backoff_db ! ! * lib/getconfig.c, lib/remopen.c: lib/getconfig.c: ! lib/remopen.c: ! - From: Christophe Wolfhugel ! - I have modified the patch and introduced ! a new option in inn.conf : sourceaddress. ! ! * include/libinn.h, include/innconf.h: include/innconf.h: ! include/libinn.h: ! - From: Christophe Wolfhugel ! - I have modified the patch and introduced ! a new option in inn.conf : sourceaddress. ! ! * doc/inn.conf.5: doc/inn.conf.5: ! - From: Christophe Wolfhugel ! - I have modified the patch and introduced ! a new option in inn.conf : sourceaddress. ! ! Tue Sep 1 23:19:30 1998 Katsuhiro Kondou ! ! * nnrpd/article.c: nnrpd/article.c: ! - From: Florian La Roche ! - My nnrpd loops in this newsgroup which does not have any articles in ! it, but one line with overview data is still present ! ! * INSTALL: INSTALL: ! - update for syslogging controlchan ! ! * samples/sendme.pl.in, samples/sendsys.pl.in, samples/senduuname.pl.in, samples/version.pl.in, samples/controlchan.in, samples/ihave.pl.in, samples/newgroup.pl.in: ! samples/controlchan.in: ! samples/ihave.pl.in: ! samples/newgroup.pl.in: ! samples/sendme.pl.in: ! samples/sendsys.pl.in: ! samples/senduuname.pl.in: ! samples/version.pl.in: ! - From: Fluffy ! - update for controlchan family ! ! * expire/makehistory.c: expire/makehistory.c: ! - From: George Lindholm ! - The problem is that when makehistory sees a traditional articles ! without a Xref: header, it adds one using the path of the article, ! not the group name. ! ! * doc/control.ctl.5: doc/control.ctl.5: ! - reloading control.ctl for controlchan was described incorrectly. ! ! Mon Aug 31 05:24:18 1998 Katsuhiro Kondou ! ! * samples/nnrp.access: samples/nnrp.access: ! - *.foo.com line is commented out. ! ! * samples/controlchan.in: samples/controlchan.in: ! - missing '^' and '$' in newsgroup patterns separated by '|' ! ! * innd/art.c: innd/art.c: ! - DISPOSE()'ed statically allocated region. ! ! Sun Aug 30 23:03:25 1998 Katsuhiro Kondou ! ! * innd/Makefile: innd/Makefile: ! - TCLLIB and TCLINC are now used. ! ! * Makefile.global.in: Makefile.global.in: ! - TCLLIB and TCLINC was not defined ! ! * samples/newsfeeds.in: samples/newsfeeds.in: ! - From: Fabien Tassin ! - innflags/inn.conf vs FLAGS/rc.news ! ! * nnrpd/article.c: nnrpd/article.c: ! - From: Richard Michael Todd ! - Found the bug that caused the problem of xover always returning an ! empty list that I complained about earlier. The problem is that in ! the tagged hash case, in IsCancelledByIndex, HISgetent() is called ! with flag=TRUE, which implies that the offset parameter it's getting ! is valid. Unfortunately, it isn't, since the call to HISgetent() ! that sets that offset exists only in the non-tagged-hash code branch. ! ! * samples/controlchan.in: samples/controlchan.in: ! - missing trailing '\n' ! ! Sat Aug 29 01:55:07 1998 Katsuhiro Kondou ! ! * lib/conffile.c: lib/conffile.c: ! - From: Yasushi Shinjo ! - CONFfopen() didn't return *ret. ! ! Fri Aug 28 15:18:16 1998 Katsuhiro Kondou ! ! * doc/inn.conf.5: doc/inn.conf.5: ! - remove '_' in 'backoff_*' parameters ! ! * nnrpd/misc.c: nnrpd/misc.c: ! - use read() instaed of fgets(), if lseek() is used. ! ! Thu Aug 27 03:36:21 1998 Katsuhiro Kondou ! ! * nnrpd/article.c: nnrpd/article.c: ! - 'article ' for traditional did not work (previous one was ! incomplete) ! ! * expire/makehistory.c: expire/makehistory.c: ! - From: STEVEN_GILLARD@HP-Australia-om1.om.hp.com ! - The problem happens when using a TMPDIR string thats rather long - ! makehistory sprintf's a sort command into a buffer thats too small to ! hold it. ! ! Wed Aug 26 16:54:58 1998 Katsuhiro Kondou ! ! * nnrpd/misc.c, nnrpd/nnrpd.c, nnrpd/article.c: nnrpd/article.c: ! nnrpd/nnrpd.c: ! - From: "Scott Gifford" ! - Here is a detailed description of the changes I made, followed by the ! patch: ! ! First, CMDxover uses CMDgetrange to parse the article range. ! CMDgetrange was looping through every single article in the group ! once to get some overview information, and then again to set the ! token information. This made the initial delay for XOVER on a large ! group really really long, sometimes over a minute. I fixed this by ! deferring both of these lookups until they need to be done. This ! speeds things up by not bothering to look up articles unless they ! are needed, and also defers the delay so that it doesn't cause ! timeouts. ! ! I also found some severe problems in the ARTfind routine. If you ! looked up the same article twice, the second one would miss the ! ARTcache, and have to be searched for. Because CMDxover does an ! ARTfind twice for every article, the cache was missing at least half ! the time. I fixed this by having the cache code check ARTcache ! where it is currently at before incrementing it. I also added some ! code to quickly detect ARTfinds on missing articles, and not lose ! ARTcache in the process. Finally, I added some code to do an early ! check to see if they were ARTfinding the first article for this ! group, becuase it is a fairly common thing, quick to check for, and ! is the worst case for ARTfind's binary search. All in all, in my ! tests, XOVERs of all the articles in a group will hit the ARTcache ! every single time, and other XOVERs will only miss for the first one. ! nnrpd/article.c: ! nnrpd/misc.c: ! - 'article ' for traditional did not work. ! ! Tue Aug 25 13:44:46 1998 Katsuhiro Kondou ! ! * samples/inn.conf.in: samples/inn.conf.in: ! - From: "Igor Timkin" ! - It's incorrect. getconfig.c (ReadInnConf function): ! ! * samples/controlchan.in: samples/controlchan.in: ! - From: Fluffy ! - For no particular reason, I was only checking to see if pgpverify ! succeeded, and wasn't making sure the returned key actually matched ! what was in control.ctl. Duh. ! ! - Logging of bogus control messages (e.g. Hippy) was a bit excessive. ! ! * innd/art.c: innd/art.c: ! - From: Florian La Roche ! - compare with '\0' instead of NULL ! ! * doc/inn.conf.5: doc/inn.conf.5: ! - From: Sam Eaton ! - So the manual page is wrong, and it takes the value given and then ! turns it into a number of seconds. ! ! * samples/inn.conf.in: samples/inn.conf.in: ! - From: James Fidell ! - default linecountfuzz and artcutoff in inn.conf was incorrect ! ! Mon Aug 24 16:51:36 1998 Katsuhiro Kondou ! ! * nnrpd/article.c: nnrpd/article.c: ! - 'article ' did not work for traditional spool in some case ! ! * innd/status.c: innd/status.c: ! - From: Michael Schroeder ! - inn.status should be in pathlog if HTML_STATUS is undefined. ! ! Sun Aug 23 13:36:10 1998 Katsuhiro Kondou ! ! * expire/expireindex.c: expire/expireindex.c: ! - From: Richard Michael Todd ! - It takes out the questonable business with setting i to Refresh->Used ! and instead simply sets tmp to NULL if we're in the -o case and ! overviewmmap is on, meaning that we don't try to munmap() random ! parts of our address space later because tmp was never initialized. ! This version seems to work okay with -o on both the mmap and non-mmap ! cases. ! ! Sat Aug 22 14:35:07 1998 Katsuhiro Kondou ! ! * storage/interface.c: storage/interface.c: ! - From: Richard Michael Todd ! - If you have a first entry in the new-format storage.conf file that ! doesn't completely specify all parameters (e.g. something like ! method timehash { class: 0 } ! that doesn't specify minsize and maxsize) the "sub" structure for: ! that storage.conf entry gets uninitialized garbage for those: ! parameters you didn't specify (leading to, say, a minsize of ! 25432934 for that storage method, which is not exactly what I ! wanted). The patch below fixes this by initializing the variables ! after a 'method foo' is seen. (There *was* code to reset the ! variables at the end of a 'method foo {...}'; this code is now ! redundant and hence is deleted by this patch). ! ! * samples/inn.conf.in, samples/inncheck.in: samples/inncheck.in: ! - From: "Igor Timkin" ! - ',' were missed in each parameter ! samples/inn.conf.in: ! - From: "Igor Timkin" ! - Add noreader ! ! Fri Aug 21 10:30:05 1998 Katsuhiro Kondou ! ! * samples/version.in, samples/version.pl.in: samples/version.in: ! - use $VERSION instead of raw version ! samples/version.pl.in: ! - use $inn::version instead of raw version ! ! * frontends/innconfval.c: frontends/innconfval.c: ! - add -v to show version ! - add version if no args ! ! * doc/innconfval.1, doc/innd.8: doc/innconfval.1: ! - add -v to show version ! - add version if no args ! doc/innd.8: ! - describe usecontrolchan a bit more ! ! * INSTALL: INSTALL: ! - update for usecontrolchan ! ! * lib/getconfig.c: lib/getconfig.c: ! - preveous fix was not complete. (_CONF_ALLOWREADERS and ! CONF_VAR_ALLOWREADERS are replaced with _CONF_READERSWHENSTOPPED and ! CONF_VAR_READERSWHENSTOPPED) ! ! * innd/chan.c: innd/chan.c: ! - reported From: Aidan Cully ! - If a connection is above its MaxCnx, it's FD does _not_ get removed ! from RCHANmask. The connecting site sends anything over, select ! suddenly starts returning larger values. Then, in the iteration ! over the FD_SETs from select, if a particular connection is above ! the MaxCnx, we simply skip that channel. Obviously, the appropriate ! way to fix this is to remove the FD from RCHANmask when it's ! discovered that the channel is above its connection limit, and put ! it back in if the limit changes. ! ! * doc/control.ctl.5, doc/innd.8: doc/control.ctl.5: ! doc/innd.8: ! - update for controlcan ! ! Thu Aug 20 23:53:44 1998 Katsuhiro Kondou ! ! * samples/inn.conf.in, samples/inncheck.in: samples/inn.conf.in: ! - allowreaders is renamed to readerswhenstopped ! - From: rune@ftech.net ! - add noreader (originally spawnnnrpd) ! samples/inncheck.in: ! - update for new parameters in inn.conf ! - allowreaders is renamed to readerswhenstopped ! - From: rune@ftech.net ! - add noreader (originally spawnnnrpd) ! ! * lib/getconfig.c: lib/getconfig.c: ! - defined name convention was bit different ! - allowreaders is renamed to readerswhenstopped ! - From: rune@ftech.net ! - add noreader (originally spawnnnrpd) ! ! * innd/innd.c, innd/rc.c, innd/cc.c: innd/cc.c ! innd/innd.c ! - allowreaders is renamed to readerswhenstopped ! innd/rc.c ! - From: rune@ftech.net ! - add noreader (originally spawnnnrpd) ! ! * include/innconf.h, include/libinn.h: include/innconf.h ! include/libinn.h ! - defined name convention was bit different ! - allowreaders is renamed to readerswhenstopped ! - From: rune@ftech.net ! - add noreader (originally spawnnnrpd) ! ! * doc/innd.8, doc/inn.conf.5: doc/inn.conf.5 ! doc/innd.8 ! - allowreaders is renamed to readerswhenstopped ! - From: rune@ftech.net ! - add noreader (originally spawnnnrpd) ! ! * innd/icd.c: innd/icd.c: ! - ensure control.cancel exists in active if innconf->usecontrolchan ! is true ! ! * site/Makefile: site/Makefile: ! - From: miquels@cistron.nl (Miquel van Smoorenburg) ! - At least the new "controlchan" and all the filters aren't installed ! anymore. ! ! * lib/conffile.c: lib/conffile.c: ! - From: rune@ftech.net ! - I needed to add this to compile under linux with this mornings CVS ! tree. ! ! * samples/ihave.pl.in: samples/ihave.pl.in: ! - From: Fluffy ! - If it's got a grephistory -s in it, that needs to be an -i. Otherwise ! identical. ! ! * storage/interface.c, storage/interface.h: storage/interface.h: ! - From: Aidan Cully ! - will use storage.conf ! ! * site/Makefile: site/Makefile: ! - update newly added scripts for controlchan ! - From: Aidan Cully ! - will use storage.conf ! ! * samples/senduuname.pl.in, samples/storage.conf, samples/version.pl.in, samples/rmgroup.pl.in, samples/sendme.pl.in, samples/sendsys.pl.in, samples/inn.conf.in, samples/newgroup.pl.in, samples/newsfeeds.in, samples/checkgroups.pl.in, samples/controlchan.in, samples/ihave.pl.in: ! samples/checkgroups.pl.in: ! samples/controlchan.in: ! samples/ihave.pl.in: ! samples/inn.conf.in: ! samples/newgroup.pl.in: ! samples/newsfeeds.in: ! samples/rmgroup.pl.in: ! samples/sendme.pl.in: ! samples/sendsys.pl.in: ! samples/senduuname.pl.in: ! samples/version.pl.in: ! - From: Fluffy ! - Added a doifarg action to sendsys, version and senduuname, because ! there just may be someone out there who doesn't want to entirely ! disable those things. (It's documented but not in the shell stuff.) ! ! Wrote up some documentation, then went and rm'ed the wrong directory. ! samples/storage.conf: ! - From: Aidan Cully ! - will use storage.conf ! ! * nnrpd/post.c: nnrpd/post.c: ! - '--enable-merge-to-groups' is gone and it is moved to inn.conf ! ! * lib/getconfig.c, lib/Makefile, lib/conffile.c: lib/Makefile: ! lib/conffile.c: ! - From: Aidan Cully ! - will use storage.conf ! lib/getconfig.c: ! - '--enable-controlchan' is gone and it is moved to inn.conf ! - '--enable-merge-to-groups' is gone and it is moved to inn.conf ! ! * innfeed/sysconfig.h: innfeed/sysconfig.h: ! - avoid duplicate yacc symbol for UX4800 ! ! * innd/icd.c, innd/art.c: innd/art.c: ! - '--enable-controlchan' is gone and it is moved to inn.conf ! - '--enable-merge-to-groups' is gone and it is moved to inn.conf ! innd/icd.c: ! - '--enable-merge-to-groups' is gone and it is moved to inn.conf ! ! * include/libinn.h, include/config.h.in, include/configdata.h, include/innconf.h, include/conffile.h, include/paths.h.in: ! include/conffile.h: ! include/paths.h.in: ! - From: Aidan Cully ! - will use storage.conf ! include/config.h.in: ! - '--enable-controlchan' is gone and it is moved to inn.conf ! include/configdata.h: ! - '--enable-merge-to-groups' is gone and it is moved to inn.conf ! include/innconf.h: ! include/libinn.h: ! - '--enable-controlchan' is gone and it is moved to inn.conf ! - '--enable-merge-to-groups' is gone and it is moved to inn.conf ! ! * frontends/sys2nf.c, frontends/inews.c: frontends/inews.c: ! frontends/sys2nf.c: ! - '--enable-merge-to-groups' is gone and it is moved to inn.conf ! ! * doc/innd.8, doc/active.5, doc/inn.conf.5, doc/storage.ctl.5, doc/expire.ctl.5, doc/libstorage.3, doc/sm.8, doc/storage.conf.5, doc/Makefile, doc/cycbuff.conf.5: ! doc/Makefile: ! doc/cycbuff.conf.5: ! doc/expire.ctl.5: ! doc/libstorage.3: ! doc/sm.8: ! doc/storage.conf.5: ! doc/storage.ctl.5: ! - From: Aidan Cully ! - will use storage.conf ! doc/active.5: ! - '--enable-merge-to-groups' is gone and it is moved to inn.conf ! doc/inn.conf.5: ! - '--enable-controlchan' is gone and it is moved to inn.conf ! - '--enable-merge-to-groups' is gone and it is moved to inn.conf ! - From: Aidan Cully ! - will use storage.conf ! doc/innd.8: ! - '--enable-merge-to-groups' is gone and it is moved to inn.conf ! ! * contrib/Attic/cnfsstat.pl: contrib/cnfsstat.pl ! - show status for cnfs ! ! * config/config.scoreboard: config/config.scoreboard ! - '--enable-merge-to-groups' is gone and it is moved to inn.conf ! ! * configure, MANIFEST, configure.in, INSTALL: INSTALL ! - update for storage.conf ! MANIFEST ! - update newly added scripts for controlchan ! - update for storage.conf ! - update for cnfsstat.pl(contrib) ! configure.in ! configure ! - '--enable-controlchan' is gone and it is moved to inn.conf ! - '--enable-merge-to-groups' is gone and it is moved to inn.conf ! - update newly added scripts for controlchan ! ! Wed Aug 19 06:50:54 1998 Katsuhiro Kondou ! ! * lib/endian.c: lib/endian.c: ! - Some compiler recognize the code unwantedly. ! To avoid this, the code is separated and call store() and ! load_and_store() instead ! ! * expire/expireindex.c: expire/expireindex.c: ! - From: Keith Lewis ! - there was a bug if mmap is on and with '-a -o' ! ! * MANIFEST: MANIFEST: ! - update for controlchan, newgroup.pl and rmgroup.pl ! ! Wed Aug 19 02:57:22 1998 Marc Fournier ! ! * site/Makefile: make sure the new files get installed ! ! * samples/controlchan.in: ! move the control files to bin/control instead of bin/newcontrol ... ! ! * configure.in, configure: ! make sure substitutions are done for the new files in samples ! ! * samples/rmgroup.pl.in, samples/Attic/newsfeeds, samples/newgroup.pl.in, samples/newsfeeds.in, samples/controlchan.in: ! Include the new perl scripts, setting paths as appropriate ! Add a sample entry to newsfeeds., as well as set appropriate paths for ! the samples in there... ! ! Not installed by default yet ! ! * innd/art.c, include/config.h.in, configure.in, configure: ! Add an --enable-controlchan option to configure that triggers an #ifdef ! in innd/art.c for the controlchan code submitted by: Fluffy ! ! Still have to work in the controlchan work itself though... ! ! Tue Aug 18 08:15:15 1998 Katsuhiro Kondou ! ! * innd/nc.c: innd/nc.c: ! - From: Richard Michael Todd ! - I'm trying out the patch below, which turns off (temporarily) ! reading from channels when the server is paused and the channel has ! gotten an articles worth of data (i.e. it can't go any further with ! that data until the server is unpaused.) ! ! Sun Aug 16 23:30:48 1998 Katsuhiro Kondou ! ! * backends/batcher.c: backends/batcher.c: ! - reported from Stephan Austermuehle ! - 'Token' was not set for traditional spool ! ! Sat Aug 15 11:15:24 1998 Katsuhiro Kondou ! ! * MANIFEST: MANIFEST: ! - replace frontends/c7unbatch.sh with frontends/c7unbatch.sh.in ! - add frontends/gunbatch.sh.in ! ! * storage/cnfs/cnfs.c: storage/cnfs/cnfs.c: ! - From: "Forrest J. Cavalier III" ! - When articlemmap is off, the code could DISPOSE() a stale pointer, ! leading to malloc() arena corruption, crashes, memory leaks, ! infinite loops, etc, especially when running makehistory -O or -I. ! - From: Bjorn Danielsson ! - bogus pointers are sometimes passed to munmap() in ! CNFSmunmapbitfields() in storage/cnfs/cnfs.c, which may cause parts ! of the malloc heap to become unmapped. ! ! * samples/sendbatch.in, samples/inn.conf.in, samples/nntpsend.ctl, samples/passwd.nntp: ! samples/inn.conf.in: ! - From: Russell Vincent ! - Add new option 'nicenewnews' ! - Fix backoff* variables - they don't have an underscore ! samples/nntpsend.ctl: ! samples/passwd.nntp: ! - From: Florian La Roche ! - I would comment out these example entries: ! samples/sendbatch.in: ! - From: Florian La Roche ! - The following patch is needed on a Linux machine(bash) as it fails if ! "$FREE" has nothing in it and the line reads ! ! * nnrpd/post.c, nnrpd/loadave.c, nnrpd/newnews.c: nnrpd/loadave.c: ! - From: Florian La Roche ! - It is much easier to use a system call for this instead of parsing ! /proc/loadavg. ! nnrpd/newnews.c: ! - From: Russell Vincent ! - Add new option 'nicenewnews' to force nnrpd to nice itself to this ! value if the NEWNEWS command is used ! nnrpd/post.c: ! - From: Florian La Roche ! - Note that it is a loop and "p++" is always done at the end of the ! loop... ! ! * lib/getconfig.c: lib/getconfig.c: ! - From: Russell Vincent ! - Add new option 'nicenewnews' to force nnrpd to nice itself to this ! value if the NEWNEWS command is used ! ! * innfeed/innlistener.c: innfeed/innlistener.c: ! - From: Bjorn Danielsson ! - the first article fed to a dynamically configured peer is lost. ! ! * innd/art.c: innd/art.c: ! - 'H' flag for newsfeeds for traditional spool still had problem ! ! * include/innconf.h, include/libinn.h: include/innconf.h: ! include/libinn.h: ! - From: Russell Vincent ! - Add new option 'nicenewnews' to force nnrpd to nice itself to this ! value if the NEWNEWS command is used ! ! * frontends/inews.c, frontends/Attic/c7unbatch.sh, frontends/Makefile, frontends/c7unbatch.sh.in, frontends/gunbatch.sh.in: ! frontends/c7unbatch.sh: ! - c7unbatch.sh is created by configure with c7unbatch.sh.in ! frontends/Makefile: ! frontends/c7unbatch.sh.in: ! frontends/gunbatch.sh.in: ! - path for compress and gzip are set by confiugre ! - From: Florian La Roche ! - "gunzip" is still used by many sites for compressed gzip-batches. It ! would be good to have "gunzip" for better compatibility. ! frontends/inews.c: ! - From: Florian La Roche ! - Note that it is a loop and "p++" is always done at the end of the ! loop... ! ! * doc/inn.conf.5: doc/inn.conf.5: ! - From: Russell Vincent ! - Document new option 'nicenewnews' ! - Be consistent in references to nnrpd(8) ! ! * configure.in, configure, Attic/CHANGES: CHANGES: ! - this file was dropped from MANIFEST ! configure: ! configure.in: ! - add frontends/c7unbatch.sh.in and frontends/gunbatch.sh.in ! for COMPRESS and GZIP substitution ! ! Wed Aug 12 23:50:42 1998 Katsuhiro Kondou ! ! * INSTALL: INSTALL: ! - explain approximate amount of RAM needed for non-tagged hash ! ! * innd/ng.c: innd/ng.c: ! - From: miquels@cistron.nl (Miquel van Smoorenburg) ! - Since a few days my innd coredumped while starting up. It appears ! that a function in ng.c reads one character past the mmap()ed active ! file. It might also have to do with the fact that my active file is ! an _exact_ multiple of the page size right now. ! ! I studied the code and I cannot see why it happens just _that_ it ! happens. It might even be a bug in the libc implementation of ! strchr. Anyway I've replaced the original code with something smaller ! and simpler that does work .. and that never hurts, does it? ! ! * site/Makefile: site/Makefile: ! - perl and tcl filter scripts are moved to REST ! ! - From: Florian La Roche ! - nnrpd.track not installed ! ! Tue Aug 11 06:05:34 1998 Katsuhiro Kondou ! ! * innd/nc.c: innd/nc.c: ! - reported by From: Barry Bierbauch ! - sugested patch from gerglery@usa.net (Grigori Vulis) ! - returned response was incorrect for ihave ! ! * innd/chan.c, innd/innd.h, innd/art.c: innd/art.c: ! innd/chan.c: ! innd/innd.h: ! - reported From: John Line (as news server manager) ! ! - 'H' didn't append a new line for each article ! - Xref header created from didn't include trailing line feed ! - 'H' for storage api included '\r' ! ! * doc/newsfeeds.5: doc/newsfeeds.5: ! - add a note for Bytes: header ! ! Sun Aug 9 14:03:10 1998 Katsuhiro Kondou ! ! * innd/art.c: innd/art.c: ! - reported by Yong-Shen Tang ! - Hi! when turning on verifycancel option in inn.conf , all cancel ! messages, including valid or invalid, happen to be refused by innd. ! I found that art.c:ARTcancelverify() doesn't remove the "Sender: " ! nor "From: " from the head of 'local', so !EQ(local, p) always return ! true here. My inn version is 2.1 . ! ! Fri Aug 7 14:17:15 1998 Katsuhiro Kondou ! ! * nnrpd/nnrpd.c: nnrpd/nnrpd.c: ! - From: Russell Vincent ! - Allow access patterns to be defined and used later in the ! nnrp.access file. If large patterns are used repeatedly, ! this reduces the size of the nnrp.access file and can ! improve startup performance significantly. ! - Add a line count, so that the line number of errors in ! nnrp.access can be logged. ! ! * doc/nnrp.access.5: doc/nnrp.access.5: ! - From: Russell Vincent ! - Allow access patterns to be defined and used later in the ! nnrp.access file. If large patterns are used repeatedly, ! this reduces the size of the nnrp.access file and can ! improve startup performance significantly. ! - Add a line count, so that the line number of errors in ! nnrp.access can be logged. ! ! Thu Aug 6 23:07:41 1998 Katsuhiro Kondou ! ! * storage/timehash/timehash.c: storage/timehash/timehash.c: ! - From: Christian von Roques ! - storage/timehash/timehash.c #includes without ! #including first. Ultrix needs to be ! #included before . I #included before ! . ! ! * storage/Makefile: storage/Makefile: ! - From: Christian von Roques ! - storage/Makefile triggers a bug in Ultrix's /bin/sh: The result of an ! if x; then y; fi; is false if x evaluates to false, which makes make ! abort. One can tell make to ignore the return-status of the if, ! insert an empty else-clause, or rewrite the statement. I changed the ! if to: [ -d objs ] || mkdir objs; ! ! * lib/makedir.c: lib/makedir.c: ! - From: Christian von Roques ! - lib/makedir.c #includes before . Ultrix ! requires, and Posix specififies that has to be #included ! before . I just swapped the #includes. ! ! * doc/inncheck.8: doc/inncheck.8: ! - From: Christian von Roques ! - fixed typo ! ! * configure, configure.in: configure.in: ! configure: ! - From: Christian von Roques ! - configure.in contains AC_HEADER_TIME in line 371 as well as in line ! 343, I removed the one in line 371. ! ! * nnrpd/post.c: nnrpd/post.c: ! - From: Andrew Gierth ! - The actived patch returns the group info in a static area which is ! overwritten on subsequent calls - so the group pointer saved by ! ValidNewsgroups becomes invalid before being used for the mailing. ! ! * README.perl_hook: README.perl_hook: ! - update for Andrew Gierth's patch ! ! * nnrpd/post.c, nnrpd/perl.c: nnrpd/perl.c: ! nnrpd/post.c: ! - This code was written by Andrew Gierth ! - As ported to INN 2.0 by John Payne. ! - This patch does several things: ! ! 1. Gives the Perl filter (filter_nnrpd.pl) access to message bodies, ! in the $body variable. ! ! 2. Gives the Perl filter access to the poster's authinfo username, ! in the $user variable. Obviously this has no effect unless you use ! authinfo. ! ! 3. Adds a returncode DROP to the Perl interface. If the string ! returned by the Perl subroutine begins with DROP, the post will be ! discarded and success returned to the client. ! ! 4. Adds a returncode SPOOL to the Perl interface. If the string ! returned by the Perl subroutine begins with SPOOL, success will be ! returned to the client and the post will be saved to in.coming/spam ! for manual inspection. ! ! Thus, doing something like this: ! ! return "DROP spam" if ($body =~ /http:..dirty\.spammer\.com/); ! ! will drop any post containing that URL while returning success to the ! ! sting client, making the spammer think he is being successful and ! keeping him from changing ISPs and starting over somewhere else. ! ! return "SPOOL possible MMF" if ($hdr{"Subject"} =~ /Make Money Fast/); ! ! will spool "suspect" posts in in.coming/spam so you can look at them ! and decide whether they should go out. They can be injected manually ! with rnews. Spooled posts to moderated groups will be placed in ! in.coming/spam/mod; you *cannot* feed these to rnews, they must be ! mailed to the moderation address. This is somewhat inconvenient. ! ! return "posting access denied" if ($user eq "badguy"); ! ! will return failure for anything posted by "badguy", removing his ! Usenet posting ability while still allowing him to read. (This ! example requires authinfo). ! ! return "SPOOL suspect post from $user" if ($user = "maybebadguy"); ! ! will spool posts from "maybebadguy" for manual inspection, while ! returning success to the posting client. They can be injected ! manually with rnews after inspection (unless they are destined for ! moderated newsgroups). (This example requires authinfo.) ! ! Wed Aug 5 06:02:31 1998 Katsuhiro Kondou ! ! * innd/art.c: innd/art.c: ! - fixed compilation error ! ! * storage/timehash/timehash.c: storage/timehash/timehash.c: ! - examine to see if madvise() works ! ! * storage/cnfs/cnfs.c: storage/cnfs/cnfs.c: ! - examine to see if madvise() works ! ! * nnrpd/article.c: nnrpd/article.c: ! - examine to see if madvise() works ! ! * lib/localopen.c, lib/dbz.c, lib/inndcomm.c: lib/dbz.c: ! - examine to see if madvise() works ! lib/inndcomm.c: ! - From: Michael Statman ! - has 'inconf' should be 'innconf' ! lib/localopen.c: ! - From: Michael Statman ! - NNTPconnect() needs port number ! ! * innd/art.c: innd/art.c: ! - set Path for ihave/sendme processing if logipaddr is true ! ! * include/config.h.in: include/config.h.in: ! - examine to see if madvise() works ! ! * configure, configure.in: configure.in: ! configure: ! - examine to see if madvise() works ! ! Tue Aug 4 13:18:59 1998 Katsuhiro Kondou ! ! * doc/makehistory.8: doc/makehistory.8: ! - makehistory knows symlink, since #if defined(HAVE_SYMLINK) ! is used. ! ! * samples/Attic/innshellvars.csh.in: samples/innshellvars.csh.in: ! - inn_pathtemp should be inn_pathtmp ! ! * samples/pgpverify.in: samples/pgpverify.in: ! - From: Alexandre Oliva ! - I've just noticed inn 2.1's pgpverify script doesn't take the PGP ! pathname guessed by the configure script into account. Here's a patch ! that fixes this problem. ! ! Mon Aug 3 06:17:12 1998 Katsuhiro Kondou ! ! * innd/rc.c: innd/rc.c: ! - From: Richard Michael Todd ! - In RCreadfile(), there is a main loop which maintains two variables, ! *count and rp. *count keeps count of the number of peer structures ! currently in the list, and rp points to the last one. Normally ! these two variables get incremented in sync, but if a hostname ! lookup fails, *count is updated (actually was incremented earlier), ! but rp isn't (and shouldn't, as we have no valid peer data to add). ! This leads to *count being larger than the number of peer structures ! initialized, so when RCreadfile() or RCclose() is next called, the ! code attempts to free garbage that was never initialized. The patch ! below decrements *count if a hostname lookup fails. ! ! Sun Aug 2 23:57:52 1998 Katsuhiro Kondou ! ! * samples/checkgroups.in, samples/innshellvars.in: ! samples/checkgroups.in: ! - checkgroups referred to undefined parameter. ! samples/innshellvars.in: ! - PATHLIB is not defined at inn.conf ! ! * innfeed/connection.c: innfeed/connection.c: ! - From: Christopher Masto ! - I needed this feature, so I patched it in.. I just noticed that ! someone else has already done this. Oh well. It doesn't seem to be ! in the current tree, so here it is in case someone desperately needs ! it. ! ! It's pretty much the same syntax as in inn.conf, but I didn't bother ! supporting "any" and I didn't check the environment variable. It ! should really do both, for consistency of behavior. ! ! * doc/innfeed.conf.5: doc/innfeed.conf.5: ! - From: Christopher Masto ! - From: Per Hedeland (he modified the ! description) ! - I needed this feature, so I patched it in.. I just noticed that ! someone else has already done this. Oh well. It doesn't seem to be ! in the current tree, so here it is in case someone desperately needs ! it. ! ! It's pretty much the same syntax as in inn.conf, but I didn't bother ! supporting "any" and I didn't check the environment variable. It ! should really do both, for consistency of behavior. ! ! Fri Jul 31 06:23:10 1998 Katsuhiro Kondou ! ! * innfeed/sysconfig.h: innfeed/sysconfig.h: ! - HAVE_MMAP is defined at config.h (to avoid duplicate definition) ! ! * lib/Makefile: lib/Makefile: ! - making perl.o has some problem ! ! Thu Jul 30 23:45:11 1998 Katsuhiro Kondou ! ! * makedirs.sh.in: makedirs.sh.in: ! - PATHMAN shoud be @MANDIR@ ! ! * lib/Makefile: lib/Makefile: ! - use $(LIBCCWITHOUTLIBTOOL) for compiling perl.c and endian.c ! ! * innfeed/Makefile: innfeed/Makefile: ! - $(LIBS) is placed at the end of line ! ! * configure, configure.in: configure.in: ! configure: ! - examine __inet_addr() and __inet_aton() for libbind ! ! * Makefile.global.in: Makefile.global.in: ! - add LIBCCWITHOUTLIBTOOL for lib/Makefile ! ! * storage/cnfs/cnfs.c: storage/cnfs/cnfs.c: ! - From: Florian La Roche ! - should return FALSE instead of NULL ! ! * lib/reservedfd.c: lib/reservedfd.c: ! - From: Florian La Roche ! - refer '\0' instead of NULL ! ! * innfeed/startinnfeed.c: innfeed/startinnfeed.c: ! - From: Florian La Roche ! - main type is int ! ! Wed Jul 29 00:53:28 1998 Katsuhiro Kondou ! ! * storage/Makefile: storage/Makefile: ! - use installit.sh to install libstorage instead of cp ! ! * lib/Makefile: lib/Makefile: ! - use installit.sh to install libinn instead of cp ! ! * frontends/inews.c: frontends/inews.c: ! - From: J Scott Berg ! - There's a bug in inews which occurs when posting to moderated ! newsgroups via a remote server. A copy of the active file from the ! server is left in the tmp directory. A patch for inews.c is included ! later in this message (it's identical to the patch I sent in for the ! same problem in 1.7.2...) ! ! * doc/expire.8: doc/expire.8: ! - From: Jon Harley ! - The second diff is against doc/expire.8. As well as making it clear ! which overview (unified or index) is being discussed, I have taken ! the liberty of correcting a few grammar mistakes. Hope you don't mind. ! ! Sat Jul 25 06:45:22 1998 Katsuhiro Kondou ! ! * innd/chan.c: innd/chan.c: ! - From: Aidan Cully ! - cp->MaxCnx and cp->ActiveCnx are only initialized once, by a memset() ! in CHANsetup. I think inn will start screwing up royally if it ! closes a channel, then closes a remote NNTP channel because of too ! many active connections, then opens a new channel using the remote ! NNTP channel's old file descriptor.. INN will notice that MaxCnx is ! not zero, and ActiveCnx is also too big (that's why the last got ! closed down, anyway), and kill the new process without any reason ! why. I _think_ this explains my problems with innfeed (posted to ! inn-workers yesterday), but at the very least, this is one less ! place to look and we should always initialize these variables. ! ! Fri Jul 24 13:43:06 1998 Katsuhiro Kondou ! ! * samples/nntpsend.in: samples/nntpsend.in: ! - From: "Igor Timkin" ! - Old nntpsend bug (1.5.1 have this error): ! ! * frontends/rnews.c: frontends/rnews.c: ! - From: "Igor Timkin" ! - rnews don't understand gzip batches: ! ! Fri Jul 24 13:38:29 1998 James Brister ! ! * README: Update for 2.1 ! ! * include/patchlevel.h: Adjust date. ! ! Fri Jul 24 02:03:40 1998 Katsuhiro Kondou ! ! * expire/expire.c: expire/expire.c: ! - still has problem with '-d' ('go' even with this option) ! ! * doc/makehistory.8: doc/makehistory.8: ! - correct description. ! ! Thu Jul 23 17:22:48 1998 James Brister ! ! * INSTALL: ! Shifted the buffer-creation section around to make things hopefully a ! little clearer. ! ! * configure, configure.in: Fixed a letter-case typo. ! ! * configure, configure.in: Fixed broken variable usage. ! ! * configure, configure.in: Fixed broken use of shell variable. ! ! Thu Jul 23 00:00:30 1998 Katsuhiro Kondou ! ! * storage/cnfs/cnfs-private.h, storage/cnfs/cnfs.c: ! storage/cnfs/cnfs-private.h: ! storage/cnfs/cnfs.c: ! - From: Aidan Cully ! - As promised on inn-workers.. This patch is against the 2.1 test ! release James Brister posted yesterday. I'm not completely ! comfortable with the config.scoreboard patch.. In particular the ! +[IN1.7=@NO][WDF=autoconf][WOR=no] ! line.. If someone more comfortable with the config.scoreboard file ! took a look, it'd be cool, but it seems to work fine for me, so I'm ! not particularly worried. ! ! Wed Jul 22 23:59:04 1998 Katsuhiro Kondou ! ! * include/config.h.in: include/config.h.in: ! - From: Aidan Cully ! - As promised on inn-workers.. This patch is against the 2.1 test ! release James Brister posted yesterday. I'm not completely ! comfortable with the config.scoreboard patch.. In particular the ! +[IN1.7=@NO][WDF=autoconf][WOR=no] ! line.. If someone more comfortable with the config.scoreboard file ! took a look, it'd be cool, but it seems to work fine for me, so I'm ! not particularly worried. ! ! * configure, configure.in: configure.in: ! configure: ! - From: Aidan Cully ! - As promised on inn-workers.. This patch is against the 2.1 test ! release James Brister posted yesterday. I'm not completely ! comfortable with the config.scoreboard patch.. In particular the ! +[IN1.7=@NO][WDF=autoconf][WOR=no] ! line.. If someone more comfortable with the config.scoreboard file ! took a look, it'd be cool, but it seems to work fine for me, so I'm ! not particularly worried. ! ! * config/config.scoreboard: config/config.scoreboard: ! - From: Aidan Cully ! - As promised on inn-workers.. This patch is against the 2.1 test ! release James Brister posted yesterday. I'm not completely ! comfortable with the config.scoreboard patch.. In particular the ! +[IN1.7=@NO][WDF=autoconf][WOR=no] ! line.. If someone more comfortable with the config.scoreboard file ! took a look, it'd be cool, but it seems to work fine for me, so I'm ! not particularly worried. ! ! Wed Jul 22 20:39:55 1998 James Brister ! ! * INSTALL: Added a section about boot time. ! ! * configure.in, configure: ! Check for Digital Unix and if it is then don't look for malloc.h ! as the DU version is missing the function prototypes and this confuses ! configure. ! ! * MANIFEST: Dropped CHANGES file. ! ! * CONTRIBUTORS: Added mki@primenet.com ! ! * nnrpd/article.c: ! Fixed error in overview data retrieval when overviewmmap is defined ! and traditional spool is used. (provided by mki@primenet.com) ! ! * CONTRIBUTORS: Fixed up Landon Curt Noll's entry. ! ! Tue Jul 21 23:39:10 1998 Katsuhiro Kondou ! ! * storage/cnfs/cnfs.c: storage/cnfs/cnfs.c: ! - remove #ifdef XXX to have pagesize statically. ! ! Tue Jul 21 21:39:14 1998 James Brister ! ! * nnrpd/commands.c: ! Added missing return statement. (provided by mki@primenet.com) ! ! Tue Jul 21 14:43:40 1998 Katsuhiro Kondou ! ! * innfeed/startinnfeed.c: innfeed/startinnfeed.c: ! - From: Russell Vincent ! - Use the configure generated NEWSUSER ! ! * doc/cycbuff.conf.5: doc/cycbuff.conf.5: ! - symbolic buffer name should be limited to 7 characters ! ! * INSTALL: INSTALL: ! - symbolic buffer name should be limited to 7 characters ! ! * expire/expire.c: expire/expire.c: ! - still did not fix the previous problem ! ! * expire/expire.c: expire/expire.c: ! - fixes mistake when applying previous patch --- 1,2029 ---- ! Wed Aug 25 12:58:47 1999 + * nnrpd/newnews.c (1.9.2.3): + nnrpd/newnews.c: + - comparing dist was incorrect + + Wed Aug 25 08:57:02 1999 James Brister + + * ChangeLog (1.1.2.4): + Removed all entries prior to 1999. File was way too big + + Wed Aug 25 07:50:40 1999 Russ Allbery + + * samples/cnfsstat.in (1.3.2.7): + Protect the shell against special characters in the message ID when + running + grephistory. Reported by Mike Bird . + + Wed Aug 25 04:14:33 1999 + + * samples/cnfsstat.in (1.3.2.6): + samples/cnfsstat.in: + - From: Mike Bird + - In INN 2.2, the last loop in the cnfsstat file, which scans + for + oldest article, revises $update if a more recent time is + found. + However, this has no effect as $nupdate_str and $nago_str + have + already been created from $update. The line which does this + should + be moved after the loop, e.g. just before the close(BUFF). + - If two articles with identical timestamps are found the same + loop + incorrectly treats the latter as the oldest timestamp ... a + "<" + should be changed to a "<=". NOTE: This necessarily slows + cnfsstat + considerably for cycbuffs containing very large articles. + - do not claim if the same class is multiply defined + + Tue Aug 24 21:49:51 1999 James Brister + + * ChangeLog (1.1.2.3): + Completely regenerated the contents to try and remove non-STABLE + log messages. + + Tue Aug 24 00:23:48 1999 David C Lawrence + + * nnrpd/misc.c (1.28.2.5): + Made 2 digit years in NEWGROUPS/NEWNEWS compatible with the draft NNTP + standard. + + Mon Aug 23 23:13:19 1999 David C Lawrence + + * samples/mod-active.in (1.1.2.2): + made the flag for a short diff listing more portable + + Sun Aug 22 06:25:10 1999 Russ Allbery + + * frontends/inews.c (1.15.2.5): + Fixes for several potential buffer overflows, some more likely than + others. + Various sanity checks added to ensure strings aren't longer than + working + buffers. I *think* all strcpy() and sprintf() calls are now okay, but + the + code should really be rewritten to make better use of dynamic buffers. + + Sat Aug 21 04:35:18 1999 Russ Allbery + + * frontends/inews.c (1.15.2.4): + Jeff King : + There is no bounds-checking on "from" headers given on the command + line; + when copied into SMBUF-sized buffers, an overflow can occur and + arbitrary + code can be executed. + + Wed Aug 11 12:06:09 1999 + + * nnrpd/newnews.c (1.9.2.2): + nnrpd/newnews.c: + - reported by Markus Stumpf + - the result of newnews includes trailing '\t' for traditional + + Sun Aug 08 21:56:53 1999 + + * innd/art.c (1.90.2.9): + innd/art.c: + - reported by news@hammer.msfc.nasa.gov + - 'AC' for junk didn't work + + Wed Aug 04 03:22:12 1999 + + * samples/parsecontrol.in (1.18.2.2): + samples/parsecontrol.in: + - checkgroups failed for non-controlchan + + Wed Jul 14 13:27:07 1999 + + * nnrpd/post.c (1.28.2.8): + nnrpd/post.c + - don't append fromhost for X-Complaints-To, if NEWSMASTER + includes '@' + + Tue Jul 13 01:42:59 1999 + + * samples/control.ctl (1.10.2.3): + samples/control.ctl: + - reported by Alexander Koch + - fixed typo + + Thu Jul 08 21:18:34 1999 + + * innd/cc.c (1.47.2.6): + * innd/innd.c (1.40.2.3): + innd/cc.c: + innd/innd.c: + - invalid string was showed at syslog() + + Wed Jul 07 21:37:47 1999 + + * samples/newsfeeds.in (1.3.2.3): + samples/newsfeeds.in: + - From: Robert Kiessling + - Update the flag description in file newsfeeds + + Wed Jul 07 18:50:38 1999 David C Lawrence + + * lib/makedir.c (1.3.2.1): + MakeDir() should have its errno determined by mkdir(). Cases where + mkdir() failed resulted in errno having the value of a subsequent + stat(). This fix was made earlier to the CURRENT branch by someone + else (I did not check who) and I am just applying it in 2.2's STABLE + as a bug fix. + + Tue Jul 06 13:38:41 1999 + + * backends/inndf.c (1.4.2.1): + backends/inndf.c: + - written by Uwe Ohse + - patch for glibc 2.1 + + Wed Jun 30 03:53:36 1999 + + * samples/control.ctl (1.10.2.2): + samples/control.ctl: + - replaced with ftp://ftp.isc.org/pub/usenet/CONFIG/control.ctl + + Wed Jun 30 02:01:43 1999 + + * samples/innreport_inn.pm (1.5.2.5): + samples/innreport_inn.pm: + - From: Fabien Tassin + - innreport failed to run for Perl 5.005_57 + + Mon Jun 28 09:32:31 1999 + + * samples/nntpsend.in (1.11.2.1): + samples/nntpsend.in: + - From: Russell Vincent + - don't sort the batch file if using the storageapi. It doesn't + necessarily help and causes out-of-order articles when using + master-slave mode. The sorting is legacy from trad spool. + + Sat Jun 26 00:35:07 1999 + + * storage/interface.c (1.35.2.3): + storage/interface.c: + - From: George Lindholm + - trailing ',' in storage.conf would cause SIGSEGV + + Sat Jun 26 00:33:19 1999 + + * doc/cycbuff.conf.5 (1.1.2.2): + doc/cycbuff.conf.5 + - From: George Lindholm + - some grammer were wrong + + Sat Jun 26 00:31:25 1999 + + * README.perl_hook (1.9.2.3): + README.perl_hook: + - From: George Lindholm + - typo fixed + + Fri Jun 25 07:57:16 1999 + + * samples/parsecontrol.in (1.18.2.1): + samples/parsecontrol.in: + - From: Benedict Lofstedt + - there is no input, so the grep will always fail + + Fri Jun 25 05:52:45 1999 + + * innd/perl.c (1.7.2.2): + innd/perl.c: + - From: Russ Allbery + - Let 2.2 STABLE compile against the current development Perl + and the + forthcoming Perl 5.006. + + Fri Jun 25 03:16:09 1999 + + * nnrpd/perl.c (1.8.2.1): + nnrpd/perl.c: + - From: "Edward S. Marshall" + - Here's a patch that fixes up innd and nnrpd as well. This + gives a + working INN installation for me, using Perl 5.005_57, the + latest CVS + version of INN, Solaris 7, egcs 1.1.2, largefile support in + both INN + and Perl. + + Fri Jun 25 03:16:00 1999 + + * lib/perl.c (1.7.2.1): + lib/perl.c: + - From: "Edward S. Marshall" + - Here's a patch that fixes up innd and nnrpd as well. This + gives a + working INN installation for me, using Perl 5.005_57, the + latest CVS + version of INN, Solaris 7, egcs 1.1.2, largefile support in + both INN + and Perl. + + Fri Jun 25 03:15:51 1999 + + * innd/cc.c (1.47.2.5): + innd/cc.c: + - From: "Edward S. Marshall" + - Here's a patch that fixes up innd and nnrpd as well. This + gives a + working INN installation for me, using Perl 5.005_57, the + latest CVS + version of INN, Solaris 7, egcs 1.1.2, largefile support in + both INN + and Perl. + + Thu Jun 24 22:06:41 1999 + + * nnrpd/nnrpd.c (1.49.2.8): + nnrpd/nnrpd.c: + - From: Robert Kiessling + - On some combinations of IRIX and gcc, inet_ntoa does not work + properly. Squid therefore integrated a test for a working + inet_ntoa, + which would be a good idea to also include in INN. + + Tue Jun 22 19:59:14 1999 James Brister + + * ChangeLog (1.1.2.2): + Updates for post Oct 21 1998 + + Tue Jun 22 01:01:49 1999 + + * nnrpd/group.c (1.32.2.3): + nnrpd/group.c: + - reported by Kjetil Torgrim Homme + - aliased group name was not showed correctly + + Mon Jun 21 22:02:35 1999 + + * ltconfig (1.2.2.2): + ltconfig: + - reported by Matus fantomas Uhlar + - fix for FreeBSD4 + + Mon Jun 21 00:58:42 1999 David C Lawrence + + * samples/innmail.in (1.9.2.1): + trimming trailing newlines off of the subject; the controlchan + handler scripts variously send the subject with or without a + newline, so this clears it all up in one place. + + Sun Jun 20 21:56:36 1999 + + * innd/status.c (1.12.2.1): + innd/status.c: + - From: Russ Allbery + - typo fixed + + Tue Jun 15 21:54:23 1999 + + * samples/cnfsstat.in (1.3.2.5): + samples/cnfsstat.in: + - From: Marg Suarez + - fixed the bug in cnfsstat where it printed the wrong date in + the case + when a msgid was missing from the history file. + + * doc/wildmat.3 (1.1.2.1): + * doc/writelog.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/wildmat.3 (1.1): + file wildmat.3 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:23:10 1999 + + * doc/writelog.8 (1.1): + file writelog.8 was initially added on branch STABLE-2_2. + + * doc/tally.control.8 (1.1.2.1): + * doc/tally.unwanted.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:23:09 1999 + + * doc/tally.unwanted.8 (1.1): + file tally.unwanted.8 was initially added on branch STABLE-2_2. + + * doc/strcasecmp.3 (1.1.2.1): + * doc/subst.1 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/subst.1 (1.1): + file subst.1 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:23:08 1999 + + * doc/tally.control.8 (1.1): + file tally.control.8 was initially added on branch STABLE-2_2. + + * doc/storage.ctl.5 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/storage.ctl.5 (1.1): + file storage.ctl.5 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:23:07 1999 + + * doc/strcasecmp.3 (1.1): + file strcasecmp.3 was initially added on branch STABLE-2_2. + + * doc/startinnfeed.1 (1.1.2.1): + * doc/storage.conf.5 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/startinnfeed.1 (1.1): + file startinnfeed.1 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:23:06 1999 + + * doc/storage.conf.5 (1.1): + file storage.conf.5 was initially added on branch STABLE-2_2. + + * doc/simpleftp.1 (1.1.2.1): + * doc/sm.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:23:05 1999 + + * doc/sm.8 (1.1): + file sm.8 was initially added on branch STABLE-2_2. + + * doc/shlock.1 (1.1.2.1): + * doc/shrinkfile.1 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/shrinkfile.1 (1.1): + file shrinkfile.1 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:23:04 1999 + + * doc/simpleftp.1 (1.1): + file simpleftp.1 was initially added on branch STABLE-2_2. + + * doc/send-uucp.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/send-uucp.8 (1.1): + file send-uucp.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:23:03 1999 + + * doc/shlock.1 (1.1): + file shlock.1 was initially added on branch STABLE-2_2. + + * doc/rnews.1 (1.1.2.1): + * doc/scanlogs.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:23:02 1999 + + * doc/scanlogs.8 (1.1): + file scanlogs.8 was initially added on branch STABLE-2_2. + + * doc/pullnews.8 (1.1.2.1): + * doc/qio.3 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/qio.3 (1.1): + file qio.3 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:23:01 1999 + + * doc/rnews.1 (1.1): + file rnews.1 was initially added on branch STABLE-2_2. + + * doc/prunehistory.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/prunehistory.8 (1.1): + file prunehistory.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:23:00 1999 + + * doc/pullnews.8 (1.1): + file pullnews.8 was initially added on branch STABLE-2_2. + + * doc/passwd.nntp.5 (1.1.2.1): + * doc/pgpverify.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/passwd.nntp.5 (1.1): + file passwd.nntp.5 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:59 1999 + + * doc/pgpverify.8 (1.1): + file pgpverify.8 was initially added on branch STABLE-2_2. + + * doc/overview.fmt.5 (1.1.2.1): + * doc/parsedate.3 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:58 1999 + + * doc/parsedate.3 (1.1): + file parsedate.3 was initially added on branch STABLE-2_2. + + * doc/overchan.8 (1.1.2.1): + * doc/overview.ctl.5 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/overview.ctl.5 (1.1): + file overview.ctl.5 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:57 1999 + + * doc/overview.fmt.5 (1.1): + file overview.fmt.5 was initially added on branch STABLE-2_2. + + * doc/nntpsend.ctl.5 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:56 1999 + + * doc/overchan.8 (1.1): + file overchan.8 was initially added on branch STABLE-2_2. + + * doc/nntpsend.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/nntpsend.8 (1.1): + file nntpsend.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:55 1999 + + * doc/nntpsend.ctl.5 (1.1): + file nntpsend.ctl.5 was initially added on branch STABLE-2_2. + + * doc/nnrpd.track.5 (1.1.2.1): + * doc/nntpget.1 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/nnrpd.track.5 (1.1): + file nnrpd.track.5 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:54 1999 + + * doc/nntpget.1 (1.1): + file nntpget.1 was initially added on branch STABLE-2_2. + + * doc/nnrp.access.5 (1.1.2.1): + * doc/nnrpd.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:53 1999 + + * doc/nnrpd.8 (1.1): + file nnrpd.8 was initially added on branch STABLE-2_2. + + * doc/newsrequeue.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/newsrequeue.8 (1.1): + file newsrequeue.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:52 1999 + + * doc/nnrp.access.5 (1.1): + file nnrp.access.5 was initially added on branch STABLE-2_2. + + * doc/newslog.5 (1.1.2.1): + * doc/newslog.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/newslog.5 (1.1): + file newslog.5 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:51 1999 + + * doc/newslog.8 (1.1): + file newslog.8 was initially added on branch STABLE-2_2. + + * doc/news2mail.8 (1.1.2.1): + * doc/newsfeeds.5 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:50 1999 + + * doc/newsfeeds.5 (1.1): + file newsfeeds.5 was initially added on branch STABLE-2_2. + + * doc/news.daily.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/news.daily.8 (1.1): + file news.daily.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:49 1999 + + * doc/news2mail.8 (1.1): + file news2mail.8 was initially added on branch STABLE-2_2. + + * doc/motd.news.5 (1.1.2.1): + * doc/news-recovery.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/motd.news.5 (1.1): + file motd.news.5 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:48 1999 + + * doc/news-recovery.8 (1.1): + file news-recovery.8 was initially added on branch STABLE-2_2. + + * doc/mod-active.8 (1.1.2.1): + * doc/moderators.5 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:47 1999 + + * doc/moderators.5 (1.1): + file moderators.5 was initially added on branch STABLE-2_2. + + * doc/makehistory.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/makehistory.8 (1.1): + file makehistory.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:46 1999 + + * doc/mod-active.8 (1.1): + file mod-active.8 was initially added on branch STABLE-2_2. + + * doc/mailpost.8 (1.1.2.1): + * doc/makeactive.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/mailpost.8 (1.1): + file mailpost.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:45 1999 + + * doc/makeactive.8 (1.1): + file makeactive.8 was initially added on branch STABLE-2_2. + + * doc/libinn.3 (1.1.2.1): + * doc/libstorage.3 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:44 1999 + + * doc/libstorage.3 (1.1): + file libstorage.3 was initially added on branch STABLE-2_2. + + * doc/installit.1 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/installit.1 (1.1): + file installit.1 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:43 1999 + + * doc/libinn.3 (1.1): + file libinn.3 was initially added on branch STABLE-2_2. + + * doc/innxbatch.8 (1.1.2.1): + * doc/innxmit.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/innxbatch.8 (1.1): + file innxbatch.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:42 1999 + + * doc/innxmit.8 (1.1): + file innxmit.8 was initially added on branch STABLE-2_2. + + * doc/innwatch.8 (1.1.2.1): + * doc/innwatch.ctl.5 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:41 1999 + + * doc/innwatch.ctl.5 (1.1): + file innwatch.ctl.5 was initially added on branch STABLE-2_2. + + * doc/innstat.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/innstat.8 (1.1): + file innstat.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:40 1999 + + * doc/innwatch.8 (1.1): + file innwatch.8 was initially added on branch STABLE-2_2. + + * doc/innlog.pl.8 (1.1.2.1): + * doc/innreport.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/innlog.pl.8 (1.1): + file innlog.pl.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:39 1999 + + * doc/innreport.8 (1.1): + file innreport.8 was initially added on branch STABLE-2_2. + + * doc/innfeed.conf.5 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:38 1999 + + * doc/innfeed.conf.5 (1.1): + file innfeed.conf.5 was initially added on branch STABLE-2_2. + + * doc/inndf.8 (1.1.2.1): + * doc/innfeed.1 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/inndf.8 (1.1): + file inndf.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:37 1999 + + * doc/innfeed.1 (1.1): + file innfeed.1 was initially added on branch STABLE-2_2. + + * doc/innd.8 (1.1.2.1): + * doc/inndcomm.3 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:36 1999 + + * doc/inndcomm.3 (1.1): + file inndcomm.3 was initially added on branch STABLE-2_2. + + * doc/innconfval.1 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/innconfval.1 (1.1): + file innconfval.1 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:35 1999 + + * doc/innd.8 (1.1): + file innd.8 was initially added on branch STABLE-2_2. + + * doc/inn.conf.5 (1.1.2.1): + * doc/inncheck.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:34 1999 + + * doc/inncheck.8 (1.1): + file inncheck.8 was initially added on branch STABLE-2_2. + + * doc/inews.1 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/inews.1 (1.1): + file inews.1 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:33 1999 + + * doc/inn.conf.5 (1.1): + file inn.conf.5 was initially added on branch STABLE-2_2. + + * doc/history.5 (1.1.2.1): + * doc/incoming.conf.5 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/history.5 (1.1): + file history.5 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:32 1999 + + * doc/incoming.conf.5 (1.1): + file incoming.conf.5 was initially added on branch STABLE-2_2. + + * doc/getlist.1 (1.1.2.1): + * doc/grephistory.1 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:31 1999 + + * doc/grephistory.1 (1.1): + file grephistory.1 was initially added on branch STABLE-2_2. + + * doc/filechan.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/filechan.8 (1.1): + file filechan.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:30 1999 + + * doc/getlist.1 (1.1): + file getlist.1 was initially added on branch STABLE-2_2. + + * doc/expirerm.8 (1.1.2.1): + * doc/fastrm.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/expirerm.8 (1.1): + file expirerm.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:29 1999 + + * doc/fastrm.8 (1.1): + file fastrm.8 was initially added on branch STABLE-2_2. + + * doc/expireindex.8 (1.1.2.1): + * doc/expireover.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:28 1999 + + * doc/expireover.8 (1.1): + file expireover.8 was initially added on branch STABLE-2_2. + + * doc/expire.ctl.5 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/expire.ctl.5 (1.1): + file expire.ctl.5 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:27 1999 + + * doc/expireindex.8 (1.1): + file expireindex.8 was initially added on branch STABLE-2_2. + + * doc/distrib.pats.5 (1.1.2.1): + * doc/expire.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:26 1999 + + * doc/expire.8 (1.1): + file expire.8 was initially added on branch STABLE-2_2. + + * doc/dbz.3 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/dbz.3 (1.1): + file dbz.3 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:25 1999 + + * doc/distrib.pats.5 (1.1): + file distrib.pats.5 was initially added on branch STABLE-2_2. + + * doc/cycbuff.conf.5 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:24 1999 + + * doc/cycbuff.conf.5 (1.1): + file cycbuff.conf.5 was initially added on branch STABLE-2_2. + + * doc/ctlinnd.8 (1.1.2.1): + * doc/cvtbatch.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:23 1999 + + * doc/cvtbatch.8 (1.1): + file cvtbatch.8 was initially added on branch STABLE-2_2. + + * doc/convdate.1 (1.1.2.1): + * doc/crosspost.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/crosspost.8 (1.1): + file crosspost.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:22 1999 + + * doc/ctlinnd.8 (1.1): + file ctlinnd.8 was initially added on branch STABLE-2_2. + + * doc/controlchan.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/controlchan.8 (1.1): + file controlchan.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:21 1999 + + * doc/convdate.1 (1.1): + file convdate.1 was initially added on branch STABLE-2_2. + + * doc/cnfsstat.8 (1.1.2.1): + * doc/control.ctl.5 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:20 1999 + + * doc/control.ctl.5 (1.1): + file control.ctl.5 was initially added on branch STABLE-2_2. + + * doc/clientlib.3 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/clientlib.3 (1.1): + file clientlib.3 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:19 1999 + + * doc/cnfsstat.8 (1.1): + file cnfsstat.8 was initially added on branch STABLE-2_2. + + * doc/batcher.8 (1.1.2.1): + * doc/buffchan.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/batcher.8 (1.1): + file batcher.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:18 1999 + + * doc/buffchan.8 (1.1): + file buffchan.8 was initially added on branch STABLE-2_2. + + * doc/actsyncd.8 (1.1.2.1): + * doc/archive.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:17 1999 + + * doc/archive.8 (1.1): + file archive.8 was initially added on branch STABLE-2_2. + + * doc/actsync.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + * doc/actsync.8 (1.1): + file actsync.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:16 1999 + + * doc/actsyncd.8 (1.1): + file actsyncd.8 was initially added on branch STABLE-2_2. + + * doc/active.5 (1.1.2.1): + * doc/actived.8 (1.1.2.1): + doc/*: + - all man pages are backed to original directory + + Sat Jun 12 08:22:15 1999 + + * doc/actived.8 (1.1): + file actived.8 was initially added on branch STABLE-2_2. + + Sat Jun 12 08:22:14 1999 + + * doc/active.5 (1.1): + file active.5 was initially added on branch STABLE-2_2. + + Fri Jun 11 03:19:34 1999 + + * innd/nc.c (1.37.2.5): + innd/nc.c: + - innd responds an illegal NNTP code for non streaming even if + the + article is accepted, after messageid filter rejects a messge + + Wed Jun 02 02:48:49 1999 + + * samples/inncheck.in (1.22.2.6): + samples/inncheck.in: + - checking inndstart mode was wrong + + Mon May 31 03:30:56 1999 + + * nnrpd/nnrpd.c (1.49.2.7): + nnrpd/nnrpd.c: + - NEWSGRP should be used for news group + + Mon May 31 03:30:41 1999 + + * innd/inndstart.c (1.16.2.2): + innd/inndstart.c: + - NEWSGRP should be used for news group + + Thu May 20 14:59:02 1999 David C Lawrence + + * samples/pgpverify.in (1.19.2.3): + upgraded to pgpverify 1.12. support for gnu pgp, more diddling with + syslogging + + Tue May 18 21:45:30 1999 + + * storage/overview.c (1.32.4.1): + storage/overview.c: + - reported by root@news.netmar.com + - If someone enters an empty word in the overview.ctl file, + (e.g. "1:alt*,biz*," or "1:,alt*" etc), you segfault. + + Tue May 18 09:35:51 1999 + + * samples/news2mail.in (1.1.2.2): + samples/news2mail.in: + - From: SAKAI Kiyotaka + - News2mail only preserve 'From', 'Subject', 'Date', + 'Organization', + 'Message-ID' headers, but when multipart/mixed article are + sent by + news2mail, 'MIME-Version', 'Content-Type' are disappeared and + the mail + received looks broken. + + Thu May 13 22:05:50 1999 + + * nnrpd/nnrpd.c (1.49.2.6): + nnrpd/nnrpd.c: + - pathrun must not be owned by root + - ensure pathrun owner is NEWSUSER + + Thu May 13 22:05:38 1999 + + * innd/inndstart.c (1.16.2.1): + innd/inndstart.c: + - pathrun must not be owned by root + - ensure pathrun owner is NEWSUSER + + Wed May 12 21:22:44 1999 + + * innd/cc.c (1.47.2.4): + innd/cc.c: + - From: "Igor Timkin" + - cleanup code + + Wed May 12 00:56:34 1999 + + * innd/cc.c (1.47.2.3): + innd/cc.c: + - From: Michael Schroeder + + - CCaddhist() uses OVERsetoffset() instead of OVERmaketoken() + + Wed May 12 00:51:15 1999 + + * INSTALL (1.19.2.6): + INSTALL: + - From: Michael Schroeder + + - INSTALL talks about a 'domainname' inn.conf parameter. It + should be + 'domain'. + + Wed May 12 00:49:18 1999 + + * README (1.5.2.4): + README: + - From: Russ Allbery + - INN's README has always struck me as extremely sparse. One + of the + major things it feels like it lacks is some general overview + for + someone who may not be entirely sure what a news server is or + what + INN consists of. + + Tue May 11 21:53:00 1999 + + * samples/mailpost.in (1.1.2.3): + samples/mailpost.in: + - From: Vladimir Litovka + - inews always rejects messages if there are duplicate headers + in + message and it's right. But this is often error due to errors + in + sender's setup or errors in mailing software. For avoiding + this + problem I've patched mailpost to remove duplicate headers + from + message before passing it to inews. + + Tue May 11 03:15:57 1999 + + * lib/getconfig.c (1.48.2.6): + lib/getconfig.c: + - argument of RENEW() which calls realloc() should not be null + for + SunOS4.1.4 + + Mon May 10 22:36:19 1999 + + * nnrpd/commands.c (1.20.2.5): + nnrpd/commands.c: + - From: Sven Paulus + - If there is a single dot on a line in the newsgroups file + etc., at + the moment INN's nnrpd happily sends it to the client. The + client on + the other hand gets confused because there is additional data + after + the single dot, violating the NNTP protocol. + + Mon May 10 22:33:22 1999 + + * lib/getconfig.c (1.48.2.5): + lib/getconfig.c: + - From: Sven Paulus + - INN says "Must set 'domain' in inn.conf" even if the domain + is set, + but the FQDN of the machine does not resolve to a valid IP + address + (e.g. if you call your machine "foo" in domain "bar.com" and + fail to + add "foo" to your DNS zone or /etc/hosts file, there is no + use + setting "domain: bar.com" in inn.conf, the error message + given by INN + will stay the same). This is very confusing + + Sun May 09 00:36:53 1999 + + * samples/innreport.in (1.16.2.3): + samples/innreport.in: + - From: Fabien Tassin + - I prefer to 'localize' $/ instead. I've also changed '' to + undef. + + Sat May 08 05:16:53 1999 + + * README.perl_hook (1.9.2.2): + README.perl_hook: + - From: Russ Allbery + - a complete replacement for the current README.perl_hook. + It's + expanded, clarified, and updated from the existing one and I + believe + it comes close to fully documenting the current interface. + While I + was at it, I reformatted the text into roughly the same style + used in + README and INSTALL. + + Sat May 08 05:03:35 1999 + + * samples/innreport.in (1.16.2.2): + samples/innreport.in: + - From: Richard Michael Todd + - When the 'html_header' or 'html_footer' options are turned on + in + innreport.conf, innreport fails to update innreport.db and + the + index.html files correctly. The problem is that the code to + read in + the html headers/footers sets $/ to '' to read in the + headers/footers + all at once, and fails to set $/ back to newline afterwards. + + Fri May 07 23:47:27 1999 + + * Makefile (1.18.2.4): + Makefile: + - The patchlevel of the stable code was set to 0. + + Fri May 07 23:32:44 1999 + + * CONTRIBUTORS (1.13.2.2): + CONTRIBUTORS: + - From: Russ Allbery + - Clean up some typos, grammar problems, and wrapping + inconsistencies + in CONTRIBUTORS. + + Fri May 07 23:29:40 1999 + + * samples/checkgroups.pl.in (1.8.2.1): + * samples/controlchan.in (1.21.2.2): + samples/checkgroups.pl.in: + samples/controlchan.in: + - From: Russ Allbery + - A doit (or a successful verify-*) action on a checkgroups + message is + fairly pointless unless the output goes somewhere. The + logical place + to send the output if no log file or anything is specified is + a mail + message to the news administartor. This patch implements + that for + the controlchan checkgroups.pl. + + Tue May 04 00:02:09 1999 + + * storage/interface.c (1.35.2.2): + storage/interface.c: + - break line was dropped for case '@' in MatchGroups() + + Mon May 03 23:58:11 1999 + + * innd/art.c (1.90.2.8): + innd/art.c: + - drop article with null character in it (to avoid EOF before + end of + post) + + Wed Apr 28 01:12:55 1999 + + * configure (1.104.2.6): + * configure.in (1.106.2.6): + configure.in: + configure: + - MANDIR should be set to same as mandir + + Wed Apr 28 01:11:05 1999 + + * innd/innd.c (1.40.2.2): + innd/innd.c: + - From: "Igor Timkin" + - Active has + misc.jobs 00'+,'/0)* 0000000001 y + after ``ctlinnd renumber'' if .overview.index is bad. + I know that misc.jobs is wrong newsgroup + + Mon Apr 26 08:40:47 1999 + + * frontends/inews.c (1.15.2.3): + frontends/inews.c + - previous patch includes unwanted line which led to + compilation error + + Mon Apr 26 07:08:34 1999 + + * frontends/inews.c (1.15.2.2): + frontends/inews.c: + - From: Christian Kurz + - It seems, as inews doesn't accept lines longer than 512 + characters, + if I'm not missing something. I have here an article, with a + Reference + line of 660 chars and the standard inews from 1.7.2 gives the + following error: + + shorty@jupiter% inews -h < /home/shorty/dead.letter + "References" header is too long. + (Article not posted.) + + After I changed the inews source, the article will be + acceppted by + inews and posted. + + Mon Apr 19 07:05:23 1999 + + * ltconfig (1.2.2.1): + ltconfig: + - From: "Boyd Lynn Gerber (801) 250-O795 Work" + + - Here is a patch for your libtool when you use SCO OpenServer + 5.0.X. I + have tested this on inn-2.1 and 2.2. I do not get any errors + once + this has been applied on both version of inn. + + Mon Apr 19 06:56:47 1999 + + * nnrpd/article.c (1.57.2.7): + nnrpd/article.c: + - article check was always done regardless of nnrpdcheckart + + Mon Apr 19 06:54:46 1999 + + * innd/site.c (1.22.2.1): + innd/site.c: + - drop 'DEBUG' message + + Thu Apr 15 07:01:40 1999 + + * innd/cc.c (1.47.2.2): + innd/cc.c: + - From: Russell Vincent + - This fixes a logic bug when possibly setting/unsetting a + reason + for preventing readers. When we set/unset NNRPReason, we want + to + check that readerswhenstopped in _not_ set. NNRPReason being + set prevents readers connecting when innd is paused. + + Thu Apr 15 07:00:40 1999 + + * samples/mailpost.in (1.1.2.2): + samples/mailpost.in: + - From: Geoff Gibbs + - There is a bug in mailpost, which produces the error message + + "First line with leading whitespace!" + + when it is fed an e-mail, where the body of the message + starts with + a space. (i.e. headers,blank line,space ...) + + The bug is in the code for handling header continuation + lines. I + believe that the following patch fixes the problem, although + you may + well be able to improve the Perl ;-) + + Mon Apr 12 16:14:24 1999 + + * samples/inncheck.in (1.22.2.5): + samples/inncheck.in: + - checking inndstart mode was incorrect + + Mon Apr 12 16:12:23 1999 + + * innd/art.c (1.90.2.7): + innd/art.c: + - show meaningful message, if article is not stored because it + does not + match any entry in storage.conf + + Wed Apr 07 08:05:00 1999 + + * backends/actsyncd.sh.in (1.3.2.2): + backends/actsyncd.sh.in: + - tried to remove directory where actsyncd sits + + Fri Mar 26 00:40:56 1999 + + * lib/getconfig.c (1.48.2.4): + lib/getconfig.c: + - reported by "Matthew Emmerton" + - tmpdir should not be DISPOSED(), since handed area is used by + putenv() for some OSes + + Thu Mar 18 04:17:23 1999 + + * backends/actsync.c (1.18.2.1): + backends/actsync.c: + - From: Thomas Mike Michlmayr + - fixes a problem when syncing to a collabra-server, who + returns + "yg" as flag for a newsgroup (at least secnews.netscape.com). + + Tue Mar 16 02:30:25 1999 + + * samples/moderators (1.2.4.1): + samples/moderators: + - From: "Igor Timkin" + - moderators.isc.org don't have all fido7.* aliases (at least). + I (as fido7.* supporter) have many question about it. + + Mon Mar 15 05:29:02 1999 + + * nnrpd/post.c (1.28.2.7): + nnrpd/post.c: + - reported by Pavel Gulchouck + - inews and nnrpd dumps core if size of posting article more + then + local size limit. It happans because in inews.c line 1316 and + in nnrpd/post.c line 955 pointer p is out of core. I think + atoi(p) should be changed to innconf->localmaxartsize in + these lines. + + Mon Mar 15 05:28:40 1999 + + * frontends/inews.c (1.15.2.1): + frontends/inews.c: + - reported by Pavel Gulchouck + - inews and nnrpd dumps core if size of posting article more + then + local size limit. It happans because in inews.c line 1316 and + in nnrpd/post.c line 955 pointer p is out of core. I think + atoi(p) should be changed to innconf->localmaxartsize in + these lines. + + Sun Mar 07 14:59:12 1999 + + * nnrpd/article.c (1.57.2.6): + nnrpd/article.c: + - From: "Igor Timkin" + - fixed core dump + + Sun Mar 07 14:56:57 1999 + + * innfeed/innlistener.c (1.11.2.1): + innfeed/innlistener.c: + - From: "Igor Timkin" + - innfeed -- memory leak. On heavy loaded server (FreeBSD-3.1) + I got many ``partial read'' from innd (and each time + innlistener expanded empty buffer): + + Wed Mar 03 03:04:50 1999 + + * innd/art.c (1.90.2.6): + * innd/perl.c (1.7.2.1): + innd/art.c: + innd/perl.c: + - From: Russ Allbery + - This patch adds a special __LINES__ key to the %hdr hash + available to + the Perl filter, containing an accurate line count of the + article. + + Wed Mar 03 03:04:33 1999 + + * README.perl_hook (1.9.2.1): + README.perl_hook: + - From: Russ Allbery + - This patch adds a special __LINES__ key to the %hdr hash + available to + the Perl filter, containing an accurate line count of the + article. + + Tue Mar 02 03:10:47 1999 + + * innd/innd.h (1.44.2.1): + * innd/cc.c (1.47.2.1): + innd/cc.c: + innd/innd.h: + - From: Russ Allbery + - The INN::newsgroup() XS Perl function is supposed to return + the flags for a given newsgroup (ngp->Rest). Unfortunately, + whoever wrote it + originally was unaware that the Rest pointer in a NEWSGROUP + is just a + pointer into the in-memory copy of the active file, and + therefore + this field is *not* null-terminated. As a result, whenever a + Perl + filter called INN::newsgroup, it would get not only the flags + for + that newsgroup but a complete copy of the active file from + that point + forward. + + Tue Feb 23 18:43:26 1999 David C Lawrence + + * samples/sendsys.pl.in (1.7.2.1): + * samples/senduuname.pl.in (1.7.2.1): + * samples/version.pl.in (1.8.2.1): + fixed instances of @inn::mailcmd to $inn::mailcmd that prevented these + scripts from being properly loaded + + Tue Feb 23 18:18:29 1999 David C Lawrence + + * samples/controlchan.in (1.21.2.1): + syslog to /dev/log on dec_osf + + Wed Feb 17 05:02:37 1999 David C Lawrence + + * samples/rmgroup.in (1.11.2.1): + FIxed check for existing group to not use regular expression for + matching + (would bogey *.lang.c++). + + moved approval check earlier, before mailing news admin. + + Mon Feb 15 21:09:46 1999 David C Lawrence + + * backends/actsyncd.sh.in (1.3.2.1): + the output file was not being created in the work directory, but in + whatever directory the program started from + + made syncing directly from a local file work again + + Sun Feb 14 07:48:44 1999 + + * INSTALL (1.19.2.5): + INSTALL: + - From: Richard Kettlewell + - Firstly the reference to a "pound sign" as the comment + character is + misleading to speakers of British English, where that phrase + does not + refer to the "#" sign at all. + + Secondly there is a complete absence of any reference to + nnrp.access + in the section on setting up config files. + + Sat Feb 13 10:56:47 1999 + + * samples/news.daily.in (1.28.2.2): + samples/news.daily.in: + - use ${SED} instead of sed + + Fri Feb 12 00:48:42 1999 + + * lib/getconfig.c (1.48.2.3): + lib/getconfig.c: + - From: "Igor Timkin" + - correct mistake in rev. 1.48.2.2 + + Mon Feb 08 07:56:59 1999 + + * nnrpd/nnrpd.c (1.49.2.5): + nnrpd/nnrpd.c: + - From: Andrew Gierth + - The original code was correct in this respect. This is why + accept() + et. al. have an additional size parameter for the address. + The cast + is something of a historical crock, but is nevertheless + correct. + + Sat Feb 06 03:14:45 1999 + + * samples/cnfsstat.in (1.3.2.4): + samples/cnfsstat.in: + - From: davidsen@tmr.com (bill davidsen) + - I don't see in the man pages that you can use continuation + lines in + the cycbufs.conf file, but there's code to handle it, and it + makes + the file a lot easier to read. + + The cnfsstat script doesn't know about this, here's how to + make it + work. This is just the bugfix, I am not quite ready to + release my + enhancements yet, due to unexplained failure with raw + partitions + + Sat Feb 06 03:13:28 1999 + + * nnrpd/nnrpd.c (1.49.2.4): + nnrpd/nnrpd: + - From: davidsen@tmr.com (bill davidsen) + - This patch addresses one bug (wrong data type) and one + missing + feature (nicekids). The type was a struct defined as + sockaddr_in and + used with a case where sockaddr was required. Because I'm not + sure + all systems will have the same size for both, and my compiler + whines + about the original, I defined the value correctly and dropped + the + cast. + + When running from innd, a nice() value is gotten from the + nicekids + value in inn.conf. In daemon mode that wasn't being done, so + I added + the code here. Note: you do *not* want to just start the + daemon + niced, as it will then open sockets more slowly (I measured + with + NSLG). Nicekids is the way to go here. + + Tue Feb 02 03:26:12 1999 + + * samples/inncheck.in (1.22.2.4): + samples/inncheck.in: + - From: SAKAI Kiyotaka + - warn if null line is included in active + - warn if eol is not ended with '\n' in active + + Mon Feb 01 07:20:58 1999 + + * samples/innreport.in (1.16.2.1): + samples/innreport.in: + - showed non-existent tag for html output + + Mon Feb 01 07:20:01 1999 + + * innd/newsfeeds.c (1.18.4.4): + * innd/art.c (1.90.2.5): + innd/art.c: + - couting Lines was incorrect for storageapi + - '@' was meaningless for groups with 'x' in active + innd/newsfeeds.c: + - '@' was meaningless for non existent groups + + Sun Jan 31 03:56:13 1999 + + * samples/inn.conf.in (1.24.2.2): + samples/inn.conf.in: + - reported by Uli Zappe + - default for readerswhenstopped is false + + Sun Jan 31 03:56:00 1999 + + * lib/getconfig.c (1.48.2.2): + lib/getconfig.c: + - reported by Uli Zappe + - default for readerswhenstopped is false + + Sun Jan 31 03:55:45 1999 + + * innd/innd.c (1.40.2.1): + innd/innd.c: + - reported by Uli Zappe + - default for readerswhenstopped is false + + Fri Jan 29 11:54:37 1999 + + * storage/cnfs/cnfs.c (1.51.2.8): + storage/cnfs/cnfs.c: + - From: Thomas Mechtersheimer + - it should be removed like the htonl() on cah.class at a + different + source location + + Wed Jan 27 21:48:12 1999 + + * innd/newsfeeds.c (1.18.4.3): + innd/newsfeeds.c: + - From: smurf@noris.de (Matthias Urlichs) + - mischecking errors + + Wed Jan 27 21:44:02 1999 + + * storage/cnfs/cnfs.c (1.51.2.7): + storage/cnfs/cnfs.c: + - From: thomasm@csl33.csl-gmbh.net + - for articles with offset values beyond the cycbuff->free + pointer, + this should be cyclenum-1 + - From: smurf@noris.de (Matthias Urlichs) + - CNFS next-article code is broken because it fails to clear + the offset + when it switches to the next buffer + - From the "while I'm at it" department: the following patch, + to the + same file, fixes reading of old-style CNFS buffers -- + assuming there + is anybody out there who still has a 1.x CNFS-INN server... + + Wed Jan 27 21:05:06 1999 + + * samples/docheckgroups.in (1.10.2.1): + samples/docheckgroups.in: + - From: Philippe Michel + - maybe it would be better to use ${1:-.}, for backwards + compatibility + at least. + + Wed Jan 27 15:28:16 1999 + + * nnrpd/post.c (1.28.2.6): + nnrpd/post.c: + - From: John Schmidt + - It seemed more logical to skip the check entirely if the + total number + of lines is less than 40. + + Wed Jan 27 15:27:29 1999 + + * innd/rc.c (1.31.2.3): + innd/rc.c: + - From: smurf@noris.de (Matthias Urlichs) + - Some Perl installations have -Dbool=char, which clashes with + innd/rc.c. + + Mon Jan 25 10:09:58 1999 + + * nnrpd/udp.c (1.3.2.3): + nnrpd/udp.c: + - From: SUNAGAWA Keiki + - include syslog.h instead of sys/syslog.h + + Mon Jan 25 10:01:56 1999 + + * nnrpd/commands.c (1.20.2.4): + nnrpd/commands.c: + - From: Paul Tomblin + - here's the patch again + + Fri Jan 22 15:29:15 1999 + + * samples/cnfsstat.in (1.3.2.3): + samples/cnfsstat.in: + - From: Russ Allbery + - write pointer was not printed correctly + + Thu Jan 21 15:21:04 1999 + + * site/do-subst.sh (1.1.1.1.4.1): + site/do-subst.sh: + - if there is a MAKE configure variable, use it + + Thu Jan 21 11:04:33 1999 James Brister + + * README (1.5.2.3): + * CONTRIBUTORS (1.13.2.1): + 2.2 update + + Thu Jan 21 10:30:00 1999 James Brister + + * innfeed/Makefile (1.28.2.1): + * include/patchlevel.h (1.6.2.3): + * Makefile (1.18.2.3): + Update for 2.2 release. + + Tue Jan 19 03:14:56 1999 + + * innd/rc.c (1.31.2.2): + innd/rc.c: + - From: Sven Paulus + - In innd/rc.c(RCwritelist()): I think The DISPOSE(r) is wrong + - via + cpcatpath() p points to a static buffer and r is assigned to + p. + + Tue Jan 19 03:14:10 1999 + + * frontends/rnews.c (1.16.2.3): + frontends/rnews.c: + - From: Sven Paulus + - The value of PATHBADNEWS is combined using cpcatpath(), which + only + returns a pointer to a fixed buffer (pathbuff in + lib/getconfig.c). + Later - if you use a password protected NNTP connection - + rnews calls + NNTPsendpassword() (lib/sendpass.c) which also uses + cpcatpath() to + construct a path name -> pathbuff gets overwritten and the + value of + PATHBADNEWS is now pure nonsense. + + Sun Jan 17 23:18:16 1999 + + * samples/incoming.conf (1.3.4.2): + * samples/news.daily.in (1.28.2.1): + samples/incoming.conf: + - From: "Igor Timkin" + - Add ``noresendid'' for non-stream mode. + samples/news.daily.in: + - From: davidsen@tmr.com (bill davidsen) + - The news.daily script doesn't properly use the user defined + temp + space for sorts. There's some logic to look and see if TMPDIR + is + defined, build the -T option for sort to use, and then ignore + the + whole issue. + + Sun Jan 17 23:16:25 1999 + + * nnrpd/udp.c (1.3.2.2): + nnrpd/udp.c: + - From: Sven Paulus + - This eliminates the calls to perror() and replaces them by + syslog()s. + The perror()s make it impossible to use nnrpd from inetd, + since the + output goes to the NNTP channel, thus violating the NNTP + specs. + + Sun Jan 17 23:15:13 1999 + + * innd/nc.c (1.37.2.4): + innd/nc.c: + - From: "Igor Timkin" + - Add ``noresendid'' for non-stream mode. + + Sun Jan 17 23:14:27 1999 + + * Makefile (1.18.2.2): + Makefile: + - From: Aidan Cully + - This patch should fix it.. I don't really know where the + FLAGS + variable comes from, since both GNU and BSD-make use + MAKEFLAGS, but + I'm more interested in making this work correctly than + cleaning + things up right now, so I just pass DESTDIR directly, like + the + install: target does to common. + + Wed Jan 13 07:03:21 1999 + + * innfeed/sysconfig.h (1.15.2.3): + innfeed/sysconfig.h: + - From: "Mark Wedel" + - avoid symbol duplication for sinix + + Tue Jan 12 13:33:38 1999 + + * nnrpd/post.c (1.28.2.5): + nnrpd/post.c: + - From: Paul Tomblin + - The test to see if PERMuser is set is wrong, because PERMuser + is a + char array, not a char pointer. + + Mon Jan 11 02:00:28 1999 + + * nnrpd/commands.c (1.20.2.3): + nnrpd/commands.c: + - From: Paul Tomblin + - This patch sets PERMuser and PERMpass after perl + authentication so + that they reflect the user and password that successfully + authenticated, just as when you're using regular + authentication those + variables are set to the required values from the nnrp.access + file. + This is useful especially if you've configured + DO_NNRP_AUTH_SENDER + + Mon Jan 11 01:38:47 1999 + + * innd/art.c (1.90.2.4): + innd/art.c: + - From: "Igor Timkin" + - Add logging ``Too old'', ``No colon-space in header'' + + Sat Jan 09 17:38:43 1999 + + * storage/cnfs/cnfs.c (1.51.2.6): + storage/cnfs/cnfs.c: + - correct syslog messages (storage.ctl was gone already) + + Sat Jan 09 15:40:37 1999 + + * nnrpd/post.c (1.28.2.4): + nnrpd/post.c: + - originally From: Russ Allbery + - All this patch does is move the check against the posting + permissions + pattern above this check, and I believe implements precisely + the + following change: if a post goes to a group that would be + disallowed + by the posting permissions pattern, it will be refused + regardless of + whether we actually carry the group in question. + + Fri Jan 08 22:03:32 1999 David C Lawrence + + * backends/nntpget.c (1.11.4.1): + y2k fix: pass only two digit date (RFC 977 rules) for newnews command + + Fri Jan 08 22:02:04 1999 David C Lawrence + + * nnrpd/misc.c (1.28.2.4): + y2k fix: accept three digit and four digit years for dates in NNTP + commands + + Fri Jan 08 08:12:37 1999 + + * INSTALL (1.19.2.4): + INSTALL: + - describe logipaddr should be false if controlchan is used and + ihave/ + sendme is required + + Fri Jan 08 01:32:08 1999 + + * INSTALL (1.19.2.3): + INSTALL: + - Add AIX 4.2 which works INN2.x + + Thu Jan 07 10:19:53 1999 + + * innd/newsfeeds.c (1.18.4.2): + innd/newsfeeds.c: + - claim 'setup_error' if SITEsetup() fails + without this patch, innd exits with 'syntax_error' if + SITEsetup() + fails. This is confusing for admins, even if there is no + syntax + error. + + Wed Jan 06 10:29:52 1999 + + * innd/art.c (1.90.2.3): + innd/art.c + - do not (sym)link if writelinks is false + + Wed Jan 06 10:05:49 1999 + + * INSTALL (1.19.2.2): + INSTALL: + - From: Russ Allbery + - Patch to INSTALL attached to add more details on why you + might need + overview data and more detail of what the point of the + different + BUCKETS in overview.ctl is. I also corrected one place where + the + file had an 80 column line, since it made it somewhat + annoying to + deal with in emacs. (There's still another 80 column line, + but + that's a literal cron entry example that can't be easily + shortened + and is offset from regular text.) + + Wed Jan 06 04:53:17 1999 + + * samples/innreport_inn.pm (1.5.2.4): + samples/innreport_inn.pm: + - From: Russ Allbery + - this will suppress the cycbuff rollover messages, which + otherwise + show up as unknown log entries. At some point, someone might + want to + do something more interesting with these, but for right now + ignoring + them seems the best. + + There's also a minor formatting fix with a comment in here. + + Tue Jan 05 22:29:59 1999 + + * samples/nnrpd_auth.pl.in (1.1.2.1): + samples/nnrpd_auth.pl.in: + - From: Paul Tomblin + - The nnrpd_auth.pl supplied with 2.2-STABLE assumes that the + hostname + patterns in nnrp.access are regular expressions, but they're + not, + they're glob-like. + + Tue Jan 05 15:33:20 1999 + + * backends/archive.c (1.10.4.3): + backends/archive.c: + - just create one archive even if the article is crossposted + + Tue Jan 05 07:17:50 1999 + + * samples/innreport_inn.pm (1.5.2.3): + samples/innreport_inn.pm: + - From: Russ Allbery + - With this plus my previous patch that was already applied, I + think + innreport is at least quiet about all of the log messages + generated + routinely by the standard programs in INN 2.2. + + Mon Jan 04 21:26:54 1999 + + * samples/innreport_inn.pm (1.5.2.2): + samples/innreport_inn.pm: + - From: Russ Allbery + - Better yet, fix innreport so that it ignores controlchan's + output. + There may be some statistical summary that I can think of + that might + be useful eventually, and that way you still have the logs + there in + case you ever want them. Here's a patch: + + Mon Jan 04 07:44:19 1999 + + * storage/Makefile (1.33.2.1): + storage/Makefile: + - From: Russ Allbery + - storage/Makefile creates a storage/objs directory on first + build, but + the clean target, while deleting everything in the directory, + doesn't + delete the directory itself. That seems wrong to me, and + makes CVS + whine on an update after a build. Patch following. + + Mon Jan 04 07:42:50 1999 + + * innd/rc.c (1.31.2.1): + innd/rc.c: + - From: Russ Allbery + - I always liked the way innfeed.conf would let you leave off + the + ip-addr key if it was the same as the key of the entry, so I + fixed + incoming.conf so that it would do the same. Patch attached. + + Mon Jan 04 07:35:43 1999 + + * Makefile (1.18.2.1): + * INSTALL (1.19.2.1): + INSTALL: + - From: Russ Allbery + - explain transit only server needs overview + Makefile: + - From: Russ Allbery + - I'm not sure the intended semantics of realclean here, but + I'm pretty + sure it's intended to be the same as distclean. If so, it's + missing + a goodly bit of stuff according to CVS, plus it's convenient + to have + distclean available as an alias for it as well. Patch + attached. + + This also removes the following over what was deleted before: + + ? config.status + ? frontends/c7unbatch.sh + ? frontends/gunbatch.sh + ? include/autoconfig.h + ? innfeed/innfeed-convcfg + ? innfeed/procbatch + ? samples/checkgroups.pl + ? samples/cnfsstat + ? samples/controlbatch + ? samples/controlchan + ? samples/ihave.pl + ? samples/mailpost + ? samples/mod-active + ? samples/news2mail + ? samples/newgroup.pl + ? samples/nnrpd_auth.pl + ? samples/pullnews + ? samples/rmgroup.pl + ? samples/sendme.pl + ? samples/sendsys.pl + ? samples/senduuname.pl + ? samples/simpleftp + ? samples/version.pl + ? site/config + + Mon Jan 04 02:14:22 1999 + + * configure.in (1.106.2.5): + * configure (1.104.2.5): + configure: + configure.in: + - From: Russ Allbery + - Additional commands that should run after autoconf generates + its + output files should be put into the second argument of + AC_OUTPUT + rather than just raw into configure.in. Raw commands will + correctly + get put into the generated configure script, but they *won't* + be put + into config.status. config.status is very convenient when + doing a + first build and having to patch various things; if you run + config.status, it will just redo the variable substitution + without + rerunning configure. But when I was doing that, the build + then + failed because storage/buildconfig wasn't executable. + + configure just runs config.status to do the substitutions; + with this + patch, the chmod gets put in config.status rather than in + configure + and therefore works correctly both after running configure + and after + running config.status. diff -Nacr inn-2.2/INSTALL inn-2.2.1/INSTALL *** inn-2.2/INSTALL Fri Jan 8 00:12:37 1999 --- inn-2.2.1/INSTALL Tue May 11 17:51:15 1999 *************** *** 243,251 **** in this case), and all other comp groups will match the first and second patterns and will be excluded by the second pattern. ! In most INN configuration files, lines beginning with a pound sign are ! considered comments and are ignored. Any deviations from this practice ! will be noted in the description for that particular file. 1. inn.conf (REQUIRED) --- 243,251 ---- in this case), and all other comp groups will match the first and second patterns and will be excluded by the second pattern. ! In most INN configuration files, lines beginning with a "#" symbol ! are considered comments and are ignored. Any deviations from this ! practice will be noted in the description for that particular file. 1. inn.conf (REQUIRED) *************** *** 272,278 **** If no pathhost is specified then the FQDN of the machine will be used instead. ! domainname Sets the domain name for your server. Normally this is determined automatically by INN, but in some cases it is necessary to set it manually. For example, if you are running NIS on a SunOS system -and- your hostnames --- 272,278 ---- If no pathhost is specified then the FQDN of the machine will be used instead. ! domain Sets the domain name for your server. Normally this is determined automatically by INN, but in some cases it is necessary to set it manually. For example, if you are running NIS on a SunOS system -and- your hostnames *************** *** 625,630 **** --- 625,665 ---- The expire.ctl file is the configuration for the expiration policy. See the expire.ctl man page for more details. + + 8. nnrp.access (REQUIRED) + + The nnrp.access file is the configuration for access to readers. + + Each line should have this format: + + host:access:user:password:groups + + The `host' field can take one of four forms: + + * an IP address, e.g. 192.168.0.1 + + * an address range, e.g. 192.168.0.0/24 + + * a hostname, e.g. userbox.example.com + + * a wildmat pattern that the hostname must match, e.g. *.example.com + + When checking the access rights for a particular host the last match + is used. + + The `access' field shuold contain an "R" to allow read access and/or + a "P" to allow posting access. You can expand these to "Read" and + "Post" as in the example that comes with INN. See the man page for + other things that can go here. + + See the man page for details of how to user the `user' and + `password' fields. Leave them blank to use solely host-based + authentication. + + The `groups' field defines the newsgroups that a matching host may + read as a comma-separated list of wildmat patterns. + + See the nnrp.access man page for more information. Creating the article spool (CNFS only) diff -Nacr inn-2.2/Makefile inn-2.2.1/Makefile *** inn-2.2/Makefile Thu Jan 21 02:30:00 1999 --- inn-2.2.1/Makefile Wed Aug 25 08:25:55 1999 *************** *** 1,11 **** ! ## $Revision: 1.18.2.3 $ include Makefile.global CFLAGS = $(GCFLAGS) RELEASE=2 ! PATCHLEVEL=2 VERSION=$(RELEASE).$(PATCHLEVEL) #TARDIR=inn --- 1,11 ---- ! ## $Revision: 1.18.2.5 $ include Makefile.global CFLAGS = $(GCFLAGS) RELEASE=2 ! PATCHLEVEL=2.1 VERSION=$(RELEASE).$(PATCHLEVEL) #TARDIR=inn diff -Nacr inn-2.2/NEWS inn-2.2.1/NEWS *** inn-2.2/NEWS Tue Nov 3 06:02:26 1998 --- inn-2.2.1/NEWS Wed Aug 25 08:13:53 1999 *************** *** 1,6 **** --- 1,10 ---- Here are the changes for the latest version of INN. + Version 2.2.1 + - Various bug fixes. Most importantly, bug fixes to potential + security holes (buffer overflow type). + Version 2.2: - New storage.conf file (replaces storage.ctl). diff -Nacr inn-2.2/README inn-2.2.1/README *** inn-2.2/README Thu Jan 21 02:55:11 1999 --- inn-2.2.1/README Wed Aug 25 08:58:43 1999 *************** *** 1,18 **** ! Welcome to INN 2.2! This work is sponsored by the Internet Software Consortium. Please see the INSTALL document for installation instructions. See the NEWS file for what's changed from the previous release. Reporting Bugs We're interested in all bug reports. Not just on the programs, but on ! the documentation too. Please send *all* such reports to: inn-bugs@isc.org ! even if you post to usenet, please CC the above address. All other INN mail should go to: inn@isc.org --- 1,130 ---- ! Welcome to INN 2.2.1! This work is sponsored by the Internet Software Consortium. Please see the INSTALL document for installation instructions. See the NEWS file for what's changed from the previous release. + What is INN? + + INN (InterNetNews), originally written by Rich Salz, is an extremely + flexible and configurable Usenet / netnews news server. For a + complete description of the protocols behind Usenet and netnews, see + RFC 1036 and RFC 977 (or their replacements). In brief, netnews is a + set of protocols for exchanging messages between a decentralized + network of news servers. News articles are organized into newsgroups, + which are themselves organized into hierarchies. Each individual news + server stores locally all articles it has received for a given + newsgroup, making access to stored articles extremely fast. Netnews + does not require any central server; instead, each news server passes + along articles it receives to all of the news servers it peers with, + those servers pass the articles along to their peers, and so on, + resulting in "flood fill" propagation of news articles. + + A news server performs three basic functions: It accepts articles + from other servers and stores them on disk, sends articles it has + received out to other servers, and offers stored news articles to + readers on demand. It additionally has to perform some periodic + maintenance tasks, such as deleting older articles to make room for + new ones. + + Originally, a news server would just store all of the news articles it + had received in a file system. Users could then read news by reading + the article files on disk (or more commonly using news reading + software that did this efficiently). These days, news servers are + almost always stand-alone systems and news reading is supported via + network connections. A user who wants to read a newsgroup opens that + newsgroup in their newsreader software, which opens a network + connection to the news server and sends requests for articles and + related information. The protocol that a newsreader uses to talk to a + news server and that a news server uses to talk to another news server + over TCP/IP is called NNTP (Network News Transport Protocol). + + INN supports accepting articles via either NNTP connections or via + UUCP. innd, the heard of INN, handles NNTP feeding connections + directly; UUCP newsfeeds use rnews (included in INN) to hand articles + off to innd. Other parts of INN handle feeding articles out to other + news servers, most commonly innfeed (for real-time outgoing feeds) or + nntpsend and innxmit (used to send batches of news created by innd to + a remote site via TCP/IP). INN can also handle outgoing UUCP feeds. + + The part of INN that handles connections from newsreaders is nnrpd. + + Also included in INN are a wide variety of supporting programs to + handle periodic maintenance and recovery from crashes, process special + control messages, maintain the list of active newsgroups, and generate + and record a staggering variety of statistics and summary information + on the usage and performance of the server. + + INN also supports an extremely powerful filtering system that allows + the server administrator to reject unwanted articles (such as spam and + other abuses of Usenet). + + INN is free software, supported by the Internet Software Consortium + and volunteers around the world. See the section on Supporting the + INN Effort below. + + Prerequisites + + Compiling INN requires an ANSI C compiler (gcc is recommended). INN + was originally written in K&R C, but supporting pre-ANSI compilers has + become enough of a headache that a lot of the newer parts of INN will + no longer compile with a non-ANSI compiler. gcc itself will compile + with most vendor non-ANSI compilers, however, so if you're stuck with + one, installing gcc is highly recommended. Not only will it let you + build INN, it will make installing lots of other software much easier. + You may also need GNU make (particularly if your system make is + BSD-derived), although most SysV make programs should work fine. + + INN uses GNU autoconf to probe the capabilities of your system, and + therefore should compile on nearly any Unix system. See INSTALL for a + list of systems it is known to work on. If you encounter problems + compiling or running INN, or if you successfully run INN on a platform + that isn't listed in INSTALL, please let us know (see Reporting Bugs + below). + + Perl, at least Perl 4, is required to build INN. Perl 5.004 is + required if you want the embedded Perl filter support (which is highly + recommended; some excellent spam filters have been written for INN). + Since all versions of Perl previous to 5.004 are buggy (including + security problems) and have fewer features, installing Perl 5.004 or + later is recommended. + + If you want to enable PGP verification of control messages (highly + recommended), you will need to have PGP installed. See INSTALL for + more details. + + Getting Started + + A news server can be a fairly complicated piece of software to set up + just because of the wide variety of pieces that have to be configured + (who is authorized to read from the server, what newsgroups it + carries, and how the articles are stored on disk at a bare minimum, + and if the server isn't completely stand-alone -- and very few servers + are -- both incoming and outgoing feeds have to be set up and tested). + Be prepared to take some time to understand what's going on and how + all the pieces fit together. If you have any specific suggestions for + documentation, or comments about things that are unclear, please send + them to the INN maintainers (see Reporting Bugs below). + + See the INSTALL file for step-by-step instructions for setting up and + configuring a news server. + + INN also comes with a very complete set of man pages; there is a man + page for every configuration file and program that comes with INN. + (If you find one that doesn't have a man page, that's a bug. Please + do report it.) When trying to figure out some specific problem, + reading the man pages for all of the configuration files involved is a + very good start. + Reporting Bugs We're interested in all bug reports. Not just on the programs, but on ! the documentation too. Please send *all* such reports to: inn-bugs@isc.org ! even if you post to usenet, please CC the above address. All other INN mail should go to: inn@isc.org *************** *** 23,41 **** news.software.nntp as there are a lot of experienced INN users there, and there isn't the time necessary to answer general questions. Have fun! Who's Responsible / Who to Thank See the CONTRIBUTORS file for a long list of past contributors as well as people from the inn-workers mailing list who have dedicated ! a lot of time and effort to getting this new version together. They ! deserve a big round of applause. They've certainly got our thanks. Last, but certainly not least, Rich Salz, the original author of INN deserves a lion's share of the credit for writing INN in the first place and making it the most popular news server software on the ! planet (no NNTP yet to the moon, but we plan to be there first).. Supporting the INN Effort --- 135,190 ---- news.software.nntp as there are a lot of experienced INN users there, and there isn't the time necessary to answer general questions. + Mailing Lists + + There are various mailing lists you can join or send messages to if you + like. Some of them you must be a member of before you can send mail to + them (thank the Spam gods for that policy), and one of them is + read-only (no postings allowed). + + inn-workers@isc.org discussion of INN development (postings by + members only) + + inn-patches@isc.org where to send patches for consideration for + inclusion into the pool. (open) + + inn-committers@isc.org CVS commit messages get sent to this list + (postings not allowed) + + inn-bugs@isc.org Where to send bugs reports (open). If + you're an INN expert we encourage you + to join this to answer questions. + + inn-announce@isc.org Where announcements for INN get sent + (postings not allowed). + + To join these lists, send a subscription request to the '-request' + address. I.e.: + + inn-workers-request@isc.org + inn-patches-request@isc.org + inn-committers-request@isc.org + inn-bugs-request@isc.org + inn-announce-request@isc.org + + Contributing Code + + If you have a patch that you'd like to be considered for inclusion into + the pool, then please mail it to inn-patches@isc.org + Have fun! Who's Responsible / Who to Thank See the CONTRIBUTORS file for a long list of past contributors as well as people from the inn-workers mailing list who have dedicated ! a lot of time and effort to getting this new version together. They ! deserve a big round of applause. They've certainly got our thanks. Last, but certainly not least, Rich Salz, the original author of INN deserves a lion's share of the credit for writing INN in the first place and making it the most popular news server software on the ! planet (no NNTP yet to the moon, but we plan to be there first). Supporting the INN Effort *************** *** 53,57 **** . James Brister ! inn@isc.org (INN related mail) ! brister@vix.com (non-INN mail) --- 202,205 ---- . James Brister ! inn@isc.org diff -Nacr inn-2.2/README.perl_hook inn-2.2.1/README.perl_hook *** inn-2.2/README.perl_hook Sun Oct 18 17:08:16 1998 --- inn-2.2.1/README.perl_hook Fri Jun 25 17:31:25 1999 *************** *** 1,184 **** ! This is $Revision: 1.9 $ dated $Date: 1998/10/19 00:08:16 $. ! innd and nnrpd now support some amount of Perl filtering of articles ! received from another peer or from a newsreader and some authentication. ! This code is based very heavily on work Christophe Wolfhugel ! did. He in turn was inspired by the existing TCL support. Send me ! () and not Christophe any bug reports, as I fiddled with the ! code, and am probably the cause of any problems. ! ! What you get with the Perl support is described in more detail below, but ! basically you can supply a perl subroutine that will be invoked on every ! article received by innd from a peer, or by nnrpd from a reader. The ! subroutine causes nnrpd or innd to accept or reject the article. This will ! be most useful for spam killing. ! ! To include Perl support, you need to have perl 5.004. Other Version before ! 5.004, you will get link error at compilation time. Go to ! http://www.perl.com/CPAN for the latest Perl goodies. ! ! To enable Perl support, you need to specify '--with-perl' with configure. ! ! -------------------------------------------------- ! ! Innd: ! When innd starts it loads the file _PATH_PERL_STARTUP_INND, next it ! loads _PATH_PERL_FILTER_INND. Everytime, before _PATH_PERL_FILTER_INND is ! loaded, including the first time, if the perl subroutine ! ``filter_before_reload'' is defined, then it will be called with no ! arguments, and it is not expected to return any values. After the ! _PATH_PERL_FILTER_INND is loaded the routine ``filter_after_reload'' is ! executed in the same way. These two functions are normally defined in ! _PATH_PERL_STARTUP_INND. They could be used for doing things like flushing ! cached data to disk, or loading up a cache etc. ! ! Whenever ctlinnd is run with the command ``reload'' and the ! first argument ``filter.perl'' or ``all'', the filter file ! _PATH_PERL_FILTER_INND is reloaded with the before and after functions ! being run as just described. If the subroutine ``filter_art'' is defined ! after the file has been reloaded, then filtering is turned on. If is not ! defined, then filtering is turned of. ! ! Whenever ctlinnd is run with the command ``throttle'', or ``pause'' ! or ``go'', then the perl function ``filter_mode'' is called. It recives no ! arguments and returns no value. It has access to a global associative array ! called ``%mode'', which has three keyed values: ! ! 'Mode' ==> the current mode (``throttled'', ``paused'', or ``running'') ! 'NewMode' ==> the new mode. ! 'reason' ==> the reason given for the mode change. ! ! Whenever a message-id is received from a peer via the CHECK command, ! and filtering is turned on, the perl subroutine ``filter_messageid'' is ! called. It receives a single argument, the message-id, and returns a single ! scalar value. If the value is not the null string, the article is refused. ! ! Whenever an article is received from a peer via IHAVE or TAKETHIS, ! and filtering is turned on, the perl subroutine ``filter_art'' is ! called. It receives no arguments and returns a single scalar value or the ! undefined value. It has access to a global associative array called ! ``%hdr'', which contains values for all standard headers with a non-null ! value of the article. The standard headers are: ! ! Approved, Control, Date, Distribution, Expires, From, Lines, ! Message-ID, Newsgroups, Path, Reply-To, Sender, Subject, Supersedes, ! Bytes, Also-Control, References, __BODY__ ! ! The special header value of "__BODY__" contains the body of the ! article, for special content-based filters. ! ! For example: ! ! %hdr = ('Subject', 'MAKE MONEY FAST!!', ! 'From', 'Joe Spamer ', ! 'Date', '10 Sep 1996 15:32:28 UTC', ! 'Newsgroups', 'alt.test', ! 'Path', 'data.ramona.vix.com!gw.home.vix.com!not-for-mail', ! 'Organization', 'Spammers Anonymous', ! 'Lines' '5', ! 'Distribution', 'world' ! 'Message-ID', '<6.20232.842369548@home.octet.com.au>', ! '__BODY__', 'Send five dollars to the ISC, c/o ...' ! ) ! ! If ``filter_art'' returns a null string (not a zero), then the article is ! accepted. If it returns a non-zero value, then it is rejected, and the ! value returned (typically a string) is used to log the reason why it was ! rejected. ! ! There are four perl subs available from the perl subroutines called ! from within INN: ! ! INN::havehist(messageid) # returns true if messageid is in the history db ! ! INN::newsgroup(newsgroup) # returns the status of the news group (the last ! # field of the active file, or false if the ! # isn't in your active file ! ! INN::cancel(messageid) # cancels messageid on your server ! ! INN::addhist(messageid, arrivaltime,articletime,expiretime,paths) ! # adds messageid to the history database ! # all the other fields are optional. ! # the time fields default to the current ! # time, and the paths field defaults to ! # the empty string. ! ! -------------------------------------------------- ! ! nnrpd: ! ! When nnrpd starts it load the file _PATH_PERL_FILTER_NNRPD. If the ! function ``filter_post'' is defined, then filtering is turned on. If it ! isn't, then filtering is turned off. When filtering is on, every article ! received via the POST command is given to the ``filter_post'' subroutine in ! exactly the same manner as for filter_art in innd. The return value must be ! a null string to accept the article, anything else will cause the article ! to be rejected and the reason sent back to the client will be the returned ! value of the ``filter_post'' function. If $modify_headers is set to a ! non-zero value, then all headers in the associative array ``%hdr'' are written ! back to the posted message. Here are other items for filtering articles for ! nnrpd. ! ! - can access to message bodies, in the $body variable. ! - can access to the poster's authinfo username, in the $user variable. ! Obviously this has no effect unless you use authinfo. ! - check a returncode 'DROP' to the Perl interface. If the string returned ! by the Perl subroutine begins with 'DROP', the post will be discarded ! and success returned to the client. ! - check a returncode 'SPOOL' to the Perl interface. If the string ! returned by the Perl subroutine begins with 'SPOOL', success will be ! returned to the client and the post will be saved to in.coming/spam ! for manual inspection. ! ! If ``nnrpperlauth'' in inn.conf is set to ``true'', nnrpd authenticates ! reader with perl instead of normal authentication with nnrp.access. For ! perl authentication, nnrpd_auth.pl is used. This file is loaded when nnrpd ! starts up. If it defines a sub named `authenticate', then that function will ! be called during processing of a connect, auth request or disconnect. ! Attributes about the connection are passed to the program in the %attributes ! global variable. It should return an array with 4 elements: ! ! 1) NNTP response code. Should be one of the codes from %connectcodes or %auth ! codes ! 2) Reading Allowed. Should be a boolean value. ! 3) Posting Allowed. Should be a boolean value. ! 4) Wildmat expression that says what groups to provide access to. ! ! All four of these are required. If there is a problem with them then nnrpd ! will die and syslog the exact reason. See samples/nnrpd_auth.pl.in for sample ! authentication. ! -------------------------------------------------- ! ! Some notes: ! ! In the samples directory there are filter_inn.pl, filter_nnrpd.pl and ! startup_innd.pl, with some simplistic examples on how to use them. Note ! that all perl evaluation is done inside an implicit ``eval'', so calling ! die() will not kill the innd or nnrpd process, nor any other sort of syntax ! or functional error. ! ! You should always do 'perl -c -w file' before starting or reloading. If you ! change the file after innd is running, and then reload it, filtering wil be ! disabled if there was an error in the file. At which point you'll have to ! fix the file and reload it. ! ! -------------------------------------------------- ! ! Available packages using filter_innd.pl and filter_nnrpd.pl: ! ! This is an unofficial list of known filtering packages at the time of ! publication. This is not an endorsement of these filters by the ISC or the ! INN developers, but is included as assistance in locating packages which ! make use of this filter mechanism. ! ! CleanFeed Jeremy Nixon ! http://www.exit109.com/~jeremy/news/antispam.html ! A spam filter catching excessive multi-posting and a host of other ! filtering tools. Uses filter_innd.pl exclusively, requires MD5 ! perl module. ! ! Usenet II Filter Edward S. Marshall ! http://www.xnet.com/~emarshal/inn/filter_nnrpd.pl ! Checks for "soundness" according to Usenet II guidelines in the ! net.* hierarchy. Designed to use filter_nnrpd.pl. --- 1,447 ---- ! INN Perl Filtering and Authentication Support ! This is $Revision: 1.9.2.3 $ dated $Date: 1999/06/26 00:31:25 $. ! ! This file documents INN's built-in support for Perl filtering and reader ! authentication. The code is based very heavily on work by Christophe ! Wolfhugel , and his work was in turn inspired by the ! existing TCL support. Please send any bug reports to inn-bugs@isc.org, ! not to Christophe, as the code has been modified heavily since he ! originally wrote it. ! ! The Perl filtering support is described in more detail below. Basically, ! it allows you to supply a Perl function that is invoked on every article ! received by innd from a peer (the innd filter) or by nnrpd from a reader ! (the nnrpd filter). This function can decide whether to accept or reject ! the article, and can optionally do other, more complicated processing ! (such as add history entries, cancel articles, spool local posts into a ! holding area, or even modify the headers of locally submitted posts). ! ! For Perl filtering support, you need to have Perl version 5.004 or newer. ! Earlier versions of Perl will fail with a link error at compilation time. ! should have the latest ! Perl version. ! ! To enable Perl support, you have to specify --with-perl when you run ! configure. See INSTALL for more information. ! ! The innd Perl Filter ! ! When innd starts, it first loads the file _PATH_PERL_STARTUP_INND (defined ! in include/paths.h, by default startup_innd.pl) and then loads the file ! _PATH_PERL_FILTER_INND (also defined in include/paths.h, by default ! filter_innd.pl). Both of these files must be located in the directory ! specified by (/usr/local/news/bin/filter by ! default). The default directory for filter code can be specified at ! configure time by giving the flag --with-filter-dir=PATH to configure. ! ! INN doesn't care what Perl functions you define in what files. The only ! thing that's different about the two files is when they're loaded. ! startup_innd.pl is loaded only once, when innd first starts, and is never ! reloaded as long as innd is running. Any modifications to that file won't ! be noticed by innd; only stopping and restarting innd can cause it to be ! reloaded. ! ! filter_innd.pl, on the other hand, can be reloaded on command (with ! ctlinnd reload filter.perl). Whenever filter_innd.pl is loaded, including ! the first time at innd startup, the Perl function filter_before_reload() ! is called before it's reloaded and the function filter_after_reload() is ! called after it's reloaded (if the functions exist). Additionally, any ! code in either startup_innd.pl or filter_innd.pl at the top level (in ! other words, not inside a sub { }) is automatically executed by Perl when ! the files are loaded. ! ! This allows one to do things like write out filter statistics whenever the ! filter is reloaded, load a cache into memory, flush cached data to disk, ! or other similar operations that should only happen at particular times or ! with manual intervention. Remember, any code not inside functions in ! startup_innd.pl is executed when that file is loaded, and it's loaded only ! once when innd first starts. That makes it the ideal place to put ! initialization code that should only run once, or code to load data that ! was preserved on disk across a stop and restart of innd (perhaps using ! filter_mode() -- see below). ! ! As mentioned above, ctlinnd reload filter.perl (or ctlinnd reload all) ! will cause filter_innd.pl to be reloaded. If the function filter_art() is ! defined after the file has been reloaded, filtering is turned on. ! Otherwise, filtering is turned off. ! ! The Perl function filter_art() is the heart of a Perl filter. Whenever an ! article is received from a peer, via either IHAVE or TAKETHIS, ! filter_art() is called if Perl filtering is turned on. It receives no ! arguments, and should return a single scalar value. That value should be ! the empty string to indicate that INN should accept the article, or some ! rejection message to indicate that the article should be rejected. ! ! filter_art() has access to a global hash named %hdr, which contains all of ! the standard headers present in the article and their values. The ! standard headers are: ! ! Approved, Control, Date, Distribution, Expires, From, Lines, ! Message-ID, Newsgroups, Path, Reply-To, Sender, Subject, Supersedes, ! Bytes, Also-Control, References, Keywords, X-Trace, ! NNTP-Posting-Host, Followup-To, Organization, Content-Type, ! Content-Base, Content-Disposition, X-Newsreader, X-Mailer, ! X-Cancelled-By, X-Canceled-By, Cancel-Key ! ! (so, for example, the Newsgroups header of the article is accessible ! inside the Perl filter as $hdr{Newsgroups}). In addition, $hdr{__BODY__} ! will contain the full body of the article and $hdr{__LINES__} will contain ! the number of lines in the body of the article. ! ! The contents of the %hdr hash for a typical article may therefore look ! something like this: ! ! %hdr = (Subject => 'MAKE MONEY FAST!!', ! From => 'Joe Spamer ', ! Date => '10 Sep 1996 15:32:28 UTC', ! Newsgroups => 'alt.test', ! Path => 'news.example.com!not-for-mail', ! Organization => 'Spammers Anonymous', ! Lines => '5', ! Distribution => 'usa', ! 'Message-ID' => '<6.20232.842369548@example.com>', ! __BODY__ => 'Send five dollars to the ISC, c/o ...', ! __LINES__ => 5 ! ); ! ! Note that the value of $hdr{Lines} is the contents of the Lines header of ! the article and may bear no resemblence to the actual length of the ! article. $hdr{__LINES__} is the line count calculated by INN, and is ! guaranteed to be accurate. ! ! The %hdr hash should not be modified inside filter_art(). Instead, if any ! of the contents need to be modified temporarily during filtering (smashing ! case, for example), copy them into a seperate variable first and perform ! the modifications on the copy. Currently, any modifications are just ! discarded by INN, but it's possible that in the future %hdr will contain ! live data that INN will expect not to be modified (this would be a speed ! optimization to avoid having to make another memory copy of the entire ! article). If that optimization is ever made, modifying the %hdr hash ! could result in dropped articles, fatal errors, or even core dumps in ! innd. So don't do that. ! ! As mentioned above, if filter_art() returns the empty string (''), the ! article is accepted. Note that this must be the empty string, not 0 or ! undef. Otherwise, the article is rejected, and whatever scalar ! filter_art() returns (typically a string) will be taken as the reason why ! the article was rejected. This reason will be returned to the remote peer ! as well as logged to the news logs. (innreport, in its nightly report, ! will summarize the number of articles rejected by the Perl filter and ! include a count of how many articles were rejected with each reason ! string.) ! ! One other type of filtering is also supported. If Perl filtering is ! turned on and the Perl function filter_messageid() is defined, that ! function will be called for each message ID received from a peer (via ! either CHECK or IHAVE). The function receives a single argument, the ! message ID, and like filter_art() should return an empty string to accept ! the article or an error string to refuse the article. This function is ! called before any history lookups and for every article offered to innd ! with CHECK or IHAVE (before the actual article is sent). Accordingly, the ! message ID is the only information it has about the article (the %hdr hash ! will be empty). This code would sit in a performance-critical hot path in ! a typical server, and therefore should be as fast as possible, but it can ! do things like refuse articles from certain hosts or cancels for already ! rejected articles (if they follow the $alz convention) without having to ! take the network bandwidth hit of accepting the entire article first. ! ! Note that you cannot rely on filter_messageid() being called for every ! incoming article; articles sent via TAKETHIS without an earlier CHECK will ! never pass through filter_messageid() and will only go through ! filter_art(). ! ! Finally, whenever ctlinnd throttle, ctlinnd pause, or ctlinnd go is run, ! the Perl function filter_mode() is called if it exists. It receives no ! arguments and returns no value, but it has access to a global hash %mode ! that contains three values: ! ! Mode The current server mode (throttled, paused, or running) ! NewMode The new mode the server is going to ! reason The reason that was given to ctlinnd ! ! One possible use for this function is to save filter state across a ! restart of innd. There isn't any Perl function which is called when INN ! shuts down, but using filter_mode() the Perl filter can dump it's state to ! disk whenever INN is throttled. Then, if the news administrator follows ! the strongly recommended shutdown procedure of throttling the server ! before shutting it down, the filter state will be safely saved to disk and ! can be reloaded when innd restarts (possibly by startup_innd.pl). ! ! The state of the Perl interpretor in which all of these Perl functions run ! is preserved over the lifetime of innd. In other words, it's allowed for ! the Perl code to create its own global Perl variables, data structures, ! saved state, and the like, and all of that will be available to ! filter_art() and filter_messageid() each time they're called. The only ! variable INN fiddles with (or pays any attention to at all) is %hdr, which ! is cleared after each call to filter_art(). ! ! Perl filtering can be turned off with ctlinnd perl n and back on again ! with ctlinnd perl y. Perl filtering is turned off automatically if ! loading of the filter fails or if the filter code returns any sort of a ! fatal error (either due to Perl itself or due to a die in the Perl code). ! ! Supported innd Callbacks ! ! innd makes eight functions available to any of its embedded Perl code. ! Those are: ! ! INN::addhist(messageid, arrivaltime, articletime, expiretime, paths) ! ! Adds messageid to the history database. All of the arguments except ! the first one are optional; the times default to the current time ! and the paths field defaults to the empty string. (For those ! unfamiliar with the fields of a history database entry, the ! arrivaltime is normally the time at which the server accepts the ! article, the articletime is from the Date header of the article, the ! expiretime is from the Expires header of the article, and the paths ! field is either the storage API token or the list of traditional ! spool filenames associated with the article.) Returns true on ! success, false otherwise. ! ! INN::article(messageid) ! ! Returns the full article (as a simple string) identified by the ! given messageid, or undef if it isn't found. Each line will end ! with a simple \n, but leading periods may still be doubled if the ! article is stored in wire format. ! ! INN::cancel(messageid) ! ! Cancels the given messageid. (This is equivalent to ctlinnd cancel; ! it cancels the message on the local server, but doesn't post a ! cancel message or do anything else that affects anything other than ! the local server.) Returns true on success, false otherwise. ! ! INN::filesfor(messageid) ! ! Returns the paths field of the history entry for the given ! messageid. With traditional spool, this will be a space-separated ! list of path names relative to the news article spool. If you're ! using the storage API, this will return a storage API token. If the ! given messageid isn't found in the history database, returns undef. ! ! INN::havehist(messageid) ! ! Looks up messageid in the history database and returns true if it's ! found, false otherwise. ! ! INN::head(messageid) ! ! Returns the header (as a simple string) of the article identified by ! messageid, or undef if it isn't found. Each line will end with a ! simple \n (in other words, regardless of the format of article ! storage, the returned string won't be in wire format). ! ! INN::newsgroup(newsgroup) ! ! Returns the status of the newsgroup (the last field of the active ! file entry for that newsgroup). See active(5) for a description of ! the possible values and their meanings (the most common are "y" for ! an unmoderated group and "m" for a moderated group). If the ! newsgroup isn't in the active file, returns undef. ! ! INN::syslog(level, message) ! ! Logs a message via syslog(2). This is quite a bit more reliable and ! portable than trying to use Sys::Syslog from inside the Perl filter. ! Only the first character of the level argument matters; the valid ! letters are the first letters of ALERT, CRIT, ERR, WARNING, NOTICE, ! INFO, and DEBUG (case-insensitive) and specify the priority at which ! the message is logged. If a level that doesn't match any of those ! levels is given, the default priority level is LOG_NOTICE. The ! second argument is the message to log; it will be prefixed by ! "filter: " and logged to syslog with facility LOG_NEWS. ! ! These functions can only be used from inside the innd Perl filter; they're ! not available in the nnrpd filter. ! ! The nnrpd Posting Filter ! ! When nnrpd starts, it first loads the file _PATH_PERL_FILTER_NNRPD ! (defined in include/paths.h, by default filter_nnrpd.pl). This file must ! be located in the directory specified by ! (/usr/local/news/bin/filter by default). The default directory for filter ! code can be specified at configure time by giving the flag ! --with-filter-dir=PATH to configure. ! ! If filter_nnrpd.pl loads successfully and defines the Perl function ! filter_post(), Perl filtering is turned on. Otherwise, it's turned off. ! If filter_post() ever returns a fatal error (either from Perl or from a ! die in the Perl code), Perl filtering is turned off for the life of that ! nnrpd process and any further posts made during that session won't go ! through the filter. ! ! While Perl filtering is on, every article received by nnrpd via the POST ! command is passed to the filter_post() Perl function before it is passed ! to INN (or mailed to the moderator of a moderated newsgroup). If ! filter_post() returns an empty string (''), the article is accepted and ! normal processing of it continues. Otherwise, the article is rejected and ! the string returned by filter_post() is returned to the client as the ! error message (with some exceptions; see below). ! ! filter_post() has access to a global hash %hdr, which contains all of the ! headers of the article. (Unlike the innd Perl filter, %hdr for the nnrpd ! Perl filter contains *all* of the headers, not just the standard ones. If ! any of the headers are duplicated, though, %hdr will contain only the ! value of the second occurance of the header. nnrpd will reject the ! article before the filter runs if any of the standard headers are ! duplicated.) It also has access to the full body of the article in the ! variable $body, and if the poster authenticated via AUTHINFO, it has ! access to the authenticated username of the poster in the variable $user. ! ! Unlike the innd Perl filter, the nnrpd Perl filter can modify the %hdr ! hash. In fact, if the Perl variable $modify_headers is set to true after ! filter_post() returns, the contents of the %hdr hash will be written back ! to the article replacing the original headers. filter_post() can ! therefore make any modifications it wishes to the headers and those ! modifications will be reflected in the article as it's finally posted. ! The article body cannot be modified in this way; any changes to $body will ! just be ignored. ! ! Be careful when using the ability to modify headers. filter_post() runs ! after all the normal consistency checks on the headers and after server ! supplied headers (like Message-ID and Date) are filled in. Deleting ! required headers or modifying headers that need to follow a strict format ! can result in nnrpd trying to post nonsense articles (which will probably ! then be rejected by innd). If $modify_headers is set, *everything* in the ! %hdr hash is taken to be article headers and added to the article. ! ! If filter_post() returns something other than the empty string, this ! message is normally returned to the client as an error. There are two ! exceptions: If the string returned begins with "DROP", the post will be ! silently discarded and success returned to the client. If the string ! begins with "SPOOL", success is returned to the client, but the post is ! saved in a directory named "spam" under (in a ! directory named "spam/mod" if the post is to a moderated group). This is ! intended to allow manual inspection of the suspect messages; if they ! should be posted, they can be manually moved out of the subdirectory into ! , where they can be posted by running rnews -U. ! If you use this functionality, make sure those directories exist. ! ! Perl Authentication Support for nnrpd ! ! If nnrpperlauth in inn.conf is set to true, nnrpd will authenticate ! readers by calling a Perl function rather than reading readers.conf and ! using the normal authentication mechanism. If it is set, nnrpd loads ! _PATH_PERL_AUTH (defined in include/paths.h, by default nnrpd_auth.pl). ! This file must be located in the directory specified by (/usr/local/news/bin/filter by default). The default directory ! for filter code can be specified at configure time by giving the flag ! --with-filter-dir=PATH to configure. ! ! If a Perl function auth_init() is defined by that file, it is called ! immediately after the file is loaded. It takes no arguments and returns ! nothing. ! ! Provided nnrpperlauth is true, the file loads without errors, auth_init() ! (if present) runs without fatal errors, and a Perl function authenticate() ! is defined, authenticate() will be called during the processing of a ! connection, authentication request, or a disconnect. authenticate() takes ! no arguments, but it has access to a global hash %attributes which ! contains information about the connection as follows: $attributes{type} ! will contain either "connect", indicating a new connection is in progress, ! or "authenticate", indicating that a client has sent an AUTHINFO command. ! $attributes{hostname} will contain the hostname (or the IP address if it ! doesn't resolve) of the client machine and $attributes{ipaddress} will ! contain its IP address (as a string). If type was "authenticate", ! $attributes{username} will contain the provided username and ! $attributes{password} the password. ! ! authenticate() should return a four-element array. The first element is ! the NNTP response code to return to the client, the second element is a ! boolean value indicating whether the client is allowed to read, the third ! element is a boolean value indicating whether the client is allowed to ! post, and the fourth element is a wildmat(3) expression that says what ! groups the client is allowed to read. ! ! If type is connect, the NNTP response code should probably be chosen from ! one of the following values: 200 (reading and posting allowd), 201 (no ! posting allowed), 480 (authentication required), or 502 (permission ! denied). If the code returned is 502, nnrpd will print a permission ! refused message, drop the connection, and exit. ! ! If the type is authentication, the NNTP response code should probably be ! either 281 (authentication successful) or 502 (authentication ! unsuccessful). If the code returned is anything other than 281, nnrpd ! will print an authentication error message and drop the connection and ! exit. ! ! If authenticate() dies (either due to a Perl error or due to calling die), ! or if it returns anything other than the four-element array described ! above, an internal error will be reported to the client, the exact error ! will be logged to syslog, and nnrpd will drop the connection and exit. ! ! Notes on Writing Embedded Perl ! ! All Perl evaluation is done inside an implicit eval block, so calling die ! in Perl code will not kill the innd or nnrpd process. Neither will Perl ! errors (such as syntax errors). However, such errors will have negative ! effects (fatal errors in the innd or nnrpd filter will cause filtering to ! be disabled, and fatal errors in the nnrpd authentication code will cause ! the client connection to be terminated). ! ! Calling exit directly, however, *will* kill the innd or nnrpd process, so ! don't do that. Similarly, you probably don't want to call fork (or any ! other function that results in a fork such as system, IPC::Open3::open3, ! or any use of backticks) since there are possibly unflushed buffers that ! could get flushed twice, lots of open state that may not get closed ! properly, and innumerable other potential problems. In general, be aware ! that all Perl code is running inside a large and fairly complicated C ! program, and Perl code that impacts the process as a whole is best ! avoided. ! ! You can use print and warn inside Perl code to send output to STDOUT or ! STDERR, but you probably shouldn't. Instead, open a log file and print to ! it instead (or, in the innd filter, use INN::syslog() to write messages ! via syslog like the rest of INN). It's not entirely clear where STDOUT or ! STDERR will end up if you write to them; the nnrpd filter takes some steps ! to try to keep output from going across the network connection to the ! client (which would probably result in a very confused client), but best ! not to take the chance. ! ! For similar reasons, try to make your Perl code -w clean, since Perl ! warnings are written to STDERR. (INN won't run your code under -w, but ! better safe than sorry.) ! ! You *can* use modules in your Perl code, just like you would in an ! ordinary Perl script. You can even use modules that dynamically load C ! code. Just make sure that none of the modules you use go off behind your ! back to do any of the things above that are best avoided. ! ! Whenever you make any modifications to the Perl code, and particularly ! before starting INN or reloading filter.perl with new code, you should run ! perl -wc on the file. This will at least make sure you don't have any ! glaring syntax errors. Remember, if there are errors in your code, ! filtering will be disabled, which could mean that posts you really wanted ! to reject will leak through and authentication of readers may be totally ! broken. ! ! The samples directory has example startup_innd.pl, filter_innd.pl, ! filter_nnrpd.pl, and nnrpd_auth.pl files that contain some simplistic ! examples. Look them over as a starting point when writing your own. ! ! Available Packages ! ! This is an unofficial list of known filtering packages at the time of ! publication. This is not an endorsement of these filters by the ISC or ! the INN developers, but is included as assistance in locating packages ! which make use of this filter mechanism. ! ! CleanFeed Jeremy Nixon ! ! A spam filter catching excessive multi-posting and a host of other ! things. Uses filter_innd.pl exclusively, requires the MD5 Perl ! module. Probably the most popular and widely-used Perl filter ! around. ! ! Usenet II Filter Edward S. Marshall ! ! Checks for "soundness" according to Usenet II guidelines in the ! net.* hierarchy. Designed to use filter_nnrpd.pl. ! ! News Gizmo Aidan Cully ! ! A posting filter for helping a site enforce Usenet-II soundness, ! and for quotaing the number of messages any user can post to ! Usenet daily. diff -Nacr inn-2.2/authprogs/CVS/Entries inn-2.2.1/authprogs/CVS/Entries *** inn-2.2/authprogs/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/authprogs/CVS/Entries Wed Aug 25 09:25:34 1999 *************** *** 0 **** --- 1,3 ---- + /README.auth_pass/1.1.1.1/Mon Aug 4 04:03:44 1997//TINN-2_2_1 + /auth_pass.c/1.1.1.1/Mon Aug 4 04:03:44 1997//TINN-2_2_1 + D diff -Nacr inn-2.2/authprogs/CVS/Repository inn-2.2.1/authprogs/CVS/Repository *** inn-2.2/authprogs/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/authprogs/CVS/Repository Wed Aug 25 09:25:33 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/authprogs diff -Nacr inn-2.2/authprogs/CVS/Root inn-2.2.1/authprogs/CVS/Root *** inn-2.2/authprogs/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/authprogs/CVS/Root Wed Aug 25 09:25:33 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/authprogs/CVS/Tag inn-2.2.1/authprogs/CVS/Tag *** inn-2.2/authprogs/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/authprogs/CVS/Tag Wed Aug 25 09:25:33 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/backends/CVS/Entries inn-2.2.1/backends/CVS/Entries *** inn-2.2/backends/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/backends/CVS/Entries Wed Aug 25 09:25:36 1999 *************** *** 0 **** --- 1,21 ---- + /Makefile/1.22/Thu Sep 17 06:10:48 1998//TINN-2_2_1 + /actmerge.sh.in/1.2/Thu Jun 25 05:57:45 1998//TINN-2_2_1 + /actsync.c/1.18.2.1/Thu Mar 18 04:17:23 1999//TINN-2_2_1 + /actsyncd.sh.in/1.3.2.2/Wed Apr 7 08:05:00 1999//TINN-2_2_1 + /archive.c/1.10.4.3/Tue Jan 5 15:33:20 1999//TINN-2_2_1 + /batcher.c/1.9/Tue Oct 13 23:17:48 1998//TINN-2_2_1 + /buffchan.c/1.10/Thu May 21 03:00:10 1998//TINN-2_2_1 + /crosspost.c/1.9/Thu May 21 03:00:10 1998//TINN-2_2_1 + /cvtbatch.c/1.7/Thu May 21 03:00:10 1998//TINN-2_2_1 + /filechan.c/1.5/Thu May 21 03:00:10 1998//TINN-2_2_1 + /inndf.c/1.4.2.1/Tue Jul 6 13:38:41 1999//TINN-2_2_1 + /innxbatch.c/1.7/Thu May 21 03:00:11 1998//TINN-2_2_1 + /innxmit.c/1.20.2.1/Fri Nov 27 07:14:30 1998//TINN-2_2_1 + /map.c/1.1.1.1/Mon Aug 4 04:03:45 1997//TINN-2_2_1 + /nntpget.c/1.11.4.1/Fri Jan 8 22:03:32 1999//TINN-2_2_1 + /overchan.c/1.20/Tue Jun 30 03:32:05 1998//TINN-2_2_1 + /rcompress.c/1.1.1.1/Mon Aug 4 04:03:45 1997//TINN-2_2_1 + /sendxbatches.sh.in/1.3/Thu Jun 25 05:57:45 1998//TINN-2_2_1 + /shlock.c/1.1.1.1/Mon Aug 4 04:03:45 1997//TINN-2_2_1 + /shrinkfile.c/1.3/Wed Jun 3 00:18:16 1998//TINN-2_2_1 + D diff -Nacr inn-2.2/backends/CVS/Repository inn-2.2.1/backends/CVS/Repository *** inn-2.2/backends/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/backends/CVS/Repository Wed Aug 25 09:25:34 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/backends diff -Nacr inn-2.2/backends/CVS/Root inn-2.2.1/backends/CVS/Root *** inn-2.2/backends/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/backends/CVS/Root Wed Aug 25 09:25:34 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/backends/CVS/Tag inn-2.2.1/backends/CVS/Tag *** inn-2.2/backends/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/backends/CVS/Tag Wed Aug 25 09:25:34 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/backends/actsync.c inn-2.2.1/backends/actsync.c *** inn-2.2/backends/actsync.c Tue Oct 13 16:17:48 1998 --- inn-2.2.1/backends/actsync.c Wed Mar 17 20:17:23 1999 *************** *** 1,4 **** ! /* @(#) $Id: actsync.c,v 1.18 1998/10/13 23:17:48 coneill Exp $ */ /* @(#) Under RCS control in /usr/local/news/src/inn/local/RCS/actsync.c,v */ /* * actsync - sync or merge two active files --- 1,4 ---- ! /* @(#) $Id: actsync.c,v 1.18.2.1 1999/03/18 04:17:23 kondou Exp $ */ /* @(#) Under RCS control in /usr/local/news/src/inn/local/RCS/actsync.c,v */ /* * actsync - sync or merge two active files *************** *** 1434,1439 **** --- 1434,1444 ---- /* check for a bad group type */ switch (cur->type[0]) { case 'y': + /* of COURSE: collabra has incompatible flags. but it */ + /* looks like they can be fixed easily enough. */ + if (cur->type[1] = 'g') { + cur->type[1] = '\0'; + } case 'm': case 'j': case 'n': diff -Nacr inn-2.2/backends/actsyncd.sh.in inn-2.2.1/backends/actsyncd.sh.in *** inn-2.2/backends/actsyncd.sh.in Fri Oct 16 18:07:27 1998 --- inn-2.2.1/backends/actsyncd.sh.in Wed Apr 7 01:05:00 1999 *************** *** 1,5 **** #!@_PATH_SH@ ! # @(#) $Id: actsyncd.sh.in,v 1.3 1998/10/17 01:07:27 tale Exp $ # @(#) Under RCS control in /usr/local/news/src/inn/local/RCS/actsyncd.sh,v # # actsyncd - actsync daemon --- 1,5 ---- #!@_PATH_SH@ ! # @(#) $Id: actsyncd.sh.in,v 1.3.2.2 1999/04/07 08:05:00 kondou Exp $ # @(#) Under RCS control in /usr/local/news/src/inn/local/RCS/actsyncd.sh,v # # actsyncd - actsync daemon *************** *** 129,142 **** # setup # workdir="${TMPDIR}/actsyncd" ctlinndcmds="cc_commands" out="sync.msg" ! cleanup="$SED -e 's/^/ /' < $out; rm -rf '$workdir' '$LOCK'" trap "eval $cleanup; exit 123" 1 2 3 15 - rm -f "$out" - touch "$out" - chmod 0644 "$out" set -e rm -rf "$workdir" --- 129,140 ---- # setup # + origdir=`pwd` workdir="${TMPDIR}/actsyncd" ctlinndcmds="cc_commands" out="sync.msg" ! cleanup="$SED -e 's/^/ /' < $out; cd ${origdir}; rm -rf '$workdir' '$LOCK'" trap "eval $cleanup; exit 123" 1 2 3 15 set -e rm -rf "$workdir" *************** *** 144,149 **** --- 142,151 ---- cd "$workdir" set +e + rm -f "$out" + touch "$out" + chmod 0644 "$out" + # try to sync # # Try to sync off of the host. If unable to connect/sync then retry *************** *** 153,184 **** for loop in 1 2 3 4 5 6 7 8 9 10; do # get the active file to compare against ! if [ -z "$ftp" ]; then ! echo "getlist -h $host" >>$out ! if getlist -h $host > active 2>>$out; then ! : ! else ! status=$NOSYNC ! fi ! else ! echo "$GETFTP ftp://$host/$ftp" >>$out ! $GETFTP ftp://$host/$ftp >>$out 2>&1 ! status=$? ! if [ "$status" -ne 0 ]; then ! status=$NOSYNC ! else ! case "$ftp" in ! # This isn't bulletproof. $COMPRESS might be compress, which ! # does not understand gzip. ! *.gz|*.Z) echo "$COMPRESS -d active" >>$out ! if $COMPRESS -d active >>$out 2>&1; then ! : ! else ! status=1 ! fi ;; ! esac ! fi ! fi if [ "$status" -ne "$NOSYNC" ]; then --- 155,192 ---- for loop in 1 2 3 4 5 6 7 8 9 10; do # get the active file to compare against ! case $host in ! /*) cp $host active ;; ! .*) cp $origdir/$host active ;; ! *) ! if [ -z "$ftp" ]; then ! echo "getlist -h $host" >>$out ! if getlist -h $host > active 2>>$out; then ! : ! else ! status=$NOSYNC ! fi ! else ! echo "$GETFTP ftp://$host/$ftp" >>$out ! $GETFTP ftp://$host/$ftp >>$out 2>&1 ! status=$? ! if [ "$status" -ne 0 ]; then ! status=$NOSYNC ! else ! case "$ftp" in ! # This isn't bulletproof. $COMPRESS might be compress, which ! # does not understand gzip. ! *.gz|*.Z) echo "$COMPRESS -d active" >>$out ! if $COMPRESS -d active >>$out 2>&1; then ! : ! else ! status=1 ! fi ;; ! esac ! fi ! fi ! ;; ! esac if [ "$status" -ne "$NOSYNC" ]; then diff -Nacr inn-2.2/backends/inndf.c inn-2.2.1/backends/inndf.c *** inn-2.2/backends/inndf.c Mon Oct 5 22:00:56 1998 --- inn-2.2.1/backends/inndf.c Tue Jul 6 06:38:41 1999 *************** *** 5,11 **** Ian Dickinson Wed Jul 26 10:11:38 BST 1995 (My birthday - 27 today!) ! $Id: inndf.c,v 1.4 1998/10/06 05:00:56 kondou Exp $ Replacement for 'df | awk' in innwatch.ctl Reports free kilobytes (not disk blocks) or free inodes. --- 5,11 ---- Ian Dickinson Wed Jul 26 10:11:38 BST 1995 (My birthday - 27 today!) ! $Id: inndf.c,v 1.4.2.1 1999/07/06 13:38:41 kondou Exp $ Replacement for 'df | awk' in innwatch.ctl Reports free kilobytes (not disk blocks) or free inodes. *************** *** 81,86 **** --- 81,87 ---- #define STATSTRUC statvfs /* structure name */ #define STATAVAIL f_bavail /* blocks available */ #define STATMULTI f_frsize /* fragment size/block size */ + #define CAREFULL_STATMULTI f_bsize /* in case f_frsize is 0 */ #define STATINODE f_favail /* inodes available */ #define STATTYPES u_long /* type of f_bavail etc */ #define STATFORMT "%lu" /* format string to match */ *************** *** 122,129 **** /* this is often the same as just buf.f_bavail */ /* but we want to cope with different underlying */ /* block/fragment sizes, and avoid overflow */ value = (STATTYPES) ! (((double) buf.STATAVAIL * buf.STATMULTI) / (STATTYPES) KILOBYTES); } else { value = buf.STATINODE; /* simple! */ --- 123,134 ---- /* this is often the same as just buf.f_bavail */ /* but we want to cope with different underlying */ /* block/fragment sizes, and avoid overflow */ + STATTYPES x=buf.STATMULTI; + #ifdef CAREFULL_STATMULTI + if (x==0) x=buf.CAREFULL_STATMULTI; + #endif value = (STATTYPES) ! (((double) buf.STATAVAIL * x) / (STATTYPES) KILOBYTES); } else { value = buf.STATINODE; /* simple! */ diff -Nacr inn-2.2/config/CVS/Entries inn-2.2.1/config/CVS/Entries *** inn-2.2/config/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/config/CVS/Entries Wed Aug 25 09:25:36 1999 *************** *** 0 **** --- 1,9 ---- + /Makefile/1.16/Wed Jun 3 07:17:12 1998//TINN-2_2_1 + /checkconf.sh/1.1.1.1/Mon Aug 4 04:03:45 1997//TINN-2_2_1 + /config.scoreboard/1.59/Thu Sep 17 06:33:30 1998//TINN-2_2_1 + /files.list/1.23.4.1/Thu Oct 22 15:39:47 1998//TINN-2_2_1 + /fixinterps.pl/1.1.1.1/Mon Aug 4 04:03:45 1997//TINN-2_2_1 + /subst.c/1.3/Thu Apr 16 13:44:06 1998//TINN-2_2_1 + /subst.sh/1.1.1.1/Mon Aug 4 04:03:45 1997//TINN-2_2_1 + /whsubst.sh/1.2/Mon Feb 23 02:47:13 1998//TINN-2_2_1 + D diff -Nacr inn-2.2/config/CVS/Repository inn-2.2.1/config/CVS/Repository *** inn-2.2/config/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/config/CVS/Repository Wed Aug 25 09:25:36 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/config diff -Nacr inn-2.2/config/CVS/Root inn-2.2.1/config/CVS/Root *** inn-2.2/config/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/config/CVS/Root Wed Aug 25 09:25:36 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/config/CVS/Tag inn-2.2.1/config/CVS/Tag *** inn-2.2/config/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/config/CVS/Tag Wed Aug 25 09:25:36 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/configure inn-2.2.1/configure *** inn-2.2/configure Sun Jan 3 18:14:22 1999 --- inn-2.2.1/configure Tue Apr 27 18:12:56 1999 *************** *** 1206,1222 **** ! echo $ac_n "checking for MANDIR""... $ac_c" 1>&6 ! echo "configure:1211: checking for MANDIR" >&5 ! if eval "test \"`echo '$''{'MANDIR'+set}'`\" = set"; then ! echo $ac_n "(cached) $ac_c" 1>&6 ! else ! MANDIR=`eval echo $mandir` ! fi ! ! echo "$ac_t""$MANDIR" 1>&6 ! ac_cv_subst_manpath="$MANDIR" ! HOSTNAME=`uname -n` --- 1206,1212 ---- ! MANDIR=`eval echo $mandir` HOSTNAME=`uname -n` *************** *** 1225,1231 **** # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1229: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1215,1221 ---- # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1219: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1254,1260 **** # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1258: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1244,1250 ---- # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1248: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1302,1308 **** fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 ! echo "configure:1306: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. --- 1292,1298 ---- fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 ! echo "configure:1296: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. *************** *** 1312,1322 **** cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then --- 1302,1312 ---- cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then *************** *** 1336,1347 **** { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 ! echo "configure:1340: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 ! echo "configure:1345: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1326,1337 ---- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 ! echo "configure:1330: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 ! echo "configure:1335: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1350,1356 **** yes; #endif EOF ! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1354: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no --- 1340,1346 ---- yes; #endif EOF ! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1344: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no *************** *** 1365,1371 **** ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 ! echo "configure:1369: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1355,1361 ---- ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 ! echo "configure:1359: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1393,1399 **** fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 ! echo "configure:1397: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1383,1389 ---- fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 ! echo "configure:1387: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1414,1420 **** fi echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 ! echo "configure:1418: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1404,1410 ---- fi echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 ! echo "configure:1408: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1445,1451 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1449: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1435,1441 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1439: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1477,1483 **** # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1481: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1467,1473 ---- # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1471: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1510,1516 **** *) ac_lib=l ;; esac echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 ! echo "configure:1514: checking for yywrap in -l$ac_lib" >&5 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1500,1506 ---- *) ac_lib=l ;; esac echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 ! echo "configure:1504: checking for yywrap in -l$ac_lib" >&5 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1518,1524 **** ac_save_LIBS="$LIBS" LIBS="-l$ac_lib $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 1519,1525 ---- yywrap() ; return 0; } EOF ! if { (eval echo configure:1523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 1554,1560 **** # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1558: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1544,1550 ---- # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1548: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1582,1588 **** echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 ! echo "configure:1586: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= --- 1572,1578 ---- echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 ! echo "configure:1576: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= *************** *** 1597,1609 **** # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1607: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : --- 1587,1599 ---- # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1597: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : *************** *** 1614,1626 **** rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1624: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : --- 1604,1616 ---- rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1614: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : *************** *** 1643,1651 **** echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for AIX""... $ac_c" 1>&6 ! echo "configure:1647: checking for AIX" >&5 cat > conftest.$ac_ext <&6 echo $ac_n "checking for AIX""... $ac_c" 1>&6 ! echo "configure:1637: checking for AIX" >&5 cat > conftest.$ac_ext <&6 ! echo "configure:1671: checking for POSIXized ISC" >&5 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then --- 1657,1663 ---- echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 ! echo "configure:1661: checking for POSIXized ISC" >&5 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then *************** *** 1688,1694 **** fi echo $ac_n "checking for Digital Unix""... $ac_c" 1>&6 ! echo "configure:1692: checking for Digital Unix" >&5 if test -f /osf_boot then echo "$ac_t""yes" 1>&6 --- 1678,1684 ---- fi echo $ac_n "checking for Digital Unix""... $ac_c" 1>&6 ! echo "configure:1682: checking for Digital Unix" >&5 if test -f /osf_boot then echo "$ac_t""yes" 1>&6 *************** *** 1718,1724 **** # Extract the first word of "ctags", so it can be a program name with args. set dummy ctags; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1722: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PATH_CTAGS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1708,1714 ---- # Extract the first word of "ctags", so it can be a program name with args. set dummy ctags; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1712: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PATH_CTAGS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1749,1755 **** echo $ac_n "checking for path to ctags""... $ac_c" 1>&6 ! echo "configure:1753: checking for path to ctags" >&5 if eval "test \"`echo '$''{'ac_cv_subst_ctags'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1739,1745 ---- echo $ac_n "checking for path to ctags""... $ac_c" 1>&6 ! echo "configure:1743: checking for path to ctags" >&5 if eval "test \"`echo '$''{'ac_cv_subst_ctags'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1771,1777 **** # Extract the first word of "awk", so it can be a program name with args. set dummy awk; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1775: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_AWK'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1761,1767 ---- # Extract the first word of "awk", so it can be a program name with args. set dummy awk; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1765: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_AWK'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1808,1814 **** # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1812: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1798,1804 ---- # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1802: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1845,1851 **** # Extract the first word of "sed", so it can be a program name with args. set dummy sed; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1849: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_SED'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1835,1841 ---- # Extract the first word of "sed", so it can be a program name with args. set dummy sed; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1839: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_SED'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1883,1889 **** # Extract the first word of "egrep", so it can be a program name with args. set dummy egrep; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1887: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_EGREP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1873,1879 ---- # Extract the first word of "egrep", so it can be a program name with args. set dummy egrep; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1877: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_EGREP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1920,1926 **** # Extract the first word of "sort", so it can be a program name with args. set dummy sort; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1924: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_SORT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1910,1916 ---- # Extract the first word of "sort", so it can be a program name with args. set dummy sort; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1914: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_SORT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1957,1963 **** # Extract the first word of "sh", so it can be a program name with args. set dummy sh; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1961: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_SH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1947,1953 ---- # Extract the first word of "sh", so it can be a program name with args. set dummy sh; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1951: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_SH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1996,2002 **** # Extract the first word of "pgpv", so it can be a program name with args. set dummy pgpv; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2000: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_PGP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1986,1992 ---- # Extract the first word of "pgpv", so it can be a program name with args. set dummy pgpv; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1990: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_PGP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2029,2035 **** # Extract the first word of "pgp", so it can be a program name with args. set dummy pgp; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2033: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_PGP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2019,2025 ---- # Extract the first word of "pgp", so it can be a program name with args. set dummy pgp; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2023: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path__PATH_PGP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2070,2076 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2074: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GETFTP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2060,2066 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2064: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GETFTP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2108,2114 **** # Extract the first word of "getconf", so it can be a program name with args. set dummy getconf; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2112: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GETCONF'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2098,2104 ---- # Extract the first word of "getconf", so it can be a program name with args. set dummy getconf; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2102: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GETCONF'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2147,2153 **** # Extract the first word of "compress", so it can be a program name with args. set dummy compress; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2151: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_COMPRESS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2137,2143 ---- # Extract the first word of "compress", so it can be a program name with args. set dummy compress; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2141: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_COMPRESS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2181,2187 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2185: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GZIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2171,2177 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2175: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GZIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2250,2256 **** # Extract the first word of "sendmail", so it can be a program name with args. set dummy sendmail; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2254: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_SENDMAIL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2240,2246 ---- # Extract the first word of "sendmail", so it can be a program name with args. set dummy sendmail; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2244: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_SENDMAIL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2285,2291 **** # Extract the first word of "sendmail", so it can be a program name with args. set dummy sendmail; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2289: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_SENDMAIL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2275,2281 ---- # Extract the first word of "sendmail", so it can be a program name with args. set dummy sendmail; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2279: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_SENDMAIL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2339,2345 **** EXTRA_SRC="" echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 ! echo "configure:2343: checking for crypt in -lcrypt" >&5 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2329,2335 ---- EXTRA_SRC="" echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 ! echo "configure:2333: checking for crypt in -lcrypt" >&5 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2347,2353 **** ac_save_LIBS="$LIBS" LIBS="-lcrypt $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2348,2354 ---- crypt() ; return 0; } EOF ! if { (eval echo configure:2352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2386,2392 **** fi echo $ac_n "checking for setproctitle in -lutil""... $ac_c" 1>&6 ! echo "configure:2390: checking for setproctitle in -lutil" >&5 ac_lib_var=`echo util'_'setproctitle | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2376,2382 ---- fi echo $ac_n "checking for setproctitle in -lutil""... $ac_c" 1>&6 ! echo "configure:2380: checking for setproctitle in -lutil" >&5 ac_lib_var=`echo util'_'setproctitle | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2394,2400 **** ac_save_LIBS="$LIBS" LIBS="-lutil $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2395,2401 ---- setproctitle() ; return 0; } EOF ! if { (eval echo configure:2399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2433,2439 **** fi echo $ac_n "checking for inet_addr in -l44bsd""... $ac_c" 1>&6 ! echo "configure:2437: checking for inet_addr in -l44bsd" >&5 ac_lib_var=`echo 44bsd'_'inet_addr | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2423,2429 ---- fi echo $ac_n "checking for inet_addr in -l44bsd""... $ac_c" 1>&6 ! echo "configure:2427: checking for inet_addr in -l44bsd" >&5 ac_lib_var=`echo 44bsd'_'inet_addr | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2441,2447 **** ac_save_LIBS="$LIBS" LIBS="-l44bsd $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2442,2448 ---- inet_addr() ; return 0; } EOF ! if { (eval echo configure:2446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2480,2486 **** fi echo $ac_n "checking for __inet_addr in -lbind""... $ac_c" 1>&6 ! echo "configure:2484: checking for __inet_addr in -lbind" >&5 ac_lib_var=`echo bind'_'__inet_addr | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2470,2476 ---- fi echo $ac_n "checking for __inet_addr in -lbind""... $ac_c" 1>&6 ! echo "configure:2474: checking for __inet_addr in -lbind" >&5 ac_lib_var=`echo bind'_'__inet_addr | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2488,2494 **** ac_save_LIBS="$LIBS" LIBS="-lbind $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2489,2495 ---- __inet_addr() ; return 0; } EOF ! if { (eval echo configure:2493: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2527,2533 **** fi echo $ac_n "checking for gethostbyname in -lresolv""... $ac_c" 1>&6 ! echo "configure:2531: checking for gethostbyname in -lresolv" >&5 ac_lib_var=`echo resolv'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2517,2523 ---- fi echo $ac_n "checking for gethostbyname in -lresolv""... $ac_c" 1>&6 ! echo "configure:2521: checking for gethostbyname in -lresolv" >&5 ac_lib_var=`echo resolv'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2535,2541 **** ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2536,2542 ---- gethostbyname() ; return 0; } EOF ! if { (eval echo configure:2540: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2568,2574 **** fi echo $ac_n "checking for inet_aton in -lresolv""... $ac_c" 1>&6 ! echo "configure:2572: checking for inet_aton in -lresolv" >&5 ac_lib_var=`echo resolv'_'inet_aton | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2558,2564 ---- fi echo $ac_n "checking for inet_aton in -lresolv""... $ac_c" 1>&6 ! echo "configure:2562: checking for inet_aton in -lresolv" >&5 ac_lib_var=`echo resolv'_'inet_aton | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2576,2582 **** ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2577,2583 ---- inet_aton() ; return 0; } EOF ! if { (eval echo configure:2581: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2615,2621 **** if test x$ac_try_bind = x1 then echo $ac_n "checking for inet_aton in -lbind""... $ac_c" 1>&6 ! echo "configure:2619: checking for inet_aton in -lbind" >&5 ac_lib_var=`echo bind'_'inet_aton | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2605,2611 ---- if test x$ac_try_bind = x1 then echo $ac_n "checking for inet_aton in -lbind""... $ac_c" 1>&6 ! echo "configure:2609: checking for inet_aton in -lbind" >&5 ac_lib_var=`echo bind'_'inet_aton | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2623,2629 **** ac_save_LIBS="$LIBS" LIBS="-lbind $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2624,2630 ---- inet_aton() ; return 0; } EOF ! if { (eval echo configure:2628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2657,2663 **** if test x$ac_need_extra_inet_aton = x then echo $ac_n "checking for __inet_aton in -lbind""... $ac_c" 1>&6 ! echo "configure:2661: checking for __inet_aton in -lbind" >&5 ac_lib_var=`echo bind'_'__inet_aton | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2647,2653 ---- if test x$ac_need_extra_inet_aton = x then echo $ac_n "checking for __inet_aton in -lbind""... $ac_c" 1>&6 ! echo "configure:2651: checking for __inet_aton in -lbind" >&5 ac_lib_var=`echo bind'_'__inet_aton | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2665,2671 **** ac_save_LIBS="$LIBS" LIBS="-lbind $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2666,2672 ---- __inet_aton() ; return 0; } EOF ! if { (eval echo configure:2670: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2703,2709 **** fi fi echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 ! echo "configure:2707: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2693,2699 ---- fi fi echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 ! echo "configure:2697: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2711,2717 **** ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2712,2718 ---- gethostbyname() ; return 0; } EOF ! if { (eval echo configure:2716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2750,2756 **** fi echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 ! echo "configure:2754: checking for socket in -lsocket" >&5 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2740,2746 ---- fi echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 ! echo "configure:2744: checking for socket in -lsocket" >&5 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2758,2764 **** ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2759,2765 ---- socket() ; return 0; } EOF ! if { (eval echo configure:2763: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2797,2803 **** if test x$ac_try_nsl = x1 then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 ! echo "configure:2801: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2787,2793 ---- if test x$ac_try_nsl = x1 then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 ! echo "configure:2791: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2805,2811 **** ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2806,2812 ---- gethostbyname() ; return 0; } EOF ! if { (eval echo configure:2810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2842,2848 **** fi fi echo $ac_n "checking for getspnam in -lshadow""... $ac_c" 1>&6 ! echo "configure:2846: checking for getspnam in -lshadow" >&5 ac_lib_var=`echo shadow'_'getspnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2832,2838 ---- fi fi echo $ac_n "checking for getspnam in -lshadow""... $ac_c" 1>&6 ! echo "configure:2836: checking for getspnam in -lshadow" >&5 ac_lib_var=`echo shadow'_'getspnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2850,2856 **** ac_save_LIBS="$LIBS" LIBS="-lshadow $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2851,2857 ---- getspnam() ; return 0; } EOF ! if { (eval echo configure:2855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2889,2895 **** fi echo $ac_n "checking for nlist in -lelf""... $ac_c" 1>&6 ! echo "configure:2893: checking for nlist in -lelf" >&5 ac_lib_var=`echo elf'_'nlist | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2879,2885 ---- fi echo $ac_n "checking for nlist in -lelf""... $ac_c" 1>&6 ! echo "configure:2883: checking for nlist in -lelf" >&5 ac_lib_var=`echo elf'_'nlist | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2897,2903 **** ac_save_LIBS="$LIBS" LIBS="-lelf $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2898,2904 ---- nlist() ; return 0; } EOF ! if { (eval echo configure:2902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2936,2942 **** fi echo $ac_n "checking for flock in -lbsd""... $ac_c" 1>&6 ! echo "configure:2940: checking for flock in -lbsd" >&5 ac_lib_var=`echo bsd'_'flock | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2926,2932 ---- fi echo $ac_n "checking for flock in -lbsd""... $ac_c" 1>&6 ! echo "configure:2930: checking for flock in -lbsd" >&5 ac_lib_var=`echo bsd'_'flock | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2944,2950 **** ac_save_LIBS="$LIBS" LIBS="-lbsd $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2945,2951 ---- flock() ; return 0; } EOF ! if { (eval echo configure:2949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2983,2989 **** fi echo $ac_n "checking for regexec in -lregex""... $ac_c" 1>&6 ! echo "configure:2987: checking for regexec in -lregex" >&5 ac_lib_var=`echo regex'_'regexec | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2973,2979 ---- fi echo $ac_n "checking for regexec in -lregex""... $ac_c" 1>&6 ! echo "configure:2977: checking for regexec in -lregex" >&5 ac_lib_var=`echo regex'_'regexec | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2991,2997 **** ac_save_LIBS="$LIBS" LIBS="-lregex $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2992,2998 ---- regexec() ; return 0; } EOF ! if { (eval echo configure:2996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 3031,3037 **** if test x${DO_PERL} = xDO ; then echo $ac_n "checking for Perl configuration""... $ac_c" 1>&6 ! echo "configure:3035: checking for Perl configuration" >&5 perl_core_path=`$_PATH_PERL -e 'use Config; print $Config{archlib}'` perl_core_libs=`$_PATH_PERL -MExtUtils::Embed -e ldopts | tail -1` for i in ${LIBS} ; do --- 3021,3027 ---- if test x${DO_PERL} = xDO ; then echo $ac_n "checking for Perl configuration""... $ac_c" 1>&6 ! echo "configure:3025: checking for Perl configuration" >&5 perl_core_path=`$_PATH_PERL -e 'use Config; print $Config{archlib}'` perl_core_libs=`$_PATH_PERL -MExtUtils::Embed -e ldopts | tail -1` for i in ${LIBS} ; do *************** *** 3052,3063 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 ! echo "configure:3056: checking for $ac_hdr that defines DIR" >&5 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_hdr> --- 3042,3053 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 ! echo "configure:3046: checking for $ac_hdr that defines DIR" >&5 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_hdr> *************** *** 3065,3071 **** DIR *dirp = 0; ; return 0; } EOF ! if { (eval echo configure:3069: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else --- 3055,3061 ---- DIR *dirp = 0; ; return 0; } EOF ! if { (eval echo configure:3059: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else *************** *** 3090,3096 **** # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 ! echo "configure:3094: checking for opendir in -ldir" >&5 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3080,3086 ---- # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 ! echo "configure:3084: checking for opendir in -ldir" >&5 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3098,3104 **** ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 3099,3105 ---- opendir() ; return 0; } EOF ! if { (eval echo configure:3103: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 3131,3137 **** else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 ! echo "configure:3135: checking for opendir in -lx" >&5 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3121,3127 ---- else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 ! echo "configure:3125: checking for opendir in -lx" >&5 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3139,3145 **** ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 3140,3146 ---- opendir() ; return 0; } EOF ! if { (eval echo configure:3144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 3173,3184 **** fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 ! echo "configure:3177: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 3163,3174 ---- fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 ! echo "configure:3167: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 3186,3192 **** #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3190: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 3176,3182 ---- #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3180: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 3203,3209 **** if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF --- 3193,3199 ---- if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF *************** *** 3221,3227 **** if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF --- 3211,3217 ---- if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF *************** *** 3242,3248 **** : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') --- 3232,3238 ---- : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') *************** *** 3253,3259 **** exit (0); } EOF ! if { (eval echo configure:3257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else --- 3243,3249 ---- exit (0); } EOF ! if { (eval echo configure:3247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else *************** *** 3277,3288 **** fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 ! echo "configure:3281: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 3267,3278 ---- fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 ! echo "configure:3271: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 3291,3297 **** struct tm *tp; ; return 0; } EOF ! if { (eval echo configure:3295: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else --- 3281,3287 ---- struct tm *tp; ; return 0; } EOF ! if { (eval echo configure:3285: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else *************** *** 3312,3323 **** fi echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 ! echo "configure:3316: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 3302,3313 ---- fi echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 ! echo "configure:3306: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 3333,3339 **** s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF ! if { (eval echo configure:3337: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else --- 3323,3329 ---- s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF ! if { (eval echo configure:3327: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else *************** *** 3357,3373 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3361: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 3347,3363 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3351: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3361: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 3397,3413 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3401: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3411: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 3387,3403 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3391: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3401: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 3437,3453 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3441: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3451: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 3427,3443 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3431: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3441: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 3477,3493 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3481: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3491: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 3467,3483 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3471: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3481: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 3523,3539 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3527: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3537: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 3513,3529 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3517: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3527: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 3562,3573 **** fi echo $ac_n "checking for working const""... $ac_c" 1>&6 ! echo "configure:3566: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:3556: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else --- 3606,3612 ---- ; return 0; } EOF ! if { (eval echo configure:3610: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else *************** *** 3637,3648 **** fi echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6 ! echo "configure:3641: checking for st_blksize in struct stat" >&5 if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 3627,3638 ---- fi echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6 ! echo "configure:3631: checking for st_blksize in struct stat" >&5 if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 3650,3656 **** struct stat s; s.st_blksize; ; return 0; } EOF ! if { (eval echo configure:3654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_st_blksize=yes else --- 3640,3646 ---- struct stat s; s.st_blksize; ; return 0; } EOF ! if { (eval echo configure:3644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_st_blksize=yes else *************** *** 3671,3682 **** fi echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 ! echo "configure:3675: checking whether struct tm is in sys/time.h or time.h" >&5 if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 3661,3672 ---- fi echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 ! echo "configure:3665: checking whether struct tm is in sys/time.h or time.h" >&5 if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 3684,3690 **** struct tm *tp; tp->tm_sec; ; return 0; } EOF ! if { (eval echo configure:3688: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else --- 3674,3680 ---- struct tm *tp; tp->tm_sec; ; return 0; } EOF ! if { (eval echo configure:3678: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else *************** *** 3705,3716 **** fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 ! echo "configure:3709: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 3695,3706 ---- fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 ! echo "configure:3699: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** *** 3738,3749 **** fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 ! echo "configure:3742: checking for uid_t in sys/types.h" >&5 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF --- 3728,3739 ---- fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 ! echo "configure:3732: checking for uid_t in sys/types.h" >&5 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF *************** *** 3772,3783 **** fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 ! echo "configure:3776: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 3762,3773 ---- fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 ! echo "configure:3766: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** *** 3805,3816 **** fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 ! echo "configure:3809: checking for pid_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 3795,3806 ---- fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 ! echo "configure:3799: checking for pid_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** *** 3838,3849 **** fi echo $ac_n "checking for atomical variable""... $ac_c" 1>&6 ! echo "configure:3842: checking for atomical variable" >&5 if eval "test \"`echo '$''{'ac_cv_type_atomic'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #ifdef HAVE_SYS_SIGNAL_H --- 3828,3839 ---- fi echo $ac_n "checking for atomical variable""... $ac_c" 1>&6 ! echo "configure:3832: checking for atomical variable" >&5 if eval "test \"`echo '$''{'ac_cv_type_atomic'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #ifdef HAVE_SYS_SIGNAL_H *************** *** 3853,3859 **** sig_atomic_t i ; return 0; } EOF ! if { (eval echo configure:3857: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_atomic=sig_atomic_t else --- 3843,3849 ---- sig_atomic_t i ; return 0; } EOF ! if { (eval echo configure:3847: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_atomic=sig_atomic_t else *************** *** 3869,3884 **** echo $ac_n "checking for tm_gmtoff in struct tm""... $ac_c" 1>&6 ! echo "configure:3873: checking for tm_gmtoff in struct tm" >&5 cat > conftest.$ac_ext < int main() { struct tm t; t.tm_gmtoff = 0 ; return 0; } EOF ! if { (eval echo configure:3882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_TM_GMTOFF 1 --- 3859,3874 ---- echo $ac_n "checking for tm_gmtoff in struct tm""... $ac_c" 1>&6 ! echo "configure:3863: checking for tm_gmtoff in struct tm" >&5 cat > conftest.$ac_ext < int main() { struct tm t; t.tm_gmtoff = 0 ; return 0; } EOF ! if { (eval echo configure:3872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_TM_GMTOFF 1 *************** *** 3893,3901 **** rm -f conftest* echo $ac_n "checking for union wait""... $ac_c" 1>&6 ! echo "configure:3897: checking for union wait" >&5 cat > conftest.$ac_ext < --- 3883,3891 ---- rm -f conftest* echo $ac_n "checking for union wait""... $ac_c" 1>&6 ! echo "configure:3887: checking for union wait" >&5 cat > conftest.$ac_ext < *************** *** 3906,3912 **** union wait w ; return 0; } EOF ! if { (eval echo configure:3910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_UNION_WAIT 1 --- 3896,3902 ---- union wait w ; return 0; } EOF ! if { (eval echo configure:3900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_UNION_WAIT 1 *************** *** 3922,3928 **** # Size of integers echo $ac_n "checking size of int""... $ac_c" 1>&6 ! echo "configure:3926: checking size of int" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 3912,3918 ---- # Size of integers echo $ac_n "checking size of int""... $ac_c" 1>&6 ! echo "configure:3916: checking size of int" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 3930,3936 **** { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() --- 3920,3926 ---- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() *************** *** 3941,3947 **** exit(0); } EOF ! if { (eval echo configure:3945: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int=`cat conftestval` else --- 3931,3937 ---- exit(0); } EOF ! if { (eval echo configure:3935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int=`cat conftestval` else *************** *** 3964,3970 **** ac_cv_subst_int32_t=int else echo $ac_n "checking size of long""... $ac_c" 1>&6 ! echo "configure:3968: checking size of long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 3954,3960 ---- ac_cv_subst_int32_t=int else echo $ac_n "checking size of long""... $ac_c" 1>&6 ! echo "configure:3958: checking size of long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 3972,3978 **** { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() --- 3962,3968 ---- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() *************** *** 3983,3989 **** exit(0); } EOF ! if { (eval echo configure:3987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long=`cat conftestval` else --- 3973,3979 ---- exit(0); } EOF ! if { (eval echo configure:3977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long=`cat conftestval` else *************** *** 4006,4012 **** ac_cv_subst_int32_t=long else echo $ac_n "checking size of short""... $ac_c" 1>&6 ! echo "configure:4010: checking size of short" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 3996,4002 ---- ac_cv_subst_int32_t=long else echo $ac_n "checking size of short""... $ac_c" 1>&6 ! echo "configure:4000: checking size of short" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 4014,4020 **** { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() --- 4004,4010 ---- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() *************** *** 4025,4031 **** exit(0); } EOF ! if { (eval echo configure:4029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_short=`cat conftestval` else --- 4015,4021 ---- exit(0); } EOF ! if { (eval echo configure:4019: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_short=`cat conftestval` else *************** *** 4055,4067 **** if test $ac_cv_prog_gcc = yes; then echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 ! echo "configure:4059: checking whether ${CC-cc} needs -traditional" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_pattern="Autoconf.*'x'" cat > conftest.$ac_ext < Autoconf TIOCGETP --- 4045,4057 ---- if test $ac_cv_prog_gcc = yes; then echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 ! echo "configure:4049: checking whether ${CC-cc} needs -traditional" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_pattern="Autoconf.*'x'" cat > conftest.$ac_ext < Autoconf TIOCGETP *************** *** 4079,4085 **** if test $ac_cv_prog_gcc_traditional = no; then cat > conftest.$ac_ext < Autoconf TCGETA --- 4069,4075 ---- if test $ac_cv_prog_gcc_traditional = no; then cat > conftest.$ac_ext < Autoconf TCGETA *************** *** 4101,4107 **** fi echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 ! echo "configure:4105: checking for 8-bit clean memcmp" >&5 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 4091,4097 ---- fi echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 ! echo "configure:4095: checking for 8-bit clean memcmp" >&5 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 4109,4115 **** ac_cv_func_memcmp_clean=no else cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_memcmp_clean=yes else --- 4109,4115 ---- } EOF ! if { (eval echo configure:4113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_memcmp_clean=yes else *************** *** 4137,4143 **** test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o" echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6 ! echo "configure:4141: checking whether setvbuf arguments are reversed" >&5 if eval "test \"`echo '$''{'ac_cv_func_setvbuf_reversed'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 4127,4133 ---- test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o" echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6 ! echo "configure:4131: checking whether setvbuf arguments are reversed" >&5 if eval "test \"`echo '$''{'ac_cv_func_setvbuf_reversed'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 4145,4151 **** { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < /* If setvbuf has the reversed format, exit 0. */ --- 4135,4141 ---- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < /* If setvbuf has the reversed format, exit 0. */ *************** *** 4159,4165 **** exit(0); /* Non-reversed systems segv here. */ } EOF ! if { (eval echo configure:4163: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_setvbuf_reversed=yes else --- 4149,4155 ---- exit(0); /* Non-reversed systems segv here. */ } EOF ! if { (eval echo configure:4153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_setvbuf_reversed=yes else *************** *** 4183,4194 **** fi echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 ! echo "configure:4187: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 4173,4184 ---- fi echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 ! echo "configure:4177: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 4205,4211 **** int i; ; return 0; } EOF ! if { (eval echo configure:4209: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else --- 4195,4201 ---- int i; ; return 0; } EOF ! if { (eval echo configure:4199: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else *************** *** 4226,4242 **** ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 ! echo "configure:4230: checking for vfork.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4240: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 4216,4232 ---- ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 ! echo "configure:4220: checking for vfork.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4230: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 4261,4278 **** fi echo $ac_n "checking for working vfork""... $ac_c" 1>&6 ! echo "configure:4265: checking for working vfork" >&5 if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test "$cross_compiling" = yes; then echo $ac_n "checking for vfork""... $ac_c" 1>&6 ! echo "configure:4271: checking for vfork" >&5 if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4255: checking for working vfork" >&5 if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test "$cross_compiling" = yes; then echo $ac_n "checking for vfork""... $ac_c" 1>&6 ! echo "configure:4261: checking for vfork" >&5 if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vfork=yes" else --- 4285,4291 ---- ; return 0; } EOF ! if { (eval echo configure:4289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vfork=yes" else *************** *** 4316,4322 **** else cat > conftest.$ac_ext < --- 4306,4312 ---- else cat > conftest.$ac_ext < *************** *** 4411,4417 **** } } EOF ! if { (eval echo configure:4415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_vfork_works=yes else --- 4401,4407 ---- } } EOF ! if { (eval echo configure:4405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_vfork_works=yes else *************** *** 4434,4445 **** fi echo $ac_n "checking for vprintf""... $ac_c" 1>&6 ! echo "configure:4438: checking for vprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4428: checking for vprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else --- 4452,4458 ---- ; return 0; } EOF ! if { (eval echo configure:4456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else *************** *** 4486,4497 **** if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 ! echo "configure:4490: checking for _doprnt" >&5 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4480: checking for _doprnt" >&5 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else --- 4504,4510 ---- ; return 0; } EOF ! if { (eval echo configure:4508: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else *************** *** 4541,4552 **** for ac_func in fchmod getdtab gethostname getrlimit getrusage do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4545: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4535: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4559,4565 ---- ; return 0; } EOF ! if { (eval echo configure:4563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 4596,4607 **** for ac_func in gettimeofday memchr memcmp memcpy memmove memset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4600: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4590: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4614,4620 ---- ; return 0; } EOF ! if { (eval echo configure:4618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 4651,4662 **** for ac_func in mkdir mkfifo mktemp select setbuffer setproctitle do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4655: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4645: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4669,4675 ---- ; return 0; } EOF ! if { (eval echo configure:4673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 4706,4717 **** for ac_func in setsid socket strcasecmp strchr strcspn strerror do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4710: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4700: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4724,4730 ---- ; return 0; } EOF ! if { (eval echo configure:4728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 4761,4772 **** for ac_func in strrchr strspn strstr symlink sysconf syslog ulimit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4765: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4755: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4779,4785 ---- ; return 0; } EOF ! if { (eval echo configure:4783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 4816,4827 **** for ac_func in waitpid socketpair getpagesize getspnam do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4820: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4810: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4834,4840 ---- ; return 0; } EOF ! if { (eval echo configure:4838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 4871,4882 **** for ac_func in statvfs do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4875: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4865: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4889,4895 ---- ; return 0; } EOF ! if { (eval echo configure:4893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 4926,4937 **** for ac_func in statfs do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4930: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4920: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4944,4950 ---- ; return 0; } EOF ! if { (eval echo configure:4948: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 4981,4997 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:4985: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4995: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 4971,4987 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:4975: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:4985: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 5023,5039 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5027: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:5037: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 5013,5029 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5017: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:5027: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 5065,5081 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5069: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:5079: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 5055,5071 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:5059: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:5069: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 5111,5117 **** echo $ac_n "checking for working mmap""... $ac_c" 1>&6 ! echo "configure:5115: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_shared'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 5101,5107 ---- echo $ac_n "checking for working mmap""... $ac_c" 1>&6 ! echo "configure:5105: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_shared'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 5119,5125 **** ac_cv_func_mmap_shared=no else cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_shared=yes else --- 5209,5215 ---- } EOF ! if { (eval echo configure:5213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_shared=yes else *************** *** 5242,5253 **** for ac_func in madvise do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:5246: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5236: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 5260,5266 ---- ; return 0; } EOF ! if { (eval echo configure:5264: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 5300,5306 **** fi echo $ac_n "checking whether msync is needed""... $ac_c" 1>&6 ! echo "configure:5304: checking whether msync is needed" >&5 if eval "test \"`echo '$''{'ac_cv_func_need_msync'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 5290,5296 ---- fi echo $ac_n "checking whether msync is needed""... $ac_c" 1>&6 ! echo "configure:5294: checking whether msync is needed" >&5 if eval "test \"`echo '$''{'ac_cv_func_need_msync'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 5308,5314 **** ac_cv_func_need_msync=no else cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_need_msync=yes else --- 5410,5416 ---- } EOF ! if { (eval echo configure:5414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_need_msync=yes else *************** *** 5438,5449 **** if test $ac_cv_lib_regex_regexec = no; then echo $ac_n "checking for regexec""... $ac_c" 1>&6 ! echo "configure:5442: checking for regexec" >&5 if eval "test \"`echo '$''{'ac_cv_func_regexec'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5432: checking for regexec" >&5 if eval "test \"`echo '$''{'ac_cv_func_regexec'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_regexec=yes" else --- 5456,5462 ---- ; return 0; } EOF ! if { (eval echo configure:5460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_regexec=yes" else *************** *** 5490,5498 **** echo $ac_n "checking for msync args""... $ac_c" 1>&6 ! echo "configure:5494: checking for msync args" >&5 cat > conftest.$ac_ext < #include --- 5480,5488 ---- echo $ac_n "checking for msync args""... $ac_c" 1>&6 ! echo "configure:5484: checking for msync args" >&5 cat > conftest.$ac_ext < #include *************** *** 5500,5506 **** char *p; int psize; msync(p,psize,MS_ASYNC); ; return 0; } EOF ! if { (eval echo configure:5504: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_MSYNC_3_ARG 1 --- 5490,5496 ---- char *p; int psize; msync(p,psize,MS_ASYNC); ; return 0; } EOF ! if { (eval echo configure:5494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_MSYNC_3_ARG 1 *************** *** 5515,5526 **** rm -f conftest* echo $ac_n "checking for return type of abort""... $ac_c" 1>&6 ! echo "configure:5519: checking for return type of abort" >&5 if eval "test \"`echo '$''{'ac_cv_type_abort'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < --- 5505,5516 ---- rm -f conftest* echo $ac_n "checking for return type of abort""... $ac_c" 1>&6 ! echo "configure:5509: checking for return type of abort" >&5 if eval "test \"`echo '$''{'ac_cv_type_abort'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < *************** *** 5529,5535 **** int a;a=abort() ; return 0; } EOF ! if { (eval echo configure:5533: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_abort=int else --- 5519,5525 ---- int a;a=abort() ; return 0; } EOF ! if { (eval echo configure:5523: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_abort=int else *************** *** 5544,5555 **** echo "$ac_t""$ac_cv_type_abort" 1>&6 echo $ac_n "checking for return type of alarm""... $ac_c" 1>&6 ! echo "configure:5548: checking for return type of alarm" >&5 if eval "test \"`echo '$''{'ac_cv_type_alarm'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < --- 5534,5545 ---- echo "$ac_t""$ac_cv_type_abort" 1>&6 echo $ac_n "checking for return type of alarm""... $ac_c" 1>&6 ! echo "configure:5538: checking for return type of alarm" >&5 if eval "test \"`echo '$''{'ac_cv_type_alarm'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < *************** *** 5558,5564 **** unsigned int alarm() ; return 0; } EOF ! if { (eval echo configure:5562: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_alarm="unsigned int" else --- 5548,5554 ---- unsigned int alarm() ; return 0; } EOF ! if { (eval echo configure:5552: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_alarm="unsigned int" else *************** *** 5573,5584 **** echo "$ac_t""$ac_cv_type_alarm" 1>&6 echo $ac_n "checking for return type of sleep""... $ac_c" 1>&6 ! echo "configure:5577: checking for return type of sleep" >&5 if eval "test \"`echo '$''{'ac_cv_type_sleep'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < --- 5563,5574 ---- echo "$ac_t""$ac_cv_type_alarm" 1>&6 echo $ac_n "checking for return type of sleep""... $ac_c" 1>&6 ! echo "configure:5567: checking for return type of sleep" >&5 if eval "test \"`echo '$''{'ac_cv_type_sleep'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < *************** *** 5587,5593 **** unsigned int sleep() ; return 0; } EOF ! if { (eval echo configure:5591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_sleep="unsigned int" else --- 5577,5583 ---- unsigned int sleep() ; return 0; } EOF ! if { (eval echo configure:5581: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_sleep="unsigned int" else *************** *** 5602,5613 **** echo "$ac_t""$ac_cv_type_sleep" 1>&6 echo $ac_n "checking for return type of qsort""... $ac_c" 1>&6 ! echo "configure:5606: checking for return type of qsort" >&5 if eval "test \"`echo '$''{'ac_cv_type_qsort'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < --- 5592,5603 ---- echo "$ac_t""$ac_cv_type_sleep" 1>&6 echo $ac_n "checking for return type of qsort""... $ac_c" 1>&6 ! echo "configure:5596: checking for return type of qsort" >&5 if eval "test \"`echo '$''{'ac_cv_type_qsort'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < *************** *** 5616,5622 **** int a;a=qsort(0,0,0,0) ; return 0; } EOF ! if { (eval echo configure:5620: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_qsort=int else --- 5606,5612 ---- int a;a=qsort(0,0,0,0) ; return 0; } EOF ! if { (eval echo configure:5610: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_qsort=int else *************** *** 5631,5642 **** echo "$ac_t""$ac_cv_type_qsort" 1>&6 echo $ac_n "checking for return type of free""... $ac_c" 1>&6 ! echo "configure:5635: checking for return type of free" >&5 if eval "test \"`echo '$''{'ac_cv_type_free'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < --- 5621,5632 ---- echo "$ac_t""$ac_cv_type_qsort" 1>&6 echo $ac_n "checking for return type of free""... $ac_c" 1>&6 ! echo "configure:5625: checking for return type of free" >&5 if eval "test \"`echo '$''{'ac_cv_type_free'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < *************** *** 5653,5659 **** int a;a=free(0) ; return 0; } EOF ! if { (eval echo configure:5657: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_free=int else --- 5643,5649 ---- int a;a=free(0) ; return 0; } EOF ! if { (eval echo configure:5647: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_free=int else *************** *** 5668,5679 **** echo "$ac_t""$ac_cv_type_free" 1>&6 echo $ac_n "checking for return type of exit""... $ac_c" 1>&6 ! echo "configure:5672: checking for return type of exit" >&5 if eval "test \"`echo '$''{'ac_cv_type_exit'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < --- 5658,5669 ---- echo "$ac_t""$ac_cv_type_free" 1>&6 echo $ac_n "checking for return type of exit""... $ac_c" 1>&6 ! echo "configure:5662: checking for return type of exit" >&5 if eval "test \"`echo '$''{'ac_cv_type_exit'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < *************** *** 5682,5688 **** int a;a=exit(0) ; return 0; } EOF ! if { (eval echo configure:5686: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_exit=int else --- 5672,5678 ---- int a;a=exit(0) ; return 0; } EOF ! if { (eval echo configure:5676: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_exit=int else *************** *** 5697,5708 **** echo "$ac_t""$ac_cv_type_exit" 1>&6 echo $ac_n "checking for return type of _exit""... $ac_c" 1>&6 ! echo "configure:5701: checking for return type of _exit" >&5 if eval "test \"`echo '$''{'ac_cv_type__exit'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < --- 5687,5698 ---- echo "$ac_t""$ac_cv_type_exit" 1>&6 echo $ac_n "checking for return type of _exit""... $ac_c" 1>&6 ! echo "configure:5691: checking for return type of _exit" >&5 if eval "test \"`echo '$''{'ac_cv_type__exit'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < *************** *** 5711,5717 **** int a;a=_exit(0) ; return 0; } EOF ! if { (eval echo configure:5715: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type__exit=int else --- 5701,5707 ---- int a;a=_exit(0) ; return 0; } EOF ! if { (eval echo configure:5705: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type__exit=int else *************** *** 5729,5740 **** for ac_func in flock lockf fcntl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:5733: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5723: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 5747,5753 ---- ; return 0; } EOF ! if { (eval echo configure:5751: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 5783,5791 **** echo $ac_n "checking for AF_UNIX""... $ac_c" 1>&6 ! echo "configure:5787: checking for AF_UNIX" >&5 cat > conftest.$ac_ext < #ifdef AF_UNIX --- 5773,5781 ---- echo $ac_n "checking for AF_UNIX""... $ac_c" 1>&6 ! echo "configure:5777: checking for AF_UNIX" >&5 cat > conftest.$ac_ext < #ifdef AF_UNIX *************** *** 5807,5817 **** echo $ac_n "checking for close on exec style""... $ac_c" 1>&6 ! echo "configure:5811: checking for close on exec style" >&5 CLX_STYLE=pre_test if test $ac_cv_header_fcntl_h = yes; then cat > conftest.$ac_ext < #ifdef FD_CLOEXEC --- 5797,5807 ---- echo $ac_n "checking for close on exec style""... $ac_c" 1>&6 ! echo "configure:5801: checking for close on exec style" >&5 CLX_STYLE=pre_test if test $ac_cv_header_fcntl_h = yes; then cat > conftest.$ac_ext < #ifdef FD_CLOEXEC *************** *** 5844,5850 **** CLX_STYLE=pre_test if test $ac_cv_header_sys_filio_h = yes; then cat > conftest.$ac_ext < #ifdef FIOCLEX --- 5834,5840 ---- CLX_STYLE=pre_test if test $ac_cv_header_sys_filio_h = yes; then cat > conftest.$ac_ext < #ifdef FIOCLEX *************** *** 5876,5886 **** echo $ac_n "checking for nbio style""... $ac_c" 1>&6 ! echo "configure:5880: checking for nbio style" >&5 NBIO_STYLE=pre_test if test $ac_cv_header_fcntl_h = yes; then cat > conftest.$ac_ext < #ifdef O_NONBLOCK --- 5866,5876 ---- echo $ac_n "checking for nbio style""... $ac_c" 1>&6 ! echo "configure:5870: checking for nbio style" >&5 NBIO_STYLE=pre_test if test $ac_cv_header_fcntl_h = yes; then cat > conftest.$ac_ext < #ifdef O_NONBLOCK *************** *** 5908,5914 **** NBIO_STYLE=pre_test if test $ac_cv_header_sys_filio_h = yes; then cat > conftest.$ac_ext < #ifdef FIONBIO --- 5898,5904 ---- NBIO_STYLE=pre_test if test $ac_cv_header_sys_filio_h = yes; then cat > conftest.$ac_ext < #ifdef FIONBIO *************** *** 5941,5949 **** echo $ac_n "checking log level for news""... $ac_c" 1>&6 ! echo "configure:5945: checking log level for news" >&5 cat > conftest.$ac_ext < #ifdef LOG_NEWS --- 5931,5939 ---- echo $ac_n "checking log level for news""... $ac_c" 1>&6 ! echo "configure:5935: checking log level for news" >&5 cat > conftest.$ac_ext < #ifdef LOG_NEWS *************** *** 5966,5977 **** echo $ac_n "checking generic pointer""... $ac_c" 1>&6 ! echo "configure:5970: checking generic pointer" >&5 if eval "test \"`echo '$''{'ac_cv_type_generic'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < --- 5956,5967 ---- echo $ac_n "checking generic pointer""... $ac_c" 1>&6 ! echo "configure:5960: checking generic pointer" >&5 if eval "test \"`echo '$''{'ac_cv_type_generic'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < *************** *** 5986,5992 **** void *a; a = malloc(sizeof(a)) ; return 0; } EOF ! if { (eval echo configure:5990: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_generic=void else --- 5976,5982 ---- void *a; a = malloc(sizeof(a)) ; return 0; } EOF ! if { (eval echo configure:5980: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_generic=void else *************** *** 6475,6481 **** s%@NEWSGRP@%$NEWSGRP%g s%@NEWSMASTER@%$NEWSMASTER%g s%@MANDIR@%$MANDIR%g - s%@ac_cv_subst_manpath@%$ac_cv_subst_manpath%g s%@HOSTNAME@%$HOSTNAME%g s%@SET_MAKE@%$SET_MAKE%g s%@YACC@%$YACC%g --- 6465,6470 ---- diff -Nacr inn-2.2/configure.in inn-2.2.1/configure.in *** inn-2.2/configure.in Sun Jan 3 18:14:23 1999 --- inn-2.2.1/configure.in Tue Apr 27 18:12:55 1999 *************** *** 116,125 **** fi ]) ! AC_CACHE_CHECK(for MANDIR,MANDIR, MANDIR=`eval echo $mandir`) ! ac_cv_subst_manpath="$MANDIR" AC_SUBST(MANDIR) - AC_SUBST(ac_cv_subst_manpath) HOSTNAME=`uname -n` AC_SUBST(HOSTNAME) --- 116,123 ---- fi ]) ! MANDIR=`eval echo $mandir` AC_SUBST(MANDIR) HOSTNAME=`uname -n` AC_SUBST(HOSTNAME) diff -Nacr inn-2.2/contrib/CVS/Entries inn-2.2.1/contrib/CVS/Entries *** inn-2.2/contrib/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/contrib/CVS/Entries Wed Aug 25 09:25:37 1999 *************** *** 0 **** --- 1,10 ---- + /README.contrib/1.2/Mon Mar 23 14:05:26 1998//TINN-2_2_1 + /cleanoi/1.1/Wed May 20 12:46:14 1998//TINN-2_2_1 + /count_overview.pl/1.1/Wed Sep 23 06:19:42 1998//TINN-2_2_1 + /expirectl/1.1.1.1/Mon Aug 4 04:03:45 1997//TINN-2_2_1 + /findmissing.pl/1.1.1.1/Mon Aug 4 04:03:45 1997//TINN-2_2_1 + /fixhist/1.2.4.1/Wed Dec 16 06:00:09 1998//TINN-2_2_1 + /format_overview.pl/1.1/Wed Sep 23 06:19:43 1998//TINN-2_2_1 + /listoi.c/1.1/Wed May 20 12:46:15 1998//TINN-2_2_1 + /newsbot/1.1.1.1/Mon Aug 4 04:03:45 1997//TINN-2_2_1 + D diff -Nacr inn-2.2/contrib/CVS/Repository inn-2.2.1/contrib/CVS/Repository *** inn-2.2/contrib/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/contrib/CVS/Repository Wed Aug 25 09:25:37 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/contrib diff -Nacr inn-2.2/contrib/CVS/Root inn-2.2.1/contrib/CVS/Root *** inn-2.2/contrib/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/contrib/CVS/Root Wed Aug 25 09:25:37 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/contrib/CVS/Tag inn-2.2.1/contrib/CVS/Tag *** inn-2.2/contrib/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/contrib/CVS/Tag Wed Aug 25 09:25:37 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/doc/CVS/Entries inn-2.2.1/doc/CVS/Entries *** inn-2.2/doc/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/doc/CVS/Entries Wed Aug 25 09:25:52 1999 *************** *** 0 **** --- 1,97 ---- + /Makefile/1.35.2.1/Tue Nov 3 14:02:13 1998//TINN-2_2_1 + /active.5/1.1.2.1/Sat Jun 12 08:22:15 1999//TINN-2_2_1 + /actived.8/1.1.2.1/Sat Jun 12 08:22:15 1999//TINN-2_2_1 + /actsync.8/1.1.2.1/Sat Jun 12 08:22:16 1999//TINN-2_2_1 + /actsyncd.8/1.1.2.1/Sat Jun 12 08:22:17 1999//TINN-2_2_1 + /archive.8/1.1.2.1/Sat Jun 12 08:22:17 1999//TINN-2_2_1 + /batcher.8/1.1.2.1/Sat Jun 12 08:22:18 1999//TINN-2_2_1 + /buffchan.8/1.1.2.1/Sat Jun 12 08:22:18 1999//TINN-2_2_1 + /clientlib.3/1.1.2.1/Sat Jun 12 08:22:19 1999//TINN-2_2_1 + /cnfsstat.8/1.1.2.1/Sat Jun 12 08:22:20 1999//TINN-2_2_1 + /control-messages/1.1.1.1/Mon Aug 4 04:03:45 1997//TINN-2_2_1 + /control.ctl.5/1.1.2.1/Sat Jun 12 08:22:20 1999//TINN-2_2_1 + /controlchan.8/1.1.2.1/Sat Jun 12 08:22:21 1999//TINN-2_2_1 + /convdate.1/1.1.2.1/Sat Jun 12 08:22:22 1999//TINN-2_2_1 + /crosspost.8/1.1.2.1/Sat Jun 12 08:22:22 1999//TINN-2_2_1 + /ctlinnd.8/1.1.2.1/Sat Jun 12 08:22:23 1999//TINN-2_2_1 + /cvtbatch.8/1.1.2.1/Sat Jun 12 08:22:23 1999//TINN-2_2_1 + /cycbuff.conf.5/1.1.2.2/Sat Jun 26 00:33:19 1999//TINN-2_2_1 + /dbz.3/1.1.2.1/Sat Jun 12 08:22:25 1999//TINN-2_2_1 + /distrib.pats.5/1.1.2.1/Sat Jun 12 08:22:26 1999//TINN-2_2_1 + /expire.8/1.1.2.1/Sat Jun 12 08:22:26 1999//TINN-2_2_1 + /expire.ctl.5/1.1.2.1/Sat Jun 12 08:22:27 1999//TINN-2_2_1 + /expireindex.8/1.1.2.1/Sat Jun 12 08:22:28 1999//TINN-2_2_1 + /expireover.8/1.1.2.1/Sat Jun 12 08:22:28 1999//TINN-2_2_1 + /expirerm.8/1.1.2.1/Sat Jun 12 08:22:29 1999//TINN-2_2_1 + /fastrm.8/1.1.2.1/Sat Jun 12 08:22:29 1999//TINN-2_2_1 + /filechan.8/1.1.2.1/Sat Jun 12 08:22:30 1999//TINN-2_2_1 + /getlist.1/1.1.2.1/Sat Jun 12 08:22:31 1999//TINN-2_2_1 + /grephistory.1/1.1.2.1/Sat Jun 12 08:22:31 1999//TINN-2_2_1 + /history.5/1.1.2.1/Sat Jun 12 08:22:32 1999//TINN-2_2_1 + /incoming.conf.5/1.1.2.1/Sat Jun 12 08:22:32 1999//TINN-2_2_1 + /inews.1/1.1.2.1/Sat Jun 12 08:22:33 1999//TINN-2_2_1 + /inn.conf.5/1.1.2.1/Sat Jun 12 08:22:34 1999//TINN-2_2_1 + /inncheck.8/1.1.2.1/Sat Jun 12 08:22:34 1999//TINN-2_2_1 + /innconfval.1/1.1.2.1/Sat Jun 12 08:22:35 1999//TINN-2_2_1 + /innd.8/1.1.2.1/Sat Jun 12 08:22:36 1999//TINN-2_2_1 + /inndcomm.3/1.1.2.1/Sat Jun 12 08:22:36 1999//TINN-2_2_1 + /inndf.8/1.1.2.1/Sat Jun 12 08:22:37 1999//TINN-2_2_1 + /innfeed.1/1.1.2.1/Sat Jun 12 08:22:37 1999//TINN-2_2_1 + /innfeed.conf.5/1.1.2.1/Sat Jun 12 08:22:38 1999//TINN-2_2_1 + /innlog.pl.8/1.1.2.1/Sat Jun 12 08:22:39 1999//TINN-2_2_1 + /innreport.8/1.1.2.1/Sat Jun 12 08:22:39 1999//TINN-2_2_1 + /innstat.8/1.1.2.1/Sat Jun 12 08:22:40 1999//TINN-2_2_1 + /innwatch.8/1.1.2.1/Sat Jun 12 08:22:41 1999//TINN-2_2_1 + /innwatch.ctl.5/1.1.2.1/Sat Jun 12 08:22:41 1999//TINN-2_2_1 + /innxbatch.8/1.1.2.1/Sat Jun 12 08:22:42 1999//TINN-2_2_1 + /innxmit.8/1.1.2.1/Sat Jun 12 08:22:42 1999//TINN-2_2_1 + /installit.1/1.1.2.1/Sat Jun 12 08:22:43 1999//TINN-2_2_1 + /libinn.3/1.1.2.1/Sat Jun 12 08:22:44 1999//TINN-2_2_1 + /libstorage.3/1.1.2.1/Sat Jun 12 08:22:44 1999//TINN-2_2_1 + /mailpost.8/1.1.2.1/Sat Jun 12 08:22:45 1999//TINN-2_2_1 + /makeactive.8/1.1.2.1/Sat Jun 12 08:22:45 1999//TINN-2_2_1 + /makehistory.8/1.1.2.1/Sat Jun 12 08:22:46 1999//TINN-2_2_1 + /mod-active.8/1.1.2.1/Sat Jun 12 08:22:47 1999//TINN-2_2_1 + /moderators.5/1.1.2.1/Sat Jun 12 08:22:47 1999//TINN-2_2_1 + /motd.news.5/1.1.2.1/Sat Jun 12 08:22:48 1999//TINN-2_2_1 + /news-recovery.8/1.1.2.1/Sat Jun 12 08:22:48 1999//TINN-2_2_1 + /news.daily.8/1.1.2.1/Sat Jun 12 08:22:49 1999//TINN-2_2_1 + /news2mail.8/1.1.2.1/Sat Jun 12 08:22:50 1999//TINN-2_2_1 + /newsfeeds.5/1.1.2.1/Sat Jun 12 08:22:50 1999//TINN-2_2_1 + /newslog.5/1.1.2.1/Sat Jun 12 08:22:51 1999//TINN-2_2_1 + /newslog.8/1.1.2.1/Sat Jun 12 08:22:51 1999//TINN-2_2_1 + /newsrequeue.8/1.1.2.1/Sat Jun 12 08:22:52 1999//TINN-2_2_1 + /nnrp.access.5/1.1.2.1/Sat Jun 12 08:22:53 1999//TINN-2_2_1 + /nnrpd.8/1.1.2.1/Sat Jun 12 08:22:53 1999//TINN-2_2_1 + /nnrpd.track.5/1.1.2.1/Sat Jun 12 08:22:54 1999//TINN-2_2_1 + /nntpget.1/1.1.2.1/Sat Jun 12 08:22:54 1999//TINN-2_2_1 + /nntpsend.8/1.1.2.1/Sat Jun 12 08:22:55 1999//TINN-2_2_1 + /nntpsend.ctl.5/1.1.2.1/Sat Jun 12 08:22:56 1999//TINN-2_2_1 + /overchan.8/1.1.2.1/Sat Jun 12 08:22:57 1999//TINN-2_2_1 + /overview.ctl.5/1.1.2.1/Sat Jun 12 08:22:57 1999//TINN-2_2_1 + /overview.fmt.5/1.1.2.1/Sat Jun 12 08:22:58 1999//TINN-2_2_1 + /parsedate.3/1.1.2.1/Sat Jun 12 08:22:58 1999//TINN-2_2_1 + /passwd.nntp.5/1.1.2.1/Sat Jun 12 08:22:59 1999//TINN-2_2_1 + /pgpverify.8/1.1.2.1/Sat Jun 12 08:22:59 1999//TINN-2_2_1 + /prunehistory.8/1.1.2.1/Sat Jun 12 08:23:00 1999//TINN-2_2_1 + /pullnews.8/1.1.2.1/Sat Jun 12 08:23:01 1999//TINN-2_2_1 + /putman.sh/1.1.1.1/Mon Aug 4 04:03:46 1997//TINN-2_2_1 + /qio.3/1.1.2.1/Sat Jun 12 08:23:01 1999//TINN-2_2_1 + /rnews.1/1.1.2.1/Sat Jun 12 08:23:02 1999//TINN-2_2_1 + /scanlogs.8/1.1.2.1/Sat Jun 12 08:23:02 1999//TINN-2_2_1 + /send-uucp.8/1.1.2.1/Sat Jun 12 08:23:03 1999//TINN-2_2_1 + /shlock.1/1.1.2.1/Sat Jun 12 08:23:04 1999//TINN-2_2_1 + /shrinkfile.1/1.1.2.1/Sat Jun 12 08:23:04 1999//TINN-2_2_1 + /simpleftp.1/1.1.2.1/Sat Jun 12 08:23:05 1999//TINN-2_2_1 + /sm.8/1.1.2.1/Sat Jun 12 08:23:05 1999//TINN-2_2_1 + /startinnfeed.1/1.1.2.1/Sat Jun 12 08:23:06 1999//TINN-2_2_1 + /storage.conf.5/1.1.2.1/Sat Jun 12 08:23:06 1999//TINN-2_2_1 + /storage.ctl.5/1.1.2.1/Sat Jun 12 08:23:07 1999//TINN-2_2_1 + /strcasecmp.3/1.1.2.1/Sat Jun 12 08:23:08 1999//TINN-2_2_1 + /subst.1/1.1.2.1/Sat Jun 12 08:23:08 1999//TINN-2_2_1 + /tally.control.8/1.1.2.1/Sat Jun 12 08:23:09 1999//TINN-2_2_1 + /tally.unwanted.8/1.1.2.1/Sat Jun 12 08:23:09 1999//TINN-2_2_1 + /typical.subst/1.5/Wed Jun 3 00:20:12 1998//TINN-2_2_1 + /wildmat.3/1.1.2.1/Sat Jun 12 08:23:10 1999//TINN-2_2_1 + /writelog.8/1.1.2.1/Sat Jun 12 08:23:10 1999//TINN-2_2_1 + D diff -Nacr inn-2.2/doc/CVS/Repository inn-2.2.1/doc/CVS/Repository *** inn-2.2/doc/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/doc/CVS/Repository Wed Aug 25 09:25:38 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/doc diff -Nacr inn-2.2/doc/CVS/Root inn-2.2.1/doc/CVS/Root *** inn-2.2/doc/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/doc/CVS/Root Wed Aug 25 09:25:38 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/doc/CVS/Tag inn-2.2.1/doc/CVS/Tag *** inn-2.2/doc/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/doc/CVS/Tag Wed Aug 25 09:25:38 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/doc/active.5 inn-2.2.1/doc/active.5 *** inn-2.2/doc/active.5 Wed Aug 19 21:24:33 1998 --- inn-2.2.1/doc/active.5 Sat Jun 12 01:22:15 1999 *************** *** 1,4 **** ! .\" $Revision: 1.8 $ .TH ACTIVE 5 .SH NAME active, active.times \- list of active Usenet newsgroups --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH ACTIVE 5 .SH NAME active, active.times \- list of active Usenet newsgroups *************** *** 110,115 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: active.5,v 1.8 1998/08/20 04:24:33 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), inn.conf(5), innd(8). --- 110,115 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: active.5,v 1.1.2.1 1999/06/12 08:22:15 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), inn.conf(5), innd(8). diff -Nacr inn-2.2/doc/actsync.8 inn-2.2.1/doc/actsync.8 *** inn-2.2/doc/actsync.8 Tue Nov 3 06:34:22 1998 --- inn-2.2.1/doc/actsync.8 Sat Jun 12 01:22:16 1999 *************** *** 6,12 **** .\" Permission to use and modify is hereby granted so long as this .\" notice remains. Use at your own risk. No warranty is implied. .\" ! .\" @(#) $Id: actsync.8,v 1.9.4.2 1998/11/03 14:34:22 tale Exp $ .\" @(#) Under RCS control in /usr/local/news/src/inn/local/RCS/actsync.8,v .\" .TH ACTSYNC 8 --- 6,12 ---- .\" Permission to use and modify is hereby granted so long as this .\" notice remains. Use at your own risk. No warranty is implied. .\" ! .\" @(#) $Id: actsync.8,v 1.1.2.1 1999/06/12 08:22:16 kondou Exp $ .\" @(#) Under RCS control in /usr/local/news/src/inn/local/RCS/actsync.8,v .\" .TH ACTSYNC 8 diff -Nacr inn-2.2/doc/archive.8 inn-2.2.1/doc/archive.8 *** inn-2.2/doc/archive.8 Thu Apr 9 08:16:02 1998 --- inn-2.2.1/doc/archive.8 Sat Jun 12 01:22:17 1999 *************** *** 1,4 **** ! .\" $Revision: 1.6 $ .TH ARCHIVE 8 .SH NAME archive \- Usenet article archiver --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH ARCHIVE 8 .SH NAME archive \- Usenet article archiver *************** *** 131,137 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: archive.8,v 1.6 1998/04/09 15:16:02 mibsoft Exp $ .SH "SEE ALSO" inn.conf(5), newsfeeds(5). --- 131,137 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: archive.8,v 1.1.2.1 1999/06/12 08:22:17 kondou Exp $ .SH "SEE ALSO" inn.conf(5), newsfeeds(5). diff -Nacr inn-2.2/doc/batcher.8 inn-2.2.1/doc/batcher.8 *** inn-2.2/doc/batcher.8 Thu Apr 9 08:16:02 1998 --- inn-2.2.1/doc/batcher.8 Sat Jun 12 01:22:18 1999 *************** *** 1,4 **** ! .\" $Revision: 1.5 $ .TH BATCHER 8 .SH NAME batcher \- article batching backend for InterNetNews --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH BATCHER 8 .SH NAME batcher \- article batching backend for InterNetNews *************** *** 185,191 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: batcher.8,v 1.5 1998/04/09 15:16:02 mibsoft Exp $ .SH "SEE ALSO" inn.conf(5), ctlinnd(8), --- 185,191 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: batcher.8,v 1.1.2.1 1999/06/12 08:22:18 kondou Exp $ .SH "SEE ALSO" inn.conf(5), ctlinnd(8), diff -Nacr inn-2.2/doc/buffchan.8 inn-2.2.1/doc/buffchan.8 *** inn-2.2/doc/buffchan.8 Thu Apr 9 08:16:02 1998 --- inn-2.2.1/doc/buffchan.8 Sat Jun 12 01:22:18 1999 *************** *** 1,4 **** ! .\" $Revision: 1.6 $ .TH BUFFCHAN 8 .SH NAME buffchan \- buffered file-writing backend for InterNetNews --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH BUFFCHAN 8 .SH NAME buffchan \- buffered file-writing backend for InterNetNews *************** *** 194,200 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: buffchan.8,v 1.6 1998/04/09 15:16:02 mibsoft Exp $ .SH "SEE ALSO" ctlinnd(8), filechan(8), --- 194,200 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: buffchan.8,v 1.1.2.1 1999/06/12 08:22:18 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), filechan(8), diff -Nacr inn-2.2/doc/clientlib.3 inn-2.2.1/doc/clientlib.3 *** inn-2.2/doc/clientlib.3 Sun Aug 3 21:03:45 1997 --- inn-2.2.1/doc/clientlib.3 Sat Jun 12 01:22:19 1999 *************** *** 1,4 **** ! .\" $Revision: 1.1.1.1 $ .TH CLIENTLIB 3 .SH NAME clientlib \- NNTP clientlib part of InterNetNews library --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH CLIENTLIB 3 .SH NAME clientlib \- NNTP clientlib part of InterNetNews library *************** *** 100,105 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: clientlib.3,v 1.1.1.1 1997/08/04 04:03:45 gpalmer Exp $ .SH "SEE ALSO" libinn(3). --- 100,105 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: clientlib.3,v 1.1.2.1 1999/06/12 08:22:19 kondou Exp $ .SH "SEE ALSO" libinn(3). diff -Nacr inn-2.2/doc/cnfsstat.8 inn-2.2.1/doc/cnfsstat.8 *** inn-2.2/doc/cnfsstat.8 Thu Oct 1 18:46:20 1998 --- inn-2.2.1/doc/cnfsstat.8 Sat Jun 12 01:22:20 1999 *************** *** 1,4 **** ! .\" $Revision: 1.2 $ .TH CNFSSTAT 8 .SH NAME cnfsstat \- show snapshot of CNFS --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH CNFSSTAT 8 .SH NAME cnfsstat \- show snapshot of CNFS *************** *** 80,86 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: cnfsstat.8,v 1.2 1998/10/02 01:46:20 kondou Exp $ .SH "SEE ALSO" cycbuff.conf(5), inn.conf(5), --- 80,86 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: cnfsstat.8,v 1.1.2.1 1999/06/12 08:22:20 kondou Exp $ .SH "SEE ALSO" cycbuff.conf(5), inn.conf(5), diff -Nacr inn-2.2/doc/control.ctl.5 inn-2.2.1/doc/control.ctl.5 *** inn-2.2/doc/control.ctl.5 Wed Dec 9 07:40:29 1998 --- inn-2.2.1/doc/control.ctl.5 Sat Jun 12 01:22:20 1999 *************** *** 1,4 **** ! .\" $Revision: 1.9.2.1 $ .TH CONTROL.CTL 5 .SH NAME control.ctl \- specify handling of Usenet control messages --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH CONTROL.CTL 5 .SH NAME control.ctl \- specify handling of Usenet control messages *************** *** 35,41 **** .RE .PP The first field is the name of the message for which this line is valid. ! It should be either the name of the control message, or the word ``all'' to mean that it is valid for all messages. .PP The second field is a shell-style pattern that matches the email address --- 35,41 ---- .RE .PP The first field is the name of the message for which this line is valid. ! It should be either the name of the control message or the word ``all'' to mean that it is valid for all messages. .PP The second field is a shell-style pattern that matches the email address *************** *** 43,49 **** (The poster's address is first converted to lowercase.) The matching is done using the shell's .I case ! statement; see .IR sh (1) for details. .PP --- 43,49 ---- (The poster's address is first converted to lowercase.) The matching is done using the shell's .I case ! statement (or the equivalent); see .IR sh (1) for details. .PP *************** *** 56,69 **** If the control message is of a different type, then this field is ignored. .PP ! The fourth field specifies what action to take if this line is selected ! for the message. The following actions are understood: .TP .B doit The action requested by the control message should be performed. ! In most cases the control script will also send mail to ! .IR . .TP .B doifarg If the control message has an argument, this is treated as a ``doit'' action. --- 56,72 ---- If the control message is of a different type, then this field is ignored. .PP ! The fourth field specifies what action to take on control messages ! that match this line. The following actions are understood: .TP .B doit The action requested by the control message should be performed. ! In some cases, the control script will also send mail to ! .IR , ! but if notification of the action should always be sent, ! .B doit=mail ! should be used instead (see below). .TP .B doifarg If the control message has an argument, this is treated as a ``doit'' action. *************** *** 76,81 **** --- 79,88 ---- .I newsfeeds file be sent to a forged reply-to address; by using ``doifarg'' such messages will not be processed automatically. + (Processing ``sendsys'' control messages is still not recommended, + even with this work-around, unless they are authenticated in some + fashion. The risk of having news servers turned into anonymous mail + bombing services is too high.) .TP .BI doit= file The action is performed, but a log entry is written to the specified *************** *** 84,93 **** If .I file is the word ``mail'' then the record is mailed. ! A null string is equivalent to /dev/null. A pathname that starts with a slash is taken as the absolute filename to use as the log. ! All other pathnames are written to .IR /file.log . The log is written by .I writelog --- 91,101 ---- If .I file is the word ``mail'' then the record is mailed. ! A null string is equivalent to /dev/null (in other words, with a null ! string, nothing is logged). A pathname that starts with a slash is taken as the absolute filename to use as the log. ! Otherwise, the log entry is written to .IR /file.log . The log is written by .I writelog *************** *** 98,115 **** No action is taken; the message is ignored. .TP .B verify-* ! If the value starts with the string ``verify-'', for example, ! \&``verify-news.announce.newgroups'', then PGP verification of the control message will be done using the key issued by the ``user'' defined by the rest of the string -- ``news.announce.newsgroups'' in this example. .TP .BI verify-*= file PGP verification is done as for the ``verify-*'' entries, and a log entry is written to the specified file. .TP .B log A one-line log notice is sent to standard error. ! .I Innd normally directs this to the file .IR /errlog . .TP --- 106,130 ---- No action is taken; the message is ignored. .TP .B verify-* ! If the value starts with the string ``verify-'' (for example, ! \&``verify-news.announce.newgroups'') then PGP verification of the control message will be done using the key issued by the ``user'' defined by the rest of the string -- ``news.announce.newsgroups'' in this example. + If no logging is specified (with + .BI = file + mentioned below), notification of successful ``newgroup'' and ``rmgroup'' + messages and the output of ``checkgroups'' messages will be mailed to the + news administrator. .TP .BI verify-*= file PGP verification is done as for the ``verify-*'' entries, and a log entry is written to the specified file. + (In the case of ``checkgroups'' messages, this means the shell script + output of the ``checkgroups'' message will be written to that file.) .TP .B log A one-line log notice is sent to standard error. ! .IR innd (8) normally directs this to the file .IR /errlog . .TP *************** *** 121,150 **** .B mail A mail message is sent to the news administrator. .PP Lines are matched in order; the last match found in the file is the one that is used. For example, with the following three lines: .RS .nf newgroup:*:*:drop newgroup:group-admin@isc.org:comp.*|humanities.*|misc.*|news.*|\e rec.*|sci.*|soc.*|talk.*:verify-news.announce.newgroups newgroup:kre@munnari.oz.au:aus.*:mail .fi .RE A newgroup coming from ``group-admin'' at a ISC machine will be honored if ! it is in the mainstream Usenet hierarchy. If ``kre'' posts a newgroup message creating ``aus.foo'', then mail will be sent. All other newgroup messages are ignored. .SH HISTORY Written by Rich $alz for InterNetNews. .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: control.ctl.5,v 1.9.2.1 1998/12/09 15:40:29 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innd(8), newsfeeds(5), scanlogs(8). --- 136,212 ---- .B mail A mail message is sent to the news administrator. .PP + Processing of a ``checkgroups'' message will never actually change + the active file. + The difference between an action of + .B doit + (or + .BR verify ) + and an action of + .B mail + for ``checkgroups'' control messages lies only in what mail is sent; + .B doit + will mail the news administrator a shell script to create, delete, or + modify newsgroups to match the ``checkgroups'' message, whereas + .B mail + will just mail the entire message. + In either case, the news administrator will have to take action to + implement the ``checkgroups'' and if the mail is ignored, nothing + will be changed. + .PP Lines are matched in order; the last match found in the file is the one that is used. For example, with the following three lines: .RS .nf + newgroup:*:*:drop newgroup:group-admin@isc.org:comp.*|humanities.*|misc.*|news.*|\e rec.*|sci.*|soc.*|talk.*:verify-news.announce.newgroups newgroup:kre@munnari.oz.au:aus.*:mail + .fi .RE A newgroup coming from ``group-admin'' at a ISC machine will be honored if ! it is one of the listed hierarchies and if it has a valid ! signature with the ``news.announce.newgroups'' key. If ``kre'' posts a newgroup message creating ``aus.foo'', then mail will be sent. All other newgroup messages are ignored. + .PP + Use of the + .B verify + action for processing ``newgroup'', ``rmgroup'', and ``checkgroups'' + messages is + .B strongly + recommended. + Abuse of control messages is rampant, and authentication + via PGP signatures is currently the only reliable way to be sure that + a control message comes from who it claims to be from. + Most major hierarchies are now using PGP-authenticated control + messages. + .PP + In order to use + .B verify + actions, the PGP key ring of the news user must be populated with the + PGP keys of the hierarchy maintainers whose control messages you want + to honor. For more details on PGP-authenticated control messages and + the URL for downloading the PGP keys of major hierarchies, see + .IR pgpverify (8). + .PP + Control messages of type ``cancel'' are handled internally by + .BR innd (8) + and cannot be controlled by any of the mechanisms described here. .SH HISTORY Written by Rich $alz for InterNetNews. .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: control.ctl.5,v 1.1.2.1 1999/06/12 08:22:20 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innd(8), newsfeeds(5), + controlchan(8), + pgpverify(8), scanlogs(8). diff -Nacr inn-2.2/doc/controlchan.8 inn-2.2.1/doc/controlchan.8 *** inn-2.2/doc/controlchan.8 Sun Sep 27 17:28:37 1998 --- inn-2.2.1/doc/controlchan.8 Sat Jun 12 01:22:21 1999 *************** *** 1,4 **** ! .\" $Revision: 1.1 $ .TH CONTROLCHAN 8 .SH NAME controlchan \- channel\-fed control message handler --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH CONTROLCHAN 8 .SH NAME controlchan \- channel\-fed control message handler *************** *** 43,49 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: controlchan.8,v 1.1 1998/09/28 00:28:37 kondou Exp $ .SH "SEE ALSO" control.ctl(5), inn.conf(5). --- 43,49 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: controlchan.8,v 1.1.2.1 1999/06/12 08:22:21 kondou Exp $ .SH "SEE ALSO" control.ctl(5), inn.conf(5). diff -Nacr inn-2.2/doc/convdate.1 inn-2.2.1/doc/convdate.1 *** inn-2.2/doc/convdate.1 Tue May 19 18:37:34 1998 --- inn-2.2.1/doc/convdate.1 Sat Jun 12 01:22:22 1999 *************** *** 1,4 **** ! .\" $Revision: 1.2 $ .TH CONVDATE 1 .SH NAME convdate \- convert time/date strings and numbers --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH CONVDATE 1 .SH NAME convdate \- convert time/date strings and numbers *************** *** 66,71 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: convdate.1,v 1.2 1998/05/20 01:37:34 kondou Exp $ .SH "SEE ALSO" parsedate(3). --- 66,71 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: convdate.1,v 1.1.2.1 1999/06/12 08:22:22 kondou Exp $ .SH "SEE ALSO" parsedate(3). diff -Nacr inn-2.2/doc/crosspost.8 inn-2.2.1/doc/crosspost.8 *** inn-2.2/doc/crosspost.8 Sat May 9 06:22:51 1998 --- inn-2.2.1/doc/crosspost.8 Sat Jun 12 01:22:22 1999 *************** *** 1,4 **** ! .\" $Revision: 1.7 $ .TH CROSSPOST 8 .SH NAME crosspost \- create the links for cross posted articles --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH CROSSPOST 8 .SH NAME crosspost \- create the links for cross posted articles diff -Nacr inn-2.2/doc/ctlinnd.8 inn-2.2.1/doc/ctlinnd.8 *** inn-2.2/doc/ctlinnd.8 Mon Sep 7 07:36:21 1998 --- inn-2.2.1/doc/ctlinnd.8 Sat Jun 12 01:22:23 1999 *************** *** 1,4 **** ! .\" $Revision: 1.12 $ .TH CTLINND 8 .SH NAME ctlinnd \- control the InterNetNews daemon --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH CTLINND 8 .SH NAME ctlinnd \- control the InterNetNews daemon *************** *** 580,586 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: ctlinnd.8,v 1.12 1998/09/07 14:36:21 kondou Exp $ .SH "SEE ALSO" active(5), expire(8), --- 580,586 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: ctlinnd.8,v 1.1.2.1 1999/06/12 08:22:23 kondou Exp $ .SH "SEE ALSO" active(5), expire(8), diff -Nacr inn-2.2/doc/cvtbatch.8 inn-2.2.1/doc/cvtbatch.8 *** inn-2.2/doc/cvtbatch.8 Thu Apr 9 08:16:04 1998 --- inn-2.2.1/doc/cvtbatch.8 Sat Jun 12 01:22:23 1999 *************** *** 1,4 **** ! .\" $Revision: 1.5 $ .TH CVTBATCH 8 .SH NAME cvtbatch \- convert Usenet batch file to INN format --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH CVTBATCH 8 .SH NAME cvtbatch \- convert Usenet batch file to INN format *************** *** 47,53 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: cvtbatch.8,v 1.5 1998/04/09 15:16:04 mibsoft Exp $ .SH "SEE ALSO" grephistory(1), inn.conf(5), --- 47,53 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: cvtbatch.8,v 1.1.2.1 1999/06/12 08:22:23 kondou Exp $ .SH "SEE ALSO" grephistory(1), inn.conf(5), diff -Nacr inn-2.2/doc/cycbuff.conf.5 inn-2.2.1/doc/cycbuff.conf.5 *** inn-2.2/doc/cycbuff.conf.5 Tue Jan 5 07:21:10 1999 --- inn-2.2.1/doc/cycbuff.conf.5 Fri Jun 25 17:33:19 1999 *************** *** 1,4 **** ! .\" $Revision: 1.8.2.2 $ .TH CYCBUFF.CONF 5 .SH NAME cycbuff.conf \- configuration file for CNFS method --- 1,4 ---- ! .\" $Revision: 1.1.2.2 $ .TH CYCBUFF.CONF 5 .SH NAME cycbuff.conf \- configuration file for CNFS method *************** *** 11,17 **** .PP The file consists of a series of lines; blank lines and lines beginning with a number sign (``#'') are ignored. ! There are three kinds of configuration line; ``cycbuffupdate'', ``refreshinterval'', ``cycbuff'' and ``metacycbuff.'' The order of lines in this file is not important among the same kind of configuration line. But all ``cycbuff'' lines should be presented before --- 11,17 ---- .PP The file consists of a series of lines; blank lines and lines beginning with a number sign (``#'') are ignored. ! There are four kinds of configuration lines: ``cycbuffupdate'', ``refreshinterval'', ``cycbuff'' and ``metacycbuff.'' The order of lines in this file is not important among the same kind of configuration line. But all ``cycbuff'' lines should be presented before *************** *** 37,45 **** .RE .PP \&``Inerval'' is what interval (seconds) between rereading cycbuff header if ! cycbuff is preopend. (This is the case .IR nnrpd (8) ! runs as daemon.) This line can be omitted and the default value is ``30.'' .PP \&``Cycbuff'' line is formatted as: --- 37,45 ---- .RE .PP \&``Inerval'' is what interval (seconds) between rereading cycbuff header if ! cycbuff is preopend. (This is in the case .IR nnrpd (8) ! runs as a daemon.) This line can be omitted and the default value is ``30.'' .PP \&``Cycbuff'' line is formatted as: *************** *** 135,141 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: cycbuff.conf.5,v 1.8.2.2 1999/01/05 15:21:10 kondou Exp $ .SH "SEE ALSO" inn.conf(5), storage.conf(5). --- 135,141 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: cycbuff.conf.5,v 1.1.2.2 1999/06/26 00:33:19 kondou Exp $ .SH "SEE ALSO" inn.conf(5), storage.conf(5). diff -Nacr inn-2.2/doc/distrib.pats.5 inn-2.2.1/doc/distrib.pats.5 *** inn-2.2/doc/distrib.pats.5 Tue May 19 18:37:35 1998 --- inn-2.2.1/doc/distrib.pats.5 Sat Jun 12 01:22:26 1999 *************** *** 1,4 **** ! .\" $Revision: 1.6 $ .TH DISTRIB.PATS 5 .SH NAME distrib.pats \- default values for Usenet Distribution header --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH DISTRIB.PATS 5 .SH NAME distrib.pats \- default values for Usenet Distribution header *************** *** 45,50 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: distrib.pats.5,v 1.6 1998/05/20 01:37:35 kondou Exp $ .SH "SEE ALSO" inews(1), inn.conf(5), libinn(3). --- 45,50 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: distrib.pats.5,v 1.1.2.1 1999/06/12 08:22:26 kondou Exp $ .SH "SEE ALSO" inews(1), inn.conf(5), libinn(3). diff -Nacr inn-2.2/doc/expire.8 inn-2.2.1/doc/expire.8 *** inn-2.2/doc/expire.8 Tue Sep 22 23:21:09 1998 --- inn-2.2.1/doc/expire.8 Sat Jun 12 01:22:26 1999 *************** *** 1,4 **** ! .\" $Revision: 1.16 $ .TH EXPIRE 8 .SH NAME expire \- Usenet article and history expiration program --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH EXPIRE 8 .SH NAME expire \- Usenet article and history expiration program *************** *** 324,330 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: expire.8,v 1.16 1998/09/23 06:21:09 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), dbz(3), --- 324,330 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: expire.8,v 1.1.2.1 1999/06/12 08:22:26 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), dbz(3), diff -Nacr inn-2.2/doc/expire.ctl.5 inn-2.2.1/doc/expire.ctl.5 *** inn-2.2/doc/expire.ctl.5 Sun Jan 3 23:41:42 1999 --- inn-2.2.1/doc/expire.ctl.5 Sat Jun 12 01:22:27 1999 *************** *** 1,4 **** ! .\" $Revision: 1.10.2.1 $ .TH EXPIRE.CTL 5 .SH NAME expire.ctl \- control file for Usenet article expiration --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH EXPIRE.CTL 5 .SH NAME expire.ctl \- control file for Usenet article expiration *************** *** 205,211 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: expire.ctl.5,v 1.10.2.1 1999/01/04 07:41:42 kondou Exp $ .SH "SEE ALSO" expire(8), inn.conf(5), --- 205,211 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: expire.ctl.5,v 1.1.2.1 1999/06/12 08:22:27 kondou Exp $ .SH "SEE ALSO" expire(8), inn.conf(5), diff -Nacr inn-2.2/doc/expireindex.8 inn-2.2.1/doc/expireindex.8 *** inn-2.2/doc/expireindex.8 Tue May 19 18:37:35 1998 --- inn-2.2.1/doc/expireindex.8 Sat Jun 12 01:22:28 1999 *************** *** 1,4 **** ! .\" $Revision: 1.9 $ .TH EXPIREINDEX 8 .SH NAME expireindex \- Expire entries from the news overview index --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH EXPIREINDEX 8 .SH NAME expireindex \- Expire entries from the news overview index *************** *** 146,152 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: expireindex.8,v 1.9 1998/05/20 01:37:35 kondou Exp $ .SH "SEE ALSO" expire(8), expireover(8), --- 146,152 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: expireindex.8,v 1.1.2.1 1999/06/12 08:22:28 kondou Exp $ .SH "SEE ALSO" expire(8), expireover(8), diff -Nacr inn-2.2/doc/expireover.8 inn-2.2.1/doc/expireover.8 *** inn-2.2/doc/expireover.8 Tue May 19 18:37:36 1998 --- inn-2.2.1/doc/expireover.8 Sat Jun 12 01:22:28 1999 *************** *** 1,4 **** ! .\" $Revision: 1.7 $ .TH EXPIREOVER 8 .SH NAME expireover \- Expire entries from the news overview database --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH EXPIREOVER 8 .SH NAME expireover \- Expire entries from the news overview database *************** *** 119,125 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: expireover.8,v 1.7 1998/05/20 01:37:36 kondou Exp $ .SH "SEE ALSO" expire(8), expireindex(8), --- 119,125 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: expireover.8,v 1.1.2.1 1999/06/12 08:22:28 kondou Exp $ .SH "SEE ALSO" expire(8), expireindex(8), diff -Nacr inn-2.2/doc/fastrm.8 inn-2.2.1/doc/fastrm.8 *** inn-2.2/doc/fastrm.8 Wed Jan 28 19:14:31 1998 --- inn-2.2.1/doc/fastrm.8 Sat Jun 12 01:22:29 1999 *************** *** 159,162 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: fastrm.8,v 1.2 1998/01/29 03:14:31 scrappy Exp $ --- 159,162 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: fastrm.8,v 1.1.2.1 1999/06/12 08:22:29 kondou Exp $ diff -Nacr inn-2.2/doc/filechan.8 inn-2.2.1/doc/filechan.8 *** inn-2.2/doc/filechan.8 Thu Apr 9 08:16:06 1998 --- inn-2.2.1/doc/filechan.8 Sat Jun 12 01:22:30 1999 *************** *** 1,4 **** ! .\" $Revision: 1.6 $ .TH FILECHAN 8 .SH NAME filechan \- file-writing backend for InterNetNews --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH FILECHAN 8 .SH NAME filechan \- file-writing backend for InterNetNews *************** *** 136,142 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: filechan.8,v 1.6 1998/04/09 15:16:06 mibsoft Exp $ .SH "SEE ALSO" buffchan(8), inn.conf(5), --- 136,142 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: filechan.8,v 1.1.2.1 1999/06/12 08:22:30 kondou Exp $ .SH "SEE ALSO" buffchan(8), inn.conf(5), diff -Nacr inn-2.2/doc/getlist.1 inn-2.2.1/doc/getlist.1 *** inn-2.2/doc/getlist.1 Thu Apr 9 08:16:06 1998 --- inn-2.2.1/doc/getlist.1 Sat Jun 12 01:22:31 1999 *************** *** 1,4 **** ! .\" $Revision: 1.5 $ .TH GETLIST 1 .SH NAME getlist \- get a list from an NNTP server --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH GETLIST 1 .SH NAME getlist \- get a list from an NNTP server diff -Nacr inn-2.2/doc/grephistory.1 inn-2.2.1/doc/grephistory.1 *** inn-2.2/doc/grephistory.1 Sat Jun 20 09:29:05 1998 --- inn-2.2.1/doc/grephistory.1 Sat Jun 12 01:22:31 1999 *************** *** 1,4 **** ! .\" $Revision: 1.5 $ .TH GREPHISTORY 1 .SH NAME grephistory \- display file names from Usenet history file --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH GREPHISTORY 1 .SH NAME grephistory \- display file names from Usenet history file *************** *** 130,136 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: grephistory.1,v 1.5 1998/06/20 16:29:05 kondou Exp $ .SH "SEE ALSO" dbz(3), history(5), --- 130,136 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: grephistory.1,v 1.1.2.1 1999/06/12 08:22:31 kondou Exp $ .SH "SEE ALSO" dbz(3), history(5), diff -Nacr inn-2.2/doc/history.5 inn-2.2.1/doc/history.5 *** inn-2.2/doc/history.5 Thu Jun 25 17:43:18 1998 --- inn-2.2.1/doc/history.5 Sat Jun 12 01:22:32 1999 *************** *** 1,4 **** ! .\" $Revision: 1.10 $ .TH HISTORY 5 .SH NAME history \- record of current and recently expired Usenet articles --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH HISTORY 5 .SH NAME history \- record of current and recently expired Usenet articles *************** *** 102,108 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: history.5,v 1.10 1998/06/26 00:43:18 kondou Exp $ .SH "SEE ALSO" dbz(3), expire(8), --- 102,108 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: history.5,v 1.1.2.1 1999/06/12 08:22:32 kondou Exp $ .SH "SEE ALSO" dbz(3), expire(8), diff -Nacr inn-2.2/doc/incoming.conf.5 inn-2.2.1/doc/incoming.conf.5 *** inn-2.2/doc/incoming.conf.5 Sun Jan 3 23:41:42 1999 --- inn-2.2.1/doc/incoming.conf.5 Sat Jun 12 01:22:32 1999 *************** *** 1,4 **** ! .\" $Revision: 1.8.2.1 $ .TH INCOMING.CONF 5 .SH NAME incoming.conf \- names and addresses that feed us news --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH INCOMING.CONF 5 .SH NAME incoming.conf \- names and addresses that feed us news *************** *** 158,164 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: incoming.conf.5,v 1.8.2.1 1999/01/04 07:41:42 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innd(8), --- 158,164 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: incoming.conf.5,v 1.1.2.1 1999/06/12 08:22:32 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innd(8), diff -Nacr inn-2.2/doc/inews.1 inn-2.2.1/doc/inews.1 *** inn-2.2/doc/inews.1 Tue May 19 18:37:36 1998 --- inn-2.2.1/doc/inews.1 Sat Jun 12 01:22:33 1999 *************** *** 1,4 **** ! .\" $Revision: 1.5 $ .TH INEWS 1 .SH NAME inews \- send a Usenet article to the local news server for distribution --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH INEWS 1 .SH NAME inews \- send a Usenet article to the local news server for distribution *************** *** 168,174 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: inews.1,v 1.5 1998/05/20 01:37:36 kondou Exp $ .SH "SEE ALSO" moderators(5), inn.conf(5). --- 168,174 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: inews.1,v 1.1.2.1 1999/06/12 08:22:33 kondou Exp $ .SH "SEE ALSO" moderators(5), inn.conf(5). diff -Nacr inn-2.2/doc/inn.conf.5 inn-2.2.1/doc/inn.conf.5 *** inn-2.2/doc/inn.conf.5 Wed Jan 6 02:28:38 1999 --- inn-2.2.1/doc/inn.conf.5 Sat Jun 12 01:22:34 1999 *************** *** 1,4 **** ! .\" $Revision: 1.61.2.6 $ .TH INN.CONF 5 .SH NAME inn.conf \- configuration data for InterNetNews programs --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH INN.CONF 5 .SH NAME inn.conf \- configuration data for InterNetNews programs *************** *** 64,80 **** The default is the fully-qualified domain name of the local host. .TP .I server ! This specifies the name of the NNTP server, and if the server does not use UNIX ! domain socket, articles passed by ! .IR nnrpd (8) ! are get through INET domain socket to this server. .IR actsync (8), .IR nntpget (8) and .IR getlist (8) ! also use the server to get where to connect. ! The value of the NNTPSERVER environment variable, if it exists, overrides this. ! The default value is unset. .TP .I domain This should be the domain name of the local host. --- 64,83 ---- The default is the fully-qualified domain name of the local host. .TP .I server ! This specifies the name of the default NNTP server. ! If ! .IR nnrpdposthost ! is not specified and UNIX domain sockets are not supported, ! .IR nnrpd(8) ! tries to hand off locally-posted articles through an INET domain socket to ! this server. .IR actsync (8), .IR nntpget (8) and .IR getlist (8) ! also use this value as the default server to connect to. ! In the latter cases, the value of the NNTPSERVER environment variable, if it ! exists, overrides this. The default value is unset. .TP .I domain This should be the domain name of the local host. *************** *** 604,611 **** .TP .I readerswhenstopped If this is ``false'', ! readers are allowed to connect even when the server is paused or throttled. ! This is boolean value and the default is ``true''. .TP .I allownewnews Allow use of the ``NEWNEWS'' command by clients. Allowing this can be --- 607,615 ---- .TP .I readerswhenstopped If this is ``false'', ! readers are still allowed to connect even when the server is paused or ! throttled. ! This is boolean value and the default is ``false''. .TP .I allownewnews Allow use of the ``NEWNEWS'' command by clients. Allowing this can be *************** *** 876,882 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: inn.conf.5,v 1.61.2.6 1999/01/06 10:28:38 kondou Exp $ .SH "SEE ALSO" history(5), libinn(3), moderators(5), makehistory(8), news.daily(8), newsrequeue(8), nnrpd(8), rnews(8), scanlogs(8). --- 880,886 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: inn.conf.5,v 1.1.2.1 1999/06/12 08:22:34 kondou Exp $ .SH "SEE ALSO" history(5), libinn(3), moderators(5), makehistory(8), news.daily(8), newsrequeue(8), nnrpd(8), rnews(8), scanlogs(8). diff -Nacr inn-2.2/doc/inncheck.8 inn-2.2.1/doc/inncheck.8 *** inn-2.2/doc/inncheck.8 Thu Aug 6 16:05:11 1998 --- inn-2.2.1/doc/inncheck.8 Sat Jun 12 01:22:34 1999 *************** *** 153,159 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: inncheck.8,v 1.4 1998/08/06 23:05:11 kondou Exp $ .SH "SEE ALSO" active(5), expire.ctl(5), --- 153,159 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: inncheck.8,v 1.1.2.1 1999/06/12 08:22:34 kondou Exp $ .SH "SEE ALSO" active(5), expire.ctl(5), diff -Nacr inn-2.2/doc/innconfval.1 inn-2.2.1/doc/innconfval.1 *** inn-2.2/doc/innconfval.1 Fri Aug 21 03:26:26 1998 --- inn-2.2.1/doc/innconfval.1 Sat Jun 12 01:22:35 1999 *************** *** 1,4 **** ! .\" $Revision: 1.3 $ .TH INNCONFVAL 1 .SH NAME innconfval \- get an InterNetNews configuration parameter --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH INNCONFVAL 1 .SH NAME innconfval \- get an InterNetNews configuration parameter *************** *** 78,84 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innconfval.1,v 1.3 1998/08/21 10:26:26 kondou Exp $ .SH "SEE ALSO" libinn(3), inn.conf(5). --- 78,84 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innconfval.1,v 1.1.2.1 1999/06/12 08:22:35 kondou Exp $ .SH "SEE ALSO" libinn(3), inn.conf(5). diff -Nacr inn-2.2/doc/innd.8 inn-2.2.1/doc/innd.8 *** inn-2.2/doc/innd.8 Wed Dec 9 07:40:30 1998 --- inn-2.2.1/doc/innd.8 Sat Jun 12 01:22:36 1999 *************** *** 1,4 **** ! .\" $Revision: 1.21.2.1 $ .TH INND 8 .SH NAME innd, inndstart \- InterNetNews daemon --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH INND 8 .SH NAME innd, inndstart \- InterNetNews daemon *************** *** 564,570 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innd.8,v 1.21.2.1 1998/12/09 15:40:30 kondou Exp $ .SH "SEE ALSO" active(5), ctlinnd(8), --- 564,570 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innd.8,v 1.1.2.1 1999/06/12 08:22:36 kondou Exp $ .SH "SEE ALSO" active(5), ctlinnd(8), diff -Nacr inn-2.2/doc/inndcomm.3 inn-2.2.1/doc/inndcomm.3 *** inn-2.2/doc/inndcomm.3 Wed Dec 9 07:40:30 1998 --- inn-2.2.1/doc/inndcomm.3 Sat Jun 12 01:22:36 1999 *************** *** 1,4 **** ! .\" $Revision: 1.3.4.1 $ .TH INNDCOMM 3 .SH NAME inndcomm \- INND communication part of InterNetNews library --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH INNDCOMM 3 .SH NAME inndcomm \- INND communication part of InterNetNews library *************** *** 135,141 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: inndcomm.3,v 1.3.4.1 1998/12/09 15:40:30 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), innd(8), --- 135,141 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: inndcomm.3,v 1.1.2.1 1999/06/12 08:22:36 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), innd(8), diff -Nacr inn-2.2/doc/inndf.8 inn-2.2.1/doc/inndf.8 *** inn-2.2/doc/inndf.8 Wed Sep 16 23:12:28 1998 --- inn-2.2.1/doc/inndf.8 Sat Jun 12 01:22:37 1999 *************** *** 1,4 **** ! .\" $Id: inndf.8,v 1.1 1998/09/17 06:12:28 kondou Exp $ .TH INNDF 8 .SH NAME inndf \- Replacement for 'df | awk' in innwatch.ctl --- 1,4 ---- ! .\" $Id: inndf.8,v 1.1.2.1 1999/06/12 08:22:37 kondou Exp $ .TH INNDF 8 .SH NAME inndf \- Replacement for 'df | awk' in innwatch.ctl diff -Nacr inn-2.2/doc/innfeed.1 inn-2.2.1/doc/innfeed.1 *** inn-2.2/doc/innfeed.1 Fri Jun 19 04:58:06 1998 --- inn-2.2.1/doc/innfeed.1 Sat Jun 12 01:22:37 1999 *************** *** 4,10 **** .\" Start Date: Sat, 20 Jan 1996 15:50:56 +1100 .\" Project: INN -- innfeed .\" File: innfeed.1 ! .\" RCSId: $Id: innfeed.1,v 1.6 1998/06/19 11:58:06 scrappy Exp $ .\" Description: Man page for innfeed(1) .\" .TH INNFEED 1 --- 4,10 ---- .\" Start Date: Sat, 20 Jan 1996 15:50:56 +1100 .\" Project: INN -- innfeed .\" File: innfeed.1 ! .\" RCSId: $Id: innfeed.1,v 1.1.2.1 1999/06/12 08:22:37 kondou Exp $ .\" Description: Man page for innfeed(1) .\" .TH INNFEED 1 *************** *** 485,490 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innfeed.1,v 1.6 1998/06/19 11:58:06 scrappy Exp $ .SH SEE ALSO .IR innfeed.conf(5) --- 485,490 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innfeed.1,v 1.1.2.1 1999/06/12 08:22:37 kondou Exp $ .SH SEE ALSO .IR innfeed.conf(5) diff -Nacr inn-2.2/doc/innfeed.conf.5 inn-2.2.1/doc/innfeed.conf.5 *** inn-2.2/doc/innfeed.conf.5 Sun Aug 2 16:54:50 1998 --- inn-2.2.1/doc/innfeed.conf.5 Sat Jun 12 01:22:38 1999 *************** *** 4,10 **** .\" Start Date: Sun, 21 Jan 1996 00:47:37 +1100 .\" Project: INN -- innfeed .\" File: innfeed.conf.5 ! .\" RCSId: $Id: innfeed.conf.5,v 1.5 1998/08/02 23:54:50 kondou Exp $ .\" Description: Man page for innfeed.conf(5) .\" .TH innfeed.conf 5 --- 4,10 ---- .\" Start Date: Sun, 21 Jan 1996 00:47:37 +1100 .\" Project: INN -- innfeed .\" File: innfeed.conf.5 ! .\" RCSId: $Id: innfeed.conf.5,v 1.1.2.1 1999/06/12 08:22:38 kondou Exp $ .\" Description: Man page for innfeed.conf(5) .\" .TH innfeed.conf 5 *************** *** 639,644 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innfeed.conf.5,v 1.5 1998/08/02 23:54:50 kondou Exp $ .SH SEE ALSO innfeed(1), newsfeeds(5) --- 639,644 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innfeed.conf.5,v 1.1.2.1 1999/06/12 08:22:38 kondou Exp $ .SH SEE ALSO innfeed(1), newsfeeds(5) diff -Nacr inn-2.2/doc/innlog.pl.8 inn-2.2.1/doc/innlog.pl.8 *** inn-2.2/doc/innlog.pl.8 Sun Aug 3 21:03:46 1997 --- inn-2.2.1/doc/innlog.pl.8 Sat Jun 12 01:22:39 1999 *************** *** 20,26 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innlog.pl.8,v 1.1.1.1 1997/08/04 04:03:46 gpalmer Exp $ .SH "SEE ALSO" innd(8) news.daily(8), --- 20,26 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innlog.pl.8,v 1.1.2.1 1999/06/12 08:22:39 kondou Exp $ .SH "SEE ALSO" innd(8) news.daily(8), diff -Nacr inn-2.2/doc/innreport.8 inn-2.2.1/doc/innreport.8 *** inn-2.2/doc/innreport.8 Mon Mar 23 06:18:09 1998 --- inn-2.2.1/doc/innreport.8 Sat Jun 12 01:22:39 1999 *************** *** 27,33 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innreport.8,v 1.1 1998/03/23 14:18:09 mibsoft Exp $ .SH "SEE ALSO" innd(8), --- 27,33 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innreport.8,v 1.1.2.1 1999/06/12 08:22:39 kondou Exp $ .SH "SEE ALSO" innd(8), diff -Nacr inn-2.2/doc/innstat.8 inn-2.2.1/doc/innstat.8 *** inn-2.2/doc/innstat.8 Thu Apr 9 08:16:08 1998 --- inn-2.2.1/doc/innstat.8 Sat Jun 12 01:22:40 1999 *************** *** 15,21 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innstat.8,v 1.3 1998/04/09 15:16:08 mibsoft Exp $ .SH "SEE ALSO" innd(8), news.daily(8), --- 15,21 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innstat.8,v 1.1.2.1 1999/06/12 08:22:40 kondou Exp $ .SH "SEE ALSO" innd(8), news.daily(8), diff -Nacr inn-2.2/doc/innwatch.8 inn-2.2.1/doc/innwatch.8 *** inn-2.2/doc/innwatch.8 Wed Sep 16 23:12:28 1998 --- inn-2.2.1/doc/innwatch.8 Sat Jun 12 01:22:41 1999 *************** *** 49,55 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innwatch.8,v 1.6 1998/09/17 06:12:28 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), inn.conf(5), --- 49,55 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innwatch.8,v 1.1.2.1 1999/06/12 08:22:41 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), inn.conf(5), diff -Nacr inn-2.2/doc/innwatch.ctl.5 inn-2.2.1/doc/innwatch.ctl.5 *** inn-2.2/doc/innwatch.ctl.5 Wed Sep 16 23:12:28 1998 --- inn-2.2.1/doc/innwatch.ctl.5 Sat Jun 12 01:22:41 1999 *************** *** 1,4 **** ! .\" $Revision: 1.7 $ .TH INNWATCH.CTL 5 .SH NAME innwatch.ctl \- control Usenet supervision by innwatch --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH INNWATCH.CTL 5 .SH NAME innwatch.ctl \- control Usenet supervision by innwatch *************** *** 206,212 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innwatch.ctl.5,v 1.7 1998/09/17 06:12:28 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innd(8), --- 206,212 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innwatch.ctl.5,v 1.1.2.1 1999/06/12 08:22:41 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innd(8), diff -Nacr inn-2.2/doc/innxmit.8 inn-2.2.1/doc/innxmit.8 *** inn-2.2/doc/innxmit.8 Thu Apr 9 08:16:09 1998 --- inn-2.2.1/doc/innxmit.8 Sat Jun 12 01:22:42 1999 *************** *** 1,4 **** ! .\" $Revision: 1.7 $ .TH INNXMIT 8 .SH NAME innxmit \- send Usenet articles to a remote NNTP server --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH INNXMIT 8 .SH NAME innxmit \- send Usenet articles to a remote NNTP server *************** *** 204,210 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innxmit.8,v 1.7 1998/04/09 15:16:09 mibsoft Exp $ .SH "SEE ALSO" ctlinnd(8), inn.conf(5), --- 204,210 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: innxmit.8,v 1.1.2.1 1999/06/12 08:22:42 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), inn.conf(5), diff -Nacr inn-2.2/doc/installit.1 inn-2.2.1/doc/installit.1 *** inn-2.2/doc/installit.1 Tue Jan 27 20:07:54 1998 --- inn-2.2.1/doc/installit.1 Sat Jun 12 01:22:43 1999 *************** *** 1,4 **** ! .\" $Revision: 1.2 $ .TH INSTALLIT 1 .SH NAME installit \- file/directory installation tool --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH INSTALLIT 1 .SH NAME installit \- file/directory installation tool *************** *** 112,115 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: installit.1,v 1.2 1998/01/28 04:07:54 scrappy Exp $ --- 112,115 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: installit.1,v 1.1.2.1 1999/06/12 08:22:43 kondou Exp $ diff -Nacr inn-2.2/doc/libinn.3 inn-2.2.1/doc/libinn.3 *** inn-2.2/doc/libinn.3 Wed Dec 9 07:40:31 1998 --- inn-2.2.1/doc/libinn.3 Sat Jun 12 01:22:44 1999 *************** *** 1,4 **** ! .\" $Revision: 1.5.4.1 $ .TH LIBINN 3 .SH NAME libinn \- InterNetNews library routines --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH LIBINN 3 .SH NAME libinn \- InterNetNews library routines *************** *** 529,535 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: libinn.3,v 1.5.4.1 1998/12/09 15:40:31 kondou Exp $ .SH "SEE ALSO" active(5), dbz(3z), --- 529,535 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: libinn.3,v 1.1.2.1 1999/06/12 08:22:44 kondou Exp $ .SH "SEE ALSO" active(5), dbz(3z), diff -Nacr inn-2.2/doc/libstorage.3 inn-2.2.1/doc/libstorage.3 *** inn-2.2/doc/libstorage.3 Wed Aug 19 21:24:32 1998 --- inn-2.2.1/doc/libstorage.3 Sat Jun 12 01:22:44 1999 *************** *** 1,4 **** ! .\" $Revision: 1.8 $ .TH LIBSTORAGE 3 .SH NAME libstorage \- InterNetNews Storage API library routines --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH LIBSTORAGE 3 .SH NAME libstorage \- InterNetNews Storage API library routines *************** *** 341,347 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: libstorage.3,v 1.8 1998/08/20 04:24:32 kondou Exp $ .SH "SEE ALSO" expire(8), inn.conf(5), --- 341,347 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: libstorage.3,v 1.1.2.1 1999/06/12 08:22:44 kondou Exp $ .SH "SEE ALSO" expire(8), inn.conf(5), diff -Nacr inn-2.2/doc/mailpost.8 inn-2.2.1/doc/mailpost.8 *** inn-2.2/doc/mailpost.8 Wed Dec 9 07:40:31 1998 --- inn-2.2.1/doc/mailpost.8 Sat Jun 12 01:22:45 1999 *************** *** 79,85 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: mailpost.8,v 1.1.2.1 1998/12/09 15:40:31 kondou Exp $ .SH FILES /mailpost-msgid.db database file .SH BUGS --- 79,85 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: mailpost.8,v 1.1.2.1 1999/06/12 08:22:45 kondou Exp $ .SH FILES /mailpost-msgid.db database file .SH BUGS diff -Nacr inn-2.2/doc/makeactive.8 inn-2.2.1/doc/makeactive.8 *** inn-2.2/doc/makeactive.8 Thu Apr 9 08:16:10 1998 --- inn-2.2.1/doc/makeactive.8 Sat Jun 12 01:22:45 1999 *************** *** 1,4 **** ! .\" $Revision: 1.6 $ .TH MAKEACTIVE 8 .SH NAME makeactive \- tool to recover Usenet active file. --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH MAKEACTIVE 8 .SH NAME makeactive \- tool to recover Usenet active file. *************** *** 99,105 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: makeactive.8,v 1.6 1998/04/09 15:16:10 mibsoft Exp $ .SH "SEE ALSO" active(5), ctlinnd(8), --- 99,105 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: makeactive.8,v 1.1.2.1 1999/06/12 08:22:45 kondou Exp $ .SH "SEE ALSO" active(5), ctlinnd(8), diff -Nacr inn-2.2/doc/makehistory.8 inn-2.2.1/doc/makehistory.8 *** inn-2.2/doc/makehistory.8 Mon Sep 14 19:23:18 1998 --- inn-2.2.1/doc/makehistory.8 Sat Jun 12 01:22:46 1999 *************** *** 1,4 **** ! .\" $Revision: 1.21 $ .TH MAKEHISTORY 8 .SH NAME makehistory \- tools to recover Usenet history database. --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH MAKEHISTORY 8 .SH NAME makehistory \- tools to recover Usenet history database. *************** *** 384,390 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: makehistory.8,v 1.21 1998/09/15 02:23:18 kondou Exp $ .SH "SEE ALSO" active(5), ctlinnd(8), --- 384,390 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: makehistory.8,v 1.1.2.1 1999/06/12 08:22:46 kondou Exp $ .SH "SEE ALSO" active(5), ctlinnd(8), diff -Nacr inn-2.2/doc/moderators.5 inn-2.2.1/doc/moderators.5 *** inn-2.2/doc/moderators.5 Thu Apr 9 08:16:11 1998 --- inn-2.2.1/doc/moderators.5 Sat Jun 12 01:22:47 1999 *************** *** 1,57 **** ! .\" $Revision: 1.5 $ .TH MODERATORS 5 .SH NAME ! moderators \- mail addresses for moderated Usenet newsgroups .SH DESCRIPTION ! The ! .IR GetModeratorAddress (3) ! routine reads the file .I /moderators ! to determine how to reach the moderator of a newsgroup. ! This is used by ! .IR inews (1) ! when an unapproved local posting is made to a moderated newsgroup. .PP ! The file is read until a match is found. Blank lines and lines starting with a number sign (``#'') are ignored. ! All other lines should consist of two fields separated by a colon. .PP ! The first field is a ! .IR wildmat(3) -style ! pattern. ! If it matches the name of the newsgroup, then the second field is taken to ! be a format string for ! .IR sprintf (3). ! This string should have at most one .I %s ! parameter, which will be given the name of the newsgroup with periods ! transliterated to dashes. .PP Here is a sample file: .RS .nf ! foo.important:announce-request@foo.com ! foo.*:%s@mailer.foo.com gnu.*:%s@prep.ai.mit.edu ! *:%s@uunet.uu.net .fi .RE Using the above file, postings to the moderated newsgroup in the left column will be sent to the address shown in the right column: .RS .nf ! .ta \w'gnu.emacs.sources 'u ! foo.important announce-request@foo.com ! foo.x.announce foo-x-announce@mailer.foo.com gnu.emacs.sources gnu-emacs-sources@prep.ai.mit.edu ! comp.sources.unix comp-sources-unix@uunet.uu.net .fi .RE .SH HISTORY Written by Rich $alz for InterNetNews. .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: moderators.5,v 1.5 1998/04/09 15:16:11 mibsoft Exp $ .SH "SEE ALSO" inews(1), inn.conf(5), libinn(3), wildmat(3). --- 1,81 ---- ! .\" $Revision: 1.1.2.1 $ .TH MODERATORS 5 .SH NAME ! moderators \- submission addresses for moderated newsgroups .SH DESCRIPTION ! When an unapproved article is posted locally to a moderated newsgroup, ! rather than being passed off to ! .IR innd (8) ! for normal handling, it's instead sent via e-mail to the submission ! address for that newsgroup. The file .I /moderators ! lists the submission addresses for moderated newsgroups. ! This file is used by ! .IR nnrpd "(8), " inews (1), ! and any other program that uses the GetModeratorAddress() routine (see ! .IR libinn (3).) .PP ! The moderators file is a list of associations between ! .IR wildmat(3) ! patterns matching newsgroups and the submission address for those ! newsgroups. Blank lines and lines starting with a number sign (``#'') are ignored. ! All other lines should consist of those two fields separated by a colon. .PP ! The second field, the submission address, may have at most one .I %s ! anywhere in it; if present, this will be replaced by the name of the ! newsgroup with periods replaced by dashes. If there is a literal ``%'' in ! the submission address, it must be written as ``%%'' (even if not followed ! by an ``s''). .PP Here is a sample file: .RS .nf ! ! example.important:announce-request@example.com ! example.*:%s@smtp.example.com gnu.*:%s@prep.ai.mit.edu ! *:%s@moderators.isc.org ! .fi .RE Using the above file, postings to the moderated newsgroup in the left column will be sent to the address shown in the right column: .RS .nf ! ! .ta \w'example.x.announce 'u ! example.important announce-request@example.com ! example.x.announce example-x-announce@smtp.example.com gnu.emacs.sources gnu-emacs-sources@prep.ai.mit.edu ! comp.sources.unix comp-sources-unix@moderators.isc.org ! .fi .RE + Periods are converted to dashes for historical reasons, from back in the + days when periods in the local part of addresses may not be handled + correctly. It's probably no longer necessary, but so much now depends on + it that it can't be easily changed. + .PP + It's intended that the sample moderators file included in the INN + distribution always be sufficient for all world-wide newsgroups. The + hosts behind moderators.isc.org have graciously volunteered to handle + forwarding tasks for all world-wide newsgroups so that individual sites + don't have to keep track of the submission addresses for moderated groups. + The forwarding database used by moderators.isc.org is coordinated by + moderators-request@isc.org; if you know of a world-wide newsgroup + hierarchy that is not correctly handled by moderators.isc.org, please send + the details to that address. + .PP + Given that, the only thing you should have to add to the sample file under + normal circumstances are the forwarding addresses for local or limited + distribution moderated groups. .SH HISTORY Written by Rich $alz for InterNetNews. .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: moderators.5,v 1.1.2.1 1999/06/12 08:22:47 kondou Exp $ .SH "SEE ALSO" inews(1), inn.conf(5), libinn(3), wildmat(3). diff -Nacr inn-2.2/doc/motd.news.5 inn-2.2.1/doc/motd.news.5 *** inn-2.2/doc/motd.news.5 Thu Apr 9 08:16:11 1998 --- inn-2.2.1/doc/motd.news.5 Sat Jun 12 01:22:48 1999 *************** *** 1,5 **** .\" -*- nroff -*- ! .\" $Revision: 1.3 $ .TH MOTD.NEWS 5 .SH NAME motd.news --- 1,5 ---- .\" -*- nroff -*- ! .\" $Revision: 1.1.2.1 $ .TH MOTD.NEWS 5 .SH NAME motd.news *************** *** 16,21 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: motd.news.5,v 1.3 1998/04/09 15:16:11 mibsoft Exp $ .SH "SEE ALSO" inn.conf(5). --- 16,21 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: motd.news.5,v 1.1.2.1 1999/06/12 08:22:48 kondou Exp $ .SH "SEE ALSO" inn.conf(5). diff -Nacr inn-2.2/doc/news-recovery.8 inn-2.2.1/doc/news-recovery.8 *** inn-2.2/doc/news-recovery.8 Sun Aug 3 21:03:46 1997 --- inn-2.2.1/doc/news-recovery.8 Sat Jun 12 01:22:48 1999 *************** *** 1,4 **** ! .\" $Revision: 1.1.1.1 $ .TH NEWS-RECOVERY 8 .SH NAME makeactive, makehistory, newsrequeue \- tools to recover Usenet databases --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH NEWS-RECOVERY 8 .SH NAME makeactive, makehistory, newsrequeue \- tools to recover Usenet databases diff -Nacr inn-2.2/doc/news.daily.8 inn-2.2.1/doc/news.daily.8 *** inn-2.2/doc/news.daily.8 Wed Dec 9 07:40:31 1998 --- inn-2.2.1/doc/news.daily.8 Sat Jun 12 01:22:49 1999 *************** *** 207,213 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: news.daily.8,v 1.7.4.1 1998/12/09 15:40:31 kondou Exp $ .SH "SEE ALSO" active(5), ctlinnd(8), --- 207,213 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: news.daily.8,v 1.1.2.1 1999/06/12 08:22:49 kondou Exp $ .SH "SEE ALSO" active(5), ctlinnd(8), diff -Nacr inn-2.2/doc/news2mail.8 inn-2.2.1/doc/news2mail.8 *** inn-2.2/doc/news2mail.8 Wed Dec 9 07:40:32 1998 --- inn-2.2.1/doc/news2mail.8 Sat Jun 12 01:22:50 1999 *************** *** 63,69 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: news2mail.8,v 1.1.2.1 1998/12/09 15:40:32 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), inn.conf(5), --- 63,69 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: news2mail.8,v 1.1.2.1 1999/06/12 08:22:50 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), inn.conf(5), diff -Nacr inn-2.2/doc/newsfeeds.5 inn-2.2.1/doc/newsfeeds.5 *** inn-2.2/doc/newsfeeds.5 Wed Dec 9 07:40:32 1998 --- inn-2.2.1/doc/newsfeeds.5 Sat Jun 12 01:22:50 1999 *************** *** 1,4 **** ! .\" $Revision: 1.20.2.2 $ .TH NEWSFEEDS 5 .SH NAME newsfeeds \- determine where Usenet articles get sent --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH NEWSFEEDS 5 .SH NAME newsfeeds \- determine where Usenet articles get sent *************** *** 602,608 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: newsfeeds.5,v 1.20.2.2 1998/12/09 15:40:32 kondou Exp $ .SH "SEE ALSO" active(5), buffchan(8), --- 602,608 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: newsfeeds.5,v 1.1.2.1 1999/06/12 08:22:50 kondou Exp $ .SH "SEE ALSO" active(5), buffchan(8), diff -Nacr inn-2.2/doc/newslog.5 inn-2.2.1/doc/newslog.5 *** inn-2.2/doc/newslog.5 Thu Apr 9 08:16:12 1998 --- inn-2.2.1/doc/newslog.5 Sat Jun 12 01:22:51 1999 *************** *** 201,207 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: newslog.5,v 1.6 1998/04/09 15:16:12 mibsoft Exp $ .SH "SEE ALSO" control.ctl(5), ctlinnd(8), --- 201,207 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: newslog.5,v 1.1.2.1 1999/06/12 08:22:51 kondou Exp $ .SH "SEE ALSO" control.ctl(5), ctlinnd(8), diff -Nacr inn-2.2/doc/newsrequeue.8 inn-2.2.1/doc/newsrequeue.8 *** inn-2.2/doc/newsrequeue.8 Wed Apr 15 18:52:27 1998 --- inn-2.2.1/doc/newsrequeue.8 Sat Jun 12 01:22:52 1999 *************** *** 1,4 **** ! .\" $Revision: 1.3 $ .TH NEWSREQUEUE 8 .SH NAME newsrequeue \- tool to rewrite batchfiles. --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH NEWSREQUEUE 8 .SH NAME newsrequeue \- tool to rewrite batchfiles. *************** *** 106,112 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: newsrequeue.8,v 1.3 1998/04/16 01:52:27 mibsoft Exp $ .SH "SEE ALSO" active(5), ctlinnd(8), --- 106,112 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: newsrequeue.8,v 1.1.2.1 1999/06/12 08:22:52 kondou Exp $ .SH "SEE ALSO" active(5), ctlinnd(8), diff -Nacr inn-2.2/doc/nnrp.access.5 inn-2.2.1/doc/nnrp.access.5 *** inn-2.2/doc/nnrp.access.5 Wed Dec 9 07:40:32 1998 --- inn-2.2.1/doc/nnrp.access.5 Sat Jun 12 01:22:53 1999 *************** *** 1,4 **** ! .\" $Revision: 1.13.2.2 $ .TH NNRP.ACCESS 5 .SH NAME nnrp.access \- access file for NNTP news readers. --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH NNRP.ACCESS 5 .SH NAME nnrp.access \- access file for NNTP news readers. *************** *** 140,146 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: nnrp.access.5,v 1.13.2.2 1998/12/09 15:40:32 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innd(8), --- 140,146 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: nnrp.access.5,v 1.1.2.1 1999/06/12 08:22:53 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innd(8), diff -Nacr inn-2.2/doc/nnrpd.8 inn-2.2.1/doc/nnrpd.8 *** inn-2.2/doc/nnrpd.8 Sun Nov 15 14:43:23 1998 --- inn-2.2.1/doc/nnrpd.8 Sat Jun 12 01:22:53 1999 *************** *** 1,4 **** ! .\" $Revision: 1.11.2.1 $ .TH NNRPD 8 .SH NAME nnrpd \- NNTP server for on-campus hosts --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH NNRPD 8 .SH NAME nnrpd \- NNTP server for on-campus hosts *************** *** 287,292 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: nnrpd.8,v 1.11.2.1 1998/11/15 22:43:23 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), innd(8), inn.conf(5), nnrp.access(5), signal(2), wildmat(3). --- 287,292 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: nnrpd.8,v 1.1.2.1 1999/06/12 08:22:53 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), innd(8), inn.conf(5), nnrp.access(5), signal(2), wildmat(3). diff -Nacr inn-2.2/doc/nnrpd.track.5 inn-2.2.1/doc/nnrpd.track.5 *** inn-2.2/doc/nnrpd.track.5 Thu Apr 9 08:16:12 1998 --- inn-2.2.1/doc/nnrpd.track.5 Sat Jun 12 01:22:54 1999 *************** *** 1,4 **** ! .\" $Revision: 1.3 $ .TH NNRPD.TRACK 5 .SH NAME nnrpd.track \- file to specify hosts to be tracked by nnrpd. --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH NNRPD.TRACK 5 .SH NAME nnrpd.track \- file to specify hosts to be tracked by nnrpd. *************** *** 42,48 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: nnrpd.track.5,v 1.3 1998/04/09 15:16:12 mibsoft Exp $ .SH "SEE ALSO" inn.conf(5), innd(8), --- 42,48 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: nnrpd.track.5,v 1.1.2.1 1999/06/12 08:22:54 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innd(8), diff -Nacr inn-2.2/doc/nntpget.1 inn-2.2.1/doc/nntpget.1 *** inn-2.2/doc/nntpget.1 Tue Jan 27 20:07:57 1998 --- inn-2.2.1/doc/nntpget.1 Sat Jun 12 01:22:54 1999 *************** *** 1,4 **** ! .\" $Revision: 1.2 $ .TH NNTPGET 1 .SH NAME nntpget \- get Usenet articles from a remote NNTP server --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH NNTPGET 1 .SH NAME nntpget \- get Usenet articles from a remote NNTP server *************** *** 85,90 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: nntpget.1,v 1.2 1998/01/28 04:07:57 scrappy Exp $ .SH "SEE ALSO" innd(8). --- 85,90 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: nntpget.1,v 1.1.2.1 1999/06/12 08:22:54 kondou Exp $ .SH "SEE ALSO" innd(8). diff -Nacr inn-2.2/doc/nntpsend.8 inn-2.2.1/doc/nntpsend.8 *** inn-2.2/doc/nntpsend.8 Tue May 19 18:37:39 1998 --- inn-2.2.1/doc/nntpsend.8 Sat Jun 12 01:22:55 1999 *************** *** 217,223 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: nntpsend.8,v 1.8 1998/05/20 01:37:39 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innxmit(1), --- 217,223 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: nntpsend.8,v 1.1.2.1 1999/06/12 08:22:55 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innxmit(1), diff -Nacr inn-2.2/doc/nntpsend.ctl.5 inn-2.2.1/doc/nntpsend.ctl.5 *** inn-2.2/doc/nntpsend.ctl.5 Thu Apr 9 08:16:14 1998 --- inn-2.2.1/doc/nntpsend.ctl.5 Sat Jun 12 01:22:56 1999 *************** *** 40,45 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: nntpsend.ctl.5,v 1.6 1998/04/09 15:16:14 mibsoft Exp $ .SH "SEE ALSO" innxmit(8), newsfeeds(5), nntpsend(8), trunc(1). --- 40,45 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: nntpsend.ctl.5,v 1.1.2.1 1999/06/12 08:22:56 kondou Exp $ .SH "SEE ALSO" innxmit(8), newsfeeds(5), nntpsend(8), trunc(1). diff -Nacr inn-2.2/doc/overchan.8 inn-2.2.1/doc/overchan.8 *** inn-2.2/doc/overchan.8 Mon Apr 20 21:29:55 1998 --- inn-2.2.1/doc/overchan.8 Sat Jun 12 01:22:57 1999 *************** *** 1,4 **** ! .\" $Revision: 1.7 $ .TH OVERCHAN 8 .SH NAME overchan \- update the news overview database --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH OVERCHAN 8 .SH NAME overchan \- update the news overview database *************** *** 94,100 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: overchan.8,v 1.7 1998/04/21 04:29:55 scrappy Exp $ .SH "SEE ALSO" expireover(8), inn.conf(5), --- 94,100 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: overchan.8,v 1.1.2.1 1999/06/12 08:22:57 kondou Exp $ .SH "SEE ALSO" expireover(8), inn.conf(5), diff -Nacr inn-2.2/doc/overview.ctl.5 inn-2.2.1/doc/overview.ctl.5 *** inn-2.2/doc/overview.ctl.5 Sun Jan 3 23:41:43 1999 --- inn-2.2.1/doc/overview.ctl.5 Sat Jun 12 01:22:57 1999 *************** *** 1,4 **** ! .\" $Revision: 1.4.4.1 $ .TH OVERVIEW.CTL 5 .SH NAME overview.ctl \- configuration file for unified overview --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH OVERVIEW.CTL 5 .SH NAME overview.ctl \- configuration file for unified overview *************** *** 75,81 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: overview.ctl.5,v 1.4.4.1 1999/01/04 07:41:43 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), expire(8), --- 75,81 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: overview.ctl.5,v 1.1.2.1 1999/06/12 08:22:57 kondou Exp $ .SH "SEE ALSO" ctlinnd(8), expire(8), diff -Nacr inn-2.2/doc/overview.fmt.5 inn-2.2.1/doc/overview.fmt.5 *** inn-2.2/doc/overview.fmt.5 Thu Apr 9 08:16:14 1998 --- inn-2.2.1/doc/overview.fmt.5 Sat Jun 12 01:22:58 1999 *************** *** 1,4 **** ! .\" $Revision: 1.6 $ .TH OVERVIEW.FMT 5 .SH NAME overview.fmt \- format of news overview database --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH OVERVIEW.FMT 5 .SH NAME overview.fmt \- format of news overview database *************** *** 43,48 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: overview.fmt.5,v 1.6 1998/04/09 15:16:14 mibsoft Exp $ .SH "SEE ALSO" inn.conf(5) --- 43,48 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: overview.fmt.5,v 1.1.2.1 1999/06/12 08:22:58 kondou Exp $ .SH "SEE ALSO" inn.conf(5) diff -Nacr inn-2.2/doc/parsedate.3 inn-2.2.1/doc/parsedate.3 *** inn-2.2/doc/parsedate.3 Sun Aug 3 21:03:46 1997 --- inn-2.2.1/doc/parsedate.3 Sat Jun 12 01:22:58 1999 *************** *** 1,4 **** ! .\" $Revision: 1.1.1.1 $ .TH PARSEDATE 3 .SH NAME parsedate \- convert time and date string to number --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH PARSEDATE 3 .SH NAME parsedate \- convert time and date string to number *************** *** 130,136 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: parsedate.3,v 1.1.1.1 1997/08/04 04:03:46 gpalmer Exp $ .SH "SEE ALSO" date(1), ctime(3), --- 130,136 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: parsedate.3,v 1.1.2.1 1999/06/12 08:22:58 kondou Exp $ .SH "SEE ALSO" date(1), ctime(3), diff -Nacr inn-2.2/doc/passwd.nntp.5 inn-2.2.1/doc/passwd.nntp.5 *** inn-2.2/doc/passwd.nntp.5 Thu Apr 9 08:16:15 1998 --- inn-2.2.1/doc/passwd.nntp.5 Sat Jun 12 01:22:59 1999 *************** *** 1,4 **** ! .\" $Revision: 1.5 $ .TH PASSWD.NNTP 5 .SH NAME passwd.nntp \- passwords for connecting to remote NNTP servers --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH PASSWD.NNTP 5 .SH NAME passwd.nntp \- passwords for connecting to remote NNTP servers *************** *** 45,51 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: passwd.nntp.5,v 1.5 1998/04/09 15:16:15 mibsoft Exp $ .SH "SEE ALSO" inn.conf(5), innd(8), --- 45,51 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: passwd.nntp.5,v 1.1.2.1 1999/06/12 08:22:59 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innd(8), diff -Nacr inn-2.2/doc/pgpverify.8 inn-2.2.1/doc/pgpverify.8 *** inn-2.2/doc/pgpverify.8 Thu Jan 29 07:42:04 1998 --- inn-2.2.1/doc/pgpverify.8 Sat Jun 12 01:22:59 1999 *************** *** 1,5 **** .\" ! .\" $Id: pgpverify.8,v 1.1 1998/01/29 15:42:04 tale Exp $ .\" .\" This manual page was provided by James Ralston .TH pgpverify 8 --- 1,5 ---- .\" ! .\" $Id: pgpverify.8,v 1.1.2.1 1999/06/12 08:22:59 kondou Exp $ .\" .\" This manual page was provided by James Ralston .TH pgpverify 8 diff -Nacr inn-2.2/doc/prunehistory.8 inn-2.2.1/doc/prunehistory.8 *** inn-2.2/doc/prunehistory.8 Thu Apr 9 08:16:15 1998 --- inn-2.2.1/doc/prunehistory.8 Sat Jun 12 01:23:00 1999 *************** *** 1,4 **** ! .\" $Revision: 1.7 $ .TH PRUNEHISTORY 8 .SH NAME prunehistory \- remove file names from Usenet history file --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH PRUNEHISTORY 8 .SH NAME prunehistory \- remove file names from Usenet history file *************** *** 62,68 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: prunehistory.8,v 1.7 1998/04/09 15:16:15 mibsoft Exp $ .SH "SEE ALSO" dbz(3), history(5), --- 62,68 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: prunehistory.8,v 1.1.2.1 1999/06/12 08:23:00 kondou Exp $ .SH "SEE ALSO" dbz(3), history(5), diff -Nacr inn-2.2/doc/pullnews.8 inn-2.2.1/doc/pullnews.8 *** inn-2.2/doc/pullnews.8 Wed Oct 21 00:01:48 1998 --- inn-2.2.1/doc/pullnews.8 Sat Jun 12 01:23:01 1999 *************** *** 1,5 **** .\" -*- nroff -*- ! .\" $Revision: 1.1 $ .TH PULLNEWS 8 .SH NAME pullnews \- a perl script for pulling news from one news machine and feeding it --- 1,5 ---- .\" -*- nroff -*- ! .\" $Revision: 1.1.2.1 $ .TH PULLNEWS 8 .SH NAME pullnews \- a perl script for pulling news from one news machine and feeding it *************** *** 93,99 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: pullnews.8,v 1.1 1998/10/21 07:01:48 brister Exp $ .SH BUGS .I pullnews is very simple and is lacking in more sophisticated features (like killing --- 93,99 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: pullnews.8,v 1.1.2.1 1999/06/12 08:23:01 kondou Exp $ .SH BUGS .I pullnews is very simple and is lacking in more sophisticated features (like killing diff -Nacr inn-2.2/doc/qio.3 inn-2.2.1/doc/qio.3 *** inn-2.2/doc/qio.3 Wed Dec 9 07:40:33 1998 --- inn-2.2.1/doc/qio.3 Sat Jun 12 01:23:01 1999 *************** *** 1,4 **** ! .\" $Revision: 1.5.4.1 $ .TH QIO 3 .SH NAME qio \- quick I/O part of InterNetNews library --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH QIO 3 .SH NAME qio \- quick I/O part of InterNetNews library *************** *** 156,159 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: qio.3,v 1.5.4.1 1998/12/09 15:40:33 kondou Exp $ --- 156,159 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: qio.3,v 1.1.2.1 1999/06/12 08:23:01 kondou Exp $ diff -Nacr inn-2.2/doc/rnews.1 inn-2.2.1/doc/rnews.1 *** inn-2.2/doc/rnews.1 Fri Nov 6 18:58:37 1998 --- inn-2.2.1/doc/rnews.1 Sat Jun 12 01:23:02 1999 *************** *** 1,4 **** ! .\" $Revision: 1.8.2.1 $ .TH RNEWS 1 .SH NAME rnews \- receive news from a UUCP connection --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH RNEWS 1 .SH NAME rnews \- receive news from a UUCP connection *************** *** 137,143 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: rnews.1,v 1.8.2.1 1998/11/07 02:58:37 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innd(8). --- 137,143 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: rnews.1,v 1.1.2.1 1999/06/12 08:23:02 kondou Exp $ .SH "SEE ALSO" inn.conf(5), innd(8). diff -Nacr inn-2.2/doc/scanlogs.8 inn-2.2.1/doc/scanlogs.8 *** inn-2.2/doc/scanlogs.8 Tue Jan 27 20:07:59 1998 --- inn-2.2.1/doc/scanlogs.8 Sat Jun 12 01:23:02 1999 *************** *** 33,39 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: scanlogs.8,v 1.2 1998/01/28 04:07:59 scrappy Exp $ .SH "SEE ALSO" innd(8), newslog(5), --- 33,39 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: scanlogs.8,v 1.1.2.1 1999/06/12 08:23:02 kondou Exp $ .SH "SEE ALSO" innd(8), newslog(5), diff -Nacr inn-2.2/doc/shlock.1 inn-2.2.1/doc/shlock.1 *** inn-2.2/doc/shlock.1 Thu Apr 9 08:16:16 1998 --- inn-2.2.1/doc/shlock.1 Sat Jun 12 01:23:04 1999 *************** *** 1,4 **** ! .\" $Revision: 1.5 $ .TH SHLOCK 1 .SH NAME shlock \- create lock files for use in shell scripts --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH SHLOCK 1 .SH NAME shlock \- create lock files for use in shell scripts *************** *** 71,76 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: shlock.1,v 1.5 1998/04/09 15:16:16 mibsoft Exp $ .SH "SEE ALSO" inn.conf(5) --- 71,76 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: shlock.1,v 1.1.2.1 1999/06/12 08:23:04 kondou Exp $ .SH "SEE ALSO" inn.conf(5) diff -Nacr inn-2.2/doc/shrinkfile.1 inn-2.2.1/doc/shrinkfile.1 *** inn-2.2/doc/shrinkfile.1 Thu Apr 9 08:16:16 1998 --- inn-2.2.1/doc/shrinkfile.1 Sat Jun 12 01:23:04 1999 *************** *** 1,4 **** ! .\" $Revision: 1.3 $ .TH SHRINKFILE 1 .SH NAME shrinkfile \- shrink a file on a line boundary --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH SHRINKFILE 1 .SH NAME shrinkfile \- shrink a file on a line boundary diff -Nacr inn-2.2/doc/sm.8 inn-2.2.1/doc/sm.8 *** inn-2.2/doc/sm.8 Wed Aug 19 21:24:32 1998 --- inn-2.2.1/doc/sm.8 Sat Jun 12 01:23:05 1999 *************** *** 1,4 **** ! .\" $Revision: 1.5 $ .TH SM 8 .SH NAME sm \- command line interface to the storage manager --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH SM 8 .SH NAME sm \- command line interface to the storage manager diff -Nacr inn-2.2/doc/storage.conf.5 inn-2.2.1/doc/storage.conf.5 *** inn-2.2/doc/storage.conf.5 Wed Aug 19 21:24:32 1998 --- inn-2.2.1/doc/storage.conf.5 Sat Jun 12 01:23:06 1999 *************** *** 1,110 **** ! .\" $Revision: 1.1 $ .TH STORAGE.CONF 5 .SH NAME storage.conf \- configuration file for storage manager .SH DESCRIPTION ! The file .I /storage.conf ! is required if storage API is used. ! Storage API is turned on if ``storageapi: true'' in ! .IR inn.conf (5). .PP ! The file consists of a series of storage method entries; ! blank lines and lines beginning with a number sign (``#'') are ignored. ! If spaces or tabs are included in the value, that value must be quoted ! with ``"''. The order of entries in this file is important. .PP ! Each entry is formatted as: ! .PP .RS .nf method { - newsgroups: class: size: [,] expires: [,] options: } .fi .RE .PP ! The ``methodname'' is the name of storage method. ! Currently, ``timehash'', ``cnfs'' and ``trash'' are available for its name. ! See STORAGE METHODS section for thier method. ! \&``Wildmat'' refers to a newsgroup pattern that will be parsed with ! .IR wildmat (3). ! Matching newsgroup is against newsgroup name in ``Xref'' header, if ! \&``storeonxref'' in inn.conf is ``true.'' ! Otherwise, it is against newsgroup name in ``Newsgroups'' header. ! \&``!'' and ``@'' are allowed at the start of the wildmat and ! refer to pattern exclusions. See ! .IR newsfeeds (5) ! for a description of their use. The ``wildmat'' is matched in order. ! There is no default ``wildmat'' pattern, so specified ``wildmat'' ! is only used for matching. ! \&``Storage_class'' is an identifier among all entries. ! \&``Storage_class'' is also referred at ! .IR expire.ctl (5). ! \&``Minsize'' and ``maxsize'' is the range in which article is stored. ! If ``maxsize'' is ``0'', article upper size is unlimited. ! \&``options'' is method specific option which is needed only for some ! method. See STORAGE METHODS sectoin for a description of its use. ! \&``Mintime'' and ``maxtime'' are the times into the future the `Expires:' ! header for the article indicates that it should be expired, and are ! formatted 0d0h0m0s, for days, hours, minutes and seconds into the future. ! If ``mintime'' is non-zero, the storage method will not match an article ! without an 'Expires:' header. If ``maxtime'' is ``0s'', there is no upper ! bound on the expire time for the article to fall in this entry. ! Note that ``expires'' parameter never controls expire time. This is ! used just for determining storage class based on ``Expires:'' header. ! .PP ! If a newsgroup matches wildmat pattern and the range, the article is stored ! in that ``storage_class.'' ! Note that the file is interpreted in order and first match line ! is used to store an article. ! .PP ! If a newsgroup does not match any wildmat pattern nor the range in all entries, ! the article is not stored and ! .IR innd (8) ! rejects it. .SH STORAGE METHODS .TP .B cnfs ! \&``Cnfs'' method stores articles in preconfigured files cyclically. ! So, if storing position reaches at the end of the file, ! the position is moved to the beginning of the file and ! old articles are overwritten to write new articles. ! This method is assumed to have self expire functionality. ! There is a configuration file, ! .IR cycbuff.conf , ! for this method and ``options'' field is needed. ! See .IR cycbuff.conf (5) ! for description of thier use. .TP .B timehash ! \&``Timehash'' method stores each article into each file whose path name ! is based on article's arrival time. The path name is created as ! .IR /time-xx/bb/cc/yyyy-aadd . ! Where ``xx'' is hexa decimal value of ``storage_class.'' ! Where ``yyyy'' is hexa decimal value of sequence number. ! Where ``bb'', ``cc'' and ``aadd'' are hexa decimal value of splitted ! arrival time and 0xaabbccdd is the actual time. ! There is no configuration file for this method. .TP .B trash ! \&``Trash'' method stores no article and this can be used simply to ! trash the article but the article is accepted without any problem. ! For this reason, any article stored through this method never can be ! retrieved and this method is assumed to have self expire functionality. ! There is no configuration file for this method. .SH HISTORY Written by Katsuhiro Kondou for InterNetNews. .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: storage.conf.5,v 1.1 1998/08/20 04:24:32 kondou Exp $ .SH "SEE ALSO" cycbuff.conf(5), expire.ctl(5), --- 1,228 ---- ! .\" $Revision: 1.1.2.1 $ .TH STORAGE.CONF 5 .SH NAME storage.conf \- configuration file for storage manager .SH DESCRIPTION ! If ``storageapi'' is set to ``true'' in ! .IR inn.conf (5), ! the storage API will be used to store articles. The storage API is a ! unified interface between INN and a variety of different storage method, ! allowing the news administrator to choose between different storage method ! with different tradeoffs (or even use several at the same time for ! different newsgroups or articles of different sizes). The rest of INN ! need not care what type of storage method was used for a given article; ! the storage manager will figure this out automatically when that article ! is retrieved via the storage API. ! .PP ! If the storage API is used, the file .I /storage.conf ! is required. This file contains the rules to be used in assigning ! articles to different storage methods. .PP ! The file consists of a series of storage method entries. ! Blank lines and lines beginning with a number sign (``#'') are ignored. ! The maximum number of character in each line is 255. The order of entries in this file is important. .PP ! Each entry specifies a storage method and a set of rules. Articles that ! match all of the rules of a storage method entry will be stored using that ! storage method. If an article matches multiple storage method entries, ! the first one will be used. Each entry is formatted as follows: .RS .nf + method { class: + newsgroups: size: [,] expires: [,] options: } + .fi .RE + If spaces or tabs are included in a value, that value must be quoted + with ``"''. + If either ``#'' or ``"'' are meant to be included verbatim in a value, + they should be escaped with ``\\''. .PP ! is the name of a storage method to use for articles that ! match the rules of this entry. The currently available storage methods ! are ! \&``timehash'', ``cnfs'', and ``trash''. ! See the STORAGE METHODS section below for more details. ! .PP ! The meanings of the keys in each entry are as follows: ! .TP ! .B class ! An identifier for this storage method entry. should be a ! number and should be unique across all of the entries in this file. It's ! used mainly by ! .IR expire.ctl (5) ! for specifying expiration times by storage class. ! .TP ! .B newsgroups ! What newsgroups are stored using this storage method. is a ! .IR wildmat (3) ! pattern that is matched against the newsgroups an article is posted to. ! If ``storeonxref'' in inn.conf is ``true'', this pattern will be matched ! against the newsgroup names in the ``Xref'' header; otherwise, it will be ! matched against newsgroup names in the ``Newsgroups'' header. Poison ! wildmat expressions (expressions starting with ``@'') are allowed and can ! be used to exclude certain group patterns. ``!'' cannot be used, however. ! The pattern is matched in order. There is no default newsgroups ! pattern; if an entry should match all newsgroups, use an explicit ! \&``newsgroups: *''. ! .TP ! .B size ! A range of article sizes that should be stored using this storage method. ! If is ``0'' or not given, the upper size of articles is limited ! only by ``maxartsize'' in ! .IR inn.conf (5). ! The ``size'' field is optional and may be omitted entirely if you want ! articles of any size (that otherwise fulfill the requirements of this ! storage method entry) to be stored in this storage method. ! .TP ! .B expires ! A range of article expiration times that should be stored using this ! storage method. Be careful; this is less useful than it may appear at ! first. This is based ! .B only ! on the ``Expires'' header of the article, not on any local expiration ! policies or anything in ! .IR expire.ctl (5)! ! If is non-zero, then this entry will not match any article ! without an ``Expires'' header. This key is therefore only really useful ! for assigning articles with requested longer expire times to a separate ! storage method. and are boundaries on the amount of ! time into the future the ``Expires'' header of the article requests that ! it remain around, and are formatted 0d0h0m0s (days, hours, minutes, and ! seconds into the future). If is ``0s'' or is not specified, ! there is no upper bound on expire times falling into this entry (note that ! this key has no effect on when the article will actually be expired, only ! on whether or not the article will be stored using this storage method). ! This field is also optional and may be omitted entirely if all articles ! with or without an ``Expires'' header (that otherwise fulfill the ! requirements of this storage method entry) should be stored according to ! it. ! .TP ! .B options ! This key is for passing special options to storage methods that require ! them (currently only ``cnfs''). See the STORAGE METHODS section below for ! a description of its use. ! .PP ! If an article matches all of the constraints of an entry, it is stored via ! that storage method and is associated with that . This ! file is scanned in order and the first matching entry is used to store the ! article. ! .PP ! If an article doesn't match any entry, either by being posted to a ! newsgroup that doesn't match any of the patterns or by being ! outside the size and expires ranges of all entries whose newsgroups ! pattern it does match, the article is not stored and is rejected by ! .IR innd (8). ! When this happens, the error message ! .RS ! .nf ! ! cant store article: no matching entry in storage.conf ! ! .fi ! .RE ! is logged to syslog. If you want to silently drop articles matching ! certain newsgroup patterns or size or expires ranges, assign them to the ! \&``trash'' storage method rather than having them not match any storage ! method entry. .SH STORAGE METHODS .TP .B cnfs ! The ``cnfs'' storage method stores articles in large cyclic buffers (CNFS ! stands for Cyclic News File System). It's by far the fastest of all ! storage methods (except for ``trash''), since it eliminates the overhead ! of dealing with a file system and creating new files. Articles are stored ! in CNFS buffers in arrival order, and when the buffer fills, it wraps ! around to the beginning and stores new articles over top of the oldest ! articles in the buffer. The expire time of articles stored in CNFS ! buffers is therefore entirely determined by how long it takes the buffer ! to wrap around, which depends on how much data is being stored in it. ! (This method is therefore said to have self-expire functionality.) CNFS ! has its own configuration file, ! .IR cycbuff.conf (5). ! Storage method entries for the ``cnfs'' storage method must have an ! \&``options'' field specifying the metacycbuff into which articles matching ! that entry should be stored. See .IR cycbuff.conf (5) ! for details on metacycbuffs. .TP .B timehash ! This method is very similar to ``timecaf'' except that each article is ! stored in a separate file. The name of the file for a given article will ! be ! .IR /time-nn/bb/cc/yyyy-aadd , ! where ``nn'' is the hexadecimal value of , ``yyyy'' is a ! hexadecimal sequence number, and ``bb'', ``cc'', and ``aadd'' are ! components of the arrival time in hexadecimal (the arrival time is ! converted to hex and interpreted as 0xaabbccdd). This method does not ! have self-expire functionality. .TP .B trash ! This method silently discards all articles stored in it. Its only real ! uses are for testing and for silently discarding articles matching a ! particular storage method entry (for whatever reason). Articles stored in ! this method take up no disk space and can never be retrieved, so this ! method has self-expire functionality of a sort. ! .SH EXAMPLE ! The following sample storage.conf file would store all articles posted to ! alt.binaries.* in the ``BINARIES'' CNFS metacycbuff, all articles over ! roughly 50KB in any other hierarchy in the ``LARGE'' CNFS metacycbuff, all ! other articles in alt.* in one timehash class, and all other articles in ! any newsgroups in a second timehash class, except for the internal.* ! hierarchy which is stored in traditional spool format. ! .RS ! .nf ! ! method tradspool { ! class: 1 ! newsgroups: internal.* ! } ! ! method cnfs { ! class: 2 ! newsgroups: alt.binaries.* ! options: BINARIES ! } ! ! method cnfs { ! class: 3 ! newsgroups: * ! size: 50000 ! options: LARGE ! } ! ! method timehash { ! class: 4 ! newsgroups: alt.* ! } ! ! method timehash { ! class: 5 ! newsgroups: * ! } ! ! .fi ! .RE ! Notice that the last storage method entry will catch everything. This is ! a good habit to get into; make sure that you have at least one catch-all ! entry just in case something you didn't expect falls through the cracks. ! Notice also that the special rule for the internal.* hierarchy is first, ! so it will catch even articles crossposted to alt.binaries.* or over 50KB ! in size. .SH HISTORY Written by Katsuhiro Kondou for InterNetNews. .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: storage.conf.5,v 1.1.2.1 1999/06/12 08:23:06 kondou Exp $ .SH "SEE ALSO" cycbuff.conf(5), expire.ctl(5), diff -Nacr inn-2.2/doc/storage.ctl.5 inn-2.2.1/doc/storage.ctl.5 *** inn-2.2/doc/storage.ctl.5 Wed Aug 19 21:24:33 1998 --- inn-2.2.1/doc/storage.ctl.5 Sat Jun 12 01:23:07 1999 *************** *** 1,4 **** ! .\" $Revision: 1.12 $ .TH STORAGE.CTL 5 .SH NAME storage.ctl \- configuration file for storage manager --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH STORAGE.CTL 5 .SH NAME storage.ctl \- configuration file for storage manager diff -Nacr inn-2.2/doc/strcasecmp.3 inn-2.2.1/doc/strcasecmp.3 *** inn-2.2/doc/strcasecmp.3 Tue May 19 18:37:40 1998 --- inn-2.2.1/doc/strcasecmp.3 Sat Jun 12 01:23:08 1999 *************** *** 1,4 **** ! .\" $Revision: 1.2 $ .\" Copyright (c) 1990 The Regents of the University of California. .\" All rights reserved. .\" --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .\" Copyright (c) 1990 The Regents of the University of California. .\" All rights reserved. .\" diff -Nacr inn-2.2/doc/tally.control.8 inn-2.2.1/doc/tally.control.8 *** inn-2.2/doc/tally.control.8 Thu Apr 9 08:16:17 1998 --- inn-2.2.1/doc/tally.control.8 Sat Jun 12 01:23:09 1999 *************** *** 20,26 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: tally.control.8,v 1.3 1998/04/09 15:16:17 mibsoft Exp $ .SH "SEE ALSO" news.daily(8), scanlogs(8), --- 20,26 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: tally.control.8,v 1.1.2.1 1999/06/12 08:23:09 kondou Exp $ .SH "SEE ALSO" news.daily(8), scanlogs(8), diff -Nacr inn-2.2/doc/tally.unwanted.8 inn-2.2.1/doc/tally.unwanted.8 *** inn-2.2/doc/tally.unwanted.8 Thu Apr 9 08:16:17 1998 --- inn-2.2.1/doc/tally.unwanted.8 Sat Jun 12 01:23:09 1999 *************** *** 16,22 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: tally.unwanted.8,v 1.3 1998/04/09 15:16:17 mibsoft Exp $ .SH "SEE ALSO" innd(8) news.daily(8), --- 16,22 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: tally.unwanted.8,v 1.1.2.1 1999/06/12 08:23:09 kondou Exp $ .SH "SEE ALSO" innd(8) news.daily(8), diff -Nacr inn-2.2/doc/wildmat.3 inn-2.2.1/doc/wildmat.3 *** inn-2.2/doc/wildmat.3 Thu Apr 16 06:45:31 1998 --- inn-2.2.1/doc/wildmat.3 Sat Jun 12 01:23:10 1999 *************** *** 1,4 **** ! .\" $Revision: 1.2 $ .TH WILDMAT 3 .SH NAME wildmat \- perform shell-style wildcard matching --- 1,4 ---- ! .\" $Revision: 1.1.2.1 $ .TH WILDMAT 3 .SH NAME wildmat \- perform shell-style wildcard matching *************** *** 88,93 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: wildmat.3,v 1.2 1998/04/16 13:45:31 mibsoft Exp $ .SH "SEE ALSO" grep(1), regex(3), regexp(3). --- 88,93 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: wildmat.3,v 1.1.2.1 1999/06/12 08:23:10 kondou Exp $ .SH "SEE ALSO" grep(1), regex(3), regexp(3). diff -Nacr inn-2.2/doc/writelog.8 inn-2.2.1/doc/writelog.8 *** inn-2.2/doc/writelog.8 Wed Dec 9 07:40:33 1998 --- inn-2.2.1/doc/writelog.8 Sat Jun 12 01:23:10 1999 *************** *** 28,34 **** .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: writelog.8,v 1.3.4.1 1998/12/09 15:40:33 kondou Exp $ .SH "SEE ALSO" innd(8), innstat(8), --- 28,34 ---- .de R$ This is revision \\$3, dated \\$4. .. ! .R$ $Id: writelog.8,v 1.1.2.1 1999/06/12 08:23:10 kondou Exp $ .SH "SEE ALSO" innd(8), innstat(8), diff -Nacr inn-2.2/expire/CVS/Entries inn-2.2.1/expire/CVS/Entries *** inn-2.2/expire/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/expire/CVS/Entries Wed Aug 25 09:25:54 1999 *************** *** 0 **** --- 1,14 ---- + /Makefile/1.20/Thu Jun 25 05:58:09 1998//TINN-2_2_1 + /convdate.c/1.2/Tue Oct 13 14:07:33 1998//TINN-2_2_1 + /expire.c/1.56/Tue Oct 13 14:07:33 1998//TINN-2_2_1 + /expire.pch/1.1.1.1/Mon Aug 4 04:03:46 1997//TINN-2_2_1 + /expireindex.c/1.16/Tue Oct 13 23:17:49 1998//TINN-2_2_1 + /expireover.c/1.16/Tue Oct 13 14:07:34 1998//TINN-2_2_1 + /fastrm.c/1.15/Tue Oct 13 14:07:34 1998//TINN-2_2_1 + /grephistory.c/1.16/Sat Jun 20 16:29:40 1998//TINN-2_2_1 + /makeactive.c/1.9/Tue Oct 13 14:07:34 1998//TINN-2_2_1 + /makehistory.c/1.51/Tue Oct 13 14:07:35 1998//TINN-2_2_1 + /newsrequeue.c/1.17/Tue Oct 13 14:07:35 1998//TINN-2_2_1 + /prunehistory.c/1.9/Thu May 21 03:00:15 1998//TINN-2_2_1 + /reap.pch/1.1.1.1/Mon Aug 4 04:03:46 1997//TINN-2_2_1 + D diff -Nacr inn-2.2/expire/CVS/Repository inn-2.2.1/expire/CVS/Repository *** inn-2.2/expire/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/expire/CVS/Repository Wed Aug 25 09:25:52 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/expire diff -Nacr inn-2.2/expire/CVS/Root inn-2.2.1/expire/CVS/Root *** inn-2.2/expire/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/expire/CVS/Root Wed Aug 25 09:25:52 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/expire/CVS/Tag inn-2.2.1/expire/CVS/Tag *** inn-2.2/expire/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/expire/CVS/Tag Wed Aug 25 09:25:52 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/frontends/CVS/Entries inn-2.2.1/frontends/CVS/Entries *** inn-2.2/frontends/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/frontends/CVS/Entries Wed Aug 25 09:25:55 1999 *************** *** 0 **** --- 1,15 ---- + /Makefile/1.30/Sat Aug 15 05:30:32 1998//TINN-2_2_1 + /c7unbatch.sh.in/1.1/Sat Aug 15 05:30:32 1998//TINN-2_2_1 + /ctlinnd.c/1.11/Thu May 21 03:00:16 1998//TINN-2_2_1 + /decode.c/1.1.1.1/Mon Aug 4 04:03:46 1997//TINN-2_2_1 + /encode.c/1.2/Mon Apr 27 13:18:36 1998//TINN-2_2_1 + /feedone.c/1.2/Tue Jan 27 16:55:47 1998//TINN-2_2_1 + /getlist.c/1.7/Thu May 21 03:00:16 1998//TINN-2_2_1 + /gunbatch.sh.in/1.1/Sat Aug 15 05:30:32 1998//TINN-2_2_1 + /inews.c/1.15.2.5/Sun Aug 22 06:25:10 1999//TINN-2_2_1 + /innconfval.c/1.13/Fri Aug 21 10:28:14 1998//TINN-2_2_1 + /rn.pch/1.1.1.1/Mon Aug 4 04:03:46 1997//TINN-2_2_1 + /rnews.c/1.16.2.3/Tue Jan 19 03:14:10 1999//TINN-2_2_1 + /sm.c/1.12/Thu Jul 9 23:16:28 1998//TINN-2_2_1 + /sys2nf.c/1.2/Thu Aug 20 04:25:16 1998//TINN-2_2_1 + D diff -Nacr inn-2.2/frontends/CVS/Repository inn-2.2.1/frontends/CVS/Repository *** inn-2.2/frontends/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/frontends/CVS/Repository Wed Aug 25 09:25:54 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/frontends diff -Nacr inn-2.2/frontends/CVS/Root inn-2.2.1/frontends/CVS/Root *** inn-2.2/frontends/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/frontends/CVS/Root Wed Aug 25 09:25:54 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/frontends/CVS/Tag inn-2.2.1/frontends/CVS/Tag *** inn-2.2/frontends/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/frontends/CVS/Tag Wed Aug 25 09:25:54 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/frontends/inews.c inn-2.2.1/frontends/inews.c *** inn-2.2/frontends/inews.c Wed Aug 19 21:25:15 1998 --- inn-2.2.1/frontends/inews.c Sat Aug 21 23:25:10 1999 *************** *** 1,4 **** ! /* $Revision: 1.15 $ ** ** Send an article (prepared by someone on the local site) to the ** master news server. --- 1,4 ---- ! /* $Revision: 1.15.2.5 $ ** ** Send an article (prepared by someone on the local site) to the ** master news server. *************** *** 29,35 **** #define HEADER_DELTA 20 #define GECOSTERM(c) \ ((c) == ',' || (c) == ';' || (c) == ':' || (c) == LPAREN) ! typedef enum _HEADERTYPE { HTobs, --- 29,35 ---- #define HEADER_DELTA 20 #define GECOSTERM(c) \ ((c) == ',' || (c) == ';' || (c) == ':' || (c) == LPAREN) ! #define HEADER_STRLEN 998 typedef enum _HEADERTYPE { HTobs, *************** *** 45,51 **** char *Value; } HEADER; - STATIC char *tmpPtr ; STATIC BOOL Dump; STATIC BOOL Revoked; --- 45,50 ---- *************** *** 121,127 **** QuitServer(x) int x; { ! char buff[NNTP_STRLEN + 2]; char *p; if (Spooling) --- 120,126 ---- QuitServer(x) int x; { ! char buff[HEADER_STRLEN]; char *p; if (Spooling) *************** *** 343,352 **** *p = '\0'; if (buff[0] == '.' && buff[1] == '\0') break; ! if (EQn(buff, "Sender:", 7)) ! (void)strcpy(remotefrom, TrimSpaces(&buff[7])); ! else if (remotefrom[0] == '\0' && EQn(buff, "From:", 5)) ! (void)strcpy(remotefrom, TrimSpaces(&buff[5])); } if (remotefrom[0] == '\0') { if (JustReturn) --- 342,355 ---- *p = '\0'; if (buff[0] == '.' && buff[1] == '\0') break; ! if (EQn(buff, "Sender:", 7)) { ! strncpy(remotefrom, TrimSpaces(&buff[7]), SMBUF); ! remotefrom[SMBUF - 1] = '\0'; ! } ! else if (remotefrom[0] == '\0' && EQn(buff, "From:", 5)) { ! strncpy(remotefrom, TrimSpaces(&buff[5]), SMBUF); ! remotefrom[SMBUF - 1] = '\0'; ! } } if (remotefrom[0] == '\0') { if (JustReturn) *************** *** 357,363 **** HeaderCleanFrom(remotefrom); /* Get the local user. */ ! (void)strcpy(localfrom, HDR(_sender) ? HDR(_sender) : HDR(_from)); HeaderCleanFrom(localfrom); /* Is the right person cancelling? */ --- 360,367 ---- HeaderCleanFrom(remotefrom); /* Get the local user. */ ! (void)strncpy(localfrom, HDR(_sender) ? HDR(_sender) : HDR(_from), SMBUF); ! localfrom[SMBUF - 1] = '\0'; HeaderCleanFrom(localfrom); /* Is the right person cancelling? */ *************** *** 449,455 **** || EQ(ctrl, "sendsys") || EQ(ctrl, "senduuname") || EQ(ctrl, "version")) { ! (void)strcpy(name, pwp->pw_name); if (!AnAdministrator(name, (int)pwp->pw_gid)) { (void)fprintf(stderr, "Ask your news administrator to do the \"%s\" for you.\n", --- 453,460 ---- || EQ(ctrl, "sendsys") || EQ(ctrl, "senduuname") || EQ(ctrl, "version")) { ! strncpy(name, pwp->pw_name, SMBUF); ! name[SMBUF - 1] = '\0'; if (!AnAdministrator(name, (int)pwp->pw_gid)) { (void)fprintf(stderr, "Ask your news administrator to do the \"%s\" for you.\n", *************** *** 481,490 **** struct passwd *pwp; char *node; { - char buff[BUFSIZ]; char outbuff[SMBUF]; char *out; char *p; #if !defined(DONT_MUNGE_GETENV) (void)memset(outbuff, 0, SMBUF); --- 486,496 ---- struct passwd *pwp; char *node; { char outbuff[SMBUF]; + char *buff; char *out; char *p; + int left; #if !defined(DONT_MUNGE_GETENV) (void)memset(outbuff, 0, SMBUF); *************** *** 497,522 **** #if defined(DONT_MUNGE_GECOS) ! (void)strcpy(outbuff, pwp->pw_gecos); #else p = pwp->pw_gecos; if (*p == '*') p++; ! for (out = outbuff; *p && !GECOSTERM(*p); p++) { if (*p == '&') { ! (void)strcpy(out, pwp->pw_name); if (CTYPE(islower, *out) && (out == outbuff || !isalpha(out[-1]))) *out = toupper(*out); ! while (*out) out++; } else if (*p == '-' && p > pwp->pw_gecos ! && (isdigit(p[-1]) || isspace(p[-1]) || p[-1] == ']')) out = outbuff; ! else *out++ = *p; } *out = '\0'; #endif /* defined(DONT_MUNGE_GECOS) */ --- 503,539 ---- #if defined(DONT_MUNGE_GECOS) ! strncpy(outbuff, pwp->pw_gecos, SMBUF); ! outbuff[SMBUF - 1] = '\0'; #else + /* Be very careful here. If we're not, we can potentially overflow our + * buffer. Remember that on some Unix systems, the content of the GECOS + * field is under (untrusted) user control and we could be setgid. */ p = pwp->pw_gecos; + left = SMBUF - 1; if (*p == '*') p++; ! for (out = outbuff; *p && !GECOSTERM(*p) && left; p++) { if (*p == '&') { ! strncpy(out, pwp->pw_name, left); if (CTYPE(islower, *out) && (out == outbuff || !isalpha(out[-1]))) *out = toupper(*out); ! while (*out) { out++; + left--; + } } else if (*p == '-' && p > pwp->pw_gecos ! && (isdigit(p[-1]) || isspace(p[-1]) || p[-1] == ']')) { out = outbuff; ! left = SMBUF - 1; ! } ! else { *out++ = *p; + left--; + } } *out = '\0'; #endif /* defined(DONT_MUNGE_GECOS) */ *************** *** 526,536 **** #endif /* !defined(DONT_MUNGE_GETENV) */ out = TrimSpaces(outbuff); ! if (out[0]) ! (void)sprintf(buff, "%s@%s (%s)", pwp->pw_name, node, out); ! else ! (void)sprintf(buff, "%s@%s", pwp->pw_name, node); ! return COPY(buff); } --- 543,558 ---- #endif /* !defined(DONT_MUNGE_GETENV) */ out = TrimSpaces(outbuff); ! if (out[0]) { ! buff = NEW(char, (strlen(pwp->pw_name) + 1 + strlen(node) + 2 ! + strlen(out) + 2)); ! sprintf(buff, "%s@%s (%s)", pwp->pw_name, node, out); ! } ! else { ! buff = NEW(char, strlen(pwp->pw_name) + 1 + strlen(node) + 1); ! sprintf(buff, "%s@%s", pwp->pw_name, node); ! } ! return buff; } *************** *** 597,604 **** if (HDR(_from) == NULL) HDR(_from) = FormatUserName(pwp, p); else { (void)sprintf(buff, "%s@%s", pwp->pw_name, p); ! (void)strcpy(from, HDR(_from)); HeaderCleanFrom(from); if (!EQ(from, buff)) HDR(_sender) = COPY(buff); --- 619,631 ---- if (HDR(_from) == NULL) HDR(_from) = FormatUserName(pwp, p); else { + if (strlen(pwp->pw_name) + strlen(p) + 2 > sizeof(buff)) { + fprintf(stderr, "Username and host too long\n"); + QuitServer(1); + } (void)sprintf(buff, "%s@%s", pwp->pw_name, p); ! (void)strncpy(from, HDR(_from), SMBUF); ! from[SMBUF - 1] = '\0'; HeaderCleanFrom(from); if (!EQ(from, buff)) HDR(_sender) = COPY(buff); *************** *** 614,620 **** * printf's treat it %02 (two digits wide) .2 (zero-fill to at least * two digits), while old versions treat it as %02 (zero-fill two * digits wide) .2 (noise). You might want to check this on your ! * system. */ if (Now.tzone < 0) { p = &SIGNS[0]; zone = -Now.tzone; --- 641,647 ---- * printf's treat it %02 (two digits wide) .2 (zero-fill to at least * two digits), while old versions treat it as %02 (zero-fill two * digits wide) .2 (noise). You might want to check this on your ! * system. This shouldn't be able to overflow SMBUF... */ if (Now.tzone < 0) { p = &SIGNS[0]; zone = -Now.tzone; *************** *** 772,777 **** --- 799,808 ---- /* Open the file. */ *linesp = 0; + if (strlen(homedir) > sizeof(buff) - 14) { + fprintf(stderr, "Home directory path too long\n"); + QuitServer(1); + } (void)sprintf(buff, "%s/.signature", homedir); if ((F = fopen(buff, "r")) == NULL) { if (errno == ENOENT) *************** *** 898,903 **** --- 929,938 ---- * in case %s isn't in innconf->mta) and send the headers. */ if (innconf->mta == NULL) PerrorExit(TRUE, "Can't start mailer - not set"); + if (strlen(innconf->mta) > sizeof(buff)) { + fprintf(stderr, "Mailer command is too long\n"); + QuitServer(1); + } (void)sprintf(buff, innconf->mta, address); if ((F = popen(buff, "w")) == NULL) PerrorExit(TRUE, "Can't start mailer"); *************** *** 1085,1091 **** { (void)fprintf(ToServer, "post\r\n"); SafeFlush(ToServer); ! if (fgets(buff, NNTP_STRLEN, FromServer) == NULL) PerrorExit(TRUE, Authorized ? "Can't offer article to server (authorized)" : "Can't offer article to server"); --- 1120,1126 ---- { (void)fprintf(ToServer, "post\r\n"); SafeFlush(ToServer); ! if (fgets(buff, HEADER_STRLEN, FromServer) == NULL) PerrorExit(TRUE, Authorized ? "Can't offer article to server (authorized)" : "Can't offer article to server"); *************** *** 1174,1181 **** struct passwd *pwp; char *article; char *deadfile; ! char buff[NNTP_STRLEN + 2]; ! char SpoolMessage[NNTP_STRLEN + 2]; BOOL DoSignature; BOOL AddOrg; SIZE_T Length; --- 1209,1216 ---- struct passwd *pwp; char *article; char *deadfile; ! char buff[HEADER_STRLEN]; ! char SpoolMessage[HEADER_STRLEN]; BOOL DoSignature; BOOL AddOrg; SIZE_T Length; *************** *** 1271,1276 **** --- 1306,1315 ---- if ((p = strchr(buff, '\r')) != NULL) *p = '\0'; (void)strcpy(SpoolMessage, buff[0] ? buff : NOCONNECT); + if (strlen(pwp->pw_dir) > sizeof(buff) - 14) { + fprintf(stderr, "Home directory path too long\n"); + exit(1); + } (void)sprintf(buff, "%s/dead.article", pwp->pw_dir); deadfile = COPY(buff); } *************** *** 1283,1289 **** setbuf(ToServer, NEW(char, BUFSIZ)); (void)fprintf(ToServer, "mode reader\r\n"); SafeFlush(ToServer); ! if (fgets(buff, NNTP_STRLEN, FromServer) == NULL) PerrorExit(TRUE, "Can't tell server we're reading"); if ((j = atoi(buff)) != NNTP_BAD_COMMAND_VAL) i = j; --- 1322,1328 ---- setbuf(ToServer, NEW(char, BUFSIZ)); (void)fprintf(ToServer, "mode reader\r\n"); SafeFlush(ToServer); ! if (fgets(buff, HEADER_STRLEN, FromServer) == NULL) PerrorExit(TRUE, "Can't tell server we're reading"); if ((j = atoi(buff)) != NNTP_BAD_COMMAND_VAL) i = j; *************** *** 1313,1319 **** if ((innconf->localmaxartsize > 0) && (Length > innconf->localmaxartsize)) { (void)fprintf(stderr, "Article is bigger then local limit of %ld bytes\n", ! atoi(p)); QuitServer(1); } --- 1352,1358 ---- if ((innconf->localmaxartsize > 0) && (Length > innconf->localmaxartsize)) { (void)fprintf(stderr, "Article is bigger then local limit of %ld bytes\n", ! innconf->localmaxartsize); QuitServer(1); } *************** *** 1323,1337 **** QuitServer(1); } for (hp = Table; hp < ENDOF(Table); hp++) ! if (hp->Value && (int)strlen(hp->Value) + hp->Size > NNTP_STRLEN) { (void)fprintf(stderr, "\"%s\" header is too long.\n", hp->Name); QuitServer(1); } for (i = 0; i < OtherCount; i++) ! if ((int)strlen(OtherHeaders[i]) > NNTP_STRLEN) { (void)fprintf(stderr, "Header too long (%d characters max):\n\t%40.40s...\n", ! NNTP_STRLEN, OtherHeaders[i]); QuitServer(1); } --- 1362,1376 ---- QuitServer(1); } for (hp = Table; hp < ENDOF(Table); hp++) ! if (hp->Value && (int)strlen(hp->Value) + hp->Size > HEADER_STRLEN) { (void)fprintf(stderr, "\"%s\" header is too long.\n", hp->Name); QuitServer(1); } for (i = 0; i < OtherCount; i++) ! if ((int)strlen(OtherHeaders[i]) > HEADER_STRLEN) { (void)fprintf(stderr, "Header too long (%d characters max):\n\t%40.40s...\n", ! HEADER_STRLEN, OtherHeaders[i]); QuitServer(1); } diff -Nacr inn-2.2/include/CVS/Entries inn-2.2.1/include/CVS/Entries *** inn-2.2/include/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/include/CVS/Entries Wed Aug 25 09:25:57 1999 *************** *** 0 **** --- 1,21 ---- + /clibrary.h.in/1.7/Thu Jun 11 22:59:42 1998//TINN-2_2_1 + /conffile.h/1.1/Thu Aug 20 04:26:18 1998//TINN-2_2_1 + /config.h.in/1.30.2.1/Fri Oct 23 14:38:46 1998//TINN-2_2_1 + /configdata.h/1.37/Tue Oct 13 23:17:50 1998//TINN-2_2_1 + /dbz.h/1.13/Tue Oct 13 23:17:50 1998//TINN-2_2_1 + /innconf.h/1.14.2.2/Sat Nov 7 03:00:24 1998//TINN-2_2_1 + /inndcomm.h/1.5/Sun Jan 18 04:06:49 1998//TINN-2_2_1 + /libinn.h/1.47.2.1/Sat Nov 7 03:00:25 1998//TINN-2_2_1 + /macros.h/1.3/Thu May 21 04:07:15 1998//TINN-2_2_1 + /md5.h/1.3/Fri May 8 06:00:40 1998//TINN-2_2_1 + /mydir.h/1.2/Wed May 20 10:08:08 1998//TINN-2_2_1 + /mymemory.h/1.1.1.1/Mon Aug 4 04:03:46 1997//TINN-2_2_1 + /myserver.h/1.1.1.1/Mon Aug 4 04:03:46 1997//TINN-2_2_1 + /mystring.h/1.1.1.1/Mon Aug 4 04:03:46 1997//TINN-2_2_1 + /nntp.h/1.2/Mon Sep 22 17:54:44 1997//TINN-2_2_1 + /patchlevel.h/1.6.2.4/Wed Aug 25 16:02:10 1999//TINN-2_2_1 + /paths.h.in/1.25/Tue Oct 13 12:18:45 1998//TINN-2_2_1 + /qio.h/1.3/Mon Nov 10 21:30:34 1997//TINN-2_2_1 + /storage.h/1.7/Mon May 25 22:39:21 1998//TINN-2_2_1 + /uio.h/1.1.1.1/Mon Aug 4 04:03:46 1997//TINN-2_2_1 + D diff -Nacr inn-2.2/include/CVS/Repository inn-2.2.1/include/CVS/Repository *** inn-2.2/include/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/include/CVS/Repository Wed Aug 25 09:25:55 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/include diff -Nacr inn-2.2/include/CVS/Root inn-2.2.1/include/CVS/Root *** inn-2.2/include/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/include/CVS/Root Wed Aug 25 09:25:55 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/include/CVS/Tag inn-2.2.1/include/CVS/Tag *** inn-2.2/include/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/include/CVS/Tag Wed Aug 25 09:25:56 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/include/patchlevel.h inn-2.2.1/include/patchlevel.h *** inn-2.2/include/patchlevel.h Thu Jan 21 02:30:16 1999 --- inn-2.2.1/include/patchlevel.h Wed Aug 25 09:02:10 1999 *************** *** 1,5 **** /* ! * $Revision: 1.6.2.3 $ */ --- 1,5 ---- /* ! * $Revision: 1.6.2.4 $ */ *************** *** 13,23 **** ** Try to avoid changing these. */ #define RELEASE "2" ! #define PATCHLEVEL "2" ! #define DATE "21-Jan-1999" #define RELEASE_C 2 #define PATCHLEVEL_C 2 ! #define SUB_PATCHLEVEL_C 0 /* --- 13,23 ---- ** Try to avoid changing these. */ #define RELEASE "2" ! #define PATCHLEVEL "2.1" ! #define DATE "25-Aug-1999" #define RELEASE_C 2 #define PATCHLEVEL_C 2 ! #define SUB_PATCHLEVEL_C 1 /* diff -Nacr inn-2.2/innd/CVS/Entries inn-2.2.1/innd/CVS/Entries *** inn-2.2/innd/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/innd/CVS/Entries Wed Aug 25 09:26:00 1999 *************** *** 0 **** --- 1,23 ---- + /Makefile/1.33/Sun Aug 30 23:03:25 1998//TINN-2_2_1 + /art.c/1.90.2.9/Sun Aug 8 21:56:53 1999//TINN-2_2_1 + /art.h/1.2/Mon Aug 25 22:31:17 1997//TINN-2_2_1 + /cc.c/1.47.2.6/Thu Jul 8 21:18:34 1999//TINN-2_2_1 + /chan.c/1.32.2.1/Wed Nov 11 22:56:12 1998//TINN-2_2_1 + /his.c/1.33.2.4/Sat Dec 26 16:16:10 1998//TINN-2_2_1 + /icd.c/1.13/Wed Oct 21 07:28:06 1998//TINN-2_2_1 + /innd.c/1.40.2.3/Thu Jul 8 21:18:34 1999//TINN-2_2_1 + /innd.h/1.44.2.1/Tue Mar 2 03:10:48 1999//TINN-2_2_1 + /inndstart.c/1.16.2.2/Mon May 31 03:30:41 1999//TINN-2_2_1 + /lc.c/1.7/Wed Jun 3 07:22:06 1998//TINN-2_2_1 + /nc.c/1.37.2.5/Fri Jun 11 03:19:34 1999//TINN-2_2_1 + /newsfeeds.c/1.18.4.4/Mon Feb 1 07:20:02 1999//TINN-2_2_1 + /ng.c/1.15/Tue Oct 6 14:25:29 1998//TINN-2_2_1 + /perl.c/1.7.2.2/Fri Jun 25 05:52:45 1999//TINN-2_2_1 + /proc.c/1.4/Tue Apr 14 20:28:16 1998//TINN-2_2_1 + /rc.c/1.31.2.3/Wed Jan 27 15:27:29 1999//TINN-2_2_1 + /site.c/1.22.2.1/Mon Apr 19 06:54:46 1999//TINN-2_2_1 + /status.c/1.12.2.1/Sun Jun 20 21:56:36 1999//TINN-2_2_1 + /tcl.c/1.6/Tue Apr 14 20:28:17 1998//TINN-2_2_1 + /timer.c/1.9/Tue Jul 14 00:01:28 1998//TINN-2_2_1 + /wip.c/1.8/Tue Apr 14 20:28:17 1998//TINN-2_2_1 + D diff -Nacr inn-2.2/innd/CVS/Repository inn-2.2.1/innd/CVS/Repository *** inn-2.2/innd/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/innd/CVS/Repository Wed Aug 25 09:25:58 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/innd diff -Nacr inn-2.2/innd/CVS/Root inn-2.2.1/innd/CVS/Root *** inn-2.2/innd/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/innd/CVS/Root Wed Aug 25 09:25:58 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/innd/CVS/Tag inn-2.2.1/innd/CVS/Tag *** inn-2.2/innd/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/innd/CVS/Tag Wed Aug 25 09:25:58 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/innd/art.c inn-2.2.1/innd/art.c *** inn-2.2/innd/art.c Sun Jan 10 17:38:47 1999 --- inn-2.2.1/innd/art.c Sun Aug 8 14:56:53 1999 *************** *** 1,4 **** ! /* $Id: art.c,v 1.90.2.4 1999/01/11 01:38:47 kondou Exp $ ** ** Article-processing. */ --- 1,4 ---- ! /* $Id: art.c,v 1.90.2.9 1999/08/08 21:56:53 kondou Exp $ ** ** Article-processing. */ *************** *** 1008,1015 **** *out++ = *in++; } *out = '\0'; Article->Used = out - Article->Data; ! Data->LinesValue = i; if (innconf->linecountfuzz) { p = HDR(_lines); --- 1008,1023 ---- *out++ = *in++; } *out = '\0'; + if (Article->Data + Article->Used != in + 1) { + i++; + (void)sprintf(buff, "Line %d includes null character", i); + return buff; + } Article->Used = out - Article->Data; ! if (innconf->storageapi) ! Data->LinesValue = (i - 1 < 0) ? 0 : (i - 1); ! else ! Data->LinesValue = i; if (innconf->linecountfuzz) { p = HDR(_lines); *************** *** 2195,2201 **** #if defined(DO_PERL) pathForPerl = HeaderFindMem(article->Data, article->Used, "Path", 4) ; TMRstart(TMR_PERL); ! perlrc = (char *)HandleArticle(Data.Body); TMRstop(TMR_PERL); if (perlrc != NULL) { (void)sprintf(buff, "%d %s", NNTP_REJECTIT_VAL, perlrc); --- 2203,2209 ---- #if defined(DO_PERL) pathForPerl = HeaderFindMem(article->Data, article->Used, "Path", 4) ; TMRstart(TMR_PERL); ! perlrc = (char *)HandleArticle(Data.Body, Data.LinesValue); TMRstop(TMR_PERL); if (perlrc != NULL) { (void)sprintf(buff, "%d %s", NNTP_REJECTIT_VAL, perlrc); *************** *** 2381,2388 **** ngp->PostCount = 0; /* Ignore this group? */ ! if (ngp->Rest[0] == NF_FLAG_IGNORE) continue; /* Basic validity check. */ if (ngp->Rest[0] == NF_FLAG_MODERATED && !Approved) { --- 2389,2401 ---- ngp->PostCount = 0; /* Ignore this group? */ ! if (ngp->Rest[0] == NF_FLAG_IGNORE) { ! /* See if any of this group's sites considers this group poison. */ ! for (isp = ngp->Poison, i = ngp->nPoison; --i >= 0; isp++) ! if (*isp >= 0) ! Sites[*isp].Poison = TRUE; continue; + } /* Basic validity check. */ if (ngp->Rest[0] == NF_FLAG_MODERATED && !Approved) { *************** *** 2511,2517 **** for (isp = ngp->Sites, i = ngp->nSites; --i >= 0; isp++) if (*isp >= 0) { sp = &Sites[*isp]; ! if (!sp->Poison) SITEmark(sp, ngp); } } --- 2524,2530 ---- for (isp = ngp->Sites, i = ngp->nSites; --i >= 0; isp++) if (*isp >= 0) { sp = &Sites[*isp]; ! if (!sp->Poison && !(sp->ControlOnly && (ControlHeader < 0))) SITEmark(sp, ngp); } } *************** *** 2564,2570 **** token = ARTstore(article, &Data); if (token.type == TOKEN_EMPTY) { ! syslog(L_ERROR, "%s cant store article", LogName); sprintf(buff, "%d cant store article", NNTP_RESENDIT_VAL); ARTlog(&Data, ART_REJECT, buff); if ((Mode == OMrunning) && !HISremember(hash)) --- 2577,2586 ---- token = ARTstore(article, &Data); if (token.type == TOKEN_EMPTY) { ! if (SMerrno != SMERR_NOERROR) ! syslog(L_ERROR, "%s cant store article: %s", LogName, SMerrorstr); ! else ! syslog(L_ERROR, "%s cant store article: no matching entry in storage.conf", LogName); sprintf(buff, "%d cant store article", NNTP_RESENDIT_VAL); ARTlog(&Data, ART_REJECT, buff); if ((Mode == OMrunning) && !HISremember(hash)) diff -Nacr inn-2.2/innd/cc.c inn-2.2.1/innd/cc.c *** inn-2.2/innd/cc.c Thu Oct 8 15:28:29 1998 --- inn-2.2.1/innd/cc.c Thu Jul 8 14:18:34 1999 *************** *** 1,4 **** ! /* $Id: cc.c,v 1.47 1998/10/08 22:28:29 kondou Exp $ ** ** Routines for the control channel. Create a Unix-domain datagram socket ** that processes on the local server send messages to. The control --- 1,4 ---- ! /* $Id: cc.c,v 1.47.2.6 1999/07/08 21:18:34 kondou Exp $ ** ** Routines for the control channel. Create a Unix-domain datagram socket ** that processes on the local server send messages to. The control *************** *** 243,266 **** HASH hash; int i; TOKEN token; - OFFSET_T offset; - unsigned char index; - unsigned short len; /* Check to see if we were passed a hash first. */ i = strlen(av[0]); if (av[0][0]=='[' && av[0][i-1] == ']') { if (i != ((sizeof(HASH) * 2) + 2)) return "1 Bad Hash"; - index = OVER_NONE; - offset = 0; - len = 0; - OVERsetoffset(&token, &offset, &index, &len); if (av[4] != NULL && *av[4] != '\0') { if (!IsToken(av[4])) return "1 Bad Token"; else token = TextToToken(av[4]); } hash = TextToHash(&av[0][1]); /* Put something bogus in here. This should never be referred --- 243,261 ---- HASH hash; int i; TOKEN token; /* Check to see if we were passed a hash first. */ i = strlen(av[0]); if (av[0][0]=='[' && av[0][i-1] == ']') { if (i != ((sizeof(HASH) * 2) + 2)) return "1 Bad Hash"; if (av[4] != NULL && *av[4] != '\0') { if (!IsToken(av[4])) return "1 Bad Token"; else token = TextToToken(av[4]); + } else { + OVERmaketoken(&token, (OFFSET_T)0, OVER_NONE, 0); } hash = TextToHash(&av[0][1]); /* Put something bogus in here. This should never be referred *************** *** 638,643 **** --- 633,644 ---- #include #include + /* Perl 5.004 didn't define ERRSV and PL_na was called na. */ + #ifndef ERRSV + # define ERRSV GvSV(errgv) + # define PL_na na + #endif + extern CV *perl_filter_cv ; STATIC STRING *************** *** 749,755 **** Mode = OMrunning; ThrottledbyIOError = FALSE; ! if (NNRPReason && innconf->readerswhenstopped) { av[0] = YES; av[1] = p; (void)CCreaders(av); --- 750,756 ---- Mode = OMrunning; ThrottledbyIOError = FALSE; ! if (NNRPReason && !innconf->readerswhenstopped) { av[0] = YES; av[1] = p; (void)CCreaders(av); *************** *** 760,770 **** if (innconf->storageapi) { int fdcountold = Overfdcount; if (!OVERinit()) { ! syslog(L_FATAL, "%s cant initialize the unified overview"); exit(1); } if ((Overfdcount = OVERgetnum()) < 0) { ! syslog(L_FATAL, "%s cant get config for the unified overview"); exit(1); } if (fdcountold != Overfdcount) { --- 761,771 ---- if (innconf->storageapi) { int fdcountold = Overfdcount; if (!OVERinit()) { ! syslog(L_FATAL, "%s cant initialize the unified overview", LogName); exit(1); } if ((Overfdcount = OVERgetnum()) < 0) { ! syslog(L_FATAL, "%s cant get config for the unified overview", LogName); exit(1); } if (fdcountold != Overfdcount) { *************** *** 1211,1217 **** if (ModeReason) DISPOSE(ModeReason); ModeReason = COPY(reason); ! if (NNRPReason == NULL && innconf->readerswhenstopped) { av[0] = NO; av[1] = ModeReason; (void)CCreaders(av); --- 1212,1218 ---- if (ModeReason) DISPOSE(ModeReason); ModeReason = COPY(reason); ! if (NNRPReason == NULL && !innconf->readerswhenstopped) { av[0] = NO; av[1] = ModeReason; (void)CCreaders(av); *************** *** 1353,1363 **** if (innconf->storageapi) { int fdcountold = Overfdcount; if (!OVERinit()) { ! syslog(L_FATAL, "%s cant initialize the unified overview"); exit(1); } if ((Overfdcount = OVERgetnum()) < 0) { ! syslog(L_FATAL, "%s cant get config for the unified overview"); exit(1); } if (fdcountold != Overfdcount) { --- 1354,1364 ---- if (innconf->storageapi) { int fdcountold = Overfdcount; if (!OVERinit()) { ! syslog(L_FATAL, "%s cant initialize the unified overview", LogName); exit(1); } if ((Overfdcount = OVERgetnum()) < 0) { ! syslog(L_FATAL, "%s cant get config for the unified overview", LogName); exit(1); } if (fdcountold != Overfdcount) { *************** *** 1397,1407 **** int fdcountold = Overfdcount; OVERshutdown(); if (!OVERinit()) { ! syslog(L_FATAL, "%s cant initialize the unified overview"); exit(1); } if ((Overfdcount = OVERgetnum()) < 0) { ! syslog(L_FATAL, "%s cant get config for the unified overview"); exit(1); } if (fdcountold != Overfdcount) { --- 1398,1408 ---- int fdcountold = Overfdcount; OVERshutdown(); if (!OVERinit()) { ! syslog(L_FATAL, "%s cant initialize the unified overview", LogName); exit(1); } if ((Overfdcount = OVERgetnum()) < 0) { ! syslog(L_FATAL, "%s cant get config for the unified overview", LogName); exit(1); } if (fdcountold != Overfdcount) { *************** *** 2152,2157 **** --- 2153,2161 ---- dXSARGS; char* newsgroup; NEWSGROUP* ngp; + char* end; + char* rest; + int size; if (items != 1) croak("Usage: INN::newsgroup(msgid)"); *************** *** 2159,2166 **** if ((ngp = NGfind(newsgroup)) == NULL) XSRETURN_UNDEF; ! else ! XSRETURN_PV(ngp->Rest); } XS(XS_INN_filesfor) --- 2163,2190 ---- if ((ngp = NGfind(newsgroup)) == NULL) XSRETURN_UNDEF; ! else { ! /* ngp->Rest is newline-terminated; find the end. */ ! end = strchr(ngp->Rest, '\n'); ! if (end == NULL) { ! size = strlen(ngp->Rest); ! } else { ! size = end - ngp->Rest; ! } ! ! if (CCperlbuff.Data == NULL) { ! CCperlbuff.Size = SITE_BUFFER_SIZE; ! CCperlbuff.Data = NEW(char, CCperlbuff.Size); ! } ! ! /* SITE_BUFFER_SIZE should be *huge* for this, but be paranoid. */ ! if (size > SITE_BUFFER_SIZE + 1) ! size = SITE_BUFFER_SIZE; ! ! strncpy(CCperlbuff.Data, ngp->Rest, size); ! CCperlbuff.Data[size] = '\0'; ! XSRETURN_PV(CCperlbuff.Data); ! } } XS(XS_INN_filesfor) *************** *** 2194,2200 **** if (items != 1) croak("Usage: INN::head(msgid)"); ! msgid = (char *)SvPV(ST(0),na); /* Get the article filenames; open the first file */ if ((q = HISfilesfor(HashMessageID(msgid))) == NULL) { --- 2218,2224 ---- if (items != 1) croak("Usage: INN::head(msgid)"); ! msgid = (char *)SvPV(ST(0),PL_na); /* Get the article filenames; open the first file */ if ((q = HISfilesfor(HashMessageID(msgid))) == NULL) { *************** *** 2238,2244 **** if (items != 1) croak("Usage: INN::article(msgid)"); ! msgid = (char *)SvPV(ST(0),na); /* Get the article filenames; open the first file */ if ((q = HISfilesfor(HashMessageID(msgid))) == NULL) { --- 2262,2268 ---- if (items != 1) croak("Usage: INN::article(msgid)"); ! msgid = (char *)SvPV(ST(0),PL_na); /* Get the article filenames; open the first file */ if ((q = HISfilesfor(HashMessageID(msgid))) == NULL) { *************** *** 2280,2287 **** if (items != 2) croak("Usage: INN::syslog(level, message)"); ! loglevel = (char *)SvPV(ST(0),na); ! logmsg = (char *)SvPV(ST(1),na); switch (*loglevel) { default: priority = LOG_NOTICE ; --- 2304,2311 ---- if (items != 2) croak("Usage: INN::syslog(level, message)"); ! loglevel = (char *)SvPV(ST(0),PL_na); ! logmsg = (char *)SvPV(ST(1),PL_na); switch (*loglevel) { default: priority = LOG_NOTICE ; diff -Nacr inn-2.2/innd/innd.c inn-2.2.1/innd/innd.c *** inn-2.2/innd/innd.c Sat Sep 5 08:04:28 1998 --- inn-2.2.1/innd/innd.c Thu Jul 8 14:18:34 1999 *************** *** 1,4 **** ! /* $Id: innd.c,v 1.40 1998/09/05 15:04:28 kondou Exp $ ** ** Variable definitions, miscellany, and main(). */ --- 1,4 ---- ! /* $Id: innd.c,v 1.40.2.3 1999/07/08 21:18:34 kondou Exp $ ** ** Variable definitions, miscellany, and main(). */ *************** *** 75,81 **** BOOL FormatLong(p, value, width) register char *p; ! register long value; register int width; { for (p += width - 1; width-- > 0; ) { --- 75,81 ---- BOOL FormatLong(p, value, width) register char *p; ! register u_long value; register int width; { for (p += width - 1; width-- > 0; ) { *************** *** 639,646 **** default: Usage(); /* NOTREACHED */ ! case 'n': innconf->readerswhenstopped = TRUE; break; ! case 'y': innconf->readerswhenstopped = FALSE; break; } break; case 'o': --- 639,646 ---- default: Usage(); /* NOTREACHED */ ! case 'n': innconf->readerswhenstopped = FALSE; break; ! case 'y': innconf->readerswhenstopped = TRUE; break; } break; case 'o': *************** *** 709,725 **** val = FALSE; if (!OVERsetup(OVER_MMAP, &val)) { ! syslog(L_FATAL, "%s cant setup for the unified overview no mmap"); exit(1); } val = TRUE; if (!OVERsetup(OVER_PREOPEN, &val)) { ! syslog(L_FATAL, "%s cant setup for the unified overview preopen"); exit(1); } if (innconf->storageapi && (Overfdcount = OVERgetnum()) < 0) { ! syslog(L_FATAL, "%s cant get config for the unified overview"); exit(1); } --- 709,725 ---- val = FALSE; if (!OVERsetup(OVER_MMAP, &val)) { ! syslog(L_FATAL, "%s cant setup for the unified overview no mmap", LogName); exit(1); } val = TRUE; if (!OVERsetup(OVER_PREOPEN, &val)) { ! syslog(L_FATAL, "%s cant setup for the unified overview preopen", LogName); exit(1); } if (innconf->storageapi && (Overfdcount = OVERgetnum()) < 0) { ! syslog(L_FATAL, "%s cant get config for the unified overview", LogName); exit(1); } diff -Nacr inn-2.2/innd/innd.h inn-2.2.1/innd/innd.h *** inn-2.2/innd/innd.h Thu Oct 8 15:28:29 1998 --- inn-2.2.1/innd/innd.h Mon Mar 1 19:10:48 1999 *************** *** 1,4 **** ! /* $Revision: 1.44 $ ** ** Many of the data types used here have abbreviations, such as CT ** for CHANNELTYPE. Here are a list of the conventions and meanings: --- 1,4 ---- ! /* $Revision: 1.44.2.1 $ ** ** Many of the data types used here have abbreviations, such as CT ** for CHANNELTYPE. Here are a list of the conventions and meanings: *************** *** 212,218 **** int Lastwidth; int PostCount; /* Have we already put it here? */ char *LastString; ! char *Rest; SITEIDX nSites; int *Sites; SITEIDX nPoison; --- 212,218 ---- int Lastwidth; int PostCount; /* Have we already put it here? */ char *LastString; ! char *Rest; /* Flags, NOT NULL TERMINATED */ SITEIDX nSites; int *Sites; SITEIDX nPoison; diff -Nacr inn-2.2/innd/inndstart.c inn-2.2.1/innd/inndstart.c *** inn-2.2/innd/inndstart.c Fri Jun 19 04:29:58 1998 --- inn-2.2.1/innd/inndstart.c Sun May 30 20:30:41 1999 *************** *** 1,7 **** ! /* $Id: inndstart.c,v 1.16 1998/06/19 11:29:58 scrappy Exp $ ** ** Open the privileged port, then exec innd. */ #include #include #include --- 1,8 ---- ! /* $Id: inndstart.c,v 1.16.2.2 1999/05/31 03:30:41 kondou Exp $ ** ** Open the privileged port, then exec innd. */ + #include #include #include #include *************** *** 69,74 **** --- 70,76 ---- STRING env[8]; struct stat Sb; char *inndpath; + struct passwd *pwd; (void)openlog("inndstart", L_OPENLOG_FLAGS, LOG_INN_PROG); *************** *** 77,82 **** --- 79,99 ---- /* Make sure INND directory exists. */ if (stat(innconf->pathrun, &Sb) < 0 || !S_ISDIR(Sb.st_mode)) { syslog(L_FATAL, "inndstart cant stat %s %m", innconf->pathrun); + exit(1); + } + if (Sb.st_uid == 0) { + syslog(L_FATAL, "inndstart %s must not be owned by root", innconf->pathrun); + exit(1); + } + pwd = getpwnam(NEWSUSER); + if (pwd == (struct passwd *)NULL) { + syslog(L_FATAL, "inndstart getpwnam(%s): %s", NEWSUSER, strerror(errno)); + exit(1); + } else if (pwd->pw_gid != Sb.st_gid) { + syslog(L_FATAL, "inndstart %s must have group %s", innconf->pathrun, NEWSGRP); + exit(1); + } else if (pwd->pw_uid != Sb.st_uid) { + syslog(L_FATAL, "inndstart %s must be owned by %s", innconf->pathrun, NEWSUSER); exit(1); } NewsUID = Sb.st_uid; diff -Nacr inn-2.2/innd/nc.c inn-2.2.1/innd/nc.c *** inn-2.2/innd/nc.c Sun Jan 17 15:15:13 1999 --- inn-2.2.1/innd/nc.c Thu Jun 10 20:19:34 1999 *************** *** 1,4 **** ! /* $Id: nc.c,v 1.37.2.4 1999/01/17 23:15:13 kondou Exp $ ** ** Routines for the NNTP channel. Other channels get the descriptors which ** we turn into NNTP channels, and over which we speak NNTP. --- 1,4 ---- ! /* $Id: nc.c,v 1.37.2.5 1999/06/11 03:19:34 kondou Exp $ ** ** Routines for the NNTP channel. Other channels get the descriptors which ** we turn into NNTP channels, and over which we speak NNTP. *************** *** 473,478 **** --- 473,480 ---- } (void)sprintf(cp->Sendid.Data, "%d %s", NNTP_HAVEIT_VAL, perlrc); NCwritereply(cp, cp->Sendid.Data); + DISPOSE(cp->Sendid.Data); + cp->Sendid.Size = 0; return; } #endif diff -Nacr inn-2.2/innd/newsfeeds.c inn-2.2.1/innd/newsfeeds.c *** inn-2.2/innd/newsfeeds.c Thu Jan 7 02:19:53 1999 --- inn-2.2.1/innd/newsfeeds.c Sun Jan 31 23:20:02 1999 *************** *** 1,4 **** ! /* $Id: newsfeeds.c,v 1.18.4.2 1999/01/07 10:19:53 kondou Exp $ ** ** Routines for the in-core data structures for the newsfeeds file. */ --- 1,4 ---- ! /* $Id: newsfeeds.c,v 1.18.4.4 1999/02/01 07:20:02 kondou Exp $ ** ** Routines for the in-core data structures for the newsfeeds file. */ *************** *** 134,139 **** --- 134,141 ---- pat++; if (!*pat) continue; + if (!*poisonEntry && poisonvalue) + *poisonEntry = TRUE; /* See if pattern is a simple newsgroup name. If so, set the * right subbed element for that one group (if found); if not, *************** *** 616,622 **** errors++; } ! if (errors && setuperrors) { if (errors) syslog(L_FATAL, "%s syntax_error %s", LogName, SITEfeedspath); if (setuperrors) --- 618,624 ---- errors++; } ! if (errors || setuperrors) { if (errors) syslog(L_FATAL, "%s syntax_error %s", LogName, SITEfeedspath); if (setuperrors) diff -Nacr inn-2.2/innd/perl.c inn-2.2.1/innd/perl.c *** inn-2.2/innd/perl.c Wed Jun 10 18:23:23 1998 --- inn-2.2.1/innd/perl.c Thu Jun 24 22:52:45 1999 *************** *** 3,15 **** * Author: Christophe Wolfhugel * (although he wouldn't recognise it anymore so don't blame him) * File: perl.c ! * RCSId: $Id: perl.c,v 1.7 1998/06/11 01:23:23 kondou Exp $ * Description: perl support for innd. * */ #if ! defined (lint) ! static const char *rcsid = "$Id: perl.c,v 1.7 1998/06/11 01:23:23 kondou Exp $" ; static void use_rcsid (const char *rid) { /* Never called */ use_rcsid (rcsid) ; use_rcsid (rid) ; } --- 3,15 ---- * Author: Christophe Wolfhugel * (although he wouldn't recognise it anymore so don't blame him) * File: perl.c ! * RCSId: $Id: perl.c,v 1.7.2.2 1999/06/25 05:52:45 kondou Exp $ * Description: perl support for innd. * */ #if ! defined (lint) ! static const char *rcsid = "$Id: perl.c,v 1.7.2.2 1999/06/25 05:52:45 kondou Exp $" ; static void use_rcsid (const char *rid) { /* Never called */ use_rcsid (rcsid) ; use_rcsid (rid) ; } *************** *** 33,46 **** #include #include extern BOOL PerlFilterActive; extern ARTHEADER ARTheaders[], *ARTheadersENDOF; extern CV *perl_filter_cv ; extern char *pathForPerl ; char * ! HandleArticle(artBody) ! char *artBody; { dSP; ARTHEADER *hp; --- 33,53 ---- #include #include + /* Perl 5.004 didn't define ERRSV and PL_na was called na. */ + #ifndef ERRSV + # define ERRSV GvSV(errgv) + # define PL_na na + #endif + extern BOOL PerlFilterActive; extern ARTHEADER ARTheaders[], *ARTheadersENDOF; extern CV *perl_filter_cv ; extern char *pathForPerl ; char * ! HandleArticle(artBody, lines) ! char* artBody; ! int lines; { dSP; ARTHEADER *hp; *************** *** 64,69 **** --- 71,79 ---- if (artBody != NULL) hv_store(hdr, (char *) "__BODY__", 8, newSVpv(artBody, 0), 0) ; + /* store article line count */ + hv_store(hdr, (char *) "__LINES__", 9, newSViv(lines), 0); + if (pathForPerl != NULL) { char *p = strchr (pathForPerl,'\n') ; *************** *** 84,93 **** buf [0] = '\0' ; ! if (SvTRUE(GvSV(errgv))) /* check $@ */ { syslog (L_ERROR,"Perl function filter_art died: %s", ! SvPV(GvSV(errgv), na)) ; POPs ; PerlFilter (FALSE) ; } --- 94,103 ---- buf [0] = '\0' ; ! if (SvTRUE(ERRSV)) /* check $@ */ { syslog (L_ERROR,"Perl function filter_art died: %s", ! SvPV(ERRSV, PL_na)) ; POPs ; PerlFilter (FALSE) ; } *************** *** 137,145 **** buf [0] = '\0' ; ! if (SvTRUE(GvSV(errgv))) { /* check $@ */ syslog (L_ERROR,"Perl function filter_messageid died: %s", ! SvPV(GvSV(errgv), na)) ; POPs ; PerlFilter (FALSE) ; } --- 147,155 ---- buf [0] = '\0' ; ! if (SvTRUE(ERRSV)) { /* check $@ */ syslog (L_ERROR,"Perl function filter_messageid died: %s", ! SvPV(ERRSV, PL_na)) ; POPs ; PerlFilter (FALSE) ; } *************** *** 191,199 **** if (perl_get_cv("filter_mode", FALSE) != NULL) { perl_call_argv("filter_mode", G_EVAL|G_DISCARD|G_NOARGS, NULL); ! if (SvTRUE(GvSV(errgv))) { /* check $@ */ syslog (L_ERROR,"Perl function filter_mode died: %s", ! SvPV(GvSV(errgv), na)) ; POPs ; PerlFilter (FALSE) ; } --- 201,209 ---- if (perl_get_cv("filter_mode", FALSE) != NULL) { perl_call_argv("filter_mode", G_EVAL|G_DISCARD|G_NOARGS, NULL); ! if (SvTRUE(ERRSV)) { /* check $@ */ syslog (L_ERROR,"Perl function filter_mode died: %s", ! SvPV(ERRSV, PL_na)) ; POPs ; PerlFilter (FALSE) ; } diff -Nacr inn-2.2/innd/rc.c inn-2.2.1/innd/rc.c *** inn-2.2/innd/rc.c Mon Jan 18 19:14:56 1999 --- inn-2.2.1/innd/rc.c Wed Jan 27 07:27:29 1999 *************** *** 1,4 **** ! /* $Id: rc.c,v 1.31.2.2 1999/01/19 03:14:56 kondou Exp $ ** ** Routines for the remote connect channel. Create an Internet stream socket ** that processes connect to. If the incoming site is not one of our feeds, --- 1,4 ---- ! /* $Id: rc.c,v 1.31.2.3 1999/01/27 15:27:29 kondou Exp $ ** ** Routines for the remote connect channel. Create an Internet stream socket ** that processes connect to. If the incoming site is not one of our feeds, *************** *** 642,648 **** register REMOTEHOST *group_params = NULL; register REMOTEHOST peer_params; register REMOTEHOST default_params; ! BOOL bool; if (*list) { --- 642,648 ---- register REMOTEHOST *group_params = NULL; register REMOTEHOST peer_params; register REMOTEHOST default_params; ! BOOL flag; if (*list) { *************** *** 971,992 **** break; } if (!strcmp (word, "true")) ! bool = TRUE; else if (!strcmp (word, "false")) ! bool = FALSE; else { syslog(L_ERROR, MUST_BE_BOOL, LogName, filename, linecount); break; } RCadddata(data, &infocount, K_STREAM, T_STRING, word); if (peer_params.Label != NULL) ! peer_params.Streaming = bool; else if (groupcount > 0 && group_params->Label != NULL) ! group_params->Streaming = bool; else ! default_params.Streaming = bool; continue; } --- 971,992 ---- break; } if (!strcmp (word, "true")) ! flag = TRUE; else if (!strcmp (word, "false")) ! flag = FALSE; else { syslog(L_ERROR, MUST_BE_BOOL, LogName, filename, linecount); break; } RCadddata(data, &infocount, K_STREAM, T_STRING, word); if (peer_params.Label != NULL) ! peer_params.Streaming = flag; else if (groupcount > 0 && group_params->Label != NULL) ! group_params->Streaming = flag; else ! default_params.Streaming = flag; continue; } *************** *** 997,1018 **** break; } if (!strcmp (word, "true")) ! bool = TRUE; else if (!strcmp (word, "false")) ! bool = FALSE; else { syslog(L_ERROR, MUST_BE_BOOL, LogName, filename, linecount); break; } RCadddata(data, &infocount, K_SKIP, T_STRING, word); if (peer_params.Label != NULL) ! peer_params.Skip = bool; else if (groupcount > 0 && group_params->Label != NULL) ! group_params->Skip = bool; else ! default_params.Skip = bool; continue; } --- 997,1018 ---- break; } if (!strcmp (word, "true")) ! flag = TRUE; else if (!strcmp (word, "false")) ! flag = FALSE; else { syslog(L_ERROR, MUST_BE_BOOL, LogName, filename, linecount); break; } RCadddata(data, &infocount, K_SKIP, T_STRING, word); if (peer_params.Label != NULL) ! peer_params.Skip = flag; else if (groupcount > 0 && group_params->Label != NULL) ! group_params->Skip = flag; else ! default_params.Skip = flag; continue; } *************** *** 1022,1043 **** break; } if (!strcmp (word, "true")) ! bool = TRUE; else if (!strcmp (word, "false")) ! bool = FALSE; else { syslog(L_ERROR, MUST_BE_BOOL, LogName, filename, linecount); break; } RCadddata(data, &infocount, K_NORESENDID, T_STRING, word); if (peer_params.Label != NULL) ! peer_params.NoResendId = bool; else if (groupcount > 0 && group_params->Label != NULL) ! group_params->NoResendId = bool; else ! default_params.NoResendId = bool; continue; } --- 1022,1043 ---- break; } if (!strcmp (word, "true")) ! flag = TRUE; else if (!strcmp (word, "false")) ! flag = FALSE; else { syslog(L_ERROR, MUST_BE_BOOL, LogName, filename, linecount); break; } RCadddata(data, &infocount, K_NORESENDID, T_STRING, word); if (peer_params.Label != NULL) ! peer_params.NoResendId = flag; else if (groupcount > 0 && group_params->Label != NULL) ! group_params->NoResendId = flag; else ! default_params.NoResendId = flag; continue; } *************** *** 1221,1227 **** if (*p == '/') q = p + 1; ! fprintf (F, "## $Revision: 1.31.2.2 $\n"); fprintf (F, "## %s - names and addresses that feed us news\n", q); DISPOSE(r); fprintf (F, "##\n\n"); --- 1221,1227 ---- if (*p == '/') q = p + 1; ! fprintf (F, "## $Revision: 1.31.2.3 $\n"); fprintf (F, "## %s - names and addresses that feed us news\n", q); DISPOSE(r); fprintf (F, "##\n\n"); diff -Nacr inn-2.2/innd/site.c inn-2.2.1/innd/site.c *** inn-2.2/innd/site.c Tue Jul 7 01:47:59 1998 --- inn-2.2.1/innd/site.c Sun Apr 18 23:54:46 1999 *************** *** 1,4 **** ! /* $Id: site.c,v 1.22 1998/07/07 08:47:59 kondou Exp $ ** ** Routines to implement site-feeding. Mainly working with channels to ** do buffering and determine what to send. --- 1,4 ---- ! /* $Id: site.c,v 1.22.2.1 1999/04/19 06:54:46 kondou Exp $ ** ** Routines to implement site-feeding. Mainly working with channels to ** do buffering and determine what to send. *************** *** 63,70 **** xchown(name); if (cp) { if (cp->fd >= 0) ! syslog(L_ERROR, "DEBUG ERROR SITEspool trashed:%d %s:%d", cp->fd, sp->Name, i); ! /* CPU-eating bug, killed by kre. */ WCHANremove(cp); RCHANremove(cp); SCHANremove(cp); --- 63,70 ---- xchown(name); if (cp) { if (cp->fd >= 0) ! /* syslog(L_ERROR, "DEBUG ERROR SITEspool trashed:%d %s:%d", cp->fd, sp->Name, i); ! CPU-eating bug, killed by kre. */ WCHANremove(cp); RCHANremove(cp); SCHANremove(cp); diff -Nacr inn-2.2/innd/status.c inn-2.2.1/innd/status.c *** inn-2.2/innd/status.c Mon Aug 24 09:29:51 1998 --- inn-2.2.1/innd/status.c Sun Jun 20 14:56:36 1999 *************** *** 1,5 **** ! /* $Id: status.c,v 1.12 1998/08/24 16:29:51 kondou Exp $ */ #include #include --- 1,5 ---- ! /* $Id: status.c,v 1.12.2.1 1999/06/20 21:56:36 kondou Exp $ */ #include #include *************** *** 283,289 **** fprintf (F, "want streaming: %s\n", status[j].can_stream ? "Yes" : "No"); fprintf (F, " rejected: %-7ld ", status[j].rejected); ! fprintf (F, " filtred: %-7ld ", status[j].Unwanted_f); fprintf (F, " is streaming: %s\n", (status[j].Check || status[j].Takethis) ? "Yes" : "No"); fprintf (F, " size: %-8s ", PrettySize(status[j].Size, str)); --- 283,289 ---- fprintf (F, "want streaming: %s\n", status[j].can_stream ? "Yes" : "No"); fprintf (F, " rejected: %-7ld ", status[j].rejected); ! fprintf (F, " filtered: %-7ld ", status[j].Unwanted_f); fprintf (F, " is streaming: %s\n", (status[j].Check || status[j].Takethis) ? "Yes" : "No"); fprintf (F, " size: %-8s ", PrettySize(status[j].Size, str)); diff -Nacr inn-2.2/innfeed/CVS/Entries inn-2.2.1/innfeed/CVS/Entries *** inn-2.2/innfeed/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/innfeed/CVS/Entries Wed Aug 25 09:26:07 1999 *************** *** 0 **** --- 1,38 ---- + /ChangeLog/1.1.1.1/Tue Apr 29 16:13:34 1997//TINN-2_2_1 + /INSTALL/1.2/Wed Jun 3 00:29:21 1998//TINN-2_2_1 + /Makefile/1.28.2.1/Thu Jan 21 10:30:24 1999//TINN-2_2_1 + /README/1.3/Wed Jun 3 00:29:21 1998//TINN-2_2_1 + /article.c/1.15/Tue Apr 28 12:04:28 1998//TINN-2_2_1 + /article.h/1.1.1.1/Tue Apr 29 16:13:31 1997//TINN-2_2_1 + /buffer.c/1.5/Mon Mar 23 16:10:02 1998//TINN-2_2_1 + /buffer.h/1.1.1.1/Tue Apr 29 16:13:31 1997//TINN-2_2_1 + /config.h/1.5/Thu May 21 10:14:50 1998//TINN-2_2_1 + /config_l.c/1.6/Thu Jun 25 06:00:22 1998//TINN-2_2_1 + /configfile.h/1.1.1.1/Tue Apr 29 16:13:31 1997//TINN-2_2_1 + /configfile.l/1.4/Thu Jun 25 06:00:20 1998//TINN-2_2_1 + /configfile.y/1.8/Thu Jun 25 06:00:21 1998//TINN-2_2_1 + /connection.c/1.20/Sun Aug 2 23:56:01 1998//TINN-2_2_1 + /connection.h/1.3/Sat Jul 19 18:43:46 1997//TINN-2_2_1 + /endpoint.c/1.14/Sat Jul 11 03:47:57 1998//TINN-2_2_1 + /endpoint.h/1.3/Wed Apr 30 23:57:23 1997//TINN-2_2_1 + /host.c/1.24/Fri Jun 19 11:58:16 1998//TINN-2_2_1 + /host.h/1.5/Sat Jul 19 18:38:34 1997//TINN-2_2_1 + /inet_addr.c/1.1.1.1/Tue Apr 29 16:13:33 1997//TINN-2_2_1 + /innfeed-convcfg.in/1.1/Wed Jun 3 00:29:22 1998//TINN-2_2_1 + /innlistener.c/1.11.2.1/Sun Mar 7 14:56:57 1999//TINN-2_2_1 + /innlistener.h/1.1.1.1/Tue Apr 29 16:13:32 1997//TINN-2_2_1 + /main.c/1.18.2.1/Wed Nov 11 22:56:56 1998//TINN-2_2_1 + /makedepend.sh/1.1.1.1/Tue Apr 29 16:13:34 1997//TINN-2_2_1 + /malloc.c/1.3/Thu May 21 03:00:19 1998//TINN-2_2_1 + /misc.c/1.7/Thu Jun 11 23:00:19 1998//TINN-2_2_1 + /misc.h/1.4/Mon Mar 23 16:10:06 1998//TINN-2_2_1 + /msgs.h/1.8/Fri Jun 19 11:58:18 1998//TINN-2_2_1 + /procbatch.in/1.3/Sat Jun 27 15:10:48 1998//TINN-2_2_1 + /startinnfeed.c/1.8/Thu Jul 30 23:36:01 1998//TINN-2_2_1 + /strerror.c/1.1/Wed Apr 8 14:07:15 1998//TINN-2_2_1 + /sysconfig.h/1.15.2.3/Wed Jan 13 07:03:21 1999//TINN-2_2_1 + /tape.c/1.10/Fri Jun 19 11:58:18 1998//TINN-2_2_1 + /tape.h/1.1.1.1/Tue Apr 29 16:13:32 1997//TINN-2_2_1 + /testListener.pl/1.1.1.1/Tue Apr 29 16:13:32 1997//TINN-2_2_1 + /uio_maxiov.c/1.2/Sun Feb 22 07:04:54 1998//TINN-2_2_1 + D/contrib//// diff -Nacr inn-2.2/innfeed/CVS/Repository inn-2.2.1/innfeed/CVS/Repository *** inn-2.2/innfeed/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/innfeed/CVS/Repository Wed Aug 25 09:26:00 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/innfeed diff -Nacr inn-2.2/innfeed/CVS/Root inn-2.2.1/innfeed/CVS/Root *** inn-2.2/innfeed/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/innfeed/CVS/Root Wed Aug 25 09:26:00 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/innfeed/CVS/Tag inn-2.2.1/innfeed/CVS/Tag *** inn-2.2/innfeed/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/innfeed/CVS/Tag Wed Aug 25 09:26:00 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/innfeed/contrib/CVS/Entries inn-2.2.1/innfeed/contrib/CVS/Entries *** inn-2.2/innfeed/contrib/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/innfeed/contrib/CVS/Entries Wed Aug 25 09:26:07 1999 *************** *** 0 **** --- 1,3 ---- + /README.newsresp_c/1.1/Thu May 22 02:31:15 1997//TINN-2_2_1 + /newsresp.c/1.1/Thu May 22 02:31:18 1997//TINN-2_2_1 + D diff -Nacr inn-2.2/innfeed/contrib/CVS/Repository inn-2.2.1/innfeed/contrib/CVS/Repository *** inn-2.2/innfeed/contrib/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/innfeed/contrib/CVS/Repository Wed Aug 25 09:26:07 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/innfeed/contrib diff -Nacr inn-2.2/innfeed/contrib/CVS/Root inn-2.2.1/innfeed/contrib/CVS/Root *** inn-2.2/innfeed/contrib/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/innfeed/contrib/CVS/Root Wed Aug 25 09:26:07 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/innfeed/contrib/CVS/Tag inn-2.2.1/innfeed/contrib/CVS/Tag *** inn-2.2/innfeed/contrib/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/innfeed/contrib/CVS/Tag Wed Aug 25 09:26:07 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/innfeed/innlistener.c inn-2.2.1/innfeed/innlistener.c *** inn-2.2/innfeed/innlistener.c Fri Aug 14 22:34:59 1998 --- inn-2.2.1/innfeed/innlistener.c Sun Mar 7 06:56:57 1999 *************** *** 4,10 **** * Start Date: Thu Dec 28 13:15:04 1995 * Project: INN (innfeed) * File: innlistener.c ! * RCSId: $Id: innlistener.c,v 1.11 1998/08/15 05:34:59 kondou Exp $ * * Copyright: Copyright (c) 1996 by Internet Software Consortium * --- 4,10 ---- * Start Date: Thu Dec 28 13:15:04 1995 * Project: INN (innfeed) * File: innlistener.c ! * RCSId: $Id: innlistener.c,v 1.11.2.1 1999/03/07 14:56:57 kondou Exp $ * * Copyright: Copyright (c) 1996 by Internet Software Consortium * *************** *** 29,35 **** */ #if ! defined (lint) ! static const char *rcsid = "$Id: innlistener.c,v 1.11 1998/08/15 05:34:59 kondou Exp $" ; static void use_rcsid (const char *rid) { /* Never called */ use_rcsid (rcsid) ; use_rcsid (rid) ; } --- 29,35 ---- */ #if ! defined (lint) ! static const char *rcsid = "$Id: innlistener.c,v 1.11.2.1 1999/03/07 14:56:57 kondou Exp $" ; static void use_rcsid (const char *rid) { /* Never called */ use_rcsid (rcsid) ; use_rcsid (rid) ; } *************** *** 464,472 **** return ; } ! expandBuffer (buffs [0], BUFFER_EXPAND_AMOUNT) ; readArray = makeBufferArray (bufferTakeRef (buffs [0]),NULL) ; ! prepareRead (ep, readArray, newArticleCommand, data, 1) ; } else { --- 464,483 ---- return ; } ! if (blen == bufferSize(buffs [0])) { ! if (!expandBuffer (buffs [0], BUFFER_EXPAND_AMOUNT)) { ! syslog (LOG_CRIT,L_BUFFER_EXPAND_ERROR); ! shutDown (lis) ; ! return ; ! } ! } readArray = makeBufferArray (bufferTakeRef (buffs [0]),NULL) ; ! if (!prepareRead (ep, readArray, newArticleCommand, data, 1)) { ! syslog (LOG_CRIT,L_PREPARE_READ_FAILED) ; ! freeBufferArray (readArray) ; ! shutDown (lis) ; ! return ; ! } } else { *************** *** 578,597 **** Buffer *bArr ; u_int leftAmt = blen - (cmd - bbase) ; /* first we shift whats left in the buffer down to the bottom */ ! if (cmd != bbase) ! { ! memmove (bbase,cmd,leftAmt) ; ! bufferSetDataSize (buffs [0],leftAmt) ; ! } ! else if ( !expandBuffer (buffs[0],BUFFER_EXPAND_AMOUNT) ) ! { ! syslog (LOG_CRIT,L_BUFFER_EXPAND_ERROR); ! ! shutDown (lis) ; ! ! return ; ! } bArr = makeBufferArray (bufferTakeRef (buffs [0]),NULL) ; --- 589,598 ---- Buffer *bArr ; u_int leftAmt = blen - (cmd - bbase) ; + ASSERT (cmd != bbase) ; /* first we shift whats left in the buffer down to the bottom */ ! memmove (bbase,cmd,leftAmt) ; ! bufferSetDataSize (buffs [0],leftAmt) ; bArr = makeBufferArray (bufferTakeRef (buffs [0]),NULL) ; diff -Nacr inn-2.2/lib/CVS/Entries inn-2.2.1/lib/CVS/Entries *** inn-2.2/lib/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/lib/CVS/Entries Wed Aug 25 09:26:13 1999 *************** *** 0 **** --- 1,63 ---- + /Makefile/1.35/Fri Sep 4 10:07:35 1998//TINN-2_2_1 + /checkart.c/1.2/Mon Oct 20 21:30:01 1997//TINN-2_2_1 + /cleanfrom.c/1.4/Tue Oct 13 11:37:57 1998//TINN-2_2_1 + /clientactive.c/1.6/Wed Jun 3 00:32:33 1998//TINN-2_2_1 + /clientlib.c/1.4/Thu Apr 9 15:05:30 1998//TINN-2_2_1 + /closeonexec.c/1.2/Mon Oct 20 21:30:04 1997//TINN-2_2_1 + /conffile.c/1.4.2.2/Wed Dec 9 01:30:31 1998//TINN-2_2_1 + /dbz.c/1.29/Tue Oct 13 23:17:51 1998//TINN-2_2_1 + /defdist.c/1.5/Wed Jun 3 00:32:34 1998//TINN-2_2_1 + /endian.c/1.9/Wed Aug 19 06:50:54 1998//TINN-2_2_1 + /findheader.c/1.8/Mon Jan 26 04:24:22 1998//TINN-2_2_1 + /genid.c/1.2/Mon Oct 20 21:30:05 1997//TINN-2_2_1 + /getconfig.c/1.48.2.6/Tue May 11 03:15:57 1999//TINN-2_2_1 + /getdtab.c/1.2/Mon Oct 20 21:30:06 1997//TINN-2_2_1 + /getfqdn.c/1.5/Mon Apr 27 13:18:40 1998//TINN-2_2_1 + /getmodaddr.c/1.6/Wed Jun 3 00:32:34 1998//TINN-2_2_1 + /getopt.c/1.1.1.1/Mon Aug 4 04:03:47 1997//TINN-2_2_1 + /gettime.c/1.4/Wed May 20 10:08:10 1998//TINN-2_2_1 + /hash.c/1.10/Tue Oct 13 13:39:47 1998//TINN-2_2_1 + /inet_ntoa.c/1.2/Mon Oct 20 21:30:08 1997//TINN-2_2_1 + /inndcomm.c/1.7/Tue Oct 13 13:39:47 1998//TINN-2_2_1 + /innvers.c/1.2/Mon Oct 20 21:30:09 1997//TINN-2_2_1 + /localopen.c/1.5/Wed Aug 5 05:35:17 1998//TINN-2_2_1 + /lock.c/1.1.1.1/Mon Aug 4 04:03:47 1997//TINN-2_2_1 + /lockfile.c/1.4/Wed May 20 10:08:11 1998//TINN-2_2_1 + /makedir.c/1.3.2.1/Wed Jul 7 18:50:38 1999//TINN-2_2_1 + /makellib.sh/1.1.1.1/Mon Aug 4 04:03:47 1997//TINN-2_2_1 + /malloc.c/1.3/Thu May 21 03:00:20 1998//TINN-2_2_1 + /md5.c/1.5/Wed Jun 3 00:32:35 1998//TINN-2_2_1 + /memchr.c/1.2/Mon Oct 20 21:30:11 1997//TINN-2_2_1 + /memcmp.c/1.2/Mon Oct 20 21:30:12 1997//TINN-2_2_1 + /memcpy.c/1.2/Mon Oct 20 21:30:12 1997//TINN-2_2_1 + /memmove.c/1.2/Mon Oct 20 21:30:14 1997//TINN-2_2_1 + /memset.c/1.2/Mon Oct 20 21:30:14 1997//TINN-2_2_1 + /mkfifo.c/1.1.1.1/Mon Aug 4 04:03:47 1997//TINN-2_2_1 + /nonblocking.c/1.2/Mon Oct 20 21:30:15 1997//TINN-2_2_1 + /over.c/1.5/Wed Jun 3 00:32:35 1998//TINN-2_2_1 + /parsedate.y/1.4.2.1/Sat Nov 21 11:55:20 1998//TINN-2_2_1 + /perl.c/1.7.2.1/Fri Jun 25 03:16:00 1999//TINN-2_2_1 + /radix32.c/1.2/Mon Oct 20 21:30:17 1997//TINN-2_2_1 + /readin.c/1.3/Mon Oct 20 21:30:17 1997//TINN-2_2_1 + /remopen.c/1.7/Wed Sep 2 15:24:31 1998//TINN-2_2_1 + /reservedfd.c/1.5/Tue Oct 13 13:39:47 1998//TINN-2_2_1 + /resource.c/1.3/Sun Jan 18 04:06:57 1998//TINN-2_2_1 + /sendarticle.c/1.2/Mon Oct 20 21:30:18 1997//TINN-2_2_1 + /sendpass.c/1.4/Thu Apr 9 15:05:31 1998//TINN-2_2_1 + /strcasecmp.c/1.1.1.1/Mon Aug 4 04:03:47 1997//TINN-2_2_1 + /strchr.c/1.1.1.1/Mon Aug 4 04:03:47 1997//TINN-2_2_1 + /strerror.c/1.1.1.1/Mon Aug 4 04:03:47 1997//TINN-2_2_1 + /strrchr.c/1.1.1.1/Mon Aug 4 04:03:47 1997//TINN-2_2_1 + /strspn.c/1.1.1.1/Mon Aug 4 04:03:47 1997//TINN-2_2_1 + /strtok.c/1.1.1.1/Mon Aug 4 04:03:47 1997//TINN-2_2_1 + /tempname.c/1.2/Mon Oct 20 21:30:20 1997//TINN-2_2_1 + /waitnb.c/1.5/Wed May 20 02:45:43 1998//TINN-2_2_1 + /wildmat.c/1.2/Mon Oct 20 21:30:21 1997//TINN-2_2_1 + /writev.c/1.1.1.1/Mon Aug 4 04:03:47 1997//TINN-2_2_1 + /xfopena.c/1.2/Mon Oct 20 21:30:21 1997//TINN-2_2_1 + /xmalloc.c/1.2/Mon Oct 20 21:30:22 1997//TINN-2_2_1 + /xmemerr.c/1.1.1.1/Mon Aug 4 04:03:47 1997//TINN-2_2_1 + /xrealloc.c/1.2/Mon Oct 20 21:30:22 1997//TINN-2_2_1 + /xwrite.c/1.2/Mon Oct 20 21:30:23 1997//TINN-2_2_1 + /xwritev.c/1.2/Mon Oct 20 21:30:24 1997//TINN-2_2_1 + D diff -Nacr inn-2.2/lib/CVS/Repository inn-2.2.1/lib/CVS/Repository *** inn-2.2/lib/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/lib/CVS/Repository Wed Aug 25 09:26:08 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/lib diff -Nacr inn-2.2/lib/CVS/Root inn-2.2.1/lib/CVS/Root *** inn-2.2/lib/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/lib/CVS/Root Wed Aug 25 09:26:08 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/lib/CVS/Tag inn-2.2.1/lib/CVS/Tag *** inn-2.2/lib/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/lib/CVS/Tag Wed Aug 25 09:26:08 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/lib/getconfig.c inn-2.2.1/lib/getconfig.c *** inn-2.2/lib/getconfig.c Fri Nov 6 19:03:12 1998 --- inn-2.2.1/lib/getconfig.c Mon May 10 20:15:57 1999 *************** *** 1,4 **** ! /* $Revision: 1.48.2.1 $ ** */ #include --- 1,4 ---- ! /* $Revision: 1.48.2.6 $ ** */ #include *************** *** 319,329 **** */ int CheckInnConf() { ! char *tmpdir; if (GetFQDN() == NULL) { ! syslog(L_FATAL, "Must set 'domain' in inn.conf"); ! (void)fprintf(stderr, "Must set 'domain' in inn.conf"); return(-1); } if (innconf->fromhost == NULL) { --- 319,330 ---- */ int CheckInnConf() { ! static char *tmpdir = NULL; ! static int dirlen = 0; if (GetFQDN() == NULL) { ! syslog(L_FATAL, "Hostname does not resolve or 'domain' in inn.conf is missing"); ! (void)fprintf(stderr, "Hostname does not resolve or 'domain' in inn.conf is missing"); return(-1); } if (innconf->fromhost == NULL) { *************** *** 401,410 **** innconf->pathuniover = COPY(cpcatpath(innconf->pathspool, "uniover")); } /* Set the TMPDIR variable unconditionally and globally */ ! tmpdir = NEW(char, 8 + strlen(innconf->pathtmp)); sprintf(tmpdir, "TMPDIR=%s", innconf->pathtmp); putenv(tmpdir); ! DISPOSE(tmpdir); return(0); } --- 402,416 ---- innconf->pathuniover = COPY(cpcatpath(innconf->pathspool, "uniover")); } /* Set the TMPDIR variable unconditionally and globally */ ! if (8 + strlen(innconf->pathtmp) > dirlen) ! dirlen = 8 + strlen(innconf->pathtmp); ! if (tmpdir == NULL) ! tmpdir = NEW(char, dirlen); ! else ! RENEW(tmpdir, char, dirlen); sprintf(tmpdir, "TMPDIR=%s", innconf->pathtmp); putenv(tmpdir); ! /* tmpdir should not be freed for some OS */ return(0); } *************** *** 631,642 **** } else if (EQ(ConfigBuff,_CONF_READERSWHENSTOPPED)) { TEST_CONFIG(CONF_VAR_READERSWHENSTOPPED, bit); ! if (!bit && boolval != -1) { ! if (boolval == TRUE) ! innconf->readerswhenstopped = FALSE; ! else ! innconf->readerswhenstopped = TRUE; ! } SET_CONFIG(CONF_VAR_READERSWHENSTOPPED); } else if (EQ(ConfigBuff,_CONF_ALLOWNEWNEWS)) { --- 637,643 ---- } else if (EQ(ConfigBuff,_CONF_READERSWHENSTOPPED)) { TEST_CONFIG(CONF_VAR_READERSWHENSTOPPED, bit); ! if (!bit && boolval != -1) innconf->readerswhenstopped = boolval; SET_CONFIG(CONF_VAR_READERSWHENSTOPPED); } else if (EQ(ConfigBuff,_CONF_ALLOWNEWNEWS)) { diff -Nacr inn-2.2/lib/makedir.c inn-2.2.1/lib/makedir.c *** inn-2.2/lib/makedir.c Thu Aug 6 16:06:06 1998 --- inn-2.2.1/lib/makedir.c Wed Jul 7 11:50:38 1999 *************** *** 1,6 **** --- 1,7 ---- #include #include #include + #include #include "configdata.h" #include "clibrary.h" #include "libinn.h" *************** *** 17,23 **** } /* See if it failed because it already exists. */ ! return stat(Name, &Sb) >= 0 && S_ISDIR(Sb.st_mode); } --- 18,28 ---- } /* See if it failed because it already exists. */ ! if (stat(Name, &Sb) >= 0 && S_ISDIR(Sb.st_mode)) { ! errno = 0; ! return TRUE; ! } ! return FALSE; } diff -Nacr inn-2.2/lib/perl.c inn-2.2.1/lib/perl.c *** inn-2.2/lib/perl.c Tue Oct 13 06:39:47 1998 --- inn-2.2.1/lib/perl.c Thu Jun 24 20:16:00 1999 *************** *** 3,15 **** * Author: Christophe Wolfhugel * (although he wouldn't recognise it anymore so don't blame him) * File: perl.c ! * RCSId: $Id: perl.c,v 1.7 1998/10/13 13:39:47 coneill Exp $ * Description: Perl hooks for libinn.a * */ #if ! defined (lint) ! static const char *rcsid = "$Id: perl.c,v 1.7 1998/10/13 13:39:47 coneill Exp $" ; static void use_rcsid (const char *rid) { /* Never called */ use_rcsid (rcsid) ; use_rcsid (rid) ; } --- 3,15 ---- * Author: Christophe Wolfhugel * (although he wouldn't recognise it anymore so don't blame him) * File: perl.c ! * RCSId: $Id: perl.c,v 1.7.2.1 1999/06/25 03:16:00 kondou Exp $ * Description: Perl hooks for libinn.a * */ #if ! defined (lint) ! static const char *rcsid = "$Id: perl.c,v 1.7.2.1 1999/06/25 03:16:00 kondou Exp $" ; static void use_rcsid (const char *rid) { /* Never called */ use_rcsid (rcsid) ; use_rcsid (rid) ; } *************** *** 35,40 **** --- 35,46 ---- #include #include + /* Perl 5.004 didn't define ERRSV and PL_na was called na. */ + #ifndef ERRSV + # define ERRSV GvSV(errgv) + # define PL_na na + #endif + extern void xs_init _((void)); extern void boot_DynaLoader _((CV* cv)); *************** *** 66,74 **** if (PerlFilterActive && !value) { if (perl_get_cv("filter_end", FALSE) != NULL) { perl_call_argv("filter_end", G_EVAL|G_DISCARD|G_NOARGS, NULL); ! if (SvTRUE(GvSV(errgv))) /* check $@ */ { syslog (L_ERROR,"%s perl function filter_end died: %s", ! LogName, SvPV(GvSV(errgv), na)) ; (void)POPs ; } } else { --- 72,80 ---- if (PerlFilterActive && !value) { if (perl_get_cv("filter_end", FALSE) != NULL) { perl_call_argv("filter_end", G_EVAL|G_DISCARD|G_NOARGS, NULL); ! if (SvTRUE(ERRSV)) /* check $@ */ { syslog (L_ERROR,"%s perl function filter_end died: %s", ! LogName, SvPV(ERRSV, PL_na)) ; (void)POPs ; } } else { *************** *** 137,145 **** SPAGAIN ; ! if (SvTRUE(GvSV(errgv))) /* check $@ */ { syslog (L_ERROR,"%s perl loading %s failed: %s", ! LogName, startupfile, SvPV(GvSV(errgv), na)) ; PerlFilter (FALSE) ; } else { --- 143,151 ---- SPAGAIN ; ! if (SvTRUE(ERRSV)) /* check $@ */ { syslog (L_ERROR,"%s perl loading %s failed: %s", ! LogName, startupfile, SvPV(ERRSV, PL_na)) ; PerlFilter (FALSE) ; } else { *************** *** 174,182 **** if (perl_get_cv("filter_before_reload", FALSE) != NULL) { perl_call_argv("filter_before_reload",G_EVAL|G_DISCARD|G_NOARGS,NULL); ! if (SvTRUE(GvSV(errgv))) /* check $@ */ { syslog (L_ERROR,"%s perl function filter_before_reload died: %s", ! LogName, SvPV(GvSV(errgv), na)) ; (void)POPs ; PerlFilter (FALSE) ; } --- 180,188 ---- if (perl_get_cv("filter_before_reload", FALSE) != NULL) { perl_call_argv("filter_before_reload",G_EVAL|G_DISCARD|G_NOARGS,NULL); ! if (SvTRUE(ERRSV)) /* check $@ */ { syslog (L_ERROR,"%s perl function filter_before_reload died: %s", ! LogName, SvPV(ERRSV, PL_na)) ; (void)POPs ; PerlFilter (FALSE) ; } *************** *** 186,194 **** perl_call_argv ("_load_", 0, argv) ; PerlUnSilence(); ! if (SvTRUE(GvSV(errgv))) /* check $@ */ { syslog (L_ERROR,"%s perl loading %s failed: %s", ! LogName, filterfile, SvPV(GvSV(errgv), na)) ; PerlFilter (FALSE) ; /* If the reload failed we don't want the old definition hanging --- 192,200 ---- perl_call_argv ("_load_", 0, argv) ; PerlUnSilence(); ! if (SvTRUE(ERRSV)) /* check $@ */ { syslog (L_ERROR,"%s perl loading %s failed: %s", ! LogName, filterfile, SvPV(ERRSV, PL_na)) ; PerlFilter (FALSE) ; /* If the reload failed we don't want the old definition hanging *************** *** 197,205 **** sprintf (argv[0],"undef &%s",function) ; perl_call_argv ("_eval_",0,argv) ; ! if (SvTRUE(GvSV(errgv))) /* check $@ */ { syslog (L_ERROR,"%s perl undef &%s failed: %s", ! LogName, function, SvPV(GvSV(errgv), na)) ; } DISPOSE (argv[0]) ; } else if ((perl_filter_cv = perl_get_cv(function, FALSE)) == NULL) { --- 203,211 ---- sprintf (argv[0],"undef &%s",function) ; perl_call_argv ("_eval_",0,argv) ; ! if (SvTRUE(ERRSV)) /* check $@ */ { syslog (L_ERROR,"%s perl undef &%s failed: %s", ! LogName, function, SvPV(ERRSV, PL_na)) ; } DISPOSE (argv[0]) ; } else if ((perl_filter_cv = perl_get_cv(function, FALSE)) == NULL) { *************** *** 208,216 **** if (perl_get_cv("filter_after_reload", FALSE) != NULL) { perl_call_argv("filter_after_reload", G_EVAL|G_DISCARD|G_NOARGS, NULL); ! if (SvTRUE(GvSV(errgv))) /* check $@ */ { syslog (L_ERROR,"%s perl function filter_after_reload died: %s", ! LogName, SvPV(GvSV(errgv), na)) ; (void)POPs ; PerlFilter (FALSE) ; } --- 214,222 ---- if (perl_get_cv("filter_after_reload", FALSE) != NULL) { perl_call_argv("filter_after_reload", G_EVAL|G_DISCARD|G_NOARGS, NULL); ! if (SvTRUE(ERRSV)) /* check $@ */ { syslog (L_ERROR,"%s perl function filter_after_reload died: %s", ! LogName, SvPV(ERRSV, PL_na)) ; (void)POPs ; PerlFilter (FALSE) ; } diff -Nacr inn-2.2/ltconfig inn-2.2.1/ltconfig *** inn-2.2/ltconfig Thu Jun 25 07:37:27 1998 --- inn-2.2.1/ltconfig Mon Jun 21 15:02:35 1999 *************** *** 774,780 **** ;; # FreeBSD 3, at last, uses gcc -shared to do shared libraries. ! freebsd3*) archive_cmds='$CC -shared -o $lib$libobjs' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes --- 774,780 ---- ;; # FreeBSD 3, at last, uses gcc -shared to do shared libraries. ! freebsd3* | freebsd4*) archive_cmds='$CC -shared -o $lib$libobjs' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes *************** *** 834,841 **** ;; sco3.2v5*) ! archive_cmds='$LD -G -o $lib$libobjs' ! hardcode_direct=yes ;; solaris2*) --- 834,844 ---- ;; sco3.2v5*) ! archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs' ! hardcode_shlibpath_var=no ! runpath_var=LD_RUN_PATH ! hardcode_runpath_var=yes ! ld_shlibs=yes ;; solaris2*) *************** *** 1122,1128 **** finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "$lib" | sed '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' ;; ! freebsd2* | freebsd3*) version_type=sunos library_names_spec='$libname.so.$versuffix $libname.so' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' --- 1125,1131 ---- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "$lib" | sed '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' ;; ! freebsd2* | freebsd3* | freebsd4*) version_type=sunos library_names_spec='$libname.so.$versuffix $libname.so' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' diff -Nacr inn-2.2/nnrpd/CVS/Entries inn-2.2.1/nnrpd/CVS/Entries *** inn-2.2/nnrpd/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/nnrpd/CVS/Entries Wed Aug 25 09:26:15 1999 *************** *** 0 **** --- 1,18 ---- + /Makefile/1.23/Wed Oct 21 07:30:01 1998//TINN-2_2_1 + /actived.c/1.2.2.1/Thu Oct 22 15:47:49 1998//TINN-2_2_1 + /activedstats.c/1.2/Fri Jun 19 11:55:16 1998//TINN-2_2_1 + /article.c/1.57.2.7/Mon Apr 19 06:56:47 1999//TINN-2_2_1 + /commands.c/1.20.2.5/Mon May 10 22:36:19 1999//TINN-2_2_1 + /group.c/1.32.2.3/Tue Jun 22 01:01:49 1999//TINN-2_2_1 + /loadave.c/1.3.2.1/Fri Oct 23 14:39:16 1998//TINN-2_2_1 + /misc.c/1.28.2.5/Tue Aug 24 00:23:48 1999//TINN-2_2_1 + /newnews.c/1.9.2.3/Wed Aug 25 12:58:47 1999//TINN-2_2_1 + /nnrpd.c/1.49.2.8/Thu Jun 24 22:06:41 1999//TINN-2_2_1 + /nnrpd.h/1.26/Thu Oct 15 00:54:18 1998//TINN-2_2_1 + /perl.c/1.8.2.1/Fri Jun 25 03:16:09 1999//TINN-2_2_1 + /post.c/1.28.2.8/Wed Jul 14 13:27:07 1999//TINN-2_2_1 + /post.h/1.1.1.1/Mon Aug 4 04:03:47 1997//TINN-2_2_1 + /protocol.h/1.1/Thu Jun 18 11:35:13 1998//TINN-2_2_1 + /track.c/1.5/Tue Apr 14 20:44:29 1998//TINN-2_2_1 + /udp.c/1.3.2.3/Mon Jan 25 10:09:58 1999//TINN-2_2_1 + D diff -Nacr inn-2.2/nnrpd/CVS/Repository inn-2.2.1/nnrpd/CVS/Repository *** inn-2.2/nnrpd/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/nnrpd/CVS/Repository Wed Aug 25 09:26:13 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/nnrpd diff -Nacr inn-2.2/nnrpd/CVS/Root inn-2.2.1/nnrpd/CVS/Root *** inn-2.2/nnrpd/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/nnrpd/CVS/Root Wed Aug 25 09:26:13 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/nnrpd/CVS/Tag inn-2.2.1/nnrpd/CVS/Tag *** inn-2.2/nnrpd/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/nnrpd/CVS/Tag Wed Aug 25 09:26:13 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/nnrpd/article.c inn-2.2.1/nnrpd/article.c *** inn-2.2/nnrpd/article.c Sun Nov 15 14:45:13 1998 --- inn-2.2.1/nnrpd/article.c Sun Apr 18 23:56:47 1999 *************** *** 1,4 **** ! /* $Revision: 1.57.2.5 $ ** ** Article-related routines. */ --- 1,4 ---- ! /* $Revision: 1.57.2.7 $ ** ** Article-related routines. */ *************** *** 252,257 **** --- 252,260 ---- || token.cancelled ) return FALSE; } + if (!innconf->nnrpdcheckart) { + return TRUE; + } if (innconf->nnrpdoverstats) gettimeofday(&stv, NULL); art = SMretrieve(token, RETR_STAT); *************** *** 292,312 **** else return ARTcache - ARTnumbers; } ! else if ((++ARTcache <= top) && (ARTcache->ArtNum <= i)) { ! /* Next article. */ ! if (ARTcache->ArtNum == i) { ! if (needcheck) { ! return ARTinstore(ARTcache - ARTnumbers) ! ? (ARTcache - ARTnumbers) : -1; } ! else ! return ARTcache - ARTnumbers; } - bottom = ARTcache; - } - else if ( (ARTcache->ArtNum > i) && ((--ARTcache)->ArtNum < i) ) { - /* Missing article. */ - return -1; } else { ARTcache=NULL; --- 295,321 ---- else return ARTcache - ARTnumbers; } ! else if (++ARTcache <= top) { ! if (ARTcache->ArtNum <= i) { ! /* Next article. */ ! if (ARTcache->ArtNum == i) { ! if (needcheck) { ! return ARTinstore(ARTcache - ARTnumbers) ! ? (ARTcache - ARTnumbers) : -1; ! } ! else ! return ARTcache - ARTnumbers; } ! bottom = ARTcache; ! } ! else if ((--ARTcache)->ArtNum < i ) { ! /* Missing article. */ ! return -1; ! } ! else { ! ARTcache=NULL; ! bottom = ARTnumbers; } } else { ARTcache=NULL; diff -Nacr inn-2.2/nnrpd/commands.c inn-2.2.1/nnrpd/commands.c *** inn-2.2/nnrpd/commands.c Sun Jan 10 18:00:28 1999 --- inn-2.2.1/nnrpd/commands.c Mon May 10 15:36:19 1999 *************** *** 1,4 **** ! /* $Revision: 1.20.2.3 $ ** ** Miscellaneous commands. */ --- 1,4 ---- ! /* $Revision: 1.20.2.5 $ ** ** Miscellaneous commands. */ *************** *** 265,270 **** --- 265,275 ---- PERMspecified = NGgetlist(&PERMlist, accesslist); syslog(L_NOTICE, "%s user %s", ClientHost, User); Reply("%d Ok\r\n", NNTP_AUTH_OK_VAL); + + /* save these values in case you need them later */ + strcpy(PERMuser, User); + strcpy(PERMpass, Password); + PERMneedauth = FALSE; PERMauthorized = TRUE; return; *************** *** 286,294 **** fflush(locallog); } Reply("%d Ok\r\n", NNTP_AUTH_OK_VAL); - /* save these values in case you need them later */ - strcpy(PERMuser, User); - strcpy(PERMpass, Password); PERMneedauth = FALSE; PERMauthorized = TRUE; return; --- 291,296 ---- *************** *** 452,457 **** --- 454,463 ---- while ((p = QIOread(qp)) != NULL) { if (lp == &INFOmotd) { Printf("%s\r\n", p); + continue; + } + if (p[0] == '.' && p[1] == '\0') { + syslog(L_ERROR, "%s single dot in %s", ClientHost, lp->File); continue; } /* matching patterns against patterns is not that diff -Nacr inn-2.2/nnrpd/group.c inn-2.2.1/nnrpd/group.c *** inn-2.2/nnrpd/group.c Sun Nov 15 14:45:14 1998 --- inn-2.2.1/nnrpd/group.c Mon Jun 21 18:01:49 1999 *************** *** 1,4 **** ! /* $Revision: 1.32.2.2 $ ** ** Newsgroups and the active file. */ --- 1,4 ---- ! /* $Revision: 1.32.2.3 $ ** ** Newsgroups and the active file. */ *************** *** 355,360 **** --- 355,361 ---- if (p) { if ((p = strchr(p + 1, ' ')) != NULL) { if ((p = strchr(p + 1, ' ')) != NULL) { + p++; if (p[0] == NF_FLAG_ALIAS && p[1] != '\n' && strlen(p + 1) < sizeof(GPBuf) - 1 diff -Nacr inn-2.2/nnrpd/misc.c inn-2.2.1/nnrpd/misc.c *** inn-2.2/nnrpd/misc.c Fri Jan 8 14:02:04 1999 --- inn-2.2.1/nnrpd/misc.c Mon Aug 23 17:23:48 1999 *************** *** 1,4 **** ! /* $Revision: 1.28.2.4 $ ** ** Miscellaneous support routines. */ --- 1,4 ---- ! /* $Revision: 1.28.2.5 $ ** ** Miscellaneous support routines. */ *************** *** 160,165 **** --- 160,166 ---- 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30 }; register char *p; + int century; int year; int month; int day; *************** *** 170,181 **** register int i; long seconds; char buff[8 + 6 + 1]; ! /* Y2K: accept YYMMDD, YYYMMDD or YYYYMMDD. ! First is strict NNTP spec, ! Second is broken clients that do "printf %02d tm_year", ! Third is people trying to do the right date thing ! despite the spec. */ datelen = strlen(av1); if ((datelen < 6 || datelen > 8) || strlen(av2) != 6) return -1; --- 171,187 ---- register int i; long seconds; char buff[8 + 6 + 1]; + TIMEINFO t; + struct tm *current; ! /* ! * Y2K: accept YYMMDD, YYYMMDD or YYYYMMDD. ! * First is strict RFC 977 NNTP spec. ! * Second is broken clients that do "printf %02d tm_year". ! * Third is people trying to do the right date thing ! * despite the old NNTP spec --- or in anticipation of the ! * not yet ratified new NNTP spec. ! */ datelen = strlen(av1); if ((datelen < 6 || datelen > 8) || strlen(av2) != 6) return -1; *************** *** 194,203 **** secs = CHARStoINT(p[10], p[11]); if (datelen == 6) { /* YYMMDD */ ! if (year > 70) ! year += 1900; else ! year += 2000; } else { year += ASCtoNUM(*--p) * 100; if (datelen == 7) /* YYYMMDD */ --- 200,248 ---- secs = CHARStoINT(p[10], p[11]); if (datelen == 6) { /* YYMMDD */ ! /* ! * RFC 977 says this: ! * "The closest century is assumed as part of the year ! * (i.e., 86 specifies 1986, 30 specifies 2030, ! * 99 is 1999, 00 is 2000)." ! * I interpret this to mean that if the difference between ! * the current year and the given year is: ! * * negative and < 50, the year is in this century's future. ! * * positive and < 50, the year is in this century's past. ! * * negative and > 50, the year is in the last century. ! * * positive and > 50, the year is in the next century. ! * (with the less and greater comparisons being of the ! * absolute value, of course.) ! * If it is either positive or negative 50, presumably the ! * rest of the date and time strings have to be parsed for ! * the "right" answer. How gory. ! * ! * draft-ietf-nntpext-base-08.txt simplifies things: ! * "If the first two digits of the year are not specified, ! * the year is to be taken from the current century if YY ! * is smaller than or equal to the current year, otherwise ! * the year is from the previous century." ! * For one thing, this just makes a whole lot more sense. ! * why would NEWGROUPS or NEWNEWS care about dates in the ! * future? On the other hand, it does mean that now this ! * routine has to know what year it is. ! */ ! ! if (GetTimeInfo(&t) < 0 || (current = gmtime(&t.time)) == NULL) ! return -1; ! ! /* Century is the number of centuries since 1900. */ ! century = current->tm_year / 100; ! ! /* Convert current year to two digits if necessary. */ ! if (current->tm_year > 100) ! current->tm_year -= century * 100; ! ! if (year <= current->tm_year) ! year += (century + 19) * 100; else ! year += (century + 18) * 100; ! } else { year += ASCtoNUM(*--p) * 100; if (datelen == 7) /* YYYMMDD */ diff -Nacr inn-2.2/nnrpd/newnews.c inn-2.2.1/nnrpd/newnews.c *** inn-2.2/nnrpd/newnews.c Thu Oct 22 08:47:50 1998 --- inn-2.2.1/nnrpd/newnews.c Wed Aug 25 05:58:47 1999 *************** *** 1,4 **** ! /* $Revision: 1.9.2.1 $ ** ** The newnews command. */ --- 1,4 ---- ! /* $Revision: 1.9.2.3 $ ** ** The newnews command. */ *************** *** 42,48 **** if (p >= art->data + art->len) return FALSE; for (dp = distribs; *dp; dp++) ! if (caseEQn(p, *dp, p2 - q)) return TRUE; return FALSE; } else { --- 42,48 ---- if (p >= art->data + art->len) return FALSE; for (dp = distribs; *dp; dp++) ! if (caseEQn(q, *dp, p2 - q)) return TRUE; return FALSE; } else { *************** *** 376,382 **** msgid[p2-q] = '\0'; Printf("%s\r\n", msgid); } else { ! *p = '\0'; Printf("%s\r\n", line); } } while (fgets(line, sizeof line, F) != NULL); --- 376,382 ---- msgid[p2-q] = '\0'; Printf("%s\r\n", msgid); } else { ! *(--p) = '\0'; Printf("%s\r\n", line); } } while (fgets(line, sizeof line, F) != NULL); diff -Nacr inn-2.2/nnrpd/nnrpd.c inn-2.2.1/nnrpd/nnrpd.c *** inn-2.2/nnrpd/nnrpd.c Sun Nov 15 14:45:15 1998 --- inn-2.2.1/nnrpd/nnrpd.c Thu Jun 24 15:06:41 1999 *************** *** 1,4 **** ! /* $Revision: 1.49.2.3 $ ** ** NNTP server for readers (NNRP) for InterNetNews. ** This server doesn't do any real load-limiting, except for what has --- 1,4 ---- ! /* $Revision: 1.49.2.8 $ ** ** NNTP server for readers (NNRP) for InterNetNews. ** This server doesn't do any real load-limiting, except for what has *************** *** 780,785 **** --- 780,786 ---- UID_T NewsUID; int one = 1; FILE *pidfile; + struct passwd *pwd; #if HAVE_GETSPNAM struct group *grp; GID_T shadowgid; *************** *** 862,867 **** --- 863,869 ---- exit(1); } + memset(&ssa, '\0', sizeof(ssa)); ssa.sin_family = AF_INET; ssa.sin_addr.s_addr = ListenAddr; ssa.sin_port = htons(ListenPort); *************** *** 878,883 **** --- 880,900 ---- syslog(L_FATAL, "nnrpd cant stat %s %m", innconf->pathrun); exit(1); } + if (Sb.st_uid == 0) { + syslog(L_FATAL, "nnrpd %s must not be owned by root", innconf->pathrun); + exit(1); + } + pwd = getpwnam(NEWSUSER); + if (pwd == (struct passwd *)NULL) { + syslog(L_FATAL, "nnrpd getpwnam(%s): %s", NEWSUSER, strerror(errno)); + exit(1); + } else if (pwd->pw_gid != Sb.st_gid) { + syslog(L_FATAL, "nnrpd %s must have group %s", innconf->pathrun, NEWSGRP); + exit(1); + } else if (pwd->pw_uid != Sb.st_uid) { + syslog(L_FATAL, "nnrpd % must be owned by %s", innconf->pathrun, NEWSUSER); + exit(1); + } #if HAVE_GETSPNAM shadowgid = -1; *************** *** 967,972 **** --- 984,995 ---- close(fd); dup2(0, 1); dup2(0, 2); + + /* if we are a daemon innd didn't make us nice, so be nice kids */ + if (innconf->nicekids) { + if (nice(innconf->nicekids) < 0) + syslog(L_ERROR, "Could not nice child to %d: %m", innconf->nicekids); + } /* Only automatically reap children in the listening process */ (void)signal(SIGCHLD, SIG_DFL); diff -Nacr inn-2.2/nnrpd/perl.c inn-2.2.1/nnrpd/perl.c *** inn-2.2/nnrpd/perl.c Tue Oct 13 05:18:47 1998 --- inn-2.2.1/nnrpd/perl.c Thu Jun 24 20:16:09 1999 *************** *** 3,15 **** * Author: Christophe Wolfhugel * (although he wouldn't recognise it anymore so don't blame him) * File: perl.c ! * RCSId: $Id: perl.c,v 1.8 1998/10/13 12:18:47 coneill Exp $ * Description: Perl hooks for nnrpd. * */ #if ! defined (lint) ! static const char *rcsid = "$Id: perl.c,v 1.8 1998/10/13 12:18:47 coneill Exp $" ; static void use_rcsid (const char *rid) { /* Never called */ use_rcsid (rcsid) ; use_rcsid (rid) ; } --- 3,15 ---- * Author: Christophe Wolfhugel * (although he wouldn't recognise it anymore so don't blame him) * File: perl.c ! * RCSId: $Id: perl.c,v 1.8.2.1 1999/06/25 03:16:09 kondou Exp $ * Description: Perl hooks for nnrpd. * */ #if ! defined (lint) ! static const char *rcsid = "$Id: perl.c,v 1.8.2.1 1999/06/25 03:16:09 kondou Exp $" ; static void use_rcsid (const char *rid) { /* Never called */ use_rcsid (rcsid) ; use_rcsid (rid) ; } *************** *** 36,41 **** --- 36,49 ---- #include #include + #include + + /* Perl 5.004 didn't define ERRSV and PL_na was called na. */ + #ifndef ERRSV + # define ERRSV GvSV(errgv) + # define PL_sv_undef sv_undef + # define PL_na na + #endif extern BOOL PerlFilterActive; extern HEADER Table[], *EndOfTable; *************** *** 132,139 **** register int x; /* Get the values */ ! p = HePV(scan, na); ! s = SvPV(HeVAL(scan),na); #ifdef DEBUG_MODIFY fprintf(flog,"Hash iter: '%s','%s'\n",p,s); #endif /* DEBUG_MODIFY */ --- 140,147 ---- register int x; /* Get the values */ ! p = HePV(scan, PL_na); ! s = SvPV(HeVAL(scan), PL_na); #ifdef DEBUG_MODIFY fprintf(flog,"Hash iter: '%s','%s'\n",p,s); #endif /* DEBUG_MODIFY */ *************** *** 166,178 **** } hv_undef (hdr); ! sv_setsv (body, &sv_undef); buf [0] = '\0' ; ! if (SvTRUE(GvSV(errgv))) /* check $@ */ { syslog (L_ERROR,"Perl function filter_post died: %s", ! SvPV(GvSV(errgv), na)) ; POPs ; PerlFilter (FALSE) ; } else if (rc == 1) { --- 174,186 ---- } hv_undef (hdr); ! sv_setsv (body, &PL_sv_undef); buf [0] = '\0' ; ! if (SvTRUE(ERRSV)) /* check $@ */ { syslog (L_ERROR,"Perl function filter_post died: %s", ! SvPV(ERRSV, PL_na)) ; POPs ; PerlFilter (FALSE) ; } else if (rc == 1) { *************** *** 216,222 **** if (rc == 0 ) { /* Error occured, same as checking $@ */ syslog(L_ERROR, "Perl function authenticate died: %s", ! SvPV(GvSV(errgv), na)); Reply("%d Internal Error (1). Goodbye\r\n", NNTP_ACCESS_VAL); ExitWithStats(1); } --- 224,230 ---- if (rc == 0 ) { /* Error occured, same as checking $@ */ syslog(L_ERROR, "Perl function authenticate died: %s", ! SvPV(ERRSV, PL_na)); Reply("%d Internal Error (1). Goodbye\r\n", NNTP_ACCESS_VAL); ExitWithStats(1); } *************** *** 265,273 **** SPAGAIN; ! if (SvTRUE(GvSV(errgv))) /* check $@ */ { syslog(L_ERROR, "Perl function authenticate died: %s", ! SvPV(GvSV(errgv), na)); Reply("%d Internal Error (1). Goodbye\r\n", NNTP_ACCESS_VAL); ExitWithStats(1); } --- 273,281 ---- SPAGAIN; ! if (SvTRUE(ERRSV)) /* check $@ */ { syslog(L_ERROR, "Perl function authenticate died: %s", ! SvPV(ERRSV, PL_na)); Reply("%d Internal Error (1). Goodbye\r\n", NNTP_ACCESS_VAL); ExitWithStats(1); } *************** *** 309,315 **** if (rc == 0 ) { /* Error occured, same as checking $@ */ syslog(L_ERROR, "Perl function authenticate died: %s", ! SvPV(GvSV(errgv), na)); Reply("%d Internal Error (1). Goodbye\r\n", NNTP_ACCESS_VAL); ExitWithStats(1); } --- 317,323 ---- if (rc == 0 ) { /* Error occured, same as checking $@ */ syslog(L_ERROR, "Perl function authenticate died: %s", ! SvPV(ERRSV, PL_na)); Reply("%d Internal Error (1). Goodbye\r\n", NNTP_ACCESS_VAL); ExitWithStats(1); } diff -Nacr inn-2.2/nnrpd/post.c inn-2.2.1/nnrpd/post.c *** inn-2.2/nnrpd/post.c Tue Jan 12 05:33:38 1999 --- inn-2.2.1/nnrpd/post.c Wed Jul 14 06:27:07 1999 *************** *** 1,4 **** ! /* $Revision: 1.28.2.5 $ ** ** Check article, send it to the local server. */ --- 1,4 ---- ! /* $Revision: 1.28.2.8 $ ** ** Check article, send it to the local server. */ *************** *** 522,533 **** if ((p = innconf->complaints) != NULL) sprintf (complaintsbuff, "%s",p) ; else { ! if ((p = innconf->fromhost) != NULL) ! sprintf (complaintsbuff, "%s@%s", ! NEWSMASTER, p); } ! if (p != NULL) /* Only show it if we can create it */ ! HDR(_xcomplaintsto) = complaintsbuff ; /* Clear out some headers that should not be here */ if (innconf->strippostcc) { --- 522,533 ---- if ((p = innconf->complaints) != NULL) sprintf (complaintsbuff, "%s",p) ; else { ! if ((p = innconf->fromhost) != NULL && strchr(NEWSMASTER, '@') == NULL) ! sprintf (complaintsbuff, "%s@%s", NEWSMASTER, p); ! else ! sprintf (complaintsbuff, "%s", NEWSMASTER); } ! HDR(_xcomplaintsto) = complaintsbuff ; /* Clear out some headers that should not be here */ if (innconf->strippostcc) { *************** *** 577,583 **** if ((p = strchr(p, '\n')) == NULL) break; } ! if ((i * 2 > lines) && (lines > 40)) return "Article not posted -- more included text than new text"; return NULL; } --- 577,583 ---- if ((p = strchr(p, '\n')) == NULL) break; } ! if (i * 2 > lines) return "Article not posted -- more included text than new text"; return NULL; } *************** *** 952,958 **** (strlen(article) > innconf->localmaxartsize)) { (void)sprintf(Error, "Article is bigger then local limit of %ld bytes\n", ! atoi(p)); if (modgroup) DISPOSE(modgroup); return Error; --- 952,958 ---- (strlen(article) > innconf->localmaxartsize)) { (void)sprintf(Error, "Article is bigger then local limit of %ld bytes\n", ! innconf->localmaxartsize); if (modgroup) DISPOSE(modgroup); return Error; diff -Nacr inn-2.2/nnrpd/udp.c inn-2.2.1/nnrpd/udp.c *** inn-2.2/nnrpd/udp.c Sun Jan 17 15:16:25 1999 --- inn-2.2.1/nnrpd/udp.c Mon Jan 25 02:09:58 1999 *************** *** 6,12 **** #include #include #include ! #include #include "config.h" int create_udp_socket(int port, int portexclude) --- 6,12 ---- #include #include #include ! #include #include "config.h" int create_udp_socket(int port, int portexclude) diff -Nacr inn-2.2/obsolete/CVS/Entries inn-2.2.1/obsolete/CVS/Entries *** inn-2.2/obsolete/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/obsolete/CVS/Entries Wed Aug 25 09:26:16 1999 *************** *** 0 **** --- 1,8 ---- + /README.obsolete/1.1.1.1/Mon Aug 4 04:03:48 1997//TINN-2_2_1 + /hosts.nntp.nolimit/1.1.1.1/Mon Aug 4 04:03:48 1997//TINN-2_2_1 + /innlog.awk/1.1.1.1/Mon Aug 4 04:03:48 1997//TINN-2_2_1 + /innlog.pl/1.2/Mon Sep 29 21:04:01 1997//TINN-2_2_1 + /innshellvars.csh.in/1.1/Wed Oct 21 15:13:31 1998//TINN-2_2_1 + /scanlogs-backend.pl/1.4/Mon Jan 12 17:16:51 1998//TINN-2_2_1 + /tally.unwanted/1.3/Sun Nov 16 21:44:38 1997//TINN-2_2_1 + D diff -Nacr inn-2.2/obsolete/CVS/Repository inn-2.2.1/obsolete/CVS/Repository *** inn-2.2/obsolete/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/obsolete/CVS/Repository Wed Aug 25 09:26:15 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/obsolete diff -Nacr inn-2.2/obsolete/CVS/Root inn-2.2.1/obsolete/CVS/Root *** inn-2.2/obsolete/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/obsolete/CVS/Root Wed Aug 25 09:26:15 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/obsolete/CVS/Tag inn-2.2.1/obsolete/CVS/Tag *** inn-2.2/obsolete/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/obsolete/CVS/Tag Wed Aug 25 09:26:15 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/samples/CVS/Entries inn-2.2.1/samples/CVS/Entries *** inn-2.2/samples/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/samples/CVS/Entries Wed Aug 25 09:26:24 1999 *************** *** 0 **** --- 1,81 ---- + /actsync.cfg.in/1.3/Sat Oct 17 01:07:27 1998//TINN-2_2_1 + /actsync.ign/1.1.1.1/Mon Aug 4 04:03:48 1997//TINN-2_2_1 + /checkgroups.in/1.14/Mon Sep 7 08:59:09 1998//TINN-2_2_1 + /checkgroups.pl.in/1.8.2.1/Fri May 7 23:29:40 1999//TINN-2_2_1 + /cnfsstat.in/1.3.2.7/Wed Aug 25 07:50:40 1999//TINN-2_2_1 + /control.ctl/1.10.2.3/Tue Jul 13 01:42:59 1999//TINN-2_2_1 + /controlbatch.in/1.3/Sun Sep 20 13:25:08 1998//TINN-2_2_1 + /controlchan.in/1.21.2.2/Fri May 7 23:29:40 1999//TINN-2_2_1 + /cycbuff.conf/1.2/Fri Mar 13 16:43:16 1998//TINN-2_2_1 + /default.in/1.10/Thu Jun 25 06:09:00 1998//TINN-2_2_1 + /distrib.pats/1.1.1.1/Mon Aug 4 04:03:48 1997//TINN-2_2_1 + /docheckgroups.in/1.10.2.1/Wed Jan 27 21:05:06 1999//TINN-2_2_1 + /expire.ctl/1.1.1.1/Mon Aug 4 04:03:48 1997//TINN-2_2_1 + /expirerm.in/1.9/Thu Jun 25 06:09:01 1998//TINN-2_2_1 + /filter.tcl/1.1.1.1/Mon Aug 4 04:03:49 1997//TINN-2_2_1 + /filter_innd.pl/1.2/Tue Jun 9 10:53:59 1998//TINN-2_2_1 + /filter_nnrpd.pl/1.1.1.1/Mon Aug 4 04:03:49 1997//TINN-2_2_1 + /ihave.in/1.10/Thu Jun 25 06:09:01 1998//TINN-2_2_1 + /ihave.pl.in/1.9.2.1/Mon Dec 28 15:43:11 1998//TINN-2_2_1 + /incoming.conf/1.3.4.2/Sun Jan 17 23:18:16 1999//TINN-2_2_1 + /inn.conf.in/1.24.2.2/Sun Jan 31 03:56:13 1999//TINN-2_2_1 + /inncheck.in/1.22.2.6/Wed Jun 2 02:48:49 1999//TINN-2_2_1 + /innfeed.conf/1.1/Thu May 21 10:17:25 1998//TINN-2_2_1 + /innmail.in/1.9.2.1/Mon Jun 21 00:58:42 1999//TINN-2_2_1 + /innreport.conf.in/1.7.2.1/Wed Dec 16 06:00:50 1998//TINN-2_2_1 + /innreport.in/1.16.2.3/Sun May 9 00:36:53 1999//TINN-2_2_1 + /innreport_inn.pm/1.5.2.5/Wed Jun 30 02:01:43 1999//TINN-2_2_1 + /innshellvars.in/1.22/Sat Oct 17 01:07:27 1998//TINN-2_2_1 + /innshellvars.pl.in/1.20/Sat Oct 17 01:07:27 1998//TINN-2_2_1 + /innshellvars.tcl.in/1.18/Sat Oct 17 01:07:28 1998//TINN-2_2_1 + /innstat.in/1.12/Thu Sep 17 06:15:01 1998//TINN-2_2_1 + /innwatch.ctl.in/1.6/Thu Sep 17 06:15:01 1998//TINN-2_2_1 + /innwatch.in/1.13/Sun Sep 20 02:53:16 1998//TINN-2_2_1 + /mailpost.in/1.1.2.3/Tue May 11 21:53:00 1999//TINN-2_2_1 + /mod-active.in/1.1.2.2/Mon Aug 23 23:13:19 1999//TINN-2_2_1 + /moderators/1.2.4.1/Tue Mar 16 02:30:25 1999//TINN-2_2_1 + /motd.news/1.1/Fri Jan 9 15:31:13 1998//TINN-2_2_1 + /newgroup.in/1.10/Thu Jun 25 06:09:05 1998//TINN-2_2_1 + /newgroup.pl.in/1.10.2.1/Sun Nov 29 02:14:26 1998//TINN-2_2_1 + /news.daily.in/1.28.2.2/Sat Feb 13 10:56:47 1999//TINN-2_2_1 + /news2mail.cf/1.1/Wed Oct 21 07:10:09 1998//TINN-2_2_1 + /news2mail.in/1.1.2.2/Tue May 18 09:35:51 1999//TINN-2_2_1 + /newsfeeds.in/1.3.2.3/Wed Jul 7 21:37:47 1999//TINN-2_2_1 + /nnrp.access/1.3.2.1/Sun Oct 25 07:23:52 1998//TINN-2_2_1 + /nnrpd.track/1.2/Thu Mar 19 13:20:43 1998//TINN-2_2_1 + /nnrpd_auth.pl.in/1.1.2.1/Tue Jan 5 22:29:59 1999//TINN-2_2_1 + /nntpsend.ctl/1.2/Sat Aug 15 05:43:21 1998//TINN-2_2_1 + /nntpsend.in/1.11.2.1/Mon Jun 28 09:32:31 1999//TINN-2_2_1 + /overview.ctl/1.1/Tue Jan 13 02:40:43 1998//TINN-2_2_1 + /overview.fmt/1.3/Mon Apr 6 15:06:07 1998//TINN-2_2_1 + /parsecontrol.in/1.18.2.2/Wed Aug 4 03:22:12 1999//TINN-2_2_1 + /passwd.nntp/1.2/Sat Aug 15 05:43:21 1998//TINN-2_2_1 + /pgpverify.in/1.19.2.3/Thu May 20 14:59:02 1999//TINN-2_2_1 + /pullnews.in/1.1/Wed Oct 21 07:08:29 1998//TINN-2_2_1 + /rc.news.in/1.22.2.1/Thu Nov 26 05:07:34 1998//TINN-2_2_1 + /rmgroup.in/1.11.2.1/Wed Feb 17 05:02:37 1999//TINN-2_2_1 + /rmgroup.pl.in/1.8/Sun Oct 11 23:04:50 1998//TINN-2_2_1 + /sample.control/1.2/Wed Feb 25 01:47:23 1998//TINN-2_2_1 + /scanlogs.in/1.21/Sat Sep 5 14:21:19 1998//TINN-2_2_1 + /scanspool.in/1.10.2.1/Fri Dec 11 06:01:35 1998//TINN-2_2_1 + /send-ihave.in/1.9.2.1/Mon Dec 28 15:43:11 1998//TINN-2_2_1 + /send-nntp.in/1.9/Thu Jun 25 06:09:09 1998//TINN-2_2_1 + /send-uucp.in/1.10/Thu Jun 25 06:09:09 1998//TINN-2_2_1 + /sendbatch.in/1.13/Thu Sep 17 06:15:02 1998//TINN-2_2_1 + /sendme.in/1.11/Thu Jun 25 06:09:09 1998//TINN-2_2_1 + /sendme.pl.in/1.7/Mon Oct 19 09:19:27 1998//TINN-2_2_1 + /sendsys.in/1.10/Thu Jun 25 06:09:10 1998//TINN-2_2_1 + /sendsys.pl.in/1.7.2.1/Tue Feb 23 18:43:26 1999//TINN-2_2_1 + /senduuname.in/1.10/Thu Jun 25 06:09:10 1998//TINN-2_2_1 + /senduuname.pl.in/1.7.2.1/Tue Feb 23 18:43:26 1999//TINN-2_2_1 + /signcontrol.in/1.8/Wed Oct 14 17:26:19 1998//TINN-2_2_1 + /simpleftp.in/1.1/Sat Oct 17 01:07:28 1998//TINN-2_2_1 + /startup.tcl.in/1.1/Wed Mar 11 19:39:57 1998//TINN-2_2_1 + /startup_innd.pl/1.1.1.1/Mon Aug 4 04:03:49 1997//TINN-2_2_1 + /storage.conf/1.1/Thu Aug 20 04:30:18 1998//TINN-2_2_1 + /storage.ctl/1.3/Thu May 21 10:17:33 1998//TINN-2_2_1 + /tally.control.in/1.7/Thu Jun 25 06:09:10 1998//TINN-2_2_1 + /version.in/1.15/Fri Aug 21 10:30:05 1998//TINN-2_2_1 + /version.pl.in/1.8.2.1/Tue Feb 23 18:43:26 1999//TINN-2_2_1 + /writelog.in/1.7/Thu Jun 25 06:09:11 1998//TINN-2_2_1 + D diff -Nacr inn-2.2/samples/CVS/Repository inn-2.2.1/samples/CVS/Repository *** inn-2.2/samples/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/samples/CVS/Repository Wed Aug 25 09:26:17 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/samples diff -Nacr inn-2.2/samples/CVS/Root inn-2.2.1/samples/CVS/Root *** inn-2.2/samples/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/samples/CVS/Root Wed Aug 25 09:26:17 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/samples/CVS/Tag inn-2.2.1/samples/CVS/Tag *** inn-2.2/samples/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/samples/CVS/Tag Wed Aug 25 09:26:17 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/samples/checkgroups.pl.in inn-2.2.1/samples/checkgroups.pl.in *** inn-2.2/samples/checkgroups.pl.in Fri Oct 9 10:23:34 1998 --- inn-2.2.1/samples/checkgroups.pl.in Fri May 7 16:29:40 1999 *************** *** 1,5 **** #!@_PATH_PERL@ ! # $Id: checkgroups.pl.in,v 1.8 1998/10/09 17:23:34 kondou Exp $ # Copyright (c)1998 G.J. Andruk # checkgroups.pl - The checkgroups control message. # Parameters: params sender reply-to token site action[=log] approved --- 1,5 ---- #!@_PATH_PERL@ ! # $Id: checkgroups.pl.in,v 1.8.2.1 1999/05/07 23:29:40 kondou Exp $ # Copyright (c)1998 G.J. Andruk # checkgroups.pl - The checkgroups control message. # Parameters: params sender reply-to token site action[=log] approved *************** *** 79,84 **** --- 79,87 ---- system ("$inn::newslib/docheckgroups", $newsgrouppats); open STDIN, "<&OLDIN"; open STDOUT, "<&OLDOUT"; + if (!$logging) { + $logging = "mail"; + } logger($tempfile, $logging, "checkgroups by $sender"); unlink ($tempfile, "$tempfile.art"); } diff -Nacr inn-2.2/samples/cnfsstat.in inn-2.2.1/samples/cnfsstat.in *** inn-2.2/samples/cnfsstat.in Thu Dec 24 17:29:41 1998 --- inn-2.2.1/samples/cnfsstat.in Wed Aug 25 00:50:40 1999 *************** *** 1,5 **** #!@_PATH_PERL@ ! # $Id: cnfsstat.in,v 1.3.2.2 1998/12/25 01:29:41 kondou Exp $ # # Copyright Andreas Lamrecht 1998 # --- 1,5 ---- #!@_PATH_PERL@ ! # $Id: cnfsstat.in,v 1.3.2.7 1999/08/25 07:50:40 rra Exp $ # # Copyright Andreas Lamrecht 1998 # *************** *** 121,126 **** --- 121,133 ---- while() { $_ =~ s/^\s*(.*?)\s*$/$1/; + # Here we handle continuation lines + while (m/\\$/) { + $contline = ; + $contline =~ s/^\s*(.*?)\s*$/$1/; + chop; + $_ .= $contline; + } # \x23 below is #. Emacs perl-mode gets confused by the "comment" next if($_ =~ /^\s*$/ || $_ =~ /^\x23/); next if($_ =~ /^cycbuffupdate:/ || $_ =~ /^refreshinterval:/); *************** *** 208,217 **** $key{'SIZE'} .= ",0" unless $key{'SIZE'} =~ /,/; $key{'SIZE'} =~ s/,/:/; ! if (defined $stor{$key{'OPTIONS'}}) { ! print STDERR "storage.conf:$line: ". ! "Class $key{'CLASS'} has several criteria\n"; ! } else { $stor{$key{'OPTIONS'}} = "$key{'NEWSGROUPS'}:$key{'CLASS'}:" . "$key{'SIZE'}:$key{'OPTIONS'}"; push(@storsort, $key{'OPTIONS'}); --- 215,221 ---- $key{'SIZE'} .= ",0" unless $key{'SIZE'} =~ /,/; $key{'SIZE'} =~ s/,/:/; ! if (!defined $stor{$key{'OPTIONS'}}) { $stor{$key{'OPTIONS'}} = "$key{'NEWSGROUPS'}:$key{'CLASS'}:" . "$key{'SIZE'}:$key{'OPTIONS'}"; push(@storsort, $key{'OPTIONS'}); *************** *** 345,350 **** --- 349,358 ---- sub lookup_age { my ($msgid) = @_; + # This isn't really sufficient; we should use a safe fork. + $msgid =~ s/\\/\\\\/; + $msgid =~ s/\'/\'\\\'\'/; + my $history = `grephistory -l '$msgid' 2>&1`; if ($history =~ /\t(\d+)~/) { return $1; *************** *** 442,453 **** } my($len) = bhex($lena); ! my($free) = hex($freea); my($update) = hex($updatea); my($cyclenum) = hex($cyclenuma) - 1; - my ($nupdate_str, $nago_str) = &make_time ($update); - if ($opt_a) { # The 16384 is a fuzz factor. New articles are actually --- 450,459 ---- } my($len) = bhex($lena); ! my($free) = bhex($freea); my($update) = hex($updatea); my($cyclenum) = hex($cyclenuma) - 1; if ($opt_a) { # The 16384 is a fuzz factor. New articles are actually *************** *** 458,473 **** while (1) { $offset += 16384; seek (BUFF, $cyclenum ? $free + $offset : 0, 0); ! while () { next unless /^message-id:\s+(<.*>)/i; # We give up if the article is missing in history, or else # we stand a high risk of checking the whole cycbuff... ! last do_seek unless $time = &lookup_age ($1); # Is the article newer than the last update? ! if ($time > $update) { $update = $time; next do_seek; } --- 464,491 ---- while (1) { $offset += 16384; seek (BUFF, $cyclenum ? $free + $offset : 0, 0); ! ! $num_tries = 0; while () { next unless /^message-id:\s+(<.*>)/i; + $num_tries++; # We give up if the article is missing in history, or else # we stand a high risk of checking the whole cycbuff... ! $time = &lookup_age ($1); ! if (!$time) { ! if ($num_tries > 10) { ! $oupdate_str = "beats me"; ! $oago_str = "who knows how long"; ! last do_seek; # give up ! } else { ! next; # try again ! } ! } ! # Is the article newer than the last update? ! if ($time >= $update) { $update = $time; next do_seek; } *************** *** 477,482 **** --- 495,503 ---- } } } + + my ($nupdate_str, $nago_str) = &make_time ($update); + close(BUFF); return($name,$len,$free,$update,$cyclenum,$nupdate_str,$nago_str,$oupdate_str,$oago_str); } diff -Nacr inn-2.2/samples/control.ctl inn-2.2.1/samples/control.ctl *** inn-2.2/samples/control.ctl Sun Nov 15 17:13:31 1998 --- inn-2.2.1/samples/control.ctl Mon Jul 12 18:42:59 1999 *************** *** 1,4 **** ! ## Maintained by Simon Lyall ## control.ctl - access control for control messages ## Format: ## ::: --- 1,4 ---- ! ## rone's unified control.ctl ## control.ctl - access control for control messages ## Format: ## ::: *************** *** 11,17 **** ## What to do: ## doit Perform action (usually sends mail too) ## doifarg Do if command has an arg (see sendsys) ! ## doit=xxx Do action; log to xxx (see below) ## drop Ignore message ## log One line to error log ## log=xxx Log to xxx (see below) --- 11,17 ---- ## What to do: ## doit Perform action (usually sends mail too) ## doifarg Do if command has an arg (see sendsys) ! ## doit=xxx Do action; log to xxx (see below) ## drop Ignore message ## log One line to error log ## log=xxx Log to xxx (see below) *************** *** 28,40 **** ## ## Secondly, the assumption now is that you have pgp on your system. If you ## don't, then you should get it to help protect youself against all the ! ## looser control message forgers. If you can't use pgp, then you'll have ## to fix some sections here. Search for *PGP*. At each "*PGP*" found ## you'll need to comment out the block of lines right after it (that have ## 'verify-' in their 4th field). Then uncomment the block of lines that ## comes right after that. You'll also need to change pgpverify in inn.conf. ## ! ## For more information on using PGP to varify control messages, upgrade ## to INN-1.5 (or later) or see: ftp://ftp.isc.org/pub/pgpcontrol/ ## ## -------------------------------------------------------------------------- --- 28,40 ---- ## ## Secondly, the assumption now is that you have pgp on your system. If you ## don't, then you should get it to help protect youself against all the ! ## luser control message forgers. If you can't use pgp, then you'll have ## to fix some sections here. Search for *PGP*. At each "*PGP*" found ## you'll need to comment out the block of lines right after it (that have ## 'verify-' in their 4th field). Then uncomment the block of lines that ## comes right after that. You'll also need to change pgpverify in inn.conf. ## ! ## For more information on using PGP to verify control messages, upgrade ## to INN-1.5 (or later) or see: ftp://ftp.isc.org/pub/pgpcontrol/ ## ## -------------------------------------------------------------------------- *************** *** 45,59 **** ## carry them. If you wish to carry them please contact the address given to ## arrange a feed. ## ! ## The following hierachies are listed in this file as "local only", ! ## "defunct" or "private" . If you carry these hierarchies you should ! ## change the entry listed. ## - ## ait, alive, backbone, best, bofh, cais, cd-online, central, duke, fa, - ## fur, ibmnet, iconz, local, manawatu, mcom, metropolis, mod, ncf, - ## net, netins, netaxs, planet, prima, psu, pubnet, rpi, - ## slac ,su , t-netz, tele, utwente, uva, worldonline, zer - ## ## -------------------------------------------------------------------------- ## DEFAULT --- 45,53 ---- ## carry them. If you wish to carry them please contact the address given to ## arrange a feed. ## ! ## If you have permission to carry any of the hierachies listed in this file ! ## as "local only", "defunct" or "private", you should change the entry listed. ## ## -------------------------------------------------------------------------- ## DEFAULT *************** *** 64,70 **** ## -------------------------------------------------------------------------- ## Any newsgroup ! checkgroups:*:*:log=miscctl ## -------------------------------------------------------------------------- ## IHAVE/SENDME MESSAGES --- 58,64 ---- ## -------------------------------------------------------------------------- ## Any newsgroup ! checkgroups:*:*:mail ## -------------------------------------------------------------------------- ## IHAVE/SENDME MESSAGES *************** *** 79,85 **** sendsys:*:*:log=sendsys - ## -------------------------------------------------------------------------- ## SENDUUNAME ## -------------------------------------------------------------------------- --- 73,78 ---- *************** *** 97,114 **** ## -------------------------------------------------------------------------- ## Default (for any group) ! newgroup:*:*:log=newgroup ! rmgroup:*:*:log=rmgroup ## The Big 8. ## COMP, HUMANITIES, MISC, NEWS, REC, SCI, SOC, TALK ! # # If it *doesn't* come from group-admin@isc.org, forget it ! newgroup:*:comp.*|humanities.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:log ! rmgroup:*:comp.*|humanities.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:log # *PGP* See comment at top of file. ! checkgroups:group-admin@isc.org:*:verify-news.announce.newgroups=miscctl newgroup:group-admin@isc.org:comp.*|misc.*|news.*:verify-news.announce.newgroups newgroup:group-admin@isc.org:rec.*|sci.*|soc.*:verify-news.announce.newgroups newgroup:group-admin@isc.org:talk.*|humanities.*:verify-news.announce.newgroups --- 90,107 ---- ## -------------------------------------------------------------------------- ## Default (for any group) ! newgroup:*:*:mail ! rmgroup:*:*:mail ## The Big 8. ## COMP, HUMANITIES, MISC, NEWS, REC, SCI, SOC, TALK ! # If it *doesn't* come from group-admin@isc.org, forget it ! #newgroup:*:comp.*|humanities.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:log ! #rmgroup:*:comp.*|humanities.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:log # *PGP* See comment at top of file. ! checkgroups:group-admin@isc.org:*:verify-news.announce.newgroups newgroup:group-admin@isc.org:comp.*|misc.*|news.*:verify-news.announce.newgroups newgroup:group-admin@isc.org:rec.*|sci.*|soc.*:verify-news.announce.newgroups newgroup:group-admin@isc.org:talk.*|humanities.*:verify-news.announce.newgroups *************** *** 122,157 **** # The best idea is to get PGP. # # checkgroups:group-admin@isc.org:*:mail ! # newgroup:group-admin@isc.org:comp.*|misc.*|news.*|rec.*|sci.*:doit=mail ! # newgroup:group-admin@isc.org:soc.*|talk.*|humanities.*:doit=mail # rmgroup:group-admin@isc.org:comp.*|misc.*|news.*|rec.*|sci.*:mail # rmgroup:group-admin@isc.org:soc.*|talk.*|humanities.*:mail ## AIR ( Internal Stanford University, USA ) # Contact: news@news.stanford.edu # For local use only, contact the above address for information. ! newgroup:*@*:air.*:drop ! rmgroup:*@*:air.*:doit=rmgroup ## AKR ( Akron, Ohio, USA) ! newgroup:red@redpoll.mrfs.oh.us:akr.*:doit=newgroup ! rmgroup:red@redpoll.mrfs.oh.us:akr.*:doit=rmgroup ! ## ALABAMA (Alabama, USA) # Contact: news@news.msfc.nasa.gov # *PGP* See comment at top of file. ! newgroup:news@news.msfc.nasa.gov:alabama.*:verify-alabama-group-admin=newgroup ! rmgroup:news@news.msfc.nasa.gov:alabama.*:verify-alabama-group-admin=rmgroup ! # newgroup:news@news.msfc.nasa.gov:alabama.*:doit=newgroup ! # rmgroup:news@news.msfc.nasa.gov:alabama.*:doit=rmgroup ## ALIVE # Contact: thijs@kink.xs4all.nl # No longer used. ! newgroup:*@*:alive.*:drop ! rmgroup:*@*:alive.*:doit=rmgroup ! ## ALT ## --- 115,160 ---- # The best idea is to get PGP. # # checkgroups:group-admin@isc.org:*:mail ! # newgroup:group-admin@isc.org:comp.*|misc.*|news.*|rec.*|sci.*:doit ! # newgroup:group-admin@isc.org:soc.*|talk.*|humanities.*:doit # rmgroup:group-admin@isc.org:comp.*|misc.*|news.*|rec.*|sci.*:mail # rmgroup:group-admin@isc.org:soc.*|talk.*|humanities.*:mail + ## ACS & OSU (Ohio State University) + # Contact: Albert J. School + # secondary contact: Harpal Chohan + # For local use only, contact the above addresses for information. + newgroup:*@*:acs.*|osu.*:mail + rmgroup:*@*:acs.*|osu.*:doit + + ## AHN (Athens-Clarke County, Georgia, USA) + newgroup:greg@*.ucns.uga.edu:ahn.*:doit + rmgroup:greg@*.ucns.uga.edu:ahn.*:doit + ## AIR ( Internal Stanford University, USA ) # Contact: news@news.stanford.edu # For local use only, contact the above address for information. ! newgroup:*@*:air.*:mail ! rmgroup:*@*:air.*:doit ## AKR ( Akron, Ohio, USA) ! newgroup:red@redpoll.mrfs.oh.us:akr.*:doit ! rmgroup:red@redpoll.mrfs.oh.us:akr.*:doit ! ## ALABAMA & HSV (Huntsville, Alabama, USA) # Contact: news@news.msfc.nasa.gov # *PGP* See comment at top of file. ! newgroup:news@news.msfc.nasa.gov:alabama.*|hsv.*:verify-alabama-group-admin ! rmgroup:news@news.msfc.nasa.gov:alabama.*|hsv.*:verify-alabama-group-admin ! # newgroup:news@news.msfc.nasa.gov:alabama.*|hsv.*:doit ! # rmgroup:news@news.msfc.nasa.gov:alabama.*|hsv.*:doit ## ALIVE # Contact: thijs@kink.xs4all.nl # No longer used. ! newgroup:*@*:alive.*:mail ! rmgroup:*@*:alive.*:doit ## ALT ## *************** *** 163,212 **** ## Other options and comments on alt.* groups can be found on Bill ## Hazelrig's WWW pages at http://www.tezcat.com/~haz1/alt/faqindex.html ## ! newgroup:*:alt.*:doit=newgroup ! rmgroup:*:alt.*:mail ! rmgroup:haz1@*nwu.edu:alt.*:doit=rmgroup ! rmgroup:grobe@*netins.net:alt.*:doit=rmgroup ! rmgroup:smj@*.oro.net:alt.*:doit=rmgroup ! rmgroup:news@gymnet.com:alt.*:doit=rmgroup ! rmgroup:sjkiii@crl.com:alt.*:doit=rmgroup ! rmgroup:zot@ampersand.com:alt.*:doit=rmgroup ! rmgroup:david@home.net.nz:alt.*:doit=rmgroup ! rmgroup:*@*:alt.config:drop ## AR (Argentina) ! newgroup:jorge_f@nodens.fisica.unlp.edu.ar:ar.*:doit=newgroup ! rmgroup:jorge_f@nodens.fisica.unlp.edu.ar:ar.*:doit=rmgroup ## ARKANE (Arkane Systems, UK ) # Contact: newsbastard@arkane.demon.co.uk # URL: http://www.arkane.demon.co.uk/Newsgroups.html checkgroups:newsbastard@arkane.demon.co.uk:arkane.*:mail ! newgroup:newsbastard@arkane.demon.co.uk:arkane.*:doit=newgroup ! rmgroup:newsbastard@arkane.demon.co.uk:arkane.*:doit=rmgroup ## AT (Austrian) checkgroups:control@usenet.backbone.at:at.*:mail ! newgroup:control@usenet.backbone.at:at.*:doit=newgroup ! rmgroup:control@usenet.backbone.at:at.*:doit=rmgroup ## AUS (Australia) ! # NOTE: This hirarchy is in the process of setting up new alaises ! # and rules for evrything # URL: http://aus.news-admin.org/ ! checkgroups:news@aus.news-admin.org:aus.*:mail ! newgroup:news@aus.news-admin.org:aus.*:doit=newgroup ! rmgroup:news@aus.news-admin.org:aus.*:doit=rmgroup ! ! ## AUSTIN (Texas) ! newgroup:pug@arlut.utexas.edu:austin.*:doit=newgroup ! rmgroup:pug@arlut.utexas.edu:austin.*:doit=rmgroup ! ! ## AZ (Arizona) ! newgroup:system@asuvax.eas.asu.edu:az.*:doit=newgroup ! rmgroup:system@asuvax.eas.asu.edu:az.*:doit=rmgroup ## BA (San Francisco Bay Area, USA) newgroup:ba-mod@nas.nasa.gov:ba.*:verify-ba.news.config rmgroup:ba-mod@nas.nasa.gov:ba.*:verify-ba.news.config checkgroups:ba-mod@nas.nasa.gov:ba.*:verify-ba.news.config --- 166,231 ---- ## Other options and comments on alt.* groups can be found on Bill ## Hazelrig's WWW pages at http://www.tezcat.com/~haz1/alt/faqindex.html ## ! newgroup:*:alt.*:doit ! rmgroup:*:alt.*:drop ! #rmgroup:haz1@*nwu.edu:alt.*:doit ! #rmgroup:grobe@*netins.net:alt.*:doit ! #rmgroup:smj@*.oro.net:alt.*:doit ! #rmgroup:news@gymnet.com:alt.*:doit ! #rmgroup:sjkiii@crl.com:alt.*:doit ! #rmgroup:zot@ampersand.com:alt.*:doit ! #rmgroup:david@home.net.nz:alt.*:doit ! #rmgroup:*@*:alt.config:drop ## AR (Argentina) ! newgroup:jorge_f@nodens.fisica.unlp.edu.ar:ar.*:doit ! rmgroup:jorge_f@nodens.fisica.unlp.edu.ar:ar.*:doit ! ! ## ARC (NASA Ames Research Center) ! # Contact: news@arc.nasa.gov ! # For internal use only, contact above address for questions ! newgroup:*@*:arc.*:mail ! rmgroup:*@*:arc.*:doit ## ARKANE (Arkane Systems, UK ) # Contact: newsbastard@arkane.demon.co.uk # URL: http://www.arkane.demon.co.uk/Newsgroups.html checkgroups:newsbastard@arkane.demon.co.uk:arkane.*:mail ! newgroup:newsbastard@arkane.demon.co.uk:arkane.*:doit ! rmgroup:newsbastard@arkane.demon.co.uk:arkane.*:doit ## AT (Austrian) checkgroups:control@usenet.backbone.at:at.*:mail ! newgroup:control@usenet.backbone.at:at.*:doit ! rmgroup:control@usenet.backbone.at:at.*:doit ## AUS (Australia) ! # Contact: ausadmin@aus.news-admin.org # URL: http://aus.news-admin.org/ ! # *PGP* See comment at top of file. ! checkgroups:ausadmin@aus.news-admin.org:aus.*:verify-ausadmin@aus.news-admin.org ! newgroup:ausadmin@aus.news-admin.org:aus.*:verify-ausadmin@aus.news-admin.org ! rmgroup:ausadmin@aus.news-admin.org:aus.*:verify-ausadmin@aus.news-admin.org ! ! ## AUSTIN (Texas, USA) ! checkgroups:fletcher@cs.utexas.edu:austin.*:doit ! checkgroups:chip@unicom.com:austin.*:doit ! checkgroups:pug@pug.net:austin.*:doit ! newgroup:fletcher@cs.utexas.edu:austin.*:doit ! newgroup:chip@unicom.com:austin.*:doit ! newgroup:pug@pug.net:austin.*:doit ! rmgroup:fletcher@cs.utexas.edu:austin.*:doit ! rmgroup:chip@unicom.com:austin.*:doit ! rmgroup:pug@pug.net:austin.*:doit ! ! ## AZ (Arizona, USA) ! newgroup:system@asuvax.eas.asu.edu:az.*:doit ! rmgroup:system@asuvax.eas.asu.edu:az.*:doit ## BA (San Francisco Bay Area, USA) + # Contact: + # URL: http://ennui.org/ba/ + # *PGP* See comment at top of file. newgroup:ba-mod@nas.nasa.gov:ba.*:verify-ba.news.config rmgroup:ba-mod@nas.nasa.gov:ba.*:verify-ba.news.config checkgroups:ba-mod@nas.nasa.gov:ba.*:verify-ba.news.config *************** *** 214,221 **** ## BACKBONE (ruhr.de/ruhrgebiet.individual.net in Germany) # Contact: admin@ruhr.de # For internal use only, contact above address for questions ! newgroup:*@*:backbone.*:drop ! rmgroup:*@*:backbone.*:doit=rmgroup ## BAYNET (Bayerische Buergernetze, Deutschland) # Contact: news@mayn.de --- 233,240 ---- ## BACKBONE (ruhr.de/ruhrgebiet.individual.net in Germany) # Contact: admin@ruhr.de # For internal use only, contact above address for questions ! newgroup:*@*:backbone.*:mail ! rmgroup:*@*:backbone.*:doit ## BAYNET (Bayerische Buergernetze, Deutschland) # Contact: news@mayn.de *************** *** 223,238 **** # Key fingerprint = F7 AD 96 D8 7A 3F 7E 84 02 0C 83 9A DB 8F EB B8 # Syncable server: news.mayn.de (contact news@mayn.de if permission denied) # *PGP* See comment at top of file. ! newgroup:news@mayn.de:baynet.*:verify-news.mayn.de=newgroup ! rmgroup:news@mayn.de:baynet.*:verify-news.mayn.de=rmgroup ! checkgroups:news@mayn.de:baynet.*:verify-news.mayn.de=miscctl # newgroup:news@mayn.de:baynet.*:mail # rmgroup:news@mayn.de:baynet.*:mail # checkgroups:news@mayn.de:baynet.*:mail ! ## BE (Belgique/Belgïe/Belgien/Belgium ) # Contact: usenet@innet.be # URL: ftp://ftp.innet.be/pub/staff/stef/ # *PGP* See comment at top of file. --- 242,260 ---- # Key fingerprint = F7 AD 96 D8 7A 3F 7E 84 02 0C 83 9A DB 8F EB B8 # Syncable server: news.mayn.de (contact news@mayn.de if permission denied) # *PGP* See comment at top of file. ! newgroup:news@mayn.de:baynet.*:verify-news.mayn.de ! rmgroup:news@mayn.de:baynet.*:verify-news.mayn.de ! checkgroups:news@mayn.de:baynet.*:verify-news.mayn.de # newgroup:news@mayn.de:baynet.*:mail # rmgroup:news@mayn.de:baynet.*:mail # checkgroups:news@mayn.de:baynet.*:mail + ## BDA (German groups?) + newgroup:news@*netuse.de:bda.*:doit + rmgroup:news@*netuse.de:bda.*:doit ! ## BE (Belgique/Belgie/Belgien/Belgium ) # Contact: usenet@innet.be # URL: ftp://ftp.innet.be/pub/staff/stef/ # *PGP* See comment at top of file. *************** *** 240,329 **** newgroup:news@*innet.be:be.*:verify-be.announce.newgroups rmgroup:news@*innet.be:be.*:verify-be.announce.newgroups ! # newgroup:news@innet.be:be.*:doit=newgroup ! # rmgroup:news@innet.be:be.*:doit=rmgroup ! ## BERMUDA ! newgroup:news@*ibl.bm:bermuda.*:doit=newgroup ! rmgroup:news@*ibl.bm:bermuda.*:doit=rmgroup ## BEST ( Best Internet Communications, Inc. ) # Contact: news@best.net # For local use only, contact the above address for information. ! newgroup:*@*:best.*:drop ! rmgroup:*@*:best.*:doit=rmgroup ## BIONET (Biology Network) checkgroups:kristoff@*.bio.net:bionet.*:mail checkgroups:news@*.bio.net:bionet.*:mail ! newgroup:dmack@*.bio.net:bionet.*:doit=newgroup ! newgroup:kristoff@*.bio.net:bionet.*:doit=newgroup ! newgroup:shibumi@*.bio.net:bionet.*:doit=mail ! rmgroup:dmack@*.bio.net:bionet.*:doit=rmgroup ! rmgroup:kristoff@*.bio.net:bionet.*:doit=rmgroup ! rmgroup:shibumi@*.bio.net:bionet.*:doit=mail ## BIT (Gatewayed Mailing lists) # *PGP* See comment at top of file. ! checkgroups:jim@american.edu:bit.*:verify-bit.admin=miscctl newgroup:jim@american.edu:bit.*:verify-bit.admin rmgroup:jim@american.edu:bit.*:verify-bit.admin ! # newgroup:jim@*american.edu:bit.*:doit=newgroup ! # rmgroup:jim@*american.edu:bit.*:doit=rmgroup ## BIZ (Business Groups) ! newgroup:edhew@xenitec.on.ca:biz.*:doit=newgroup ! rmgroup:edhew@xenitec.on.ca:biz.*:doit=rmgroup ## BLGTN ( Bloomington, In, USA) ! newgroup:control@news.bloomington.in.us:blgtn.*:doit=newgroup ! rmgroup:control@news.bloomington.in.us:blgtn.*:doit=rmgroup ## BLN (Berlin, Germany) checkgroups:news@*fu-berlin.de:bln.*:mail ! newgroup:news@*fu-berlin.de:bln.*:doit=newgroup ! rmgroup:news@*fu-berlin.de:bln.*:doit=rmgroup ## BOFH ( Bastard Operator From Hell ) # Contact: myname@myhost.mydomain.com # For private use only, contact the above address for information. ! newgroup:*@*:bofh.*:drop ! rmgroup:*@*:bofh.*:doit=rmgroup ## CA (California, USA) # URL: http://www.sbay.org/ca/ # Contact: ikluft@thunder.sbay.org ! newgroup:ikluft@thunder.sbay.org:ca.*:doit=newgroup ! rmgroup:ikluft@thunder.sbay.org:ca.*:doit=rmgroup ! ## CAIS ( ) # Contact: news@cais.com # For local use only, contact the above address for information. ! newgroup:*@*:cais.*:drop ! rmgroup:*@*:cais.*:doit=rmgroup ## CAPDIST (Albany, The Capital District, New York, USA) ! newgroup:danorton@albany.net:capdist.*:doit=newgroup ! rmgroup:danorton@albany.net:capdist.*:doit=rmgroup ## CARLETON (Canadian -- Carleton University) ! newgroup:news@cunews.carleton.ca:carleton.*:doit=newgroup ! newgroup:news@cunews.carleton.ca:carleton*class.*:log ! rmgroup:news@cunews.carleton.ca:carleton.*:doit=rmgroup ## CD-ONLINE # Contact: newsmaster@worldonline.nl # For local use only, contact the above address for information. ! newgroup:*@*:cd-online.*:drop ! rmgroup:*@*:cd-online.*:doit=rmgroup ## CENTRAL (The Internet Company of New Zealand, Wellington, NZ ) # Contact: usenet@iconz.co.nz # For local use only, contact the above address for information. ! newgroup:*@*:central.*:drop ! rmgroup:*@*:central.*:doit=rmgroup ## CH ( Switzerland ) # Contact: ch-news-admin@use-net.ch --- 262,360 ---- newgroup:news@*innet.be:be.*:verify-be.announce.newgroups rmgroup:news@*innet.be:be.*:verify-be.announce.newgroups ! # newgroup:news@innet.be:be.*:doit ! # rmgroup:news@innet.be:be.*:doit ## BERMUDA ! newgroup:news@*ibl.bm:bermuda.*:doit ! rmgroup:news@*ibl.bm:bermuda.*:doit ## BEST ( Best Internet Communications, Inc. ) # Contact: news@best.net # For local use only, contact the above address for information. ! newgroup:*@*:best.*:mail ! rmgroup:*@*:best.*:doit ## BIONET (Biology Network) checkgroups:kristoff@*.bio.net:bionet.*:mail checkgroups:news@*.bio.net:bionet.*:mail ! newgroup:dmack@*.bio.net:bionet.*:doit ! newgroup:kristoff@*.bio.net:bionet.*:doit ! newgroup:shibumi@*.bio.net:bionet.*:doit ! rmgroup:dmack@*.bio.net:bionet.*:doit ! rmgroup:kristoff@*.bio.net:bionet.*:doit ! rmgroup:shibumi@*.bio.net:bionet.*:doit ## BIT (Gatewayed Mailing lists) # *PGP* See comment at top of file. ! checkgroups:jim@american.edu:bit.*:verify-bit.admin newgroup:jim@american.edu:bit.*:verify-bit.admin rmgroup:jim@american.edu:bit.*:verify-bit.admin ! # newgroup:jim@*american.edu:bit.*:doit ! # rmgroup:jim@*american.edu:bit.*:doit ## BIZ (Business Groups) ! newgroup:edhew@xenitec.on.ca:biz.*:doit ! rmgroup:edhew@xenitec.on.ca:biz.*:doit ## BLGTN ( Bloomington, In, USA) ! newgroup:control@news.bloomington.in.us:blgtn.*:doit ! rmgroup:control@news.bloomington.in.us:blgtn.*:doit ## BLN (Berlin, Germany) checkgroups:news@*fu-berlin.de:bln.*:mail ! newgroup:news@*fu-berlin.de:bln.*:doit ! rmgroup:news@*fu-berlin.de:bln.*:doit ## BOFH ( Bastard Operator From Hell ) # Contact: myname@myhost.mydomain.com # For private use only, contact the above address for information. ! newgroup:*@*:bofh.*:mail ! rmgroup:*@*:bofh.*:doit ## CA (California, USA) # URL: http://www.sbay.org/ca/ # Contact: ikluft@thunder.sbay.org ! newgroup:ikluft@thunder.sbay.org:ca.*:doit ! rmgroup:ikluft@thunder.sbay.org:ca.*:doit ! ## CAIS (Capital Area Internet Services) # Contact: news@cais.com # For local use only, contact the above address for information. ! newgroup:*@*:cais.*:mail ! rmgroup:*@*:cais.*:doit ! ! ## CALSTATE (California State University) ! newgroup:*@*calstate.edu:calstate.*:doit ! rmgroup:*@*calstate.edu:calstate.*:doit ## CAPDIST (Albany, The Capital District, New York, USA) ! newgroup:danorton@albany.net:capdist.*:doit ! rmgroup:danorton@albany.net:capdist.*:doit ## CARLETON (Canadian -- Carleton University) ! newgroup:news@cunews.carleton.ca:carleton.*:doit ! newgroup:news@cunews.carleton.ca:carleton*class.*:mail ! rmgroup:news@cunews.carleton.ca:carleton.*:doit ## CD-ONLINE # Contact: newsmaster@worldonline.nl # For local use only, contact the above address for information. ! newgroup:*@*:cd-online.*:mail ! rmgroup:*@*:cd-online.*:doit ## CENTRAL (The Internet Company of New Zealand, Wellington, NZ ) # Contact: usenet@iconz.co.nz # For local use only, contact the above address for information. ! newgroup:*@*:central.*:mail ! rmgroup:*@*:central.*:doit ! ! ## CERN (CERN - European Laboratory for Particle Physics) ! # Contact: Dietrich Wiegandt ! # For private use only, contact the above address for information. ! newgroup:News.Support@cern.ch:cern.*:doit ! rmgroup:News.Support@cern.ch:cern.*:doit ## CH ( Switzerland ) # Contact: ch-news-admin@use-net.ch *************** *** 331,367 **** # Key URL: http://www.use-net.ch/Usenet/adminkey.html # *PGP* See comment at top of file. # Key fingerprint = 71 80 D6 8C A7 DE 2C 70 62 4A 48 6E D9 96 02 DF ! checkgroups:felix.rauch@nice.ch:ch.*:verify-ch-news-admin@use-net.ch=miscctl newgroup:felix.rauch@nice.ch:ch.*:verify-ch-news-admin@use-net.ch rmgroup:felix.rauch@nice.ch:ch.*:verify-ch-news-admin@use-net.ch ! #checkgroups:felix.rauch@nice.ch:ch.*:doit=mail ! #newgroup:felix.rauch@nice.ch:ch.*:doit=newgroup ! #rmgroup:felix.rauch@nice.ch:ch.*:doit=mail ! ## CHRISTNET newsgroups checkgroups:news@fdma.com:christnet.*:mail ! newgroup:news@fdma.com:christnet.*:doit=newgroup ! rmgroup:news@fdma.com:christnet.*:doit=rmgroup ## CHI (Chicago, USA) ! newgroup:lisbon@*interaccess.com:chi.*:doit=newgroup ! newgroup:lisbon@*chi.il.us:chi.*:doit=newgroup ! rmgroup:lisbon@*interaccess.com:chi.*:doit=rmgroup ! rmgroup:lisbon@*chi.il.us:chi.*:doit=rmgroup ## CHILE (Chile and Chilean affairs) # Contact: mod-cga@webhost.cl # URL: http://www.webhost.cl/~mod-cga checkgroups:mod-cga@*webhost.cl:chile.*:mail ! newgroup:mod-cga@*webhost.cl:chile.*:doit=newgroup ! rmgroup:mod-cga@*webhost.cl:chile.*:doit=rmgroup ## CHINESE (China and Chinese language groups) ! newgroup:pinghua@stat.berkeley.edu:chinese.*:doit=newgroup ! rmgroup:pinghua@stat.berkeley.edu:chinese.*:doit=rmgroup ## CL (CL-Netz, German) # *PGP* See comment at top of file. --- 362,405 ---- # Key URL: http://www.use-net.ch/Usenet/adminkey.html # *PGP* See comment at top of file. # Key fingerprint = 71 80 D6 8C A7 DE 2C 70 62 4A 48 6E D9 96 02 DF ! checkgroups:felix.rauch@nice.ch:ch.*:verify-ch-news-admin@use-net.ch newgroup:felix.rauch@nice.ch:ch.*:verify-ch-news-admin@use-net.ch rmgroup:felix.rauch@nice.ch:ch.*:verify-ch-news-admin@use-net.ch ! #checkgroups:felix.rauch@nice.ch:ch.*:doit ! #newgroup:felix.rauch@nice.ch:ch.*:doit ! #rmgroup:felix.rauch@nice.ch:ch.*:doit ## CHRISTNET newsgroups checkgroups:news@fdma.com:christnet.*:mail ! newgroup:news@fdma.com:christnet.*:doit ! rmgroup:news@fdma.com:christnet.*:doit ## CHI (Chicago, USA) ! newgroup:lisbon@*interaccess.com:chi.*:doit ! newgroup:lisbon@*chi.il.us:chi.*:doit ! rmgroup:lisbon@*interaccess.com:chi.*:doit ! rmgroup:lisbon@*chi.il.us:chi.*:doit ## CHILE (Chile and Chilean affairs) # Contact: mod-cga@webhost.cl # URL: http://www.webhost.cl/~mod-cga checkgroups:mod-cga@*webhost.cl:chile.*:mail ! newgroup:mod-cga@*webhost.cl:chile.*:doit ! rmgroup:mod-cga@*webhost.cl:chile.*:doit ## CHINESE (China and Chinese language groups) ! newgroup:pinghua@stat.berkeley.edu:chinese.*:doit ! rmgroup:pinghua@stat.berkeley.edu:chinese.*:doit ! ! ## CITYSCAPE & DEMON (Cityscape Internet Services & Demon Internet, UK) ! # Contact: Dave Williams ! # URL: ftp://ftp.demon.co.uk/pub/news/doc/demon.news.txt ! # *PGP* See comment at top of file. ! checkgroups:newsmaster@demon.net:cityscp.*:verify-demon.news ! newgroup:newsmaster@demon.net:cityscp.*:verify-demon.news ! rmgroup:newsmaster@demon.net:cityscp.*:verify-demon.news ## CL (CL-Netz, German) # *PGP* See comment at top of file. *************** *** 373,383 **** newgroup:cl-koordination@dinoex.sub.org:cl.*:verify-cl.koordination.einstellungen rmgroup:cl-koordination@dinoex.sub.org:cl.*:verify-cl.koordination.einstellungen ! # newgroup:root@cl.sub.de:cl.*:doit=newgroup ! # newgroup:root@cl-koordination@dinoex.sub.org:cl.*:doit=newgroup ! # rmgroup:root@cl.sub.de:cl.*:doit=rmgroup ! # rmgroup:root@cl-koordination@dinoex.sub.org:cl.*:doit=rmgroup ! ## CLARINET ( Features and News, Available on a commercial basis) # *PGP* See comment at top of file. --- 411,420 ---- newgroup:cl-koordination@dinoex.sub.org:cl.*:verify-cl.koordination.einstellungen rmgroup:cl-koordination@dinoex.sub.org:cl.*:verify-cl.koordination.einstellungen ! # newgroup:root@cl.sub.de:cl.*:doit ! # newgroup:root@cl-koordination@dinoex.sub.org:cl.*:doit ! # rmgroup:root@cl.sub.de:cl.*:doit ! # rmgroup:root@cl-koordination@dinoex.sub.org:cl.*:doit ## CLARINET ( Features and News, Available on a commercial basis) # *PGP* See comment at top of file. *************** *** 385,439 **** newgroup:cl*@clarinet.com:clari.*:verify-ClariNet.Group rmgroup:cl*@clarinet.com:clari.*:verify-ClariNet.Group ! # newgroup:brad@clarinet.com:clari.*:doit=newgroup ! # newgroup:clarinet@clarinet.com:clari.*:doit=newgroup ! # newgroup:clarinet@clarinet.net:clari.*:doit=newgroup ! # rmgroup:brad@clarinet.com:clari.*:doit=rmgroup ! # rmgroup:clarinet@clarinet.com:clari.*:doit=rmgroup ! # rmgroup:clarinet@clarinet.net:clari.*:doit=rmgroup ! ## CONCORDIA newsgroups (Concordia University, Montreal, Canada) # URL: General University info at http://www.concordia.ca/ # Contact: newsmaster@concordia.ca ! newgroup:news@newsflash.concordia.ca:concordia.*:doit=newgroup ! rmgroup:news@newsflash.concordia.ca:concordia.*:doit=rmgroup ## CPCU/IIA (American Institute for Chartered Property Casulty ## Underwriter/Insurance Institute of America, USA ) # Contact: miller@cpcuiia.org # URL: www.aicpcu.org checkgroups:miller@cpcuiia.org:cpcuiia.*:mail ! newgroup:miller@cpcuiia.org:cpcuiia.*:doit=newgroup ! rmgroup:miller@cpcuiia.org:cpcuiia.*:doit=rmgroup ## CZ newsgroups (Czech Republic) # URL: ftp://ftp.vslib.cz/pub/news/config/cz/newsgroups (text) ! # URL: http://www.cesnet.cz/cgi-bin/newsgroups.p?cz (HTML) checkgroups:petr.kolar@vslib.cz:cz.*:mail ! newgroup:petr.kolar@vslib.cz:cz.*:doit=newgroup ! rmgroup:petr.kolar@vslib.cz:cz.*:doit=rmgroup ## DC (Washington, D.C. , USA ) checkgroups:news@mattress.atww.org:dc.*:mail ! newgroup:news@mattress.atww.org:dc.*:doit=newgroup ! rmgroup:news@mattress.atww.org:dc.*:doit=rmgroup ## DE (German language) # *PGP* See comment at top of file. checkgroups:moderator@dana.de:de.*:verify-de.admin.news.announce newgroup:moderator@dana.de:de.*:verify-de.admin.news.announce ! newgroup:*@*:de.alt.*:doit=newgroup rmgroup:moderator@dana.de:de.*:verify-de.admin.news.announce # checkgroups:*@*dana.de:de.*:mail # checkgroups:*@*.dana.de:de.*:mail ! # newgroup:*@dana.de|*@*.dana.de:de.*:doit=newgroup ! # newgroup:*@*:de.alt.*:doit=newgroup ! # rmgroup:*@dana.de|*@*.dana.de:de.*:doit=rmgroup ## DFW (Dallas/Fort Worth, Texas, USA) ! newgroup:eric@*cirr.com:dfw.*:doit=newgroup ! rmgroup:eric@*cirr.com:dfw.*:doit=rmgroup ## DK (Denmark) # URL: http://www.DK.net/Usenet/ --- 422,493 ---- newgroup:cl*@clarinet.com:clari.*:verify-ClariNet.Group rmgroup:cl*@clarinet.com:clari.*:verify-ClariNet.Group ! # newgroup:brad@clarinet.com:clari.*:doit ! # newgroup:clarinet@clarinet.com:clari.*:doit ! # newgroup:clarinet@clarinet.net:clari.*:doit ! # rmgroup:brad@clarinet.com:clari.*:doit ! # rmgroup:clarinet@clarinet.com:clari.*:doit ! # rmgroup:clarinet@clarinet.net:clari.*:doit ! ! ## COMPUTER42 (Computer 42, Germany) ! # Contact: Dirk Schmitt ! newgroup:news@computer42.org:computer42.*:doit ! rmgroup:news@computer42.org:computer42.*:doit ! ## CONCORDIA (Concordia University, Montreal, Canada) # URL: General University info at http://www.concordia.ca/ # Contact: newsmaster@concordia.ca ! newgroup:news@newsflash.concordia.ca:concordia.*:doit ! rmgroup:news@newsflash.concordia.ca:concordia.*:doit ! ! ## COURTS ! # Contact: trier@ins.cwru.edu ! # This Hierarchy is defunct as of mid 1998. ! newgroup:*@*:courts.*:mail ! rmgroup:*@*:courts.*:doit ## CPCU/IIA (American Institute for Chartered Property Casulty ## Underwriter/Insurance Institute of America, USA ) # Contact: miller@cpcuiia.org # URL: www.aicpcu.org checkgroups:miller@cpcuiia.org:cpcuiia.*:mail ! newgroup:miller@cpcuiia.org:cpcuiia.*:doit ! rmgroup:miller@cpcuiia.org:cpcuiia.*:doit ! ! ## CU (University of Colorado) ! # Contact: Doreen Petersen ! # For local use only, contact the above address for information. ! newgroup:*@*:cu.*:mail ! rmgroup:*@*:cu.*:doit ## CZ newsgroups (Czech Republic) # URL: ftp://ftp.vslib.cz/pub/news/config/cz/newsgroups (text) ! # URL: http://www.ces.net/cgi-bin/newsgroups.p?cz (HTML) checkgroups:petr.kolar@vslib.cz:cz.*:mail ! newgroup:petr.kolar@vslib.cz:cz.*:doit ! rmgroup:petr.kolar@vslib.cz:cz.*:doit ## DC (Washington, D.C. , USA ) checkgroups:news@mattress.atww.org:dc.*:mail ! newgroup:news@mattress.atww.org:dc.*:doit ! rmgroup:news@mattress.atww.org:dc.*:doit ## DE (German language) # *PGP* See comment at top of file. checkgroups:moderator@dana.de:de.*:verify-de.admin.news.announce newgroup:moderator@dana.de:de.*:verify-de.admin.news.announce ! newgroup:*@*:de.alt.*:doit rmgroup:moderator@dana.de:de.*:verify-de.admin.news.announce # checkgroups:*@*dana.de:de.*:mail # checkgroups:*@*.dana.de:de.*:mail ! # newgroup:*@dana.de|*@*.dana.de:de.*:doit ! # newgroup:*@*:de.alt.*:doit ! # rmgroup:*@dana.de|*@*.dana.de:de.*:doit ## DFW (Dallas/Fort Worth, Texas, USA) ! newgroup:eric@*cirr.com:dfw.*:doit ! rmgroup:eric@*cirr.com:dfw.*:doit ## DK (Denmark) # URL: http://www.DK.net/Usenet/ *************** *** 443,520 **** newgroup:news@news.dknet.dk:dk.*:verify-news@news.dknet.dk rmgroup:news@news.dknet.dk:dk.*:verify-news@news.dknet.dk ! # newgroup:news@news.dknet.dk:dk.*:doit=newgroup ! # rmgroup:news@news.dknet.dk:dk.*:doit=rmgroup ! ## DUKE ( Duke University, USA ) # Contact: news@newsgate.duke.edu # For local use only, contact the above address for information. ! newgroup:*@*:duke.*:drop ! rmgroup:*@*:duke.*:doit=rmgroup ! ## EFN ! ## # *PGP* See comment at top of file. ! checkgroups:newsadmin@efn.org:efn.*:verify-eug.config=miscctl ! newgroup:newsadmin@efn.org:efn.*:verify-eug.config ! rmgroup:newsadmin@efn.org:efn.*:verify-eug.config ! # newgroup:newsadmin@efn.org:efn.*:doit=newgroup ! # rmgroup:newsadmin@efn.org:efn.*:doit=rmgroup ## EHIME-U (? University, Japan ?) ! newgroup:news@cc.nias.ac.jp:ehime-u.*:doit=newgroup ! newgroup:news@doc.dpc.ehime-u.ac.jp:ehime-u.*:doit=newgroup ! rmgroup:news@cc.nias.ac.jp:ehime-u.*:doit=rmgroup ! rmgroup:news@doc.dpc.ehime-u.ac.jp:ehime-u.*:doit=rmgroup ## ES (Spain) ! # Contact: Juan.Garcia@rediris.es # See: http://www.rediris.es/netnews/infonews/config.es.html ! # See: http://news.rediris.es/infonews/docs/news_config/newsgroups.es # *PGP* See comment at top of file. # Key fingerprint = 3B 63 18 6F 83 EA 89 82 95 1B 7F 8D B6 ED DD 87 ! checkgroups:news@news.rediris.es:es.*:verify-es.news ! newgroup:news@news.rediris.es:es.*:verify-es.news ! rmgroup:news@news.rediris.es:es.*:verify-es.news ! ! # checkgroups:news@news.rediris.es:es.*:mail ! # newgroup:news@news.rediris.es:es.*:doit=newgroup ! # rmgroup:news@news.rediris.es:es.*:doit=rmgroup ## ESP (Spanish-language newsgroups) ! # YRL: http://www.ennui.org/esp newgroup:mod-ena@ennui.org:esp.*:verify-esp.news.administracion rmgroup:mod-ena@ennui.org:esp.*:verify-esp.news.administracion checkgroups:mod-ena@ennui.org:esp.*:verify-esp.news.administracion - ## EUG (Eugene/Springfield, Oregon, USA) - # *PGP* See comment at top of file. - checkgroups:newsadmin@efn.org:eug.*:verify-eug.config=miscctl - newgroup:newsadmin@efn.org:eug.*:verify-eug.config - rmgroup:newsadmin@efn.org:eug.*:verify-eug.config - - # newgroup:newsadmin@efn.org:eug.*:doit=newgroup - # rmgroup:newsadmin@efn.org:eug.*:doit=rmgroup - ## EUNET ( Europe ) ! newgroup:news@noc.eu.net:eunet.*:doit=newgroup ! rmgroup:news@noc.eu.net:eunet.*:doit=rmgroup ## EXAMPLE ( Bogus hierarchy reserved for standards documents ) ! # checkgroups:*@*:example.*:drop ! newgroup:*@*:example.*:drop ! rmgroup:*@*:example.*:doit=rmgroup ## FA ( "From ARPA" gatewayed mailing lists) # Removed in the "Great Renaming" of 1988. ! newgroup:*@*:fa.*:drop ! rmgroup:*@*:fa.*:doit=rmgroup ## FIDO newsgroups (FidoNet) ! newgroup:root@mbh.org:fido.*:doit=newgroup ! rmgroup:root@mbh.org:fido.*:doit=rmgroup ## FIDO.BELG.* newsgroups (FidoNet) # URL: http://www.z2.fidonet.org/news/fido.belg.news/ --- 497,573 ---- newgroup:news@news.dknet.dk:dk.*:verify-news@news.dknet.dk rmgroup:news@news.dknet.dk:dk.*:verify-news@news.dknet.dk ! # newgroup:news@news.dknet.dk:dk.*:doit ! # rmgroup:news@news.dknet.dk:dk.*:doit ## DUKE ( Duke University, USA ) # Contact: news@newsgate.duke.edu # For local use only, contact the above address for information. ! newgroup:*@*:duke.*:mail ! rmgroup:*@*:duke.*:doit ! ## Easynet PLC ! # Contact: Christiaan Keet ! # URL: ftp://ftp.easynet.net/pub/usenet/easynet.control.txt # *PGP* See comment at top of file. ! checkgroups:newsmaster@easynet.net:easynet.*:verify-easynet.news ! newgroup:newsmaster@easynet.net:easynet.*:verify-easynet.news ! rmgroup:newsmaster@easynet.net:easynet.*:verify-easynet.news ! ## EFN & EUG (Eugene Free Computer Network, Eugene/Springfield, Oregon, USA) ! # *PGP* See comment at top of file. ! checkgroups:newsadmin@efn.org:efn.*|eug.*:verify-eug.config ! newgroup:newsadmin@efn.org:efn.*|eug.*:verify-eug.config ! rmgroup:newsadmin@efn.org:efn.*|eug.*:verify-eug.config ! ! # newgroup:newsadmin@efn.org:efn.*|eug.*:doit ! # rmgroup:newsadmin@efn.org:efn.*|eug.*:doit ## EHIME-U (? University, Japan ?) ! newgroup:news@cc.nias.ac.jp:ehime-u.*:doit ! newgroup:news@doc.dpc.ehime-u.ac.jp:ehime-u.*:doit ! rmgroup:news@cc.nias.ac.jp:ehime-u.*:doit ! rmgroup:news@doc.dpc.ehime-u.ac.jp:ehime-u.*:doit ## ES (Spain) ! # Contact: Daniel.Diaz@rediris.es # See: http://www.rediris.es/netnews/infonews/config.es.html ! # See: http://news.rediris.es/~moderador/grupos/newsgroups.es # *PGP* See comment at top of file. # Key fingerprint = 3B 63 18 6F 83 EA 89 82 95 1B 7F 8D B6 ED DD 87 ! newgroup:moderador@news.rediris.es:es.*:verify-es.news ! rmgroup:moderador@news.rediris.es:es.*:verify-es.news ! checkgroups:moderador@news.rediris.es:es.*:doit ! ! # checkgroups:moderador@news.rediris.es:es.*:mail ! # newgroup:moderador@news.rediris.es:es.*:doit ! # rmgroup:moderador@news.rediris.es:es.*:doit ## ESP (Spanish-language newsgroups) ! # Contact: ! # URL: http://ennui.org/esp/ ! # *PGP* See comment at top of file. newgroup:mod-ena@ennui.org:esp.*:verify-esp.news.administracion rmgroup:mod-ena@ennui.org:esp.*:verify-esp.news.administracion checkgroups:mod-ena@ennui.org:esp.*:verify-esp.news.administracion ## EUNET ( Europe ) ! newgroup:news@noc.eu.net:eunet.*:doit ! rmgroup:news@noc.eu.net:eunet.*:doit ## EXAMPLE ( Bogus hierarchy reserved for standards documents ) ! checkgroups:*@*:example.*:mail ! newgroup:*@*:example.*:mail ! rmgroup:*@*:example.*:doit ## FA ( "From ARPA" gatewayed mailing lists) # Removed in the "Great Renaming" of 1988. ! newgroup:*@*:fa.*:mail ! rmgroup:*@*:fa.*:doit ## FIDO newsgroups (FidoNet) ! newgroup:root@mbh.org:fido.*:doit ! rmgroup:root@mbh.org:fido.*:doit ## FIDO.BELG.* newsgroups (FidoNet) # URL: http://www.z2.fidonet.org/news/fido.belg.news/ *************** *** 529,547 **** newgroup:newgroups-request@fido7.ru:fido7.*:verify-fido7.announce.newgroups rmgroup:newgroups-request@fido7.ru:fido7.*:verify-fido7.announce.newgroups ! # newgroup:news@wing.matsim.udmurtia.su:fido7.*:doit=newgroup ! # rmgroup:news@wing.matsim.udmurtia.su:fido7.*:doit=rmgroup ## FJ (Japan and Japanese language) ! checkgroups:fj-committee@cow.nara.sharp.co.jp:fj.*:verify-fj.news.announce ! newgroup:fj-committee@cow.nara.sharp.co.jp:fj.*:verify-fj.news.announce ! rmgroup:fj-committee@cow.nara.sharp.co.jp:fj.*:verify-fj.news.announce ## FL (Florida, USA ) ! newgroup:hgoldste@news1.mpcs.com:fl.*:doit=newgroup ! newgroup:scheidell@fdma.fdma.com:fl.*:doit=newgroup ! rmgroup:hgoldste@news1.mpcs.com:fl.*:doit=rmgroup ! rmgroup:scheidell@fdma.fdma.com:fl.*:doit=rmgroup ## FLORA (FLORA Community WEB, Canada) # Contact: russell@flora.org --- 582,607 ---- newgroup:newgroups-request@fido7.ru:fido7.*:verify-fido7.announce.newgroups rmgroup:newgroups-request@fido7.ru:fido7.*:verify-fido7.announce.newgroups ! # newgroup:news@wing.matsim.udmurtia.su:fido7.*:doit ! # rmgroup:news@wing.matsim.udmurtia.su:fido7.*:doit ! ! ## FINET (Finland and Finnish language alternative newsgroups) ! newgroup:*@*.hut.fi:finet.*:doit ! rmgroup:*@*.hut.fi:finet.*:doit ## FJ (Japan and Japanese language) ! # Contact: committee@fj-news.org ! # URL: http://www.is.tsukuba.ac.jp/~yas/fj/ ! # Key URL: http://www.is.tsukuba.ac.jp/~yas/fj/fj.asc ! checkgroups:committee@fj-news.org:fj.*:verify-fj.news.announce ! newgroup:committee@fj-news.org:fj.*:verify-fj.news.announce ! rmgroup:committee@fj-news.org:fj.*:verify-fj.news.announce ## FL (Florida, USA ) ! newgroup:hgoldste@news1.mpcs.com:fl.*:doit ! newgroup:scheidell@fdma.fdma.com:fl.*:doit ! rmgroup:hgoldste@news1.mpcs.com:fl.*:doit ! rmgroup:scheidell@fdma.fdma.com:fl.*:doit ## FLORA (FLORA Community WEB, Canada) # Contact: russell@flora.org *************** *** 558,591 **** newgroup:control@usenet-fr.news.eu.org:fr.*:verify-control@usenet-fr.news.eu.org rmgroup:control@usenet-fr.news.eu.org:fr.*:verify-control@usenet-fr.news.eu.org ! # newgroup:control@usenet-fr.news.eu.org:fr.*:doit=newgroup ! # rmgroup:control@usenet-fr.news.eu.org:fr.*:doit=rmgroup ! ! ## FREE ! newgroup:*:free.*:doit=mail ! rmgroup:*:free.*:doit=mail ## FUDAI (Japanese ?) ! newgroup:news@picard.cs.osakafu-u.ac.jp:fudai.*:doit=newgroup ! rmgroup:news@picard.cs.osakafu-u.ac.jp:fudai.*:doit=rmgroup ## FUR ( furrynet ) # Contact: fur-config@taronga.com # Please contact the above address before adding these groups. ## GIT (Georgia Institute of Technology, USA ) ! newgroup:news@news.gatech.edu:git.*:doit=newgroup ! newgroup:news@news.gatech.edu:git*class.*:log ! rmgroup:news@news.gatech.edu:git.*:doit=rmgroup ## GNU ( Free Software Foundation ) ! newgroup:gnu@prep.ai.mit.edu:gnu.*:doit=newgroup ! newgroup:news@prep.ai.mit.edu:gnu.*:doit=newgroup ! newgroup:news@ai.mit.edu:gnu.*:doit=newgroup ! rmgroup:gnu@prep.ai.mit.edu:gnu.*:doit=rmgroup ! rmgroup:news@prep.ai.mit.edu:gnu.*:doit=rmgroup ! rmgroup:news@ai.mit.edu:gnu.*:doit=rmgroup ## GOV (Government Information) # *PGP* See comment at top of file. --- 618,652 ---- newgroup:control@usenet-fr.news.eu.org:fr.*:verify-control@usenet-fr.news.eu.org rmgroup:control@usenet-fr.news.eu.org:fr.*:verify-control@usenet-fr.news.eu.org ! # newgroup:control@usenet.fr.net:fr.*:doit ! # rmgroup:control@usenet.fr.net:fr.*:doit ! ## FREE (Open Hierarchy where anyone can craete a group) ! newgroup:*:free.*:doit ! rmgroup:*:free.*:drop ## FUDAI (Japanese ?) ! newgroup:news@picard.cs.osakafu-u.ac.jp:fudai.*:doit ! rmgroup:news@picard.cs.osakafu-u.ac.jp:fudai.*:doit ## FUR ( furrynet ) # Contact: fur-config@taronga.com # Please contact the above address before adding these groups. + ## GER & HANNET & HANNOVER & HILDESHEIM & HISS (Hannover, Germany) + newgroup:fifi@hiss.han.de:ger.*|hannover.*|hannet.*|hildesheim.*|hiss.*:doit + rmgroup:fifi@hiss.han.de:ger.*|hannover.*|hannet.*|hildesheim.*|hiss.*:doit + ## GIT (Georgia Institute of Technology, USA ) ! newgroup:news@news.gatech.edu:git.*:doit ! newgroup:news@news.gatech.edu:git*class.*:mail ! rmgroup:news@news.gatech.edu:git.*:doit ## GNU ( Free Software Foundation ) ! newgroup:gnu@prep.ai.mit.edu:gnu.*:doit ! newgroup:news@*ai.mit.edu:gnu.*:doit ! rmgroup:gnu@prep.ai.mit.edu:gnu.*:doit ! rmgroup:news@*ai.mit.edu:gnu.*:doit ## GOV (Government Information) # *PGP* See comment at top of file. *************** *** 595,702 **** newgroup:gov-usenet-announce-moderator@govnews.org:gov.*:verify-gov.usenet.announce rmgroup:gov-usenet-announce-moderator@govnews.org:gov.*:verify-gov.usenet.announce ## HAMILTON (Canadian) ! newgroup:news@*dcss.mcmaster.ca:hamilton.*:doit=newgroup ! rmgroup:news@*dcss.mcmaster.ca:hamilton.*:doit=rmgroup ## HAN (Korean Hangul) # Contact: newgroups-request@usenet.or.kr # PGPKEY URL: ftp://ftp.usenet.or.kr/pub/korea/usenet/pgp/PGPKEY.han newgroup:newgroups-request@usenet.or.kr:han.*:verify-han.news.admin rmgroup:newgroups-request@usenet.or.kr:han.*:verify-han.news.admin ! ## HANNET & HANNOVER (Hannover, Germany) ! newgroup:fifi@hiss.han.de:hannover.*|hannet.*:doit=newgroup ! rmgroup:fifi@hiss.han.de:hannover.*|hannet.*:doit=rmgroup ## HAWAII ! newgroup:news@lava.net:hawaii.*:doit=newgroup ! rmgroup:news@lava.net:hawaii.*:doit=rmgroup ## HK (Hong Kong) ! newgroup:hknews@comp.hkbu.edu.hk:hk.*:doit=newgroup ! rmgroup:hknews@comp.hkbu.edu.hk:hk.*:doit=rmgroup ## HOUSTON (Houston, Texas, USA) # *PGP* See comment at top of file. ! checkgroups:news@academ.com:houston.*:verify-houston.usenet.config=miscctl newgroup:news@academ.com:houston.*:verify-houston.usenet.config rmgroup:news@academ.com:houston.*:verify-houston.usenet.config ! # newgroup:news@academ.com:houston.*:doit=newgroup ! # rmgroup:news@academ.com:houston.*:doit=rmgroup ! ## HUN (Hungary) ! checkgroups:kissg@*sztaki.hu:hun.*:mail ! checkgroups:hg@*.elte.hu:hun.org.elte.*:mail ! newgroup:kissg@*sztaki.hu:hun.*:doit=newgroup ! newgroup:hg@*.elte.hu:hun.org.elte.*:doit=newgroup ! rmgroup:kissg@*sztaki.hu:hun.*:doit=rmgroup ! rmgroup:hg@*.elte.hu:hun.org.elte.*:doit=rmgroup ! ! ## HSV (Huntsville, Alabama, USA) ! # *PGP* See comment at top of file. ! # Contact: news@news.msfc.nasa.gov ! newgroup:news@news.msfc.nasa.gov:hsv.*:verify-alabama-group-admin=newgroup ! rmgroup:news@news.msfc.nasa.gov:hsv.*:verify-alabama-group-admin=rmgroup ! ! # newgroup:news@news.msfc.nasa.gov:hsv.*:doit=newgroup ! # rmgroup:news@news.msfc.nasa.gov:hsv.*:doit=rmgroup ## IA (Iowa, USA) ! newgroup:skunz@iastate.edu:ia.*:doit=newgroup ! rmgroup:skunz@iastate.edu:ia.*:doit=rmgroup ## IBMNET # Contact: news@ibm.net # For local use only, contact the above address for information. ! newgroup:*@*:ibmnet.*:drop ! rmgroup:*@*:ibmnet.*:doit=rmgroup ## ICONZ (The Internet Company of New Zealand, New Zealand) # Contact: usenet@iconz.co.nz # For local use only, contact the above address for information. ! newgroup:*@*:iconz.*:drop ! rmgroup:*@*:iconz.*:doit=rmgroup ## IE (Ireland) ! newgroup:usenet@ireland.eu.net:ie.*:doit=newgroup ! rmgroup:usenet@ireland.eu.net:ie.*:doit=rmgroup ! ## IEEE ! newgroup:burt@ieee.org:ieee.*:doit=newgroup ! rmgroup:burt@ieee.org:ieee.*:doit=rmgroup ## INFO newsgroups ! newgroup:rjoyner@uiuc.edu:info.*:doit=newgroup ! rmgroup:rjoyner@uiuc.edu:info.*:doit=rmgroup ## ISC ( Japanese ?) ! newgroup:news@sally.isc.chubu.ac.jp:isc.*:doit=newgroup ! rmgroup:news@sally.isc.chubu.ac.jp:isc.*:doit=rmgroup ## ISRAEL and IL newsgroups (Israel) ! newgroup:news@news.biu.ac.il:israel.*:doit=newgroup ! rmgroup:news@news.biu.ac.il:israel.*|il.*:doit=rmgroup ## IT (Italian) # *PGP* See comment at top of file. ! checkgroups:stefano@unipi.it:it.*:verify-it.announce.newgroups=miscctl newgroup:stefano@unipi.it:it.*:verify-it.announce.newgroups rmgroup:stefano@unipi.it:it.*:verify-it.announce.newgroups ! # newgroup:news@ghost.sm.dsi.unimi.it:it.*:doit=newgroup ! # newgroup:stefano@*unipi.it:it.*:doit=newgroup ! # rmgroup:news@ghost.sm.dsi.unimi.it:it.*:doit=rmgroup ! # rmgroup:stefano@*unipi.it:it.*:doit=rmgroup ## IU (Indiana University) ! newgroup:news@usenet.ucs.indiana.edu:iu.*:doit=newgroup ! newgroup:root@usenet.ucs.indiana.edu:iu.*:doit=newgroup ! newgroup:*@usenet.ucs.indiana.edu:iu*class.*:log ! rmgroup:news@usenet.ucs.indiana.edu:iu.*:doit=rmgroup ! rmgroup:root@usenet.ucs.indiana.edu:iu.*:doit=rmgroup ## JAPAN (Japan) # Contact: Tsuneo Tanaka --- 656,764 ---- newgroup:gov-usenet-announce-moderator@govnews.org:gov.*:verify-gov.usenet.announce rmgroup:gov-usenet-announce-moderator@govnews.org:gov.*:verify-gov.usenet.announce + ## GWU (George Washington University, Washington, DC) + # Contact: Sweth Chandramouli + newgroup:news@nit.gwu.edu:gwu.*:doit + rmgroup:news@nit.gwu.edu:gwu.*:doit + ## HAMILTON (Canadian) ! newgroup:news@*dcss.mcmaster.ca:hamilton.*:doit ! rmgroup:news@*dcss.mcmaster.ca:hamilton.*:doit ## HAN (Korean Hangul) # Contact: newgroups-request@usenet.or.kr # PGPKEY URL: ftp://ftp.usenet.or.kr/pub/korea/usenet/pgp/PGPKEY.han + # *PGP* See comment at top of file. newgroup:newgroups-request@usenet.or.kr:han.*:verify-han.news.admin rmgroup:newgroups-request@usenet.or.kr:han.*:verify-han.news.admin ! ## HARVARD (Harvard University, Cambridge, MA) ! newgroup:*@*.harvard.edu:harvard.*:doit ! rmgroup:*@*.harvard.edu:harvard.*:doit ## HAWAII ! newgroup:news@lava.net:hawaii.*:doit ! rmgroup:news@lava.net:hawaii.*:doit ## HK (Hong Kong) ! newgroup:hknews@comp.hkbu.edu.hk:hk.*:doit ! rmgroup:hknews@comp.hkbu.edu.hk:hk.*:doit ## HOUSTON (Houston, Texas, USA) # *PGP* See comment at top of file. ! checkgroups:news@academ.com:houston.*:verify-houston.usenet.config newgroup:news@academ.com:houston.*:verify-houston.usenet.config rmgroup:news@academ.com:houston.*:verify-houston.usenet.config ! # newgroup:news@academ.com:houston.*:doit ! # rmgroup:news@academ.com:houston.*:doit ## HUN (Hungary) ! checkgroups:hun-mnt@news.sztaki.hu:hun.*:verify-hun.admin.news ! newgroup:hun-mnt@news.sztaki.hu:hun.*:verify-hun.admin.news ! rmgroup:hun-mnt@news.sztaki.hu:hun.*:verify-hun.admin.news ## IA (Iowa, USA) ! newgroup:skunz@iastate.edu:ia.*:doit ! rmgroup:skunz@iastate.edu:ia.*:doit ## IBMNET # Contact: news@ibm.net # For local use only, contact the above address for information. ! newgroup:*@*:ibmnet.*:mail ! rmgroup:*@*:ibmnet.*:doit ## ICONZ (The Internet Company of New Zealand, New Zealand) # Contact: usenet@iconz.co.nz # For local use only, contact the above address for information. ! newgroup:*@*:iconz.*:mail ! rmgroup:*@*:iconz.*:doit ## IE (Ireland) ! newgroup:usenet@ireland.eu.net:ie.*:doit ! rmgroup:usenet@ireland.eu.net:ie.*:doit ! ## IEEE (Institute of Electrical and Electronic Engineers) ! # Contact: ! # This hierarchy is now defunct. ! newgroup:*@*:ieee.*:mail ! rmgroup:*@*:ieee.*:doit ## INFO newsgroups ! newgroup:rjoyner@uiuc.edu:info.*:doit ! rmgroup:rjoyner@uiuc.edu:info.*:doit ! ! ## IS (Iceland) ! # Contact: Marius Olafsson ! # *PGP* See comment at top of file. ! newgroup:news@isnet.is:is.*:verify-is.isnet ! rmgroup:news@isnet.is:is.*:verify-is.isnet ## ISC ( Japanese ?) ! newgroup:news@sally.isc.chubu.ac.jp:isc.*:doit ! rmgroup:news@sally.isc.chubu.ac.jp:isc.*:doit ## ISRAEL and IL newsgroups (Israel) ! newgroup:news@news.biu.ac.il:israel.*:doit ! rmgroup:news@news.biu.ac.il:israel.*|il.*:doit ## IT (Italian) # *PGP* See comment at top of file. ! checkgroups:stefano@unipi.it:it.*:verify-it.announce.newgroups newgroup:stefano@unipi.it:it.*:verify-it.announce.newgroups rmgroup:stefano@unipi.it:it.*:verify-it.announce.newgroups ! # newgroup:news@ghost.sm.dsi.unimi.it:it.*:doit ! # newgroup:stefano@*unipi.it:it.*:doit ! # rmgroup:news@ghost.sm.dsi.unimi.it:it.*:doit ! # rmgroup:stefano@*unipi.it:it.*:doit ## IU (Indiana University) ! newgroup:news@usenet.ucs.indiana.edu:iu.*:doit ! newgroup:root@usenet.ucs.indiana.edu:iu.*:doit ! newgroup:*@usenet.ucs.indiana.edu:iu*class.*:mail ! rmgroup:news@usenet.ucs.indiana.edu:iu.*:doit ! rmgroup:root@usenet.ucs.indiana.edu:iu.*:doit ## JAPAN (Japan) # Contact: Tsuneo Tanaka *************** *** 713,722 **** # newgroup:*@*:japan.*:log # rmgroup:*@*:japan.*:log - ## K12 ( US Educational Network ) ! newgroup:braultr@csmanoirs.qc.ca:k12.*:doit=newgroup ! rmgroup:braultr@csmanoirs.qc.ca:k12.*:doit=rmgroup ## KA (Karlsruhe, Germany) # Contact: usenet@karlsruhe.org --- 775,783 ---- # newgroup:*@*:japan.*:log # rmgroup:*@*:japan.*:log ## K12 ( US Educational Network ) ! newgroup:braultr@*csmanoirs.qc.ca:k12.*:doit ! rmgroup:braultr@*csmanoirs.qc.ca:k12.*:doit ## KA (Karlsruhe, Germany) # Contact: usenet@karlsruhe.org *************** *** 732,743 **** rmgroup:usenet@karlsruhe.org:ka.*:verify-usenet@karlsruhe.org - ## KANTO # *PGP* See comment at top of file. ! checkgroups:ty@kamoi.imasy.or.jp:kanto.*:verify-kanto.news.network=miscctl # NOTE: newgroups aren't verified... ! newgroup:*@*.jp:kanto.*:doit=newgroup rmgroup:ty@kamoi.imasy.or.jp:kanto.*:verify-kanto.news.network ## KASSEL (Kassel, Germany) --- 793,803 ---- rmgroup:usenet@karlsruhe.org:ka.*:verify-usenet@karlsruhe.org ## KANTO # *PGP* See comment at top of file. ! checkgroups:ty@kamoi.imasy.or.jp:kanto.*:verify-kanto.news.network # NOTE: newgroups aren't verified... ! newgroup:*@*.jp:kanto.*:doit rmgroup:ty@kamoi.imasy.or.jp:kanto.*:verify-kanto.news.network ## KASSEL (Kassel, Germany) *************** *** 747,876 **** newgroup:dirk.meyer@dinoex.sub.org:kassel.*:verify-kassel-admin rmgroup:dirk.meyer@dinoex.sub.org:kassel.*:verify-kassel-admin ! ## KIEL checkgroups:kris@white.schulung.netuse.de:kiel.*:mail ! newgroup:kris@white.schulung.netuse.de:kiel.*:doit=newgroup ! rmgroup:kris@white.schulung.netuse.de:kiel.*:doit=rmgroup ## LIU newsgroups (Sweden?) ! newgroup:linus@tiny.lysator.liu.se:liu.*:doit=newgroup ! rmgroup:linus@tiny.lysator.liu.se:liu.*:doit=rmgroup ! ## LINUX (gatewayed mailing lists for the Linux OS) ! newgroup:hpa@yggdrasil.com:linux.*:doit=newgroup ! rmgroup:hpa@yggdrasil.com:linux.*:doit=rmgroup ## LOCAL (Local-only groups) # It is not really a good idea for sites to use these since they # may occur on many unconnect sites ! newgroup:*@*:local.*:drop rmgroup:*@*:local.*:drop ## MALTA ( Nation of Malta ) # Contact: cmeli@cis.um.edu.mt # URL: http://www.cis.um.edu.mt/news-malta/malta-news-new-site-faq.html # *PGP* See comment at top of file. ! checkgroups:cmeli@cis.um.edu.mt:malta.*:verify-malta.config=miscctl newgroup:cmeli@cis.um.edu.mt:malta.*:verify-malta.config rmgroup:cmeli@cis.um.edu.mt:malta.*:verify-malta.config ! # newgroup:cmeli@cis.um.edu.mt:malta.*:doit=newgroup ! # rmgroup:cmeli@cis.um.edu.mt:malta.*:doit=rmgroup ## MANAWATU ( Manawatu district, New Zealand) # Contact: alan@manawatu.gen.nz or news@manawatu.gen.nz # For local use only, contact the above address for information. ! newgroup:*@*:manawatu.*:drop ! rmgroup:*@*:manawatu.*:doit=rmgroup ## MAUS ( MausNet, German ) # *PGP* See comment at top of file. # Key fingerprint: 82 52 C7 70 26 B9 72 A1 37 98 55 98 3F 26 62 3E ! checkgroups:guenter@gst0hb.north.de:maus.*:verify-maus-info=miscctl ! checkgroups:guenter@gst0hb.hb.provi.de:maus.*:verify-maus-info=miscctl newgroup:guenter@gst0hb.north.de:maus.*:verify-maus-info newgroup:guenter@gst0hb.hb.provi.de:maus.*:verify-maus-info rmgroup:guenter@gst0hb.north.de:maus.*:verify-maus-info rmgroup:guenter@gst0hb.hb.provi.de:maus.*:verify-maus-info ! # newgroup:guenter@gst0hb.north.de:maus.*:doit=newgroup ! # rmgroup:guenter@gst0hb.north.de:maus.*:doit=rmgroup ## MCOM ( Netscape Inc, USA) ! newgroup:*@*:mcom.*:drop ! rmgroup:*@*:mcom.*:doit=rmgroup ## ME (Maine, USA) ! newgroup:kerry@maine.maine.edu:me.*:doit=newgroup ! rmgroup:kerry@maine.maine.edu:me.*:doit=rmgroup ## MEDLUX ( All-Russia medical teleconferences ) # URL: ftp://ftp.medlux.ru/pub/news/medlux.grp checkgroups:neil@new*.medlux.ru:medlux.*:mail ! newgroup:neil@new*.medlux.ru:medlux.*:doit=newgroup ! rmgroup:neil@new*.medlux.ru:medlux.*:doit=rmgroup ## MELB ( Melbourne, Australia) ! newgroup:kre@*mu*au:melb.*:doit=newgroup ! newgroup:revdoc@*uow.edu.au:melb.*:doit=newgroup ! rmgroup:kre@*mu*au:melb.*:doit=rmgroup ! rmgroup:revdoc@*uow.edu.au:melb.*:doit=rmgroup ## MENSA (The Mensa Organisation) # Contact: usenet@newsgate.mensa.org # Key fingerprint: A7 57 24 49 C0 D4 47 33 84 A0 52 6E F1 A4 00 5B # *PGP* See comment at top of file. ! checkgroups:usenet@newsgate.mensa.org:mensa.*:verify-mensa.config=miscctl newgroup:usenet@newsgate.mensa.org:mensa.*:verify-mensa.config rmgroup:usenet@newsgate.mensa.org:mensa.*:verify-mensa.config ## METOCEAN (ISP in Japan) ! newgroup:fwataru@*.metocean.co.jp:metocean.*:doit=newgroup ! rmgroup:fwataru@*.metocean.co.jp:metocean.*:doit=rmgroup ## METROPOLIS # Contact: newsmaster@worldonline.nl # For local use only, contact the above address for information. ! newgroup:*@*:metropolis.*:drop ! rmgroup:*@*:metropolis.*:doit=rmgroup ## MI (Michigan, USA) # Contact: Steve Simmons # URL: http://www.inland-sea.com/mi-news.html # http://www.inland-sea.com/mi-news.html checkgroups:scs@lokkur.dexter.mi.us:mi.*:mail ! newgroup:scs@lokkur.dexter.mi.us:mi.*:doit=newgroup ! rmgroup:scs@lokkur.dexter.mi.us:mi.*:doit=rmgroup ## MOD (Original top level moderated hierarchy) # Removed in the "Great Renaming" of 1988. # Possible revival attempt in mid-97, so watch this space.. ! newgroup:*@*:mod.*:drop ! rmgroup:*@*:mod.*:doit=rmgroup ! ## MUC (Munchen, Germany. Gatewayed mailing lists??) # *PGP* See comment at top of file. checkgroups:muc-cmsg@muenchen.pro-bahn.org:muc.*:verify-muc.admin newgroup:muc-cmsg@muenchen.pro-bahn.org:muc.*:verify-muc.admin rmgroup:muc-cmsg@muenchen.pro-bahn.org:muc.*:verify-muc.admin ! # newgroup:muc-cmsg@muenchen.pro-bahn.org:muc.*:doit=newgroup ! # rmgroup:muc-cmsg@muenchen.pro-bahn.org:muc.*:doit=rmgroup ! ## NAGASAKI-U ( Nagasaki University, Japan ?) ! newgroup:root@*nagasaki-u.ac.jp:nagasaki-u.*:doit=newgroup ! rmgroup:root@*nagasaki-u.ac.jp:nagasaki-u.*:doit=rmgroup ## NCF ( National Capital Freenet, Ottawa, Ontario, Canada ) # Contact: news@freenet.carleton.ca # For local use only, contact the above address for information. ! newgroup:*@*:ncf.*:drop ! rmgroup:*@*:ncf.*:doit=rmgroup ## NCTU newsgroups (Taiwan) ! newgroup:chen@cc.nctu.edu.tw:nctu.*:doit=newgroup ! rmgroup:chen@cc.nctu.edu.tw:nctu.*:doit=rmgroup ## NET newsgroups ( Usenet 2 ) # URL: http://www.usenet2.org --- 807,991 ---- newgroup:dirk.meyer@dinoex.sub.org:kassel.*:verify-kassel-admin rmgroup:dirk.meyer@dinoex.sub.org:kassel.*:verify-kassel-admin ! ## KC (Kansas City, Kansas/Missouri, USA) ! newgroup:dan@sky.net:kc.*:doit ! rmgroup:dan@sky.net:kc.*:doit ! ! ## KIEL (Kiel, Germany) checkgroups:kris@white.schulung.netuse.de:kiel.*:mail ! newgroup:kris@white.schulung.netuse.de:kiel.*:doit ! rmgroup:kris@white.schulung.netuse.de:kiel.*:doit ! ! ## KWNET (Kitchener-Waterloo?) ! # Contact: Ed Hew ! # For private use only, contact the above address for information. ! newgroup:*@*:kwnet.*:mail ! rmgroup:*@*:kwnet.*:doit ! ! ## LAW (?) ! # Contact: Jim Burke ! newgroup:*@*.kentlaw.edu:law.*:doit ! newgroup:*@*.law.vill.edu:law.*:doit ! rmgroup:*@*.kentlaw.edu:law.*:doit ! rmgroup:*@*.law.vill.edu:law.*:doit ## LIU newsgroups (Sweden?) ! newgroup:linus@tiny.lysator.liu.se:liu.*:doit ! rmgroup:linus@tiny.lysator.liu.se:liu.*:doit ! ## LINUX (Newsfeed from news.lameter.com) ! checkgroups:christoph@lameter.com:linux.*:doit ! newgroup:christoph@lameter.com:linux.*:doit ! rmgroup:christoph@lameter.com:linux.*:doit ## LOCAL (Local-only groups) # It is not really a good idea for sites to use these since they # may occur on many unconnect sites ! newgroup:*@*:local.*:mail rmgroup:*@*:local.*:drop ## MALTA ( Nation of Malta ) # Contact: cmeli@cis.um.edu.mt # URL: http://www.cis.um.edu.mt/news-malta/malta-news-new-site-faq.html # *PGP* See comment at top of file. ! checkgroups:cmeli@cis.um.edu.mt:malta.*:verify-malta.config newgroup:cmeli@cis.um.edu.mt:malta.*:verify-malta.config rmgroup:cmeli@cis.um.edu.mt:malta.*:verify-malta.config ! # newgroup:cmeli@cis.um.edu.mt:malta.*:doit ! # rmgroup:cmeli@cis.um.edu.mt:malta.*:doit ## MANAWATU ( Manawatu district, New Zealand) # Contact: alan@manawatu.gen.nz or news@manawatu.gen.nz # For local use only, contact the above address for information. ! newgroup:*@*:manawatu.*:mail ! rmgroup:*@*:manawatu.*:doit ## MAUS ( MausNet, German ) # *PGP* See comment at top of file. # Key fingerprint: 82 52 C7 70 26 B9 72 A1 37 98 55 98 3F 26 62 3E ! checkgroups:guenter@gst0hb.north.de:maus.*:verify-maus-info ! checkgroups:guenter@gst0hb.hb.provi.de:maus.*:verify-maus-info newgroup:guenter@gst0hb.north.de:maus.*:verify-maus-info newgroup:guenter@gst0hb.hb.provi.de:maus.*:verify-maus-info rmgroup:guenter@gst0hb.north.de:maus.*:verify-maus-info rmgroup:guenter@gst0hb.hb.provi.de:maus.*:verify-maus-info ! # newgroup:guenter@gst0hb.north.de:maus.*:doit ! # rmgroup:guenter@gst0hb.north.de:maus.*:doit ! ! ## MCMASTER (McMaster University, Ontario) ! # Contact: Brian Beckberger ! # For local use only, contact the above address for information. ! newgroup:*@*:mcmaster.*:mail ! rmgroup:*@*:mcmaster.*:doit ## MCOM ( Netscape Inc, USA) ! newgroup:*@*:mcom.*:mail ! rmgroup:*@*:mcom.*:doit ## ME (Maine, USA) ! newgroup:kerry@maine.maine.edu:me.*:doit ! rmgroup:kerry@maine.maine.edu:me.*:doit ## MEDLUX ( All-Russia medical teleconferences ) # URL: ftp://ftp.medlux.ru/pub/news/medlux.grp checkgroups:neil@new*.medlux.ru:medlux.*:mail ! newgroup:neil@new*.medlux.ru:medlux.*:doit ! rmgroup:neil@new*.medlux.ru:medlux.*:doit ## MELB ( Melbourne, Australia) ! newgroup:kre@*mu*au:melb.*:doit ! newgroup:revdoc@*uow.edu.au:melb.*:doit ! rmgroup:kre@*mu*au:melb.*:doit ! rmgroup:revdoc@*uow.edu.au:melb.*:doit ## MENSA (The Mensa Organisation) # Contact: usenet@newsgate.mensa.org # Key fingerprint: A7 57 24 49 C0 D4 47 33 84 A0 52 6E F1 A4 00 5B # *PGP* See comment at top of file. ! checkgroups:usenet@newsgate.mensa.org:mensa.*:verify-mensa.config newgroup:usenet@newsgate.mensa.org:mensa.*:verify-mensa.config rmgroup:usenet@newsgate.mensa.org:mensa.*:verify-mensa.config ## METOCEAN (ISP in Japan) ! newgroup:fwataru@*.metocean.co.jp:metocean.*:doit ! rmgroup:fwataru@*.metocean.co.jp:metocean.*:doit ## METROPOLIS # Contact: newsmaster@worldonline.nl # For local use only, contact the above address for information. ! newgroup:*@*:metropolis.*:mail ! rmgroup:*@*:metropolis.*:doit ## MI (Michigan, USA) # Contact: Steve Simmons # URL: http://www.inland-sea.com/mi-news.html # http://www.inland-sea.com/mi-news.html checkgroups:scs@lokkur.dexter.mi.us:mi.*:mail ! newgroup:scs@lokkur.dexter.mi.us:mi.*:doit ! rmgroup:scs@lokkur.dexter.mi.us:mi.*:doit ## MOD (Original top level moderated hierarchy) # Removed in the "Great Renaming" of 1988. # Possible revival attempt in mid-97, so watch this space.. ! newgroup:*@*:mod.*:mail ! rmgroup:*@*:mod.*:doit ! ## MUC (Munchen (Munich), Germany) # *PGP* See comment at top of file. + # Key fingerprint = 43 C7 0E 7C 45 C7 06 E0 BD 6F 76 CE 07 39 5E 66 checkgroups:muc-cmsg@muenchen.pro-bahn.org:muc.*:verify-muc.admin newgroup:muc-cmsg@muenchen.pro-bahn.org:muc.*:verify-muc.admin rmgroup:muc-cmsg@muenchen.pro-bahn.org:muc.*:verify-muc.admin ! # newgroup:muc-cmsg@muenchen.pro-bahn.org:muc.*:doit ! # rmgroup:muc-cmsg@muenchen.pro-bahn.org:muc.*:doit ## NAGASAKI-U ( Nagasaki University, Japan ?) ! newgroup:root@*nagasaki-u.ac.jp:nagasaki-u.*:doit ! rmgroup:root@*nagasaki-u.ac.jp:nagasaki-u.*:doit ! ! ## NAS (Numerican Aerodynamic Simulation Facility @ NASA Ames Research Center) ! # Contact: news@nas.nasa.gov ! # For internal use only, contact above address for questions ! newgroup:*@*:nas.*:mail ! rmgroup:*@*:nas.*:doit ! ! ## NASA (National Aeronautics and Space Administration, USA) ! # Contact: news@nas.nasa.gov ! # For internal use only, contact above address for questions ! newgroup:*@*:nasa.*:mail ! rmgroup:*@*:nasa.*:doit ! ! ## NC (North Carolina, USA) ! # Tim Seaver says he hasn't had any dealings with nc.* ! # for over two years and the hierarchy is basically "open to anyone who ! # wants it." ! # newgroup:tas@ncren.net:nc.*:doit ! # rmgroup:tas@ncren.net:nc.*:doit ## NCF ( National Capital Freenet, Ottawa, Ontario, Canada ) # Contact: news@freenet.carleton.ca # For local use only, contact the above address for information. ! newgroup:*@*:ncf.*:mail ! rmgroup:*@*:ncf.*:doit ## NCTU newsgroups (Taiwan) ! newgroup:chen@cc.nctu.edu.tw:nctu.*:doit ! rmgroup:chen@cc.nctu.edu.tw:nctu.*:doit ! ! ## NCU (National Central University, Taiwan) ! # Contact: Ying-Hao Chang ! # Contact: ! # For local use only, contact the above addresses for information. ! newgroup:*@*:ncu.*:mail ! rmgroup:*@*:ncu.*:doit ! ! ## NERSC (National Energy Research Scientific Computing Center) ! # Contact: ! # newgroup:*@*:nersc.*:mail ! # rmgroup:*@*:nersc.*:doit ## NET newsgroups ( Usenet 2 ) # URL: http://www.usenet2.org *************** *** 891,912 **** rmgroup:news@netscape.com:netscape.*:verify-netscape.public.admin # checkgroups:news@netscape.com:netscape.*:mail ! # newgroup:news@netscape.com:netscape.*:doit=newgroup ! # rmgroups:news@netscape.com:netscape.*:doit=rmgroup ## NETINS ( netINS, Inc ) # Contact: Kevin Houle # For local use only, contact the above address for information. ! newgroup:*@*:netins.*:drop ! rmgroup:*@*:netins.*:doit=rmgroup ## NIAGARA (Niagara Peninsula, US/CAN) ! newgroup:news@niagara.com:niagara.*:doit=newgroup ! rmgroup:news@niagara.com:niagara.*:doit=rmgroup ## NIAS (Japanese ?) ! newgroup:news@cc.nias.ac.jp:nias.*:doit=newgroup ! rmgroup:news@cc.nias.ac.jp:nias.*:doit=rmgroup ## NL (Netherlands) # Contact: nl-admin@nic.surfnet.nl --- 1006,1031 ---- rmgroup:news@netscape.com:netscape.*:verify-netscape.public.admin # checkgroups:news@netscape.com:netscape.*:mail ! # newgroup:news@netscape.com:netscape.*:doit ! # rmgroups:news@netscape.com:netscape.*:doit ## NETINS ( netINS, Inc ) # Contact: Kevin Houle # For local use only, contact the above address for information. ! newgroup:*@*:netins.*:mail ! rmgroup:*@*:netins.*:doit ## NIAGARA (Niagara Peninsula, US/CAN) ! newgroup:news@niagara.com:niagara.*:doit ! rmgroup:news@niagara.com:niagara.*:doit ## NIAS (Japanese ?) ! newgroup:news@cc.nias.ac.jp:nias.*:doit ! rmgroup:news@cc.nias.ac.jp:nias.*:doit ! ! ## NIGERIA (Nigeria) ! newgroup:news@easnet.net:nigeria.*:doit ! rmgroup:news@easnet.net:nigeria.*:doit ## NL (Netherlands) # Contact: nl-admin@nic.surfnet.nl *************** *** 919,969 **** rmgroup:nl-admin@nic.surfnet.nl:nl.*:verify-nl.newsgroups # checkgroups:nl-admin@nic.surfnet.nl:nl.*:mail ! # newgroup:nl-admin@nic.surfnet.nl:nl.*:doit=newgroup ! # rmgroup:nl-admin@nic.surfnet.nl:nl.*:doit=rmgroup ## NL-ALT (Alternative Netherlands groups) # URL: http://www.xs4all.nl/~onno/nl-alt/ # Several options are given in the FAQ for creating and removing groups. # *PGP* See comment at top of file. # Key fingerprint: 6B 62 EB 53 4D 5D 2F 96 35 D9 C8 9C B0 65 0E 4C ! newgroup:*@*:nl-alt.*:doit=newgroup rmgroup:nl-alt-janitor@surfer.xs4all.nl:nl-alt.*:verify-nl-alt.config.admin rmgroup:news@kink.xs4all.nl:nl-alt.*:verify-nl-alt.config.admin ## NLNET newsgroups (Netherlands ISP) ! newgroup:beheer@nl.net:nlnet.*:doit=newgroup ! rmgroup:beheer@nl.net:nlnet.*:doit=rmgroup ## NM (New Mexico, USA) ! newgroup:news@tesuque.cs.sandia.gov:nm.*:doit=newgroup ! rmgroup:news@tesuque.cs.sandia.gov:nm.*:doit=rmgroup ## NO (Norway) # See also http://www.usenet.no/ # *PGP* See comment at top of file. checkgroups:control@usenet.no:no.*:verify-no-hir-control newgroup:control@usenet.no:no.*:verify-no-hir-control ! newgroup:*@*.no:no.alt.*:doit=newgroup rmgroup:control@usenet.no:no.*:verify-no-hir-control # checkgroups:control@usenet.no:no.*:mail ! # newgroup:control@usenet.no:no.*:doit=newgroup ! # newgroup:*@*.no:no.alt.*:doit=newgroup ! # rmgroup:control@usenet.no:no.*:doit=rmgroup ! # sendsys:news@*uninett.no:no.*:doit=miscctl ! # sendsys:control@usenet.no:no.*:doit=miscctl ## NV (Nevada) ! newgroup:doctor@netcom.com:nv.*:doit=newgroup ! newgroup:cshapiro@netcom.com:nv.*:doit=newgroup ! rmgroup:doctor@netcom.com:nv.*:doit=rmgroup ! rmgroup:cshapiro@netcom.com:nv.*:doit=rmgroup ## NY (New York State, USA) newgroup:root@ny.psca.com:ny.*:mail rmgroup:root@ny.psca.com:ny.*:mail ## NZ (New Zealand) # *PGP* See comment at top of file. # Contact root@usenet.net.nz --- 1038,1098 ---- rmgroup:nl-admin@nic.surfnet.nl:nl.*:verify-nl.newsgroups # checkgroups:nl-admin@nic.surfnet.nl:nl.*:mail ! # newgroup:nl-admin@nic.surfnet.nl:nl.*:doit ! # rmgroup:nl-admin@nic.surfnet.nl:nl.*:doit ## NL-ALT (Alternative Netherlands groups) # URL: http://www.xs4all.nl/~onno/nl-alt/ # Several options are given in the FAQ for creating and removing groups. # *PGP* See comment at top of file. # Key fingerprint: 6B 62 EB 53 4D 5D 2F 96 35 D9 C8 9C B0 65 0E 4C ! newgroup:*@*:nl-alt.*:doit rmgroup:nl-alt-janitor@surfer.xs4all.nl:nl-alt.*:verify-nl-alt.config.admin rmgroup:news@kink.xs4all.nl:nl-alt.*:verify-nl-alt.config.admin ## NLNET newsgroups (Netherlands ISP) ! newgroup:beheer@nl.net:nlnet.*:doit ! rmgroup:beheer@nl.net:nlnet.*:doit ## NM (New Mexico, USA) ! newgroup:news@tesuque.cs.sandia.gov:nm.*:doit ! rmgroup:news@tesuque.cs.sandia.gov:nm.*:doit ## NO (Norway) # See also http://www.usenet.no/ # *PGP* See comment at top of file. checkgroups:control@usenet.no:no.*:verify-no-hir-control newgroup:control@usenet.no:no.*:verify-no-hir-control ! newgroup:*@*.no:no.alt.*:doit rmgroup:control@usenet.no:no.*:verify-no-hir-control # checkgroups:control@usenet.no:no.*:mail ! # newgroup:control@usenet.no:no.*:doit ! # newgroup:*@*.no:no.alt.*:doit ! # rmgroup:control@usenet.no:no.*:doit ! # sendsys:news@*uninett.no:no.*:doit ! # sendsys:control@usenet.no:no.*:doit ! ! ## NORD (Northern Germany) ! # thilo@own.deceiver.org no longer a valid address ! # newgroup:thilo@own.deceiver.org:nord.*:doit ! # rmgroup:thilo@own.deceiver.org:nord.*:doit ## NV (Nevada) ! newgroup:doctor@netcom.com:nv.*:doit ! newgroup:cshapiro@netcom.com:nv.*:doit ! rmgroup:doctor@netcom.com:nv.*:doit ! rmgroup:cshapiro@netcom.com:nv.*:doit ## NY (New York State, USA) newgroup:root@ny.psca.com:ny.*:mail rmgroup:root@ny.psca.com:ny.*:mail + ## NYC (New York City) + # Contact: Perry E. Metzger + newgroup:perry@piermont.com:nyc.*:doit + rmgroup:perry@piermont.com:nyc.*:doit + ## NZ (New Zealand) # *PGP* See comment at top of file. # Contact root@usenet.net.nz *************** *** 974,1036 **** newgroup:root@usenet.net.nz:nz.*:verify-nz-hir-control rmgroup:root@usenet.net.nz:nz.*:verify-nz-hir-control ! # newgroup:root@usenet.net.nz:nz.*:doit=newgroup ! # rmgroup:root@usenet.net.nz:nz.*:doit=rmgroup ! ! ## OC newsgroups (?) ! newgroup:bob@tsunami.sugarland.unocal.com:oc.*:doit=newgroup ! rmgroup:bob@tsunami.sugarland.unocal.com:oc.*:doit=rmgroup ## OH (Ohio, USA) ! newgroup:trier@ins.cwru.edu:oh.*:doit=newgroup ! rmgroup:trier@ins.cwru.edu:oh.*:doit=rmgroup ## OK (Oklahoma, USA) ! newgroup:quentin@*qns.com:ok.*:doit=newgroup ! rmgroup:quentin@*qns.com:ok.*:doit=rmgroup ## OTT (Ottawa, Ontario, Canada) # Contact: onag@pinetree.org # URL: http://www.pinetree.org/ONAG/ ! newgroup:news@bnr.ca:ott.*:doit=mail ! newgroup:news@nortel.ca:ott.*:doit=mail ! newgroup:clewis@ferret.ocunix.on.ca:ott.*:doit=mail ! newgroup:news@ferret.ocunix.on.ca:ott.*:doit=mail ! newgroup:news@*pinetree.org:ott.*:doit=mail ! newgroup:gordon@*pinetree.org:ott.*:doit=mail ! newgroup:dave@revcan.ca:ott.*:doit=mail ! rmgroup:news@bnr.ca:ott.*:doit=mail ! rmgroup:news@nortel.ca:ott.*:doit=mail ! rmgroup:clewis@ferret.ocunix.on.ca:ott.*:doit=mail ! rmgroup:news@ferret.ocunix.on.ca:ott.*:doit=mail ! rmgroup:news@*pinetree.org:ott.*:doit=mail ! rmgroup:gordon@*pinetree.org:ott.*:doit=mail ! rmgroup:dave@revcan.ca:ott.*:doit=mail ! ## PA (Pennsylvania, USA) # URL: http://www.netcom.com/~rb1000/pa_hierarchy/ ! newgroup:fxp@epix.net:pa.*:doit=newgroup ! rmgroup:fxp@epix.net:pa.*:doit=rmgroup ## PGH (Pittsburgh, Pennsylvania, USA) # *PGP* See comment at top of file. ! checkgroups:pgh-config@psc.edu:pgh.*:verify-pgh.config=miscctl newgroup:pgh-config@psc.edu:pgh.*:verify-pgh.config rmgroup:pgh-config@psc.edu:pgh.*:verify-pgh.config # checkgroups:pgh-config@psc.edu:pgh.*:mail ! # newgroup:pgh-config@psc.edu:pgh.*:doit=newgroup ! # rmgroup:pgh-config@psc.edu:pgh.*:doit=rmgroup ## PHL (Philadelphia, Pennsylvania, USA) ! newgroup:news@vfl.paramax.com:phl.*:doit=newgroup ! rmgroup:news@vfl.paramax.com:phl.*:doit=rmgroup ## PIN (Personal Internauts' NetNews) ! newgroup:pin-admin@forus.or.jp:pin.*:doit=newgroup ! rmgroup:pin-admin@forus.or.jp:pin.*:doit=rmgroup ## PL (Poland and Polish language) ## For more info, see http://www.ict.pwr.wroc.pl/doc/news-pl-new-site-faq.html --- 1103,1182 ---- newgroup:root@usenet.net.nz:nz.*:verify-nz-hir-control rmgroup:root@usenet.net.nz:nz.*:verify-nz-hir-control ! # newgroup:root@usenet.net.nz:nz.*:doit ! # rmgroup:root@usenet.net.nz:nz.*:doit ! ## OC newsgroups (Orange County, California, USA) ! newgroup:bob@tsunami.sugarland.unocal.com:oc.*:doit ! rmgroup:bob@tsunami.sugarland.unocal.com:oc.*:doit ## OH (Ohio, USA) ! newgroup:trier@ins.cwru.edu:oh.*:doit ! rmgroup:trier@ins.cwru.edu:oh.*:doit ## OK (Oklahoma, USA) ! newgroup:quentin@*qns.com:ok.*:doit ! rmgroup:quentin@*qns.com:ok.*:doit ! ! ## OKINAWA (Okinawa, Japan) ! newgroup:news@opus.or.jp:okinawa.*:doit ! rmgroup:news@opus.or.jp:okinawa.*:doit ! ! ## ONT (Ontario, Canada) ! newgroup:pkern@gpu.utcc.utoronto.ca:ont.*:doit ! rmgroup:pkern@gpu.utcc.utoronto.ca:ont.*:doit ## OTT (Ottawa, Ontario, Canada) # Contact: onag@pinetree.org # URL: http://www.pinetree.org/ONAG/ ! newgroup:news@bnr.ca:ott.*:doit ! newgroup:news@nortel.ca:ott.*:doit ! newgroup:clewis@ferret.ocunix.on.ca:ott.*:doit ! newgroup:news@ferret.ocunix.on.ca:ott.*:doit ! newgroup:news@*pinetree.org:ott.*:doit ! newgroup:gordon@*pinetree.org:ott.*:doit ! newgroup:dave@revcan.ca:ott.*:doit ! rmgroup:news@bnr.ca:ott.*:doit ! rmgroup:news@nortel.ca:ott.*:doit ! rmgroup:clewis@ferret.ocunix.on.ca:ott.*:doit ! rmgroup:news@ferret.ocunix.on.ca:ott.*:doit ! rmgroup:news@*pinetree.org:ott.*:doit ! rmgroup:gordon@*pinetree.org:ott.*:doit ! rmgroup:dave@revcan.ca:ott.*:doit ## PA (Pennsylvania, USA) # URL: http://www.netcom.com/~rb1000/pa_hierarchy/ ! newgroup:fxp@epix.net:pa.*:doit ! rmgroup:fxp@epix.net:pa.*:doit ## PGH (Pittsburgh, Pennsylvania, USA) # *PGP* See comment at top of file. ! checkgroups:pgh-config@psc.edu:pgh.*:verify-pgh.config newgroup:pgh-config@psc.edu:pgh.*:verify-pgh.config rmgroup:pgh-config@psc.edu:pgh.*:verify-pgh.config # checkgroups:pgh-config@psc.edu:pgh.*:mail ! # newgroup:pgh-config@psc.edu:pgh.*:doit ! # rmgroup:pgh-config@psc.edu:pgh.*:doit ## PHL (Philadelphia, Pennsylvania, USA) ! newgroup:news@vfl.paramax.com:phl.*:doit ! rmgroup:news@vfl.paramax.com:phl.*:doit ## PIN (Personal Internauts' NetNews) ! newgroup:pin-admin@forus.or.jp:pin.*:doit ! rmgroup:pin-admin@forus.or.jp:pin.*:doit ! ! ## PIPEX (UUNET WorldCom UK) ! # Contact: Russell Vincent ! newgroup:news-control@ops.pipex.net:pipex.*:doit ! rmgroup:news-control@ops.pipex.net:pipex.*:doit ! ! ## PITT (University of Pittsburgh, PA) ! newgroup:news+@pitt.edu:pitt.*:doit ! newgroup:news@toads.pgh.pa.us:pitt.*:doit ! rmgroup:news+@pitt.edu:pitt.*:doit ! rmgroup:news@toads.pgh.pa.us:pitt.*:doit ## PL (Poland and Polish language) ## For more info, see http://www.ict.pwr.wroc.pl/doc/news-pl-new-site-faq.html *************** *** 1042,1101 **** rmgroup:michalj@*fuw.edu.pl:pl.*:verify-pl.announce.newgroups rmgroup:newgroup@usenet.pl:pl.*:verify-pl.announce.newgroups ! # newgroup:michalj@*fuw.edu.pl:pl.*:doit=newgroup ! # newgroup:newgroup@usenet.pl:pl.*:doit=newgroup ! # rmgroup:michalj@*fuw.edu.pl:pl.*:doit=rmgroup ! # rmgroup:newgroup@usenet.pl:pl.*:doit=rmgroup ## PLANET ( PlaNet FreeNZ co-operative, New Zealand) # Contact: office@pl.net # For local use only, contact the above address for information. ! newgroup:*@*:planet.*:drop ! rmgroup:*@*:planet.*:doit=rmgroup ! ## PRIMA (prima.ruhr.de/Prima e.V. in Germany) # Contact: admin@prima.ruhr.de # For internal use only, contact above address for questions ! newgroup:*@*:prima.*:drop ! rmgroup:*@*:prima.*:doit=rmgroup ! # PSU ( Penn State University, USA ) # Contact: Dave Barr (barr@math.psu.edu) # For internal use only, contact above address for questions ! newgroup:*@*:psu.*:drop ! rmgroup:*@*:psu.*:doit=rmgroup ## PT (Portugal and Portuguese language) ! newgroup:pmelo@*inescc.pt:pt.*:doit=newgroup ! rmgroup:pmelo@*inescc.pt:pt.*:doit=rmgroup ## PUBNET ! ## This Hierarchy is now defunct. ! ## URL: ftp://ftp.uu.net/usenet/control/pubnet/pubnet.config.Z ! newgroup:*@*:pubnet.*:drop ! rmgroup:*@*:pubnet.*:doit=rmgroup ## RELCOM ( Commonwealth of Independent States) ! ## The official list of relcom groups is supposed to be available from ! ## URL: ftp://ftp.kiae.su/relcom/netinfo/telconfs.txt ! checkgroups:dmart@new*.relcom.ru:relcom.*:verify-relcom.newsgroups ! newgroup:dmart@new*.relcom.ru:relcom.*:verify-relcom.newsgroups ! rmgroup:dmart@new*.relcom.ru:relcom.*:verify-relcom.newsgroups ! ! #checkgroups:dmart@new*.relcom.ru:relcom.*:doit ! #newgroup:dmart@new*.relcom.ru:relcom.*:doit=newgroup ! #rmgroup:dmart@new*.relcom.ru:relcom.*:doit=rmgroup ## RPI ( Rensselaer Polytechnic Institute, Troy, NY, USA) # Contact: sofkam@rpi.edu # For local use only, contact the above address for information. ! newgroup:*@*:rpi.*:drop ! rmgroup:*@*:rpi.*:doit=rmgroup ## SACHSNET (German) ! newgroup:root@lusatia.de:sachsnet.*:doit=newgroup ! rmgroup:root@lusatia.de:sachsnet.*:doit=rmgroup ## SAT (San Antonio, Texas, USA) # *PGP* See comment at top of file. --- 1188,1248 ---- rmgroup:michalj@*fuw.edu.pl:pl.*:verify-pl.announce.newgroups rmgroup:newgroup@usenet.pl:pl.*:verify-pl.announce.newgroups ! # newgroup:michalj@*fuw.edu.pl:pl.*:doit ! # newgroup:newgroup@usenet.pl:pl.*:doit ! # rmgroup:michalj@*fuw.edu.pl:pl.*:doit ! # rmgroup:newgroup@usenet.pl:pl.*:doit ## PLANET ( PlaNet FreeNZ co-operative, New Zealand) # Contact: office@pl.net # For local use only, contact the above address for information. ! newgroup:*@*:planet.*:mail ! rmgroup:*@*:planet.*:doit ## PRIMA (prima.ruhr.de/Prima e.V. in Germany) # Contact: admin@prima.ruhr.de # For internal use only, contact above address for questions ! newgroup:*@*:prima.*:mail ! rmgroup:*@*:prima.*:doit ! ## PSU ( Penn State University, USA ) # Contact: Dave Barr (barr@math.psu.edu) # For internal use only, contact above address for questions ! newgroup:*@*:psu.*:mail ! rmgroup:*@*:psu.*:doit ## PT (Portugal and Portuguese language) ! checkgroups:pmelo@*.inescc.pt:pt.*:verify-control@usenet-pt.org ! newgroup:pmelo@*.inescc.pt:pt.*:verify-control@usenet-pt.org ! rmgroup:pmelo@*.inescc.pt:pt.*:verify-control@usenet-pt.org ## PUBNET ! # This Hierarchy is now defunct. ! # URL: ftp://ftp.isc.org/pub/usenet/control/pubnet/pubnet.config.Z ! newgroup:*@*:pubnet.*:mail ! rmgroup:*@*:pubnet.*:doit ## RELCOM ( Commonwealth of Independent States) ! # The official list of relcom groups is supposed to be available from ! # URL: ftp://ftp.kiae.su/relcom/netinfo/telconfs.txt ! # *PGP* See comment at top of file. ! checkgroups:coord@new*.relcom.ru:relcom.*:verify-relcom.newsgroups ! newgroup:coord@new*.relcom.ru:relcom.*:verify-relcom.newsgroups ! rmgroup:coord@new*.relcom.ru:relcom.*:verify-relcom.newsgroups ## RPI ( Rensselaer Polytechnic Institute, Troy, NY, USA) # Contact: sofkam@rpi.edu # For local use only, contact the above address for information. ! newgroup:*@*:rpi.*:mail ! rmgroup:*@*:rpi.*:doit ! ! ## SAAR (Saarbruecke, Germany) ! newgroup:news@alien.saar.de:saar.*:doit ! rmgroup:news@alien.saar.de:saar.*:doit ## SACHSNET (German) ! newgroup:root@lusatia.de:sachsnet.*:doit ! rmgroup:root@lusatia.de:sachsnet.*:doit ## SAT (San Antonio, Texas, USA) # *PGP* See comment at top of file. *************** *** 1105,1125 **** newgroup:satgroup@endicor.com:sat.*:verify-satgroup@endicor.com rmgroup:satgroup@endicor.com:sat.*:verify-satgroup@endicor.com ! #checkgroups:satgroup@endicor.com:sat.*:doit=checkgroups ! #newgroup:satgroup@endicor.com:sat.*:doit=newgroup ! #rmgroup:satgroup@endicor.com:sat.*:doit=rmgroup ! ## SBAY (South Bay/Silicon Valley, California) ! newgroup:steveh@grafex.sbay.org:sbay.*:doit=newgroup ! newgroup:ikluft@thunder.sbay.org:sbay.*:doit=newgroup rmgroup:steveh@grafex.sbay.org:sbay.*:mail rmgroup:ikluft@thunder.sbay.org:sbay.*:mail ## SCHULE ! ## # *PGP* See comment at top of file. ! checkgroups:newsctrl@schule.de:schule.*:verify-schule.konfig=miscctl newgroup:newsctrl@schule.de:schule.*:verify-schule.konfig rmgroup:newsctrl@schule.de:schule.*:verify-schule.konfig --- 1252,1274 ---- newgroup:satgroup@endicor.com:sat.*:verify-satgroup@endicor.com rmgroup:satgroup@endicor.com:sat.*:verify-satgroup@endicor.com ! #checkgroups:satgroup@endicor.com:sat.*:doit ! #newgroup:satgroup@endicor.com:sat.*:doit ! #rmgroup:satgroup@endicor.com:sat.*:doit ## SBAY (South Bay/Silicon Valley, California) ! newgroup:steveh@grafex.sbay.org:sbay.*:doit ! newgroup:ikluft@thunder.sbay.org:sbay.*:doit rmgroup:steveh@grafex.sbay.org:sbay.*:mail rmgroup:ikluft@thunder.sbay.org:sbay.*:mail ## SCHULE ! # Contact: schule-admin@roxel.ms.sub.org ! # URL: http://home.pages.de/~schule-admin/ ! # Key fingerprint = 64 06 F0 AE E1 46 85 0C BD CA 0E 53 8B 1E 73 D2 ! # Key URL: http://home.pages.de/~schule-admin/schule.asc # *PGP* See comment at top of file. ! checkgroups:newsctrl@schule.de:schule.*:verify-schule.konfig newgroup:newsctrl@schule.de:schule.*:verify-schule.konfig rmgroup:newsctrl@schule.de:schule.*:verify-schule.konfig *************** *** 1127,1134 **** # URL: http://www-rohan.sdsu.edu/staff/wk/w/sdnet.html # URL: http://www-rohan.sdsu.edu/staff/wk/w/config.html # URL: ftp://ftp.csu.net/pub/news/active ! newgroup:wkronert@sunstroke.sdsu.edu:sdnet.*:doit=newgroup ! rmgroup:wkronert@sunstroke.sdsu.edu:sdnet.*:doit=rmgroup ## SE (Sweden) # Contact: usenet@usenet-se.net --- 1276,1289 ---- # URL: http://www-rohan.sdsu.edu/staff/wk/w/sdnet.html # URL: http://www-rohan.sdsu.edu/staff/wk/w/config.html # URL: ftp://ftp.csu.net/pub/news/active ! newgroup:wkronert@sunstroke.sdsu.edu:sdnet.*:doit ! rmgroup:wkronert@sunstroke.sdsu.edu:sdnet.*:doit ! ! ## SDSU (San Diego State University, CA) ! # Contact: Craig R. Sadler ! # For local use only, contact the above address for information. ! newgroup:*@*:sdsu.*:mail ! rmgroup:*@*:sdsu.*:doit ## SE (Sweden) # Contact: usenet@usenet-se.net *************** *** 1141,1237 **** rmgroup:usenet@usenet-se.net:se.*:verify-usenet-se checkgroups:usenet@usenet-se.net:se.*:verify-usenet-se ! #newgroup:usenet@usenet-se.net:se.*:doit=newgroup ! #rmgroup:usenet@usenet-se.net:se.*:doit=rmgroup ! #checkgroups:usenet@usenet-se.net:se.*:doit=checkgroups ! ## SEATTLE (Seattle, Washington, USA) ! newgroup:billmcc@akita.com:seattle.*:doit=newgroup ! newgroup:graham@ee.washington.edu:seattle.*:doit=newgroup ! rmgroup:billmcc@akita.com:seattle.*:doit=rmgroup ! rmgroup:graham@ee.washington.edu:seattle.*:doit=rmgroup ## SFNET newsgroups (Finland) ! newgroup:hmj@*cs.tut.fi:sfnet.*:doit=newgroup ! rmgroup:hmj@*cs.tut.fi:sfnet.*:doit=rmgroup ## SHAMASH (Jewish) ! newgroup:archives@israel.nysernet.org:shamash.*:doit=newgroup ! rmgroup:archives@israel.nysernet.org:shamash.*:doit=rmgroup ## SI (The Republic of Slovenia) # *PGP* See comment at top of file. ! checkgroups:news-admin@arnes.si:si.*:verify-si.news.announce.newsgroups=miscctl newgroup:news-admin@arnes.si:si.*:verify-si.news.announce.newsgroups rmgroup:news-admin@arnes.si:si.*:verify-si.news.announce.newsgroups ! # newgroup:news-admin@arnes.si:si.*:doit=newgroup ! # rmgroup:news-admin@arnes.si:si.*:doit=rmgroup ## SK (Slovakia) checkgroups:uhlar@ccnews.ke.sanet.sk:sk.*:mail ! newgroup:uhlar@ccnews.ke.sanet.sk:sk.*:doit=newgroup ! rmgroup:uhlar@ccnews.ke.sanet.sk:sk.*:doit=rmgroup ## SLAC ( Stanford Linear Accelerator Center, Stanford, USA ) # Contact: news@news.stanford.edu # Limited distribution hierarchy, contact the above address for information. ! newgroup:news@news.stanford.edu:slac.*:log ! rmgroup:news@news.stanford.edu:slac.*:doit=rmgroup ## SOLENT (Solent region, England) ! newgroup:news@tcp.co.uk:solent.*:doit=newgroup ! rmgroup:news@tcp.co.uk:solent.*:doit=rmgroup ## STGT (Stuttgart, Germany) checkgroups:news@news.uni-stuttgart.de:stgt.*:mail ! newgroup:news@news.uni-stuttgart.de:stgt.*:doit=newgroup ! rmgroup:news@news.uni-stuttgart.de:stgt.*:doit=rmgroup ## STL (Saint Louis, Missouri, USA) ! newgroup:news@icon-stl.net:stl.*:doit=newgroup ! rmgroup:news@icon-stl.net:stl.*:doit=rmgroup ## SU ( Stanford University, USA ) # Contact: news@news.stanford.edu # For local use only, contact the above address for information. ! newgroup:*@*:su.*:drop ! rmgroup:*@*:su.*:doit=rmgroup ## SURFNET (Dutch Universities network) ! newgroup:news@info.nic.surfnet.nl:surfnet.*:doit=newgroup ! rmgroup:news@info.nic.surfnet.nl:surfnet.*:doit=rmgroup ## SWNET (Sverige, Sweden) ! newgroup:ber@sunic.sunet.se:swnet.*:doit=newgroup ! rmgroup:ber@sunic.sunet.se:swnet.*:doit=rmgroup ## TAOS (Taos, New Mexico, USA) # Contact: "Chris Gunn" ! newgroup:cgunn@laplaza.org:taos.*:doit=newgroup ! rmgroup:cgunn@laplaza.org:taos.*:doit=rmgroup ## TCFN (Toronto Free Community Network, Canada) ! newgroup:news@t-fcn.net:tcfn.*:doit=newgroup ! rmgroup:news@t-fcn.net:tcfn.*:doit=rmgroup ## T-NETZ (German Email Network) # Defunct, use z-netz.* ! newgroup:*@*:t-netz.*:drop ! rmgroup:*@*:t-netz.*:doit=rmgroup ## TELE (Tele Danmark Internet) # Contact: usenet@tdk.net # For internal use only, contact above address for questions ! newgroup:*@*:tele.*:drop ! rmgroup:*@*:tele.*:doit=rmgroup ## TEST (Local test hierarchy) # It is not really a good idea for sites to use these since they # may occur on many unconnect sites. ! newgroup:*@*:test.*:drop ! rmgroup:*@*:test.*:drop ## THUR ( Thuringia, Germany ) # *PGP* See comment at top of file. --- 1296,1404 ---- rmgroup:usenet@usenet-se.net:se.*:verify-usenet-se checkgroups:usenet@usenet-se.net:se.*:verify-usenet-se ! #newgroup:usenet@usenet-se.net:se.*:doit ! #rmgroup:usenet@usenet-se.net:se.*:doit ! #checkgroups:usenet@usenet-se.net:se.*:doit ## SEATTLE (Seattle, Washington, USA) ! newgroup:billmcc@akita.com:seattle.*:doit ! newgroup:graham@ee.washington.edu:seattle.*:doit ! rmgroup:billmcc@akita.com:seattle.*:doit ! rmgroup:graham@ee.washington.edu:seattle.*:doit ## SFNET newsgroups (Finland) ! newgroup:hmj@*cs.tut.fi:sfnet.*:doit ! rmgroup:hmj@*cs.tut.fi:sfnet.*:doit ## SHAMASH (Jewish) ! newgroup:archives@israel.nysernet.org:shamash.*:doit ! rmgroup:archives@israel.nysernet.org:shamash.*:doit ## SI (The Republic of Slovenia) # *PGP* See comment at top of file. ! checkgroups:news-admin@arnes.si:si.*:verify-si.news.announce.newsgroups newgroup:news-admin@arnes.si:si.*:verify-si.news.announce.newsgroups rmgroup:news-admin@arnes.si:si.*:verify-si.news.announce.newsgroups ! # newgroup:news-admin@arnes.si:si.*:doit ! # rmgroup:news-admin@arnes.si:si.*:doit ## SK (Slovakia) checkgroups:uhlar@ccnews.ke.sanet.sk:sk.*:mail ! newgroup:uhlar@ccnews.ke.sanet.sk:sk.*:doit ! rmgroup:uhlar@ccnews.ke.sanet.sk:sk.*:doit ## SLAC ( Stanford Linear Accelerator Center, Stanford, USA ) # Contact: news@news.stanford.edu # Limited distribution hierarchy, contact the above address for information. ! newgroup:news@news.stanford.edu:slac.*:mail ! rmgroup:news@news.stanford.edu:slac.*:doit ! ! ## SLO (San Luis Obispo, CA) ! newgroup:news@punk.net:slo.*:doit ! rmgroup:news@punk.net:slo.*:doit ## SOLENT (Solent region, England) ! newgroup:news@tcp.co.uk:solent.*:doit ! rmgroup:news@tcp.co.uk:solent.*:doit ## STGT (Stuttgart, Germany) checkgroups:news@news.uni-stuttgart.de:stgt.*:mail ! newgroup:news@news.uni-stuttgart.de:stgt.*:doit ! rmgroup:news@news.uni-stuttgart.de:stgt.*:doit ## STL (Saint Louis, Missouri, USA) ! newgroup:news@icon-stl.net:stl.*:doit ! rmgroup:news@icon-stl.net:stl.*:doit ## SU ( Stanford University, USA ) # Contact: news@news.stanford.edu # For local use only, contact the above address for information. ! newgroup:*@*:su.*:mail ! rmgroup:*@*:su.*:doit ! ! ## SUNET (Swedish University Network) ! newgroup:ber@*.sunet.se:sunet.*:doit ! rmgroup:ber@*.sunet.se:sunet.*:doit ## SURFNET (Dutch Universities network) ! newgroup:news@info.nic.surfnet.nl:surfnet.*:doit ! rmgroup:news@info.nic.surfnet.nl:surfnet.*:doit ## SWNET (Sverige, Sweden) ! newgroup:ber@sunic.sunet.se:swnet.*:doit ! rmgroup:ber@sunic.sunet.se:swnet.*:doit ! ! ## TAMU (Texas A&M University) ! # Contact: Philip Kizer ! newgroup:news@tamsun.tamu.edu:tamu.*:doit ! rmgroup:news@tamsun.tamu.edu:tamu.*:doit ## TAOS (Taos, New Mexico, USA) # Contact: "Chris Gunn" ! newgroup:cgunn@laplaza.org:taos.*:doit ! rmgroup:cgunn@laplaza.org:taos.*:doit ## TCFN (Toronto Free Community Network, Canada) ! newgroup:news@t-fcn.net:tcfn.*:doit ! rmgroup:news@t-fcn.net:tcfn.*:doit ## T-NETZ (German Email Network) # Defunct, use z-netz.* ! newgroup:*@*:t-netz.*:mail ! rmgroup:*@*:t-netz.*:doit ## TELE (Tele Danmark Internet) # Contact: usenet@tdk.net # For internal use only, contact above address for questions ! newgroup:*@*:tele.*:mail ! rmgroup:*@*:tele.*:doit ## TEST (Local test hierarchy) # It is not really a good idea for sites to use these since they # may occur on many unconnect sites. ! newgroup:*@*:test.*:mail ! rmgroup:*@*:test.*:mail ## THUR ( Thuringia, Germany ) # *PGP* See comment at top of file. *************** *** 1241,1288 **** rmgroup:usenet@thur.de:thur.*:verify-thur.net.news.groups ## TNN ( The Network News, Japan ) ! newgroup:tnn@iij-mc.co.jp:tnn.*:doit=newgroup ! newgroup:netnews@news.iij.ad.jp:tnn.*:doit=newgroup ! rmgroup:tnn@iij-mc.co.jp:tnn.*:doit=rmgroup ! rmgroup:netnews@news.iij.ad.jp:tnn.*:doit=rmgroup ## TRIANGLE (Central North Carolina, USA ) ! newgroup:jfurr@acpub.duke.edu:triangle.*:doit=newgroup ! newgroup:tas@concert.net:triangle.*:doit=newgroup ! newgroup:news@news.duke.edu:triangle.*:doit=newgroup ! rmgroup:jfurr@acpub.duke.edu:triangle.*:doit=rmgroup ! rmgroup:tas@concert.net:triangle.*:doit=rmgroup ! rmgroup:news@news.duke.edu:triangle.*:doit=rmgroup ## TW (Taiwan) ! newgroup:ltc@news.cc.nctu.edu.tw:tw.*:doit=newgroup ! newgroup:k-12@news.nchu.edu.tw:tw.k-12.*:doit=newgroup ! rmgroup:ltc@news.cc.nctu.edu.tw:tw.*:doit=rmgroup ! rmgroup:k-12@news.nchu.edu.tw:tw.k-12*:doit=rmgroup ## TX (Texas, USA) ! newgroup:eric@cirr.com:tx.*:doit=newgroup ! newgroup:fletcher@cs.utexas.edu:tx.*:doit=newgroup ! newgroup:usenet@academ.com:tx.*:doit=newgroup ! rmgroup:eric@cirr.com:tx.*:doit=rmgroup ! rmgroup:fletcher@cs.utexas.edu:tx.*:doit=rmgroup ! rmgroup:usenet@academ.com:tx.*:doit=rmgroup ## UCB ( University of California Berkeley, USA) ! # I don't know what happens here, Rob creates the groups ! # one minute and then usenet creates them as moderated... ! # ! # newgroup:rob@agate.berkeley.edu:ucb.*:doit=newgroup ! # newgroup:usenet@agate.berkeley.edu:ucb.*:doit=newgroup ! # rmgroup:rob@agate.berkeley.edu:ucb.*:doit=rmgroup ! # rmgroup:usenet@agate.berkeley.edu:ucb.*:doit=rmgroup ## UCD ( University of California Davis, USA ) ! newgroup:usenet@rocky.ucdavis.edu:ucd.*:doit=newgroup ! newgroup:usenet@mark.ucdavis.edu:ucd.*:doit=newgroup ! rmgroup:usenet@rocky.ucdavis.edu:ucd.*:doit=rmgroup ! rmgroup:usenet@mark.ucdavis.edu:ucd.*:doit=rmgroup ! ## UFRA (Unterfranken, Deutschland) # Contact: news@mayn.de --- 1408,1459 ---- rmgroup:usenet@thur.de:thur.*:verify-thur.net.news.groups ## TNN ( The Network News, Japan ) ! newgroup:tnn@iij-mc.co.jp:tnn.*:doit ! newgroup:netnews@news.iij.ad.jp:tnn.*:doit ! rmgroup:tnn@iij-mc.co.jp:tnn.*:doit ! rmgroup:netnews@news.iij.ad.jp:tnn.*:doit ## TRIANGLE (Central North Carolina, USA ) ! newgroup:jfurr@acpub.duke.edu:triangle.*:doit ! newgroup:tas@concert.net:triangle.*:doit ! newgroup:news@news.duke.edu:triangle.*:doit ! rmgroup:jfurr@acpub.duke.edu:triangle.*:doit ! rmgroup:tas@concert.net:triangle.*:doit ! rmgroup:news@news.duke.edu:triangle.*:doit ! ! ## TUM (Technische Universitaet Muenchen) ! newgroup:news@informatik.tu-muenchen.de:tum.*:doit ! rmgroup:news@informatik.tu-muenchen.de:tum.*:doit ## TW (Taiwan) ! newgroup:ltc@news.cc.nctu.edu.tw:tw.*:doit ! newgroup:k-12@news.nchu.edu.tw:tw.k-12.*:doit ! rmgroup:ltc@news.cc.nctu.edu.tw:tw.*:doit ! rmgroup:k-12@news.nchu.edu.tw:tw.k-12*:doit ## TX (Texas, USA) ! newgroup:eric@cirr.com:tx.*:doit ! newgroup:fletcher@cs.utexas.edu:tx.*:doit ! newgroup:usenet@academ.com:tx.*:doit ! rmgroup:eric@cirr.com:tx.*:doit ! rmgroup:fletcher@cs.utexas.edu:tx.*:doit ! rmgroup:usenet@academ.com:tx.*:doit ! ! ## UA (Ukraine) ! # probable tale mistype - meant ukr.* ! # newgroup:*@sita.kiev.ua:ua.*:doit ! # rmgroup:*@sita.kiev.ua:ua.*:doit ## UCB ( University of California Berkeley, USA) ! # Contact: Chris van den Berg ! newgroup:usenet@agate.berkeley.edu:ucb.*:verify-ucb.news ! rmgroup:usenet@agate.berkeley.edu:ucb.*:verify-ucb.news ## UCD ( University of California Davis, USA ) ! newgroup:usenet@rocky.ucdavis.edu:ucd.*:doit ! newgroup:usenet@mark.ucdavis.edu:ucd.*:doit ! rmgroup:usenet@rocky.ucdavis.edu:ucd.*:doit ! rmgroup:usenet@mark.ucdavis.edu:ucd.*:doit ## UFRA (Unterfranken, Deutschland) # Contact: news@mayn.de *************** *** 1290,1309 **** # Key fingerprint = F7 AD 96 D8 7A 3F 7E 84 02 0C 83 9A DB 8F EB B8 # Syncable server: news.mayn.de (contact news@mayn.de if permission denied) # *PGP* See comment at top of file. ! newgroup:news@mayn.de:ufra.*:verify-news.mayn.de=newgroup ! rmgroup:news@mayn.de:ufra.*:verify-news.mayn.de=rmgroup ! checkgroups:news@mayn.de:ufra.*:verify-news.mayn.de=misctl ! ! # newgroup:news@mayn.de:ufra.*:verify-news.mayn.de=mail ! # rmgroup:news@mayn.de:ufra.*:verify-news.mayn.de=mail ! # checkgroups:news@mayn.de:ufra.*:verify-news.mayn.de=mail ! ## UIUC (University of Illinois, USA ) ! newgroup:p-pomes@*.cso.uiuc.edu:uiuc.*:doit=newgroup ! newgroup:paul@*.cso.uiuc.edu:uiuc.*:doit=newgroup ! rmgroup:p-pomes@*.cso.uiuc.edu:uiuc.*:doit=rmgroup ! rmgroup:paul@*.cso.uiuc.edu:uiuc.*:doit=rmgroup ## UK (United Kingdom of Great Britain and Northern Ireland) # *PGP* See comment at top of file. --- 1461,1479 ---- # Key fingerprint = F7 AD 96 D8 7A 3F 7E 84 02 0C 83 9A DB 8F EB B8 # Syncable server: news.mayn.de (contact news@mayn.de if permission denied) # *PGP* See comment at top of file. ! newgroup:news@mayn.de:ufra.*:verify-news.mayn.de ! rmgroup:news@mayn.de:ufra.*:verify-news.mayn.de ! checkgroups:news@mayn.de:ufra.*:verify-news.mayn.de ! ! # newgroup:news@mayn.de:ufra.*:verify-news.mayn.de ! # rmgroup:news@mayn.de:ufra.*:verify-news.mayn.de ! # checkgroups:news@mayn.de:ufra.*:verify-news.mayn.de ## UIUC (University of Illinois, USA ) ! newgroup:p-pomes@*.cso.uiuc.edu:uiuc.*:doit ! newgroup:paul@*.cso.uiuc.edu:uiuc.*:doit ! rmgroup:p-pomes@*.cso.uiuc.edu:uiuc.*:doit ! rmgroup:paul@*.cso.uiuc.edu:uiuc.*:doit ## UK (United Kingdom of Great Britain and Northern Ireland) # *PGP* See comment at top of file. *************** *** 1312,1335 **** rmgroup:control@usenet.org.uk:uk.*:verify-uk.net.news.announce # checkgroups:control@usenet.org.uk:uk.*:mail ! # newgroup:control@usenet.org.uk:uk.*:doit=newgroup ! # rmgroup:control@usenet.org.uk:uk.*:doit=rmgroup ! ## UKR ( Ukraine ) ! newgroup:ay@sita.kiev.ua:ukr.*:doit=newgroup ! rmgroup:ay@sita.kiev.ua:ukr.*:doit=rmgroup ## UMN (University of Minnesota, USA ) ! newgroup:edh@*.tc.umn.edu:umn.*:doit=newgroup ! newgroup:news@*.tc.umn.edu:umn.*:doit=newgroup ! newgroup:Michael.E.Hedman-1@umn.edu:umn.*:doit=newgroup ! newgroup:edh@*.tc.umn.edu:umn*class.*:log ! newgroup:news@*.tc.umn.edu:umn*class.*:log ! newgroup:Michael.E.Hedman-1@umn.edu:umn*class.*:log ! rmgroup:news@*.tc.umn.edu:umn.*:doit=rmgroup ! rmgroup:edh@*.tc.umn.edu:umn.*:doit=rmgroup ! rmgroup:Michael.E.Hedman-1@umn.edu:umn.*:doit=rmgroup ## UN (The United Nations) # URL: http://www.itu.int/Conferences/un/ --- 1482,1508 ---- rmgroup:control@usenet.org.uk:uk.*:verify-uk.net.news.announce # checkgroups:control@usenet.org.uk:uk.*:mail ! # newgroup:control@usenet.org.uk:uk.*:doit ! # rmgroup:control@usenet.org.uk:uk.*:doit ## UKR ( Ukraine ) ! newgroup:ay@sita.kiev.ua:ukr.*:doit ! rmgroup:ay@sita.kiev.ua:ukr.*:doit ! ! ## UMICH (University of Michigan) ! newgroup:*@*.umich.edu:umich.*:doit ! rmgroup:*@*.umich.edu:umich.*:doit ## UMN (University of Minnesota, USA ) ! newgroup:edh@*.tc.umn.edu:umn.*:doit ! newgroup:news@*.tc.umn.edu:umn.*:doit ! newgroup:Michael.E.Hedman-1@umn.edu:umn.*:doit ! newgroup:edh@*.tc.umn.edu:umn*class.*:mail ! newgroup:news@*.tc.umn.edu:umn*class.*:mail ! newgroup:Michael.E.Hedman-1@umn.edu:umn*class.*:mail ! rmgroup:news@*.tc.umn.edu:umn.*:doit ! rmgroup:edh@*.tc.umn.edu:umn.*:doit ! rmgroup:Michael.E.Hedman-1@umn.edu:umn.*:doit ## UN (The United Nations) # URL: http://www.itu.int/Conferences/un/ *************** *** 1339,1429 **** rmgroup:news@news.itu.int:un.*:verify-ungroups@news.itu.int # checkgroups:news@news.itu.int:un.*:mail ! # newgroup:news@news.itu.int:un.*:doit=newgroup ! # rmgroup:news@news.itu.int:un.*:doit=rmgroup ## UO (University of Oregon, Eugene, Oregon, USA ) ! newgroup:newsadmin@news.uoregon.edu:uo.*:doit=newgroup ! rmgroup:newsadmin@news.uoregon.edu:uo.*:doit=rmgroup ## US (United States of America) # *PGP* See comment at top of file. checkgroups:usadmin@wwa.com:us.*:mail ! newgroup:usadmin@wwa.com:us.*:doit=newgroup ! rmgroup:usadmin@wwa.com:us.*:doit=rmgroup ## UT (U. of Toronto) ! # newgroup:news@ecf.toronto.edu:ut.*:doit=newgroup ! # newgroup:news@ecf.toronto.edu:ut.class.*:log ! # rmgroup:news@ecf.toronto.edu:ut.*:doit=rmgroup ## UTA (Finnish) ! newgroup:news@news.cc.tut.fi:uta.*:doit=newgroup ! rmgroup:news@news.cc.tut.fi:uta.*:doit=rmgroup ## UTEXAS (University of Texas, USA ) ! newgroup:fletcher@cs.utexas.edu:utexas.*:doit=newgroup ! newgroup:news@geraldo.cc.utexas.edu:utexas.*:doit=newgroup ! newgroup:fletcher@cs.utexas.edu:utexas*class.*:log ! newgroup:news@geraldo.cc.utexas.edu:utexas*class.*:log ! rmgroup:fletcher@cs.utexas.edu:utexas.*:doit=rmgroup ! rmgroup:news@geraldo.cc.utexas.edu:utexas.*:doit=rmgroup ## UTWENTE (University of Twente, Netherlands) # Contact: newsmaster@utwente.nl # For internal use only, contact above address for questions ! newgroup:*@*:utwente.*:drop ! rmgroup:*@*:utwente.*:doit=rmgroup ## UVA (virginia.edu - University of Virginia) # Contact: usenet@virginia.edu # For internal use only, contact above address for questions ! newgroup:*@*:uva.*:drop ! rmgroup:*@*:uva.*:doit=rmgroup ## UW (University of Waterloo, Canada) ! newgroup:bcameron@math.uwaterloo.ca:uw.*:doit=newgroup ! rmgroup:bcameron@math.uwaterloo.ca:uw.*:doit=rmgroup ## UWO (University of Western Ontario, London, Canada) ! newgroup:reggers@julian.uwo.ca:uwo.*:doit=newgroup ! rmgroup:reggers@julian.uwo.ca:uwo.*:doit=rmgroup ## VEGAS (Las Vegas, Nevada, USA) ! newgroup:cshapiro@netcom.com:vegas.*:doit=newgroup ! newgroup:doctor@netcom.com:vegas.*:doit=newgroup ! rmgroup:cshapiro@netcom.com:vegas.*:doit=rmgroup ! rmgroup:doctor@netcom.com:vegas.*:doit=rmgroup ## VMSNET ( VMS Operating System ) ! newgroup:cts@dragon.com:vmsnet.*:doit=newgroup ! rmgroup:cts@dragon.com:vmsnet.*:doit=rmgroup ## WADAI (Japanese ?) ! newgroup:kohe-t@*wakayama-u.ac.jp:wadai.*:doit=newgroup ! rmgroup:kohe-t@*wakayama-u.ac.jp:wadai.*:doit=rmgroup ## WASH (Washington State, USA) ! newgroup:graham@ee.washington.edu:wash.*:doit=newgroup ! rmgroup:graham@ee.washington.edu:wash.*:doit=rmgroup ## WORLDONLINE # Contact: newsmaster@worldonline.nl # For local use only, contact the above address for information. ! newgroup:*@*:worldonline.*:drop ! rmgroup:*@*:worldonline.*:doit=rmgroup ## WPI (Worcester Polytechnic Institute, Worcester, MA) ! newgroup:aej@*.wpi.edu:wpi.*:doit=newgroup ! rmgroup:aej@*.wpi.edu:wpi.*:doit=rmgroup ## Z-NETZ (German non internet based network.) # *PGP* See comment at top of file. # MAIL: pgp-public-keys@informatik.uni-hamburg.de Subject: GET 0x40145FC9 checkgroups:dirk.meyer@dinoex.sub.org:z-netz.*:verify-checkgroups-dinoex newgroup:dirk.meyer@dinoex.sub.org:z-netz.*:verify-checkgroups-dinoex ! newgroup:*@*.de:z-netz.alt.*:doit=newgroup ! newgroup:*@*.sub.org:z-netz.alt.*:doit=newgroup rmgroup:dirk.meyer@dinoex.sub.org:z-netz.*:verify-checkgroups-dinoex # newgroup:*@*.de:z-netz.*:mail --- 1512,1647 ---- rmgroup:news@news.itu.int:un.*:verify-ungroups@news.itu.int # checkgroups:news@news.itu.int:un.*:mail ! # newgroup:news@news.itu.int:un.*:doit ! # rmgroup:news@news.itu.int:un.*:doit ## UO (University of Oregon, Eugene, Oregon, USA ) ! newgroup:newsadmin@news.uoregon.edu:uo.*:doit ! rmgroup:newsadmin@news.uoregon.edu:uo.*:doit ## US (United States of America) # *PGP* See comment at top of file. checkgroups:usadmin@wwa.com:us.*:mail ! newgroup:usadmin@wwa.com:us.*:doit ! rmgroup:usadmin@wwa.com:us.*:doit ## UT (U. of Toronto) ! # newgroup:news@ecf.toronto.edu:ut.*:doit ! # newgroup:news@ecf.toronto.edu:ut.class.*:mail ! # rmgroup:news@ecf.toronto.edu:ut.*:doit ## UTA (Finnish) ! newgroup:news@news.cc.tut.fi:uta.*:doit ! rmgroup:news@news.cc.tut.fi:uta.*:doit ## UTEXAS (University of Texas, USA ) ! newgroup:fletcher@cs.utexas.edu:utexas.*:doit ! newgroup:news@geraldo.cc.utexas.edu:utexas.*:doit ! newgroup:fletcher@cs.utexas.edu:utexas*class.*:mail ! newgroup:news@geraldo.cc.utexas.edu:utexas*class.*:mail ! rmgroup:fletcher@cs.utexas.edu:utexas.*:doit ! rmgroup:news@geraldo.cc.utexas.edu:utexas.*:doit ## UTWENTE (University of Twente, Netherlands) # Contact: newsmaster@utwente.nl # For internal use only, contact above address for questions ! newgroup:*@*:utwente.*:mail ! rmgroup:*@*:utwente.*:doit ## UVA (virginia.edu - University of Virginia) # Contact: usenet@virginia.edu # For internal use only, contact above address for questions ! newgroup:*@*:uva.*:mail ! rmgroup:*@*:uva.*:doit ## UW (University of Waterloo, Canada) ! newgroup:bcameron@math.uwaterloo.ca:uw.*:doit ! rmgroup:bcameron@math.uwaterloo.ca:uw.*:doit ! ! ## UWARWICK (University of Warwick, UK) ! # Contact: Jon Harley ! # For internal use only, contact above address for questions ! newgroup:*@*:uwarwick.*:mail ! rmgroup:*@*:uwarwick.*:doit ## UWO (University of Western Ontario, London, Canada) ! newgroup:reggers@julian.uwo.ca:uwo.*:doit ! rmgroup:reggers@julian.uwo.ca:uwo.*:doit ## VEGAS (Las Vegas, Nevada, USA) ! newgroup:cshapiro@netcom.com:vegas.*:doit ! newgroup:doctor@netcom.com:vegas.*:doit ! rmgroup:cshapiro@netcom.com:vegas.*:doit ! rmgroup:doctor@netcom.com:vegas.*:doit ! ! ## VGC (Japan groups?) ! newgroup:news@isl.melco.co.jp:vgc.*:doit ! rmgroup:news@isl.melco.co.jp:vgc.*:doit ## VMSNET ( VMS Operating System ) ! newgroup:cts@dragon.com:vmsnet.*:doit ! rmgroup:cts@dragon.com:vmsnet.*:doit ## WADAI (Japanese ?) ! newgroup:kohe-t@*wakayama-u.ac.jp:wadai.*:doit ! rmgroup:kohe-t@*wakayama-u.ac.jp:wadai.*:doit ! ! ## WALES (Wales) ! # Contact: control@A470.demon.co.uk ! # *PGP* See comment at top of file. ! newgroup:control@*470.demon.co.uk:wales.*:verify-wales.config ! rmgroup:control@*470.demon.co.uk:wales.*:verify-wales.config ! checkgroups:control@*470.demon.co.uk:wales.*:verify-wales.config ## WASH (Washington State, USA) ! newgroup:graham@ee.washington.edu:wash.*:doit ! rmgroup:graham@ee.washington.edu:wash.*:doit ! ! ## WEST-VIRGINIA (West Virginia, USA) ! # Note: checkgroups only by bryan27, not mark. ! checkgroups:bryan27@hgo.net:west-virginia.*:doit ! newgroup:mark@bluefield.net:west-virginia.*:doit ! newgroup:bryan27@hgo.net:west-virginia.*:doit ! rmgroup:mark@bluefield.net:west-virginia.*:doit ! rmgroup:bryan27@hgo.net:west-virginia.*:doit ## WORLDONLINE # Contact: newsmaster@worldonline.nl # For local use only, contact the above address for information. ! newgroup:*@*:worldonline.*:mail ! rmgroup:*@*:worldonline.*:doit ! ! ## WPG (Winnipeg, Manitoba, Canada) ! # Contact: Gary Mills ! newgroup:mills@cc.umanitoba.ca:wpg.*:doit ! rmgroup:mills@cc.umanitoba.ca:wpg.*:doit ## WPI (Worcester Polytechnic Institute, Worcester, MA) ! newgroup:aej@*.wpi.edu:wpi.*:doit ! rmgroup:aej@*.wpi.edu:wpi.*:doit ! ! ## WU (Washington University at St. Louis, MO) ! newgroup:*@*.wustl.edu:wu.*:doit ! rmgroup:*@*.wustl.edu:wu.*:doit ! ! ## XS4ALL (XS4ALL, Netherlands) ! # Contact: Cor Bosman ! newgroup:news@*xs4all.nl:xs4all.*:doit ! rmgroup:news@*xs4all.nl:xs4all.*:doit ! ! ## YORK (York University, Toronto, ON) ! # Contact: Peter Marques ! # For local use only, contact the above address for information. ! newgroup:*@*:york.*:mail ! rmgroup:*@*:york.*:doit ## Z-NETZ (German non internet based network.) # *PGP* See comment at top of file. # MAIL: pgp-public-keys@informatik.uni-hamburg.de Subject: GET 0x40145FC9 checkgroups:dirk.meyer@dinoex.sub.org:z-netz.*:verify-checkgroups-dinoex newgroup:dirk.meyer@dinoex.sub.org:z-netz.*:verify-checkgroups-dinoex ! newgroup:*@*.de:z-netz.alt.*:doit ! newgroup:*@*.sub.org:z-netz.alt.*:doit rmgroup:dirk.meyer@dinoex.sub.org:z-netz.*:verify-checkgroups-dinoex # newgroup:*@*.de:z-netz.*:mail *************** *** 1431,1442 **** # rmgroup:*@*.de:z-netz.*:mail ## ZA (South Africa) ! newgroup:root@duvi.eskom.co.za:za.*:doit=newgroup ! newgroup:ccfj@hippo.ru.ac.za:za.*:doit=newgroup ! rmgroup:root@duvi.eskom.co.za:za.*:doit=rmgroup ! rmgroup:ccfj@hippo.ru.ac.za:za.*:doit=rmgroup ## ZER (German Email Network) ! ## Defunct, use z-netz.* ! newgroup:*@*:zer.*:drop ! rmgroup:*@*:zer.*:doit=rmgroup --- 1649,1660 ---- # rmgroup:*@*.de:z-netz.*:mail ## ZA (South Africa) ! newgroup:root@duvi.eskom.co.za:za.*:doit ! newgroup:ccfj@hippo.ru.ac.za:za.*:doit ! rmgroup:root@duvi.eskom.co.za:za.*:doit ! rmgroup:ccfj@hippo.ru.ac.za:za.*:doit ## ZER (German Email Network) ! # Defunct, use z-netz.* ! newgroup:*@*:zer.*:mail ! rmgroup:*@*:zer.*:doit diff -Nacr inn-2.2/samples/controlchan.in inn-2.2.1/samples/controlchan.in *** inn-2.2/samples/controlchan.in Mon Oct 19 02:19:26 1998 --- inn-2.2.1/samples/controlchan.in Fri May 7 16:29:40 1999 *************** *** 1,5 **** #!@_PATH_PERL@ ! # $Id: controlchan.in,v 1.21 1998/10/19 09:19:26 kondou Exp $ # Copyright (c)1998 G.J. Andruk ########################################################################### # controlchan - read a feed, sniff out control messages, and send them --- 1,5 ---- #!@_PATH_PERL@ ! # $Id: controlchan.in,v 1.21.2.2 1999/05/07 23:29:40 kondou Exp $ # Copyright (c)1998 G.J. Andruk ########################################################################### # controlchan - read a feed, sniff out control messages, and send them *************** *** 49,55 **** } if ($use_syslog) { if (defined &Sys::Syslog::setlogsock && $] >= 5.00403) { ! Sys::Syslog::setlogsock('unix') if $^O =~ /linux/; } openlog ('controlchan', 'pid', 'news'); } --- 49,59 ---- } if ($use_syslog) { if (defined &Sys::Syslog::setlogsock && $] >= 5.00403) { ! # we really need a common module to work all this junk out ! if ($^O eq "dec_osf") { ! sub Sys::Syslog::_PATH_LOG { "/dev/log" } ! } ! Sys::Syslog::setlogsock('unix') if $^O =~ /linux|dec_osf/; } openlog ('controlchan', 'pid', 'news'); } *************** *** 224,232 **** $hdrval{'Reply-To'}, $token, $sitepath, $act_log, $hdrcount{approved}); - if ($progname eq "checkgroups" and $act_log =~ /^doit/) { - $act_log = "doit=mail" if $act_log !~ /^doit=.+/; - } &$subfind (join(" ", @progparams), $hdrval{Sender}, $hdrval{'Reply-To'}, $token, $sitepath, $act_log, $hdrcount{approved}, $newsgrouppats); --- 228,233 ---- diff -Nacr inn-2.2/samples/docheckgroups.in inn-2.2.1/samples/docheckgroups.in *** inn-2.2/samples/docheckgroups.in Mon Sep 7 01:59:10 1998 --- inn-2.2.1/samples/docheckgroups.in Wed Jan 27 13:05:06 1999 *************** *** 1,5 **** #!@_PATH_SH@ ! ## $Revision: 1.10 $ ## Script to execute checkgroups text; results to stdout. . @LIBDIR@/innshellvars --- 1,5 ---- #!@_PATH_SH@ ! ## $Revision: 1.10.2.1 $ ## Script to execute checkgroups text; results to stdout. . @LIBDIR@/innshellvars *************** *** 21,34 **** | (tr '\012' '|' ; echo '' )\ | ${SED} -e 's/|$//'` ! ${EGREP} "${PATS}" ${ACTIVE} | ${EGREP} "${1}" | ${SED} 's/ .*//' | sort >${T}/$$active ! ${EGREP} "${PATS}" ${T}/$$msg | ${EGREP} "${1}" | ${SED} 's/[ ].*//' | sort >${T}/$$newsgrps comm -13 ${T}/$$active ${T}/$$newsgrps >${T}/$$missing comm -23 ${T}/$$active ${T}/$$newsgrps >${T}/$$remove ! ${EGREP} "${PATS}" ${ACTIVE} | ${EGREP} "${1}" | ${SED} -n '/ m$/s/ .*//p' | sort >${T}/$$amod.all ! ${EGREP} "${PATS}" ${T}/$$msg | ${EGREP} "${1}" | ${SED} -n '/(Moderated)$/s/[ ].*//p' | sort >${T}/$$ng.mod comm -12 ${T}/$$missing ${T}/$$ng.mod >${T}/$$add.mod --- 21,34 ---- | (tr '\012' '|' ; echo '' )\ | ${SED} -e 's/|$//'` ! ${EGREP} "${PATS}" ${ACTIVE} | ${EGREP} "${1:-.}" | ${SED} 's/ .*//' | sort >${T}/$$active ! ${EGREP} "${PATS}" ${T}/$$msg | ${EGREP} "${1:-.}" | ${SED} 's/[ ].*//' | sort >${T}/$$newsgrps comm -13 ${T}/$$active ${T}/$$newsgrps >${T}/$$missing comm -23 ${T}/$$active ${T}/$$newsgrps >${T}/$$remove ! ${EGREP} "${PATS}" ${ACTIVE} | ${EGREP} "${1:-.}" | ${SED} -n '/ m$/s/ .*//p' | sort >${T}/$$amod.all ! ${EGREP} "${PATS}" ${T}/$$msg | ${EGREP} "${1:-.}" | ${SED} -n '/(Moderated)$/s/[ ].*//p' | sort >${T}/$$ng.mod comm -12 ${T}/$$missing ${T}/$$ng.mod >${T}/$$add.mod diff -Nacr inn-2.2/samples/inn.conf.in inn-2.2.1/samples/inn.conf.in *** inn-2.2/samples/inn.conf.in Fri Nov 6 19:06:05 1998 --- inn-2.2.1/samples/inn.conf.in Sat Jan 30 19:56:13 1999 *************** *** 1,4 **** ! ## $Revision: 1.24.2.1 $ ## inn.conf -- inn configuration data ## Format: ## : --- 1,4 ---- ! ## $Revision: 1.24.2.2 $ ## inn.conf -- inn configuration data ## Format: ## : *************** *** 45,51 **** strippostcc: false status: 0 timer: 0 ! readerswhenstopped: true noreader: false extendeddbz: false nnrpdoverstats: false --- 45,51 ---- strippostcc: false status: 0 timer: 0 ! readerswhenstopped: false noreader: false extendeddbz: false nnrpdoverstats: false diff -Nacr inn-2.2/samples/inncheck.in inn-2.2.1/samples/inncheck.in *** inn-2.2/samples/inncheck.in Tue Nov 10 15:33:11 1998 --- inn-2.2.1/samples/inncheck.in Tue Jun 1 19:48:49 1999 *************** *** 1,5 **** #!@_PATH_PERL@ -- ! ## $Revision: 1.22.2.3 $ ## Sanity-check the configuration of an INN system ## by Brendan Kehoe and Rich $alz. --- 1,5 ---- #!@_PATH_PERL@ -- ! ## $Revision: 1.22.2.6 $ ## Sanity-check the configuration of an INN system ## by Brendan Kehoe and Rich $alz. *************** *** 116,123 **** local ($group, $hi, $lo, $f, $alias, %groups, %aliases); input: while ( ) { ! next input if &spacious($file, ++$line); ! unless ( ($group, $hi, $lo, $f) = /^([^ ]+) (\d+) (\d+) (.+)$/ ) { print "$file:$line: malformed line.\n"; next input; } --- 116,123 ---- local ($group, $hi, $lo, $f, $alias, %groups, %aliases); input: while ( ) { ! $line++; ! unless ( ($group, $hi, $lo, $f) = /^([^ ]+) (\d+) (\d+) (.+)\n$/ ) { print "$file:$line: malformed line.\n"; next input; } *************** *** 898,904 **** ## The modes for the various programs. %prog_modes = ( 'inews', 02555, ! 'innd', 0555, 'newsboot', 0550, 'nnrpd', 0555, 'parsectl', 0550, --- 898,904 ---- ## The modes for the various programs. %prog_modes = ( 'inews', 02555, ! 'innd', 0550, 'newsboot', 0550, 'nnrpd', 0555, 'parsectl', 0550, *************** *** 921,927 **** foreach ( keys %prog_modes ) { &checkperm($paths{$_}, $prog_modes{$_}); } ! &checkperm($paths{'inndstart'}, 0555, 'root', 'bin'); foreach ( keys %paths ) { &checkperm($paths{$_}, $modes{$_}) if defined $modes{$_}; --- 921,927 ---- foreach ( keys %prog_modes ) { &checkperm($paths{$_}, $prog_modes{$_}); } ! &checkperm($paths{'inndstart'}, 04550); foreach ( keys %paths ) { &checkperm($paths{$_}, $modes{$_}) if defined $modes{$_}; diff -Nacr inn-2.2/samples/innmail.in inn-2.2.1/samples/innmail.in *** inn-2.2/samples/innmail.in Wed Jun 24 23:09:02 1998 --- inn-2.2.1/samples/innmail.in Sun Jun 20 17:58:42 1999 *************** *** 4,10 **** # Start Date: Fri, 25 Apr 1997 14:11:23 +0200 # Project: INN # File: innmail.pl ! # RCSId: $Id: innmail.in,v 1.9 1998/06/25 06:09:02 kondou Exp $ # Description: A simple replacement for UCB Mail to avoid nasty security # problems. # --- 4,10 ---- # Start Date: Fri, 25 Apr 1997 14:11:23 +0200 # Project: INN # File: innmail.pl ! # RCSId: $Id: innmail.in,v 1.9.2.1 1999/06/21 00:58:42 tale Exp $ # Description: A simple replacement for UCB Mail to avoid nasty security # problems. # *************** *** 33,38 **** --- 33,40 ---- if ( !$opt_s ) { warn "No subject given. Hope that's ok\n" ; $opt_s = "NO SUBJECT" ; + } else { + $opt_s =~ s/\n+\Z//; } # fix up any addresses. diff -Nacr inn-2.2/samples/innreport.in inn-2.2.1/samples/innreport.in *** inn-2.2/samples/innreport.in Thu Jul 9 16:17:41 1998 --- inn-2.2.1/samples/innreport.in Sat May 8 17:36:53 1999 *************** *** 483,501 **** my $file = &GetValue ($output{'default'}{'html_header_file'}); $file = $HTML_dir . "/" . $file; open (F, $file) && do { ! $/ = ""; $HTML_header = ; ! close (F); }; } if (defined $output{'default'}{'html_footer_file'}) { my $file = &GetValue ($output{'default'}{'html_footer_file'}); $file = $HTML_dir . "/" . $file; open (F, $file) && do { ! $/ = ""; $HTML_footer = ; ! close (F); ! } } } --- 483,501 ---- my $file = &GetValue ($output{'default'}{'html_header_file'}); $file = $HTML_dir . "/" . $file; open (F, $file) && do { ! local $/ = undef; $HTML_header = ; ! close F; }; } if (defined $output{'default'}{'html_footer_file'}) { my $file = &GetValue ($output{'default'}{'html_footer_file'}); $file = $HTML_dir . "/" . $file; open (F, $file) && do { ! local $/ = undef; $HTML_footer = ; ! close F; ! }; } } *************** *** 848,867 **** $result .= "\n$temp\n"; foreach (sort {$b cmp $a} (keys %data)) { ! my @list = split /\|/, $data{$_}; ! my $str = ""; ! $str .= "" if -e "$rep/$_"; ! $str .= shift @list; ! $str .= "" if -e "$rep/$_";; ! $str .= ""; ! while (@list) { ! $str .= ""; ! my $t = shift @list; ! $t =~ s/^\0+//o; # remove garbage, if any. ! $str .= "$t"; } - $str .= "\n"; - $result .= "$str"; } $result .= "\n\n


"; $result .= "innreport"; --- 848,869 ---- $result .= "\n$temp\n"; foreach (sort {$b cmp $a} (keys %data)) { ! if (($CYCLE == 0) || ($i < $CYCLE)) { ! my @list = split /\|/, $data{$_}; ! my $str = ""; ! $str .= "" if -e "$rep/$_"; ! $str .= shift @list; ! $str .= "" if -e "$rep/$_";; ! $str .= ""; ! while (@list) { ! $str .= ""; ! my $t = shift @list; ! $t =~ s/^\0+//o; # remove garbage, if any. ! $str .= "$t"; ! } ! $str .= "\n"; ! $result .= "$str"; } } $result .= "\n\n


"; $result .= "innreport"; diff -Nacr inn-2.2/samples/innreport_inn.pm inn-2.2.1/samples/innreport_inn.pm *** inn-2.2/samples/innreport_inn.pm Tue Jan 5 20:53:17 1999 --- inn-2.2.1/samples/innreport_inn.pm Tue Jun 29 19:01:43 1999 *************** *** 234,240 **** # running return 1 if $left =~ /\S+ running$/o; # sleeping ! if ($left =~ /(\S+):\d+:\proc:\d+ sleeping$/o) { my $server = $1; $server =~ tr/A-Z/a-z/ unless ($CASE_SENSITIVE); --- 234,240 ---- # running return 1 if $left =~ /\S+ running$/o; # sleeping ! if ($left =~ /(\S+):\d+:proc:\d+ sleeping$/o) { my $server = $1; $server =~ tr/A-Z/a-z/ unless ($CASE_SENSITIVE); *************** *** 242,248 **** return 1; } # blocked sleeping ! if ($left =~ /(\S+):\d+:\proc:\d+ blocked sleeping/o) { my $server = $1; $server =~ tr/A-Z/a-z/ unless ($CASE_SENSITIVE); --- 242,248 ---- return 1; } # blocked sleeping ! if ($left =~ /(\S+):\d+:proc:\d+ blocked sleeping/o) { my $server = $1; $server =~ tr/A-Z/a-z/ unless ($CASE_SENSITIVE); diff -Nacr inn-2.2/samples/mailpost.in inn-2.2.1/samples/mailpost.in *** inn-2.2/samples/mailpost.in Wed Dec 9 07:52:07 1998 --- inn-2.2.1/samples/mailpost.in Tue May 11 14:53:00 1999 *************** *** 1,8 **** #!@_PATH_PERL@ # mailpost - yet another mail-to-news filter # brister 19oct98 cleaned up somewhat for perl v. 5. and made a little more robust. ! # vixie 29jan95 RCS'd [$Id: mailpost.in,v 1.1.2.1 1998/12/09 15:52:07 kondou Exp $] # vixie 15jun93 [added -m] # vixie 30jun92 [added -a and -d] # vixie 17jun92 [attempt simple-minded fixup to $path] --- 1,9 ---- #!@_PATH_PERL@ # mailpost - yet another mail-to-news filter + # doka 11may99 [fixed duplicate headers problem] # brister 19oct98 cleaned up somewhat for perl v. 5. and made a little more robust. ! # vixie 29jan95 RCS'd [$Id: mailpost.in,v 1.1.2.3 1999/05/11 21:53:00 kondou Exp $] # vixie 15jun93 [added -m] # vixie 30jun92 [added -a and -d] # vixie 17jun92 [attempt simple-minded fixup to $path] *************** *** 152,157 **** --- 153,160 ---- } for (;;) { + last if defined($line) && ($line =~ /^$/) ; + $_ = ; chomp ; *************** *** 256,261 **** --- 259,268 ---- $real_news_hdrs .= "Approved: ${approved}\n" if defined($approved); $real_news_hdrs .= "References: ${references}\n" if defined($references); + # Remove duplicate headers. + my %headers = (); + $real_news_hdrs =~ s/((.*?:) .*?($|\n)([ \t]+.*?($|\n))*)/$headers{$2}++?"":"$1"/ges; + # Inews writes error messages to stdout. We want to capture those and mail # them back to the newsmaster. Trying to write and read from a subprocess is # ugly and prone to deadlock, so we use a temp file. *************** *** 284,294 **** ${weird_mail_hdrs} EOF ! print TMPFILE $line, "\n" ; # left over from header parsing loop ! print TMPFILE ; ! # do we really want to add this next line? (inews will append a signature) ! print TMPFILE "---\n" ; close TMPFILE ; if ( ! $tmpfile ) { --- 291,301 ---- ${weird_mail_hdrs} EOF ! my $rest; ! $rest .= $_ while (); ! $rest =~ s/\n*$/\n/g; # Remove trailing \n except very last + print TMPFILE $rest; close TMPFILE ; if ( ! $tmpfile ) { diff -Nacr inn-2.2/samples/mod-active.in inn-2.2.1/samples/mod-active.in *** inn-2.2/samples/mod-active.in Tue Oct 27 18:45:43 1998 --- inn-2.2.1/samples/mod-active.in Mon Aug 23 16:13:19 1999 *************** *** 13,18 **** --- 13,19 ---- $newact = "$oldact.new$$"; # temporary name for new active file $actime = "$oldact.times"; # active.times file $pausemsg = 'batch active update, ok'; # message to be used for pausing? + $diff_flags = ''; # Flags for diff(1); default chosen if null. $0 =~ s#^.*/##; *************** *** 23,28 **** --- 24,43 ---- $| = 1; # show output as it happens (for an rsh/ssh pipe) + # Guess at best flags for a condensed diff listing. The + # checks for alternative operating systems is incomplete. + unless ($diff_flags) { + if (`diff -v 2>&1` =~ /GNU/) { + $diff_flags = '-u0'; + } elsif ($^O =~ /^(dec_osf|solaris)$/) { + $diff_flags = '-C0'; + } elsif ($^O eq 'nextstep') { + $diff_flags = '-c0'; + } else { + $diff_flags = '-c'; + } + } + print "reading list of groups to update\n" if $debug; $eval = "while () {\n"; *************** *** 72,78 **** } &ctlinnd("reload active 'updated from checkgroups'"); ! system("diff -c0 $oldact.old $oldact"); &ctlinnd("go $pausemsg"); print "updating $actime\n" if $debug; --- 87,93 ---- } &ctlinnd("reload active 'updated from checkgroups'"); ! system("diff $diff_flags $oldact.old $oldact"); &ctlinnd("go $pausemsg"); print "updating $actime\n" if $debug; diff -Nacr inn-2.2/samples/moderators inn-2.2.1/samples/moderators *** inn-2.2/samples/moderators Tue Apr 28 13:47:01 1998 --- inn-2.2.1/samples/moderators Mon Mar 15 18:30:25 1999 *************** *** 1,4 **** ! ## $Revision: 1.2 $ ## Mailing addresses for moderators. ## Format: ## : --- 1,4 ---- ! ## $Revision: 1.2.4.1 $ ## Mailing addresses for moderators. ## Format: ## : *************** *** 6,11 **** --- 6,17 ---- ## Shell-style newsgroup pattern or specific newsgroup ## Mail address, "%s" becomes newgroup name with dots ## changed to dashes. + + ## Russian hierarchies + fido7.*:%s@fido7.ru + medlux.*:%s@news.medlux.ru + relcom.*:%s@moderators.relcom.ru + ## Direct all public hierarchies to the master moderator database. *:%s@moderators.isc.org diff -Nacr inn-2.2/samples/news.daily.in inn-2.2.1/samples/news.daily.in *** inn-2.2/samples/news.daily.in Sun Jan 17 15:18:16 1999 --- inn-2.2.1/samples/news.daily.in Sat Feb 13 02:56:47 1999 *************** *** 1,5 **** #!@_PATH_SH@ ! ## $Revision: 1.28.2.1 $ ## Daily news maintenance. ## Optional arguments: ## expdir=xxx Directory in which to build new history file --- 1,5 ---- #!@_PATH_SH@ ! ## $Revision: 1.28.2.2 $ ## Daily news maintenance. ## Optional arguments: ## expdir=xxx Directory in which to build new history file *************** *** 486,492 **** # Stop using the temp file, and mail captured output. exec 1>&3 2>&1 3>&- MAIL="${MAILCMD} -s \"${MAILSUBJ}\" ${NEWSMASTER}" ! test -s ${TEMP} && cat ${TEMP} | sed -e 's/^~/~~/' | eval ${MAIL} rm -f ${TEMP} fi --- 486,492 ---- # Stop using the temp file, and mail captured output. exec 1>&3 2>&1 3>&- MAIL="${MAILCMD} -s \"${MAILSUBJ}\" ${NEWSMASTER}" ! test -s ${TEMP} && cat ${TEMP} | ${SED} -e 's/^~/~~/' | eval ${MAIL} rm -f ${TEMP} fi diff -Nacr inn-2.2/samples/news2mail.in inn-2.2.1/samples/news2mail.in *** inn-2.2/samples/news2mail.in Wed Nov 18 15:03:23 1998 --- inn-2.2.1/samples/news2mail.in Tue May 18 02:35:51 1999 *************** *** 132,162 **** } $ih = 1; ! while ( $line = ) { chop $line; # empty line signals end of header ! if ($ih && $line eq "") { ! print SM "To: $l\n"; $ih = 0; } - # body - if ( $ih == 0) { - print SM "$line\n"; - next; - } - # ! # only these header lines get through to mail # ! print SM "$line\n" if ($line =~ /^From: /i); ! print SM "$line\n" if ($line =~ /^Subject: /i); ! print SM "$line\n" if ($line =~ /^Date: /i); ! print SM "$line\n" if ($line =~ /^Organization: /i); ! print SM "$line\n" if ($line =~ /^Message-ID: /i); } out: close(SMGR); --- 132,168 ---- } + # header $ih = 1; ! while ( $ih == 1 && defined($line = ) ) { chop $line; # empty line signals end of header ! if ($line eq "") { ! print SM "To: $l\n\n"; $ih = 0; + next; } # ! # skip unnecessary headers ! # ! next if ($line =~ /^NNTP-Posting-Date:/i); ! next if ($line =~ /^NNTP-Posting-Host:/i); ! next if ($line =~ /^Xref:/i); ! next if ($line =~ /^Path:/i); ! # ! # convert Newsgroups header into X-Newsgroups ! # ! $line =~ s/^Newsgroups:/X-Newsgroups:/i; ! print SM "$line\n"; } + + # body + while ( $line = ) { + print SM $line; + } out: close(SMGR); diff -Nacr inn-2.2/samples/newsfeeds.in inn-2.2.1/samples/newsfeeds.in *** inn-2.2/samples/newsfeeds.in Wed Dec 9 07:52:07 1998 --- inn-2.2.1/samples/newsfeeds.in Wed Jul 7 14:37:47 1999 *************** *** 1,4 **** ! ## $Revision: 1.3.2.2 $ ## newsfeeds - determine where Usenet articles get sent ## Format: ## site[/exclude,exclude...]\ --- 1,4 ---- ! ## $Revision: 1.3.2.3 $ ## newsfeeds - determine where Usenet articles get sent ## Format: ## site[/exclude,exclude...]\ *************** *** 7,30 **** ## :param ## Summary of flags: ## size Article must be more then size bytes. ## Aitems Article checks -- d (must have Distribution header) ! ## p (don't check for site in Path header) ! ## c (no control messages) C (only control messages) ! ## e (all groups must exist). ## Bhigh/low Internal buffer size before writing to output. + ## Fname Name of the spool file. + ## Gcount Crossposts limited to count groups. ## H[count] Article must have less then count hops; default is 1. ## Isize Internal buffer size (if a file feed) ## Nm Only moderated groups that match the patterns. ## Nu Only unmoderated groups that match the patterns. + ## Ppriority Nice priority of channel or program feed. + ## Ooriginator First field of X-Trace must match originator (wildmat). ## Ssize Start spooling if more than size bytes get queued. ## Ttype Feed types -- f (file) m (funnel; param names the ## real entry) p (pipe to program) c (send to stdin ! ## channel of param's sub-process) x (like c, but ! ## handles commands on stdin) x (log entry only). ## Witems What to write -- b (article bytesize) f (full path) ! ## g (first newsgroup) h (Message-ID hash) ! ## m (Message-ID) n (relative path) p (posted time) ! ## s (site that fed article) t (time received) ## * (names of funnel feed-in's or all sites that get ## the article) N (Newsgroups header) D (Distribution ## header) H (all headers) O (overview data) + ## P (path header) R (replication information) ## Param field depends on T flag. For Tf, relative paths are from the ## out.going directory. For Tp and Tc, it is a shell command to execute. ## If a Tm refers to this entry (which will have its own T param) then "*" diff -Nacr inn-2.2/samples/nntpsend.in inn-2.2.1/samples/nntpsend.in *** inn-2.2/samples/nntpsend.in Fri Jul 24 06:43:06 1998 --- inn-2.2.1/samples/nntpsend.in Mon Jun 28 02:32:31 1999 *************** *** 1,5 **** #!@_PATH_SH@ ! ## $Revision: 1.11 $ ## Send news via NNTP by running several innxmit processes in the background. ## Usage: ## nntpsend [-n][-p][-r][-s size][-S][-t timeout][-T limit][host fqdn]... --- 1,5 ---- #!@_PATH_SH@ ! ## $Revision: 1.11.2.1 $ ## Send news via NNTP by running several innxmit processes in the background. ## Usage: ## nntpsend [-n][-p][-r][-s size][-S][-t timeout][-T limit][host fqdn]... *************** *** 350,364 **** # carry old unfinished work over to this task BATCHFILE="${SITE}=n" if [ -f "${SITE}.work" ] ; then ! sort "${SITE}.work" >>"${BATCHFILE}" ! rm -f "${SITE}.work" fi # form BATCHFILE to hold the work for this site if [ -f "${SITE}" ]; then mv "${SITE}" "${SITE}.work" if ctlinnd -s -t30 flush ${SITE} ; then ! sort ${SITE}.work >>"${BATCHFILE}" ! rm -f ${SITE}.work else # flush failed, continue if we have any batchfile to work on echo "${PROGNAME}: bad flush for ${HOST} via ${SITE}" --- 350,374 ---- # carry old unfinished work over to this task BATCHFILE="${SITE}=n" if [ -f "${SITE}.work" ] ; then ! if [ X${STORAGEAPI} = X"true" -o X${STORAGEAPI} = X"yes" -o \ ! X${STORAGEAPI} = X"on" ]; then ! mv "${SITE}.work" "${BATCHFILE}" ! else ! sort "${SITE}.work" >>"${BATCHFILE}" ! rm -f "${SITE}.work" ! fi fi # form BATCHFILE to hold the work for this site if [ -f "${SITE}" ]; then mv "${SITE}" "${SITE}.work" if ctlinnd -s -t30 flush ${SITE} ; then ! if [ X${STORAGEAPI} = X"true" -o X${STORAGEAPI} = X"yes" -o \ ! X${STORAGEAPI} = X"on" ]; then ! mv ${SITE}.work "${BATCHFILE}" ! else ! sort ${SITE}.work >>"${BATCHFILE}" ! rm -f ${SITE}.work ! fi else # flush failed, continue if we have any batchfile to work on echo "${PROGNAME}: bad flush for ${HOST} via ${SITE}" diff -Nacr inn-2.2/samples/parsecontrol.in inn-2.2.1/samples/parsecontrol.in *** inn-2.2/samples/parsecontrol.in Mon Sep 7 01:59:11 1998 --- inn-2.2.1/samples/parsecontrol.in Tue Aug 3 20:22:12 1999 *************** *** 1,5 **** #!@_PATH_SH@ ! ## $Revision: 1.18 $ ## Initial parsing of control messages. . @LIBDIR@/innshellvars --- 1,5 ---- #!@_PATH_SH@ ! ## $Revision: 1.18.2.2 $ ## Initial parsing of control messages. . @LIBDIR@/innshellvars *************** *** 80,86 **** set X `${SM} ${ARTICLE} | ${SED} -n -e "s/^Control:[ ]*${PROG}//p" -e '/^$/q' |tr -d '\015'` shift else ! if grep "^Subject:[ ]*cmsg[ ]*${PROG}" \ >/dev/null 2>&1 ; then set X `${SM} {$ARTICLE} | ${SED} -n -e "s/^Subject:[ ]*cmsg[ ]*${PROG}//p" \ -e '/^$/q'` --- 80,86 ---- set X `${SM} ${ARTICLE} | ${SED} -n -e "s/^Control:[ ]*${PROG}//p" -e '/^$/q' |tr -d '\015'` shift else ! if ${SM} ${ARTICLE} | grep "^Subject:[ ]*cmsg[ ]*${PROG}" \ >/dev/null 2>&1 ; then set X `${SM} {$ARTICLE} | ${SED} -n -e "s/^Subject:[ ]*cmsg[ ]*${PROG}//p" \ -e '/^$/q'` *************** *** 141,147 **** ;; *) ACTION=${ACT_PAT} ! NEWSGROUPPATS=${NG_PAT} ;; esac ;; --- 141,147 ---- ;; *) ACTION=${ACT_PAT} ! NEWSGROUPPATS=`echo X${NG_PAT} | ${SED} -e 's/^X//' -e 's/^/\\\\^/' -e 's/\|/\\\\|\\\\^/g'` ;; esac ;; *************** *** 149,157 **** done rm -f ${TEMP} IFS="`echo stn | tr stn ' \011\012'`" - if [ X${NEWSGROUPPATS} != X ]; then - NEWSGROUPPATS=`echo ${NEWSGROUPPATS} | ${SED} -e 's/^/^/' -e 's/\|/\|^/'` - fi LOGFILE=mail case ${ACTION} in --- 149,154 ---- diff -Nacr inn-2.2/samples/pgpverify.in inn-2.2.1/samples/pgpverify.in *** inn-2.2/samples/pgpverify.in Fri Oct 23 14:26:15 1998 --- inn-2.2.1/samples/pgpverify.in Thu May 20 07:59:02 1999 *************** *** 1,6 **** #!@_PATH_PERL@ -ws # written April 1996, tale@isc.org (David C Lawrence) ! # Version 1.11, 14 Oct 1998 # # NOTICE TO INN MAINTAINERS: The version that is shipped with INN # is the same as the version that I make available to the rest of the --- 1,6 ---- #!@_PATH_PERL@ -ws # written April 1996, tale@isc.org (David C Lawrence) ! # Version 1.12, 20 May 1999 # # NOTICE TO INN MAINTAINERS: The version that is shipped with INN # is the same as the version that I make available to the rest of the *************** *** 8,13 **** --- 8,21 ---- # # This program is intended to be compatible with Perl 4 and Perl 5. # + # Changes from 1.11 -> 1.12 + # -- support for GnuPG + # -- Use /usr/ucb/logger, if present, instead of /usr/bin/logger (the latter + # of which, on Solaris at least, is some sort of brain damaged POSIX.2 + # command which doesn't use syslog). + # -- made syslog work for dec_osf (version 4, at least) + # -- fixed up priority of '.' operator vs bitwise operators + # # Changes from 1.10 -> 1.11 # -- code to log error messages to syslog. # See $syslog and $syslog_method configurable variables. *************** *** 55,60 **** --- 63,71 ---- # not a link or some other weirdness # Path to pgp binary; for PGP 5.0, set the path to the pgpv binary. + # GnuPG users should point this to the pgpgpg wrapper. + # If you have INN and the script is able to successfully include you + # innshellvars.pl file, the value of $inn::pgp will override this. $pgp = '/usr/local/bin/pgp'; # if you keep your keyring somewhere that is not the default used by pgp, *************** *** 239,247 **** unless (close(PGP)) { if ($? >> 8) { ! &errmsg("$0: pgp exited status " . $? >> 8 . "\n"); } else { ! &errmsg("$0: pgp died on signal " . $? &255 . "\n"); } } --- 250,258 ---- unless (close(PGP)) { if ($? >> 8) { ! &errmsg("$0: pgp exited status " . ($? >> 8) . "\n"); } else { ! &errmsg("$0: pgp died on signal " . ($? & 255) . "\n"); } } *************** *** 251,256 **** --- 262,269 ---- # Good signature from user "Robert Braver ". # ViaCrypt PGP 4.0: # Good signature from user: Robert Braver + # GnuPG (via pgpgpg) + # Good signature from "news.announce.newgroups" # PGP 5.0i: # Good signature made 1997-07-09 21:57 GMT by key: # 1024 bits, Key ID B88DA9C1, Created 1996-04-10 *************** *** 260,265 **** --- 273,279 ---- if (/B[Aa][Dd] signature /) { $ok = 3; } elsif (/Good signature from user(: (.*)| "(.*)"\.)/ || + /Good signature from "(.*)"/ || /Good signature made .* by key:\n.+\n +"(.*)"/) { $ok = 0; $signer = $+; *************** *** 284,290 **** } if ($syslog_method eq "logger") { ! @loggers = ('/usr/bin/logger', '/usr/local/bin/logger'); foreach $try (@loggers) { if (-x $try) { $syslog_method = $try; --- 298,304 ---- } if ($syslog_method eq "logger") { ! @loggers = ('/usr/ucb/logger', '/usr/bin/logger', '/usr/local/bin/logger'); foreach $try (@loggers) { if (-x $try) { $syslog_method = $try; *************** *** 328,333 **** --- 342,350 ---- # to use a Unix domain socket to talk to syslogd, which is # the only way to do it when syslog runs with the -l switch. if ($syslog_method eq "unix") { + if ($^O eq "dec_osf") { + sub Sys::Syslog::_PATH_LOG { "/dev/log" } + } if ($] <= 5.00403 || ! eval "setlogsock('unix')") { warn $date, "$0: cannot use syslog_method 'unix' on this system\n"; $syslog = ''; diff -Nacr inn-2.2/samples/rmgroup.in inn-2.2.1/samples/rmgroup.in *** inn-2.2/samples/rmgroup.in Wed Jun 24 23:09:07 1998 --- inn-2.2.1/samples/rmgroup.in Tue Feb 16 21:02:37 1999 *************** *** 1,5 **** #!@_PATH_SH@ ! ## $Revision: 1.11 $ ## Rmgroup control-message handler . @LIBDIR@/innshellvars --- 1,5 ---- #!@_PATH_SH@ ! ## $Revision: 1.11.2.1 $ ## Rmgroup control-message handler . @LIBDIR@/innshellvars *************** *** 8,20 **** ## Some shells don't pass in $* unless we explicitly pass it in here. . ${PATHBIN}/parsecontrol "$@" ! # Fix up the group name so grep matches exactly. ! GROUPNAME=`echo $1 | sed 's/\./\\./g'` ! grep "^$GROUPNAME " ${ACTIVE} >/dev/null 2>&1 || { ! # Group doesn't exist exit } case ${ACTION} in mail) --- 8,27 ---- ## Some shells don't pass in $* unless we explicitly pass it in here. . ${PATHBIN}/parsecontrol "$@" ! EXISTS=`${AWK} "\\$1 == \"$1\"" ${ACTIVE}` ! if test -z "$EXISTS"; then ! # Group doesn't exist ! exit ! fi ! ## Make sure the article is approved ! ${SM} ${ARTICLE} | ${SED} -e '/^$/q' >${TEMP} ! grep '^Approved:' <${TEMP} >/dev/null 2>&1 || { ! ${SM} ${ARTICLE} | ${WRITELOG} ${LOGFILE} "Unapproved rmgroup by ${FROM}" ! rm -f ${TEMP} exit } + rm -f ${TEMP} case ${ACTION} in mail) *************** *** 31,49 **** exit ;; esac - - ## Make sure the article is approved and that the group exists. - ${SM} ${ARTICLE} | ${SED} -e '/^$/q' >${TEMP} - grep '^Approved:' <${TEMP} >/dev/null 2>&1 || { - ${SM} ${ARTICLE} | ${WRITELOG} ${LOGFILE} "Unapproved rmgroup by ${FROM}" - rm -f ${TEMP} - exit - } - rm -f ${TEMP} - grep "^$GROUPNAME " ${ACTIVE} >/dev/null 2>&1 || { - # Group doesn't exist - exit - } case ${ACTION} in logit) --- 38,43 ---- diff -Nacr inn-2.2/samples/sendsys.pl.in inn-2.2.1/samples/sendsys.pl.in *** inn-2.2/samples/sendsys.pl.in Mon Oct 19 02:19:27 1998 --- inn-2.2.1/samples/sendsys.pl.in Tue Feb 23 10:43:26 1999 *************** *** 1,5 **** #!@_PATH_PERL@ ! # $Id: sendsys.pl.in,v 1.7 1998/10/19 09:19:27 kondou Exp $ # Copyright (c)1998 G.J. Andruk # sendsys.pl - The sendsys control message. # Parameters: params sender reply-to token site action[=log] approved --- 1,5 ---- #!@_PATH_PERL@ ! # $Id: sendsys.pl.in,v 1.7.2.1 1999/02/23 18:43:26 tale Exp $ # Copyright (c)1998 G.J. Andruk # sendsys.pl - The sendsys control message. # Parameters: params sender reply-to token site action[=log] approved *************** *** 25,31 **** print TEMPFILE ("$sender has requested that you send a copy\n", "of your newsgroups file.\n\n", "If this is acceptable, type:\n", ! " @inn::mailcmd -s \"sendsys reply from ", "$inn::pathhost\" $replyto < $inn::newsfeeds\n\n", "The control message follows:\n\n"); --- 25,31 ---- print TEMPFILE ("$sender has requested that you send a copy\n", "of your newsgroups file.\n\n", "If this is acceptable, type:\n", ! " $inn::mailcmd -s \"sendsys reply from ", "$inn::pathhost\" $replyto < $inn::newsfeeds\n\n", "The control message follows:\n\n"); *************** *** 50,56 **** } else { # Send the file. open NEWSFEEDS, "<$inn::newsfeeds"; ! $kid = open2(\*R, \*MAIL, @inn::mailcmd, "-s", "sendsys reply from $inn::pathhost", $replyto); print MAIL $_ while ; print MAIL "\n"; --- 50,56 ---- } else { # Send the file. open NEWSFEEDS, "<$inn::newsfeeds"; ! $kid = open2(\*R, \*MAIL, $inn::mailcmd, "-s", "sendsys reply from $inn::pathhost", $replyto); print MAIL $_ while ; print MAIL "\n"; diff -Nacr inn-2.2/samples/senduuname.pl.in inn-2.2.1/samples/senduuname.pl.in *** inn-2.2/samples/senduuname.pl.in Mon Oct 19 02:19:27 1998 --- inn-2.2.1/samples/senduuname.pl.in Tue Feb 23 10:43:26 1999 *************** *** 1,5 **** #!@_PATH_PERL@ ! # $Id: senduuname.pl.in,v 1.7 1998/10/19 09:19:27 kondou Exp $ # Copyright (c)1998 G.J. Andruk # senduuname.pl - The senduuname control message. # Parameters: params sender reply-to token site action[=log] approved --- 1,5 ---- #!@_PATH_PERL@ ! # $Id: senduuname.pl.in,v 1.7.2.1 1999/02/23 18:43:26 tale Exp $ # Copyright (c)1998 G.J. Andruk # senduuname.pl - The senduuname control message. # Parameters: params sender reply-to token site action[=log] approved *************** *** 28,34 **** "UUCP name.\n\n", "If this is acceptable, type:\n", " uuname | ", ! "@inn::mailcmd -s \"senduuname reply from ", "$inn::pathhost\" $replyto\n\n", "The control message follows:\n\n"); --- 28,34 ---- "UUCP name.\n\n", "If this is acceptable, type:\n", " uuname | ", ! "$inn::mailcmd -s \"senduuname reply from ", "$inn::pathhost\" $replyto\n\n", "The control message follows:\n\n"); *************** *** 52,58 **** logmsg ('notice', 'skipped senduuname %s', $sender); } else { open UUNAME, "uuname|"; ! $kid = open2 (\*R, \*MAIL, @inn::mailcmd, "-s", "senduuname reply from $inn::pathhost", $replyto); print MAIL $_ while ; close UUNAME; --- 52,58 ---- logmsg ('notice', 'skipped senduuname %s', $sender); } else { open UUNAME, "uuname|"; ! $kid = open2 (\*R, \*MAIL, $inn::mailcmd, "-s", "senduuname reply from $inn::pathhost", $replyto); print MAIL $_ while ; close UUNAME; diff -Nacr inn-2.2/samples/version.pl.in inn-2.2.1/samples/version.pl.in *** inn-2.2/samples/version.pl.in Mon Oct 19 02:19:28 1998 --- inn-2.2.1/samples/version.pl.in Tue Feb 23 10:43:26 1999 *************** *** 1,5 **** #!@_PATH_PERL@ ! # $Id: version.pl.in,v 1.8 1998/10/19 09:19:28 kondou Exp $ # Copyright (c)1998 G.J. Andruk # version.pl - The version control message. # Parameters: params sender reply-to token site action[=log] approved --- 1,5 ---- #!@_PATH_PERL@ ! # $Id: version.pl.in,v 1.8.2.1 1999/02/23 18:43:26 tale Exp $ # Copyright (c)1998 G.J. Andruk # version.pl - The version control message. # Parameters: params sender reply-to token site action[=log] approved *************** *** 31,37 **** "news software version.\n\n", "If this is acceptable, type:\n", " echo \"InterNetNews\ $VERSION\" | ", ! "@inn::mailcmd -s \"version reply from ", "$inn::pathhost\" $replyto\n\n", "The control message follows:\n\n"); --- 31,37 ---- "news software version.\n\n", "If this is acceptable, type:\n", " echo \"InterNetNews\ $VERSION\" | ", ! "$inn::mailcmd -s \"version reply from ", "$inn::pathhost\" $replyto\n\n", "The control message follows:\n\n"); *************** *** 54,60 **** if (($action eq "doifarg") && ($params[0] ne $inn::pathhost)) { logmsg ('notice', 'skipped version %s', $sender); } else { ! $kid = open2 (\*R, \*MAIL, @inn::mailcmd, "-s", "version reply from $inn::pathhost", $replyto); print MAIL "InterNetNews $VERSION\n"; close R; --- 54,60 ---- if (($action eq "doifarg") && ($params[0] ne $inn::pathhost)) { logmsg ('notice', 'skipped version %s', $sender); } else { ! $kid = open2 (\*R, \*MAIL, $inn::mailcmd, "-s", "version reply from $inn::pathhost", $replyto); print MAIL "InterNetNews $VERSION\n"; close R; diff -Nacr inn-2.2/site/CVS/Entries inn-2.2.1/site/CVS/Entries *** inn-2.2/site/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/site/CVS/Entries Wed Aug 25 09:26:25 1999 *************** *** 0 **** --- 1,4 ---- + /Makefile/1.46.2.2/Wed Nov 11 23:02:49 1998//TINN-2_2_1 + /do-subst.sh/1.1.1.1.4.1/Thu Jan 21 15:21:04 1999//TINN-2_2_1 + /getsafe.sh/1.4/Sat May 30 09:22:09 1998//TINN-2_2_1 + D diff -Nacr inn-2.2/site/CVS/Repository inn-2.2.1/site/CVS/Repository *** inn-2.2/site/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/site/CVS/Repository Wed Aug 25 09:26:24 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/site diff -Nacr inn-2.2/site/CVS/Root inn-2.2.1/site/CVS/Root *** inn-2.2/site/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/site/CVS/Root Wed Aug 25 09:26:24 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/site/CVS/Tag inn-2.2.1/site/CVS/Tag *** inn-2.2/site/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/site/CVS/Tag Wed Aug 25 09:26:24 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/site/do-subst.sh inn-2.2.1/site/do-subst.sh *** inn-2.2/site/do-subst.sh Sun Aug 3 21:03:49 1997 --- inn-2.2.1/site/do-subst.sh Thu Jan 21 07:21:04 1999 *************** *** 1,5 **** #! /bin/sh ! ## $Revision: 1.1.1.1 $ ## Run subst over a list of files. Get files in and out of source control ## if present. --- 1,5 ---- #! /bin/sh ! ## $Revision: 1.1.1.1.4.1 $ ## Run subst over a list of files. Get files in and out of source control ## if present. *************** *** 52,58 **** for I in ${PLAIN} ${CONTROLLED} ; do echo ../${BASEDIRNAME}/${I} done >${LISTOFFILES} ! ( cd ../config; make quiet FILE=${LISTOFFILES} ) rm -f ${LISTOFFILES} # check which files we really changed --- 52,58 ---- for I in ${PLAIN} ${CONTROLLED} ; do echo ../${BASEDIRNAME}/${I} done >${LISTOFFILES} ! ( cd ../config; ${MAKE:=make} quiet FILE=${LISTOFFILES} ) rm -f ${LISTOFFILES} # check which files we really changed diff -Nacr inn-2.2/storage/CVS/Entries inn-2.2.1/storage/CVS/Entries *** inn-2.2/storage/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/CVS/Entries Wed Aug 25 09:26:30 1999 *************** *** 0 **** --- 1,11 ---- + /Make.methods/1.2/Sat Feb 28 08:27:38 1998//TINN-2_2_1 + /Makefile/1.33.2.1/Mon Jan 4 07:44:19 1999//TINN-2_2_1 + /buildconfig.in/1.4/Thu Sep 24 23:55:47 1998//TINN-2_2_1 + /interface.c/1.35.2.3/Sat Jun 26 00:35:07 1999//TINN-2_2_1 + /interface.h/1.12/Sun Sep 6 04:00:19 1998//TINN-2_2_1 + /overview.c/1.32.4.1/Tue May 18 21:45:30 1999//TINN-2_2_1 + /overview.h/1.3/Mon May 25 22:42:31 1998//TINN-2_2_1 + /qio.c/1.7/Mon Oct 5 23:10:57 1998//TINN-2_2_1 + D/cnfs//// + D/timehash//// + D/trash//// diff -Nacr inn-2.2/storage/CVS/Repository inn-2.2.1/storage/CVS/Repository *** inn-2.2/storage/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/CVS/Repository Wed Aug 25 09:26:25 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/storage diff -Nacr inn-2.2/storage/CVS/Root inn-2.2.1/storage/CVS/Root *** inn-2.2/storage/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/CVS/Root Wed Aug 25 09:26:25 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/storage/CVS/Tag inn-2.2.1/storage/CVS/Tag *** inn-2.2/storage/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/CVS/Tag Wed Aug 25 09:26:25 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/storage/cnfs/CVS/Entries inn-2.2.1/storage/cnfs/CVS/Entries *** inn-2.2/storage/cnfs/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/cnfs/CVS/Entries Wed Aug 25 09:26:27 1999 *************** *** 0 **** --- 1,6 ---- + /Makefile/1.12/Tue Oct 13 12:23:10 1998//TINN-2_2_1 + /cnfs-private.h/1.9.2.2/Mon Nov 9 22:57:28 1998//TINN-2_2_1 + /cnfs.c/1.51.2.8/Fri Jan 29 11:54:37 1999//TINN-2_2_1 + /cnfs.h/1.4/Sun Sep 6 04:01:20 1998//TINN-2_2_1 + /method.config/1.1/Fri Feb 27 10:22:13 1998//TINN-2_2_1 + D diff -Nacr inn-2.2/storage/cnfs/CVS/Repository inn-2.2.1/storage/cnfs/CVS/Repository *** inn-2.2/storage/cnfs/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/cnfs/CVS/Repository Wed Aug 25 09:26:26 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/storage/cnfs diff -Nacr inn-2.2/storage/cnfs/CVS/Root inn-2.2.1/storage/cnfs/CVS/Root *** inn-2.2/storage/cnfs/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/cnfs/CVS/Root Wed Aug 25 09:26:26 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/storage/cnfs/CVS/Tag inn-2.2.1/storage/cnfs/CVS/Tag *** inn-2.2/storage/cnfs/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/cnfs/CVS/Tag Wed Aug 25 09:26:26 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/storage/cnfs/cnfs.c inn-2.2.1/storage/cnfs/cnfs.c *** inn-2.2/storage/cnfs/cnfs.c Sat Jan 9 09:38:43 1999 --- inn-2.2.1/storage/cnfs/cnfs.c Fri Jan 29 03:54:37 1999 *************** *** 1,4 **** ! /* $Id: cnfs.c,v 1.51.2.6 1999/01/09 17:38:43 kondou Exp $ ** ** cyclic news file system */ --- 1,4 ---- ! /* $Id: cnfs.c,v 1.51.2.8 1999/01/29 11:54:37 kondou Exp $ ** ** cyclic news file system */ *************** *** 1060,1065 **** --- 1060,1066 ---- static TOKEN ret_token; static BOOL nomessage = FALSE; CYCBUFF_OFF_T middle, limit; + int plusoffset = 0; if (token.type != TOKEN_CNFS) { SMseterror(SMERR_INTERNAL, NULL); *************** *** 1140,1146 **** cah.size = cahh.size; cah.arrived = htonl(time(NULL)); cah.class = 0; ! offset += sizeof(oldCNFSARTHEADER)-sizeof(CNFSARTHEADER); } #endif /* OLD_CNFS */ if (offset > cycbuff->len - CNFS_BLOCKSIZE - ntohl(cah.size) - 1) { --- 1141,1147 ---- cah.size = cahh.size; cah.arrived = htonl(time(NULL)); cah.class = 0; ! plusoffset = sizeof(oldCNFSARTHEADER)-sizeof(CNFSARTHEADER); } #endif /* OLD_CNFS */ if (offset > cycbuff->len - CNFS_BLOCKSIZE - ntohl(cah.size) - 1) { *************** *** 1163,1170 **** } /* check the bitmap to ensure cah.size is not broken */ /* cannot believe cycbuff->free, since it may not be updated by writer */ ! blockfudge = (sizeof(cah) + ntohl(cah.size)) % CNFS_BLOCKSIZE; ! limit = offset + sizeof(cah) + ntohl(cah.size) - blockfudge + CNFS_BLOCKSIZE; for (middle = offset + CNFS_BLOCKSIZE; middle < limit; middle += CNFS_BLOCKSIZE) { if (CNFSUsedBlock(cycbuff, middle, FALSE, FALSE) != 0) --- 1164,1171 ---- } /* check the bitmap to ensure cah.size is not broken */ /* cannot believe cycbuff->free, since it may not be updated by writer */ ! blockfudge = (sizeof(cah) + plusoffset + ntohl(cah.size)) % CNFS_BLOCKSIZE; ! limit = offset + sizeof(cah) + plusoffset + ntohl(cah.size) - blockfudge + CNFS_BLOCKSIZE; for (middle = offset + CNFS_BLOCKSIZE; middle < limit; middle += CNFS_BLOCKSIZE) { if (CNFSUsedBlock(cycbuff, middle, FALSE, FALSE) != 0) *************** *** 1186,1192 **** art->private = (void *)private; art->arrived = ntohl(cah.arrived); if (innconf->articlemmap) { ! offset += sizeof(cah); pagefudge = offset % pagesize; mmapoffset = offset - pagefudge; private->len = pagefudge + ntohl(cah.size); --- 1187,1193 ---- art->private = (void *)private; art->arrived = ntohl(cah.arrived); if (innconf->articlemmap) { ! offset += sizeof(cah) + plusoffset; pagefudge = offset % pagesize; mmapoffset = offset - pagefudge; private->len = pagefudge + ntohl(cah.size); *************** *** 1346,1351 **** --- 1347,1353 ---- int tonextblock; CYCBUFF_OFF_T mmapoffset; char *p; + int plusoffset = 0; if (article == (ARTHANDLE *)NULL) { if ((cycbuff = cycbufftab) == (CYCBUFF *)NULL) *************** *** 1374,1380 **** cycbuff = priv.cycbuff; } ! for (;cycbuff != (CYCBUFF *)NULL; cycbuff = cycbuff->next) { if (!SMpreopen && !CNFSinit_disks(cycbuff)) { SMseterror(SMERR_INTERNAL, "cycbuff initialization fail"); continue; --- 1376,1385 ---- cycbuff = priv.cycbuff; } ! for (;cycbuff != (CYCBUFF *)NULL; ! cycbuff = cycbuff->next, ! priv.offset = 0) { ! if (!SMpreopen && !CNFSinit_disks(cycbuff)) { SMseterror(SMERR_INTERNAL, "cycbuff initialization fail"); continue; *************** *** 1385,1395 **** continue; } if (priv.offset == 0) { ! priv.offset = cycbuff->minartoffset; ! if (cycbuff->cyclenum == 1) priv.rollover = TRUE; ! else priv.rollover = FALSE; } if (!priv.rollover) { for (middle = priv.offset ;middle < cycbuff->len - CNFS_BLOCKSIZE - 1; --- 1390,1402 ---- continue; } if (priv.offset == 0) { ! if (cycbuff->cyclenum == 1) { ! priv.offset = cycbuff->minartoffset; priv.rollover = TRUE; ! } else { ! priv.offset = cycbuff->free; priv.rollover = FALSE; + } } if (!priv.rollover) { for (middle = priv.offset ;middle < cycbuff->len - CNFS_BLOCKSIZE - 1; *************** *** 1400,1407 **** if (middle >= cycbuff->len - CNFS_BLOCKSIZE - 1) { priv.rollover = TRUE; middle = cycbuff->minartoffset; ! } else ! break; } else { for (middle = priv.offset ;middle < cycbuff->free; middle += CNFS_BLOCKSIZE) { --- 1407,1414 ---- if (middle >= cycbuff->len - CNFS_BLOCKSIZE - 1) { priv.rollover = TRUE; middle = cycbuff->minartoffset; ! } ! break; } else { for (middle = priv.offset ;middle < cycbuff->free; middle += CNFS_BLOCKSIZE) { *************** *** 1439,1446 **** cah.size = cahh.size; cah.arrived = htonl(time(NULL)); cah.class = 0; ! priv.offset += sizeof(oldCNFSARTHEADER)-sizeof(CNFSARTHEADER); ! offset += sizeof(oldCNFSARTHEADER)-sizeof(CNFSARTHEADER); } #endif /* OLD_CNFS */ art = NEW(ARTHANDLE, 1); --- 1446,1452 ---- cah.size = cahh.size; cah.arrived = htonl(time(NULL)); cah.class = 0; ! plusoffset = sizeof(oldCNFSARTHEADER)-sizeof(CNFSARTHEADER); } #endif /* OLD_CNFS */ art = NEW(ARTHANDLE, 1); *************** *** 1458,1465 **** return art; } /* check the bitmap to ensure cah.size is not broken */ ! blockfudge = (sizeof(cah) + ntohl(cah.size)) % CNFS_BLOCKSIZE; ! limit = private->offset + sizeof(cah) + ntohl(cah.size) - blockfudge + CNFS_BLOCKSIZE; if (offset < cycbuff->free) { for (middle = offset + CNFS_BLOCKSIZE; (middle < cycbuff->free) && (middle < limit); middle += CNFS_BLOCKSIZE) { --- 1464,1471 ---- return art; } /* check the bitmap to ensure cah.size is not broken */ ! blockfudge = (sizeof(cah) + plusoffset + ntohl(cah.size)) % CNFS_BLOCKSIZE; ! limit = private->offset + sizeof(cah) + plusoffset + ntohl(cah.size) - blockfudge + CNFS_BLOCKSIZE; if (offset < cycbuff->free) { for (middle = offset + CNFS_BLOCKSIZE; (middle < cycbuff->free) && (middle < limit); middle += CNFS_BLOCKSIZE) { *************** *** 1490,1503 **** } } ! private->offset += (CYCBUFF_OFF_T) ntohl(cah.size) + sizeof(cah); tonextblock = CNFS_BLOCKSIZE - (private->offset & (CNFS_BLOCKSIZE - 1)); private->offset += (CYCBUFF_OFF_T) tonextblock; art->arrived = ntohl(cah.arrived); ! token = CNFSMakeToken(cycbuff->name, offset, cycbuff->cyclenum, ntohl(cah.class), (TOKEN *)NULL); art->token = &token; if (innconf->articlemmap) { ! offset += sizeof(cah); pagefudge = offset % pagesize; mmapoffset = offset - pagefudge; private->len = pagefudge + ntohl(cah.size); --- 1496,1509 ---- } } ! private->offset += (CYCBUFF_OFF_T) ntohl(cah.size) + sizeof(cah) + plusoffset; tonextblock = CNFS_BLOCKSIZE - (private->offset & (CNFS_BLOCKSIZE - 1)); private->offset += (CYCBUFF_OFF_T) tonextblock; art->arrived = ntohl(cah.arrived); ! token = CNFSMakeToken(cycbuff->name, offset, (offset > cycbuff->free) ? cycbuff->cyclenum - 1 : cycbuff->cyclenum, cah.class, (TOKEN *)NULL); art->token = &token; if (innconf->articlemmap) { ! offset += sizeof(cah) + plusoffset; pagefudge = offset % pagesize; mmapoffset = offset - pagefudge; private->len = pagefudge + ntohl(cah.size); diff -Nacr inn-2.2/storage/interface.c inn-2.2.1/storage/interface.c *** inn-2.2/storage/interface.c Fri Nov 6 19:19:55 1998 --- inn-2.2.1/storage/interface.c Fri Jun 25 17:35:07 1999 *************** *** 1,4 **** ! /* $Id: interface.c,v 1.35.2.1 1998/11/07 03:19:55 kondou Exp $ ** ** Storage Manager interface */ --- 1,4 ---- ! /* $Id: interface.c,v 1.35.2.3 1999/06/26 00:35:07 kondou Exp $ ** ** Storage Manager interface */ *************** *** 364,369 **** --- 364,378 ---- DISPOSE(patterns); patterns = NULL; + if (i != sub->numpatterns) { + /* Spurious ',' */ + SMseterror(SMERR_CONFIG, "extra ',' in pattern"); + syslog(L_ERROR, "SM extra ',' in pattern"); + DISPOSE(options); + DISPOSE(sub); + return FALSE; + } + if (prev) prev->next = sub; prev = sub; *************** *** 511,516 **** --- 520,526 ---- DISPOSE(groups); return FALSE; } + break; default: if (wildmat(group, patterns[i])) wanted = TRUE; diff -Nacr inn-2.2/storage/overview.c inn-2.2.1/storage/overview.c *** inn-2.2/storage/overview.c Thu Jun 4 16:37:20 1998 --- inn-2.2.1/storage/overview.c Tue May 18 14:45:30 1999 *************** *** 1,4 **** ! /* $Id: overview.c,v 1.32 1998/06/04 23:37:20 kondou Exp $ ** ** unified overview processing */ --- 1,4 ---- ! /* $Id: overview.c,v 1.32.4.1 1999/05/18 21:45:30 kondou Exp $ ** ** unified overview processing */ *************** *** 376,383 **** newconfig->numpatterns = i; newconfig->patterns = NEW(char *, i); /* Store the patterns */ ! for (i = 0, p = strtok(patterns, ","); p != NULL; i++, p = strtok(NULL, ",")) newconfig->patterns[i] = COPY(p); if (prev) prev->next = newconfig; else --- 376,390 ---- newconfig->numpatterns = i; newconfig->patterns = NEW(char *, i); /* Store the patterns */ ! for (i = 0, p = strtok(patterns, ","); p != NULL; i++, p = strtok(NULL, ",")) { ! if (*p == '\0') { ! syslog(L_ERROR, "OVER null pattern, line %d", line); ! DISPOSE(newconfig); ! (void)Fclose(f); ! return OVER_ERROR; ! } newconfig->patterns[i] = COPY(p); + } if (prev) prev->next = newconfig; else diff -Nacr inn-2.2/storage/timehash/CVS/Entries inn-2.2.1/storage/timehash/CVS/Entries *** inn-2.2/storage/timehash/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/timehash/CVS/Entries Wed Aug 25 09:26:29 1999 *************** *** 0 **** --- 1,5 ---- + /Makefile/1.17/Fri Jul 3 15:16:10 1998//TINN-2_2_1 + /method.config/1.1/Mon Nov 10 21:30:53 1997//TINN-2_2_1 + /timehash.c/1.28/Tue Oct 13 13:52:24 1998//TINN-2_2_1 + /timehash.h/1.6/Sun Sep 6 04:03:09 1998//TINN-2_2_1 + D diff -Nacr inn-2.2/storage/timehash/CVS/Repository inn-2.2.1/storage/timehash/CVS/Repository *** inn-2.2/storage/timehash/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/timehash/CVS/Repository Wed Aug 25 09:26:28 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/storage/timehash diff -Nacr inn-2.2/storage/timehash/CVS/Root inn-2.2.1/storage/timehash/CVS/Root *** inn-2.2/storage/timehash/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/timehash/CVS/Root Wed Aug 25 09:26:28 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/storage/timehash/CVS/Tag inn-2.2.1/storage/timehash/CVS/Tag *** inn-2.2/storage/timehash/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/timehash/CVS/Tag Wed Aug 25 09:26:28 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/storage/trash/CVS/Entries inn-2.2.1/storage/trash/CVS/Entries *** inn-2.2/storage/trash/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/trash/CVS/Entries Wed Aug 25 09:26:30 1999 *************** *** 0 **** --- 1,5 ---- + /Makefile/1.4/Fri Jul 3 15:16:54 1998//TINN-2_2_1 + /method.config/1.1/Fri Mar 13 16:43:46 1998//TINN-2_2_1 + /trash.c/1.7/Sun Sep 6 04:03:54 1998//TINN-2_2_1 + /trash.h/1.3/Sun Sep 6 04:03:54 1998//TINN-2_2_1 + D diff -Nacr inn-2.2/storage/trash/CVS/Repository inn-2.2.1/storage/trash/CVS/Repository *** inn-2.2/storage/trash/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/trash/CVS/Repository Wed Aug 25 09:26:30 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/storage/trash diff -Nacr inn-2.2/storage/trash/CVS/Root inn-2.2.1/storage/trash/CVS/Root *** inn-2.2/storage/trash/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/trash/CVS/Root Wed Aug 25 09:26:30 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/storage/trash/CVS/Tag inn-2.2.1/storage/trash/CVS/Tag *** inn-2.2/storage/trash/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/storage/trash/CVS/Tag Wed Aug 25 09:26:30 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/syslog/CVS/Entries inn-2.2.1/syslog/CVS/Entries *** inn-2.2/syslog/CVS/Entries Wed Dec 31 16:00:00 1969 --- inn-2.2.1/syslog/CVS/Entries Wed Aug 25 09:26:34 1999 *************** *** 0 **** --- 1,10 ---- + /README/1.1.1.1/Mon Aug 4 04:03:49 1997//TINN-2_2_1 + /logger.1/1.1.1.1/Mon Aug 4 04:03:49 1997//TINN-2_2_1 + /logger.c/1.1.1.1/Mon Aug 4 04:03:49 1997//TINN-2_2_1 + /syslog.3/1.1.1.1/Mon Aug 4 04:03:49 1997//TINN-2_2_1 + /syslog.c/1.3/Wed May 20 12:18:24 1998//TINN-2_2_1 + /syslog.conf.in/1.1/Wed Mar 11 19:51:25 1998//TINN-2_2_1 + /syslog.h/1.1.1.1/Mon Aug 4 04:03:49 1997//TINN-2_2_1 + /syslogd.8/1.1.1.1/Mon Aug 4 04:03:49 1997//TINN-2_2_1 + /syslogd.c/1.2/Wed May 20 02:45:44 1998//TINN-2_2_1 + D diff -Nacr inn-2.2/syslog/CVS/Repository inn-2.2.1/syslog/CVS/Repository *** inn-2.2/syslog/CVS/Repository Wed Dec 31 16:00:00 1969 --- inn-2.2.1/syslog/CVS/Repository Wed Aug 25 09:26:30 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn/inn/syslog diff -Nacr inn-2.2/syslog/CVS/Root inn-2.2.1/syslog/CVS/Root *** inn-2.2/syslog/CVS/Root Wed Dec 31 16:00:00 1969 --- inn-2.2.1/syslog/CVS/Root Wed Aug 25 09:26:30 1999 *************** *** 0 **** --- 1 ---- + /proj/cvs/isc/inn diff -Nacr inn-2.2/syslog/CVS/Tag inn-2.2.1/syslog/CVS/Tag *** inn-2.2/syslog/CVS/Tag Wed Dec 31 16:00:00 1969 --- inn-2.2.1/syslog/CVS/Tag Wed Aug 25 09:26:30 1999 *************** *** 0 **** --- 1 ---- + TINN-2_2_1 diff -Nacr inn-2.2/syslog/syslog.c inn-2.2.1/syslog/syslog.c *** inn-2.2/syslog/syslog.c Wed May 20 05:18:24 1998 --- inn-2.2.1/syslog/syslog.c Wed May 20 05:18:24 1998 *************** *** 21,27 **** * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * ! * $Header: /proj/cvs/isc/inn/inn/syslog/syslog.c,v 1.3 1998/05/20 12:18:24 scrappy Exp $ * */ --- 21,27 ---- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * ! * $Header: /proj/cvs/isc/inn/inn/syslog/Attic/syslog.c,v 1.3 1998/05/20 12:18:24 scrappy Exp $ * */