diff -Nacr inn-1.7/CONTRIBUTORS inn-1.7.1/CONTRIBUTORS
*** inn-1.7/CONTRIBUTORS	Fri Oct 10 10:18:03 1997
--- inn-1.7.1/CONTRIBUTORS	Fri Dec  5 22:42:12 1997
***************
*** 83,86 ****
  Frederick Korz, Benedict Lofstedt, Dan Ellis, Joe Ramey, Odd Einar Aurbakken,
  Jon Lewis, Dan Riley, Peter Eriksson, Ken Lalonde, Sven Paulus, Koichi
  Mouri, J. Richard Sladkey, Trine Krogstad, Holger Burbach, Per Hedeland,
! Larry Rosenman, Andrew Burgess, Michael Brunnbauer
--- 83,88 ----
  Frederick Korz, Benedict Lofstedt, Dan Ellis, Joe Ramey, Odd Einar Aurbakken,
  Jon Lewis, Dan Riley, Peter Eriksson, Ken Lalonde, Sven Paulus, Koichi
  Mouri, J. Richard Sladkey, Trine Krogstad, Holger Burbach, Per Hedeland,
! Larry Rosenman, Andrew Burgess, Michael Brunnbauer, Mike Brudenell,
! Philippe Charnier, Karsten Thygesen, John Giannandrea, John Line, Philippe
! Michel
diff -Nacr inn-1.7/FAQ/INN-faq_part1 inn-1.7.1/FAQ/INN-faq_part1
*** inn-1.7/FAQ/INN-faq_part1	Wed Oct  8 19:50:46 1997
--- inn-1.7.1/FAQ/INN-faq_part1	Fri Dec  5 22:42:12 1997
***************
*** 7,13 ****
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part1
! Last Changed: $Date: 1997/04/22 08:46:22 $ $Revision: 2.27 $
  
                    Part 1 of 9
  
--- 7,13 ----
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part1
! Last Changed: $Date: 1997/11/04 02:25:51 $ $Revision: 2.37 $
  
                    Part 1 of 9
  
***************
*** 159,170 ****
  pub/unix/news/inn, munnari.oz.au in pub/news/inn, and src.doc.ic.ac.uk
  in computing/usenet/software/transport
  
! The latest version is INN 1.5.1 available from
  	ftp://ftp.vix.com/pub/inn/
  or mirrors which are indicated on http://www.isc.org/inn.html 
  one mirror in Europe is
  	ftp://ftp.xlink.net/pub/mirror.inn/
  
  Patches for older versions are available from:
  
  Patches for INN are at: ftp://ftp.isc.org/isc/inn/unoff-patches
--- 159,173 ----
  pub/unix/news/inn, munnari.oz.au in pub/news/inn, and src.doc.ic.ac.uk
  in computing/usenet/software/transport
  
! The latest version is INN 1.7 available from
  	ftp://ftp.vix.com/pub/inn/
  or mirrors which are indicated on http://www.isc.org/inn.html 
  one mirror in Europe is
  	ftp://ftp.xlink.net/pub/mirror.inn/
  
+ !! Note that INN1.5.1 has a security vulnerability. You can find a
+ !! first patch to this at http://miquels.www.cistron.nl/inn/
+ 
  Patches for older versions are available from:
  
  Patches for INN are at: ftp://ftp.isc.org/isc/inn/unoff-patches
***************
*** 185,201 ****
  2.  This FAQ is also posted to news.software.nntp, news.software.b and
  	news.answers about every week.
  
! 3.  A htmlized version can be found under 
!     <http://www.cis.ohio-state.edu/hypertext/faq/usenet/inn-faq/top.html> or
!     <http://www.smartpages.com/faqs/usenet/software/inn-faq/>
! 
! 	These are grabbed from news.answers - so they might be a bit out
! 	of date :-(
! 
! 4. If you don't find it in one of the above places, then try
     ftp://ftp.xlink.net/pub/news/docs/
     (on this server I put the newest FAQ after posting it -hwr).
  
  ------------------------------
  
  Subject: (1.6) Where may I find additional information?
--- 188,203 ----
  2.  This FAQ is also posted to news.software.nntp, news.software.b and
  	news.answers about every week.
  
! 3. If you don't find it in one of the above places, then try
     ftp://ftp.xlink.net/pub/news/docs/
     (on this server I put the newest FAQ after posting it -hwr).
  
+ 4. A htmlized version can be found under
+    http://www.cis.ohio-state.edu/hypertext/faq/usenet/usenet/software/inn-faq/top.html
+         These are grabbed from news.answers - so they might be a bit out
+         of date :-(
+ 
+ 
  ------------------------------
  
  Subject: (1.6) Where may I find additional information?
***************
*** 208,214 ****
  
  A good overview for those not familiar with news (from Tom Podnar 
  <tpodnar@bones.wcupa.edu>):
! 	ftp://bones.wcupa.edu/pub/nntp.ps 
  
  A FAQ in french - maintained by Fabien Tassin <tassin@eerie.fr>
  	at http://www.eerie.fr/~news/faq.html
--- 210,216 ----
  
  A good overview for those not familiar with news (from Tom Podnar 
  <tpodnar@bones.wcupa.edu>):
! 	ftp://bones.wcupa.edu/pub/misc/nntp.ps 
  
  A FAQ in french - maintained by Fabien Tassin <tassin@eerie.fr>
  	at http://www.eerie.fr/~news/faq.html
***************
*** 217,224 ****
  <mibsoft@epix.net>
  	at http://www.mibsoftware.com/userkt/userkt.html
  
! Toshio Hori <toshi@etl.go.jp> started to translate the FAQ to Japanese
! 	at ftp://etlport.etl.go.jp/pub/toshi/INN/J/ (Partly finished ;)
  
  Jeff Garzik <jeff.garzik@spinne.com> started to write a ``INN tuning
  	page'' which is oriented towards the Intel/Linux platform (but not
--- 219,227 ----
  <mibsoft@epix.net>
  	at http://www.mibsoftware.com/userkt/userkt.html
  
! A FAQ in Japanese - maintained by Toshio Hori <toshi@etl.go.jp>
! 	at ftp://etlport.etl.go.jp/pub/People/toshi/INN/J/
! 
  
  Jeff Garzik <jeff.garzik@spinne.com> started to write a ``INN tuning
  	page'' which is oriented towards the Intel/Linux platform (but not
***************
*** 241,258 ****
  	If you can't post to news.software.nntp you can send mail to
  	inn-questions@pilhuhn.de which will post the your mail in that group.
  
! Dave Barr has put together some informations about his unoff releases. 
  	This page is also a entry for the patch archive:
! 	<http://www.math.psu.edu/barr/INN.html>
  
  The overview database with its XOVER nntp extension is described in 
  	ftp://ftp.internic.net/internet-drafts/draft-barber-nntp-imp-01.txt
! This is superseeded by 
      draft-barber-nntp-imp-02.txt  on the same site.
! and will be superseeded by version 3 soon, which you also might get from
      ftp://ftp.academ.com/pub/nntp/private/nntp.extensions.draft.txt
      (This one is now at the 4th update)
  
  There is no special book on INN out at the moment, but it is said,
  that Dave Lawrence and Henry Spencer are currently writing one for
  O'Reilly.
--- 244,266 ----
  	If you can't post to news.software.nntp you can send mail to
  	inn-questions@pilhuhn.de which will post the your mail in that group.
  
! Dave Barr has put together some information about his unoff releases. 
  	This page is also a entry for the patch archive:
! 	<http://www.cis.ohio-state.edu/~barr/INN.html>
  
  The overview database with its XOVER nntp extension is described in 
  	ftp://ftp.internic.net/internet-drafts/draft-barber-nntp-imp-01.txt
! This is superseded by 
      draft-barber-nntp-imp-02.txt  on the same site.
! and will be superseded by version 3 soon, which you also might get from
      ftp://ftp.academ.com/pub/nntp/private/nntp.extensions.draft.txt
      (This one is now at the 4th update)
  
+ There is a book from Addison-Wesley called 'Administering Usenet News
+ Servers' by Jim McDermott and John Phillips (ISBN 0-201-41967-X)
+ which seems to cover INN and Dnews. This is not clear from the aw web
+ site though.
+ 
  There is no special book on INN out at the moment, but it is said,
  that Dave Lawrence and Henry Spencer are currently writing one for
  O'Reilly.
***************
*** 482,488 ****
  
  ------------------------------
  
! Subject: (1.20)  How do I submit additional informations for the FAQ?
  
  If you have an addition to the FAQ then send it to the actual
  maintainer Heiko W.Rupp <hwr@pilhuhn.de>. Please try to bring your
--- 490,496 ----
  
  ------------------------------
  
! Subject: (1.20)  How do I submit additional information for the FAQ?
  
  If you have an addition to the FAQ then send it to the actual
  maintainer Heiko W.Rupp <hwr@pilhuhn.de>. Please try to bring your
diff -Nacr inn-1.7/FAQ/INN-faq_part2 inn-1.7.1/FAQ/INN-faq_part2
*** inn-1.7/FAQ/INN-faq_part2	Wed Oct  8 19:50:46 1997
--- inn-1.7.1/FAQ/INN-faq_part2	Fri Dec  5 22:42:12 1997
***************
*** 7,13 ****
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part2
! Last Changed: $Date: 1997/04/22 08:46:23 $ $Revision: 2.30 $
  
                    Part 2 of 9
  
--- 7,13 ----
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part2
! Last Changed: $Date: 1997/09/23 01:25:52 $ $Revision: 2.34 $
  
                    Part 2 of 9
  
***************
*** 78,89 ****
  ***************
  *** 1,4 ****
  ! #! /bin/sh
!   ##  $Revision: 2.30 $
    ##  Send news via NNTP by running several innxmit processes in the background.
    ##  Usage:
  --- 1,4 ----
  ! #!/usr/local/bin/bash
!   ##  $Revision: 2.30 $
    ##  Send news via NNTP by running several innxmit processes in the background.
    ##  Usage:
  ***************
--- 78,89 ----
  ***************
  *** 1,4 ****
  ! #! /bin/sh
!   ##  $Revision: 2.34 $
    ##  Send news via NNTP by running several innxmit processes in the background.
    ##  Usage:
  --- 1,4 ----
  ! #!/usr/local/bin/bash
!   ##  $Revision: 2.34 $
    ##  Send news via NNTP by running several innxmit processes in the background.
    ##  Usage:
  ***************
***************
*** 490,497 ****
  --- /usr/local/news/INN/nnrpd/loadave.c Fri Jan 29 10:51:58 1993
  +++ loadave.c   Wed Jul 17 15:36:30 1996
  @@ -1,8 +1,28 @@
! -/*  $Revision: 2.30 $
! +/*  $Revision: 2.30 $
   **
   */
   #include "nnrpd.h"
--- 490,497 ----
  --- /usr/local/news/INN/nnrpd/loadave.c Fri Jan 29 10:51:58 1993
  +++ loadave.c   Wed Jul 17 15:36:30 1996
  @@ -1,8 +1,28 @@
! -/*  $Revision: 2.34 $
! +/*  $Revision: 2.34 $
   **
   */
   #include "nnrpd.h"
***************
*** 622,628 ****
  remove -s option from RMPROC:
     old: RMPROC="fastrm -e -s ${SPOOL}" 
     new: RMPROC="fastrm -e -u ${SPOOL}"
! 6.2XFS has been changed to to respect the traditional readdir()
  behaviour (after rck@fangio.asd.sgi.com (Robert Keller)).
  
  Jack Bryans <jbryans@csulb.edu> writes:
--- 622,628 ----
  remove -s option from RMPROC:
     old: RMPROC="fastrm -e -s ${SPOOL}" 
     new: RMPROC="fastrm -e -u ${SPOOL}"
! 6.2XFS has been changed to respect the traditional readdir()
  behaviour (after rck@fangio.asd.sgi.com (Robert Keller)).
  
  Jack Bryans <jbryans@csulb.edu> writes:
***************
*** 723,729 ****
  I haven't seen the error since. Good riddance. I suggest you play
  around with your link libraries and/or order of linkage.
  
! kevin@cfc.com (Kevin Darcy) says he never gets theses messages since
  he started using (in config.data):
  LIBS                    -lsocket -lnsl -lelf
  
--- 723,729 ----
  I haven't seen the error since. Good riddance. I suggest you play
  around with your link libraries and/or order of linkage.
  
! kevin@cfc.com (Kevin Darcy) says he never gets these messages since
  he started using (in config.data):
  LIBS                    -lsocket -lnsl -lelf
  
***************
*** 741,747 ****
  	that the bug still exists ... So if you see "'resource temp
  	unavailable' errors, you have to apply it.
  
! Joe St Sauver <JOE@OREGON.UOREGON.EDU> submittet the following:
  | Symptom: One of the topologically distant sites notices far lower than normal 
  | article throughput. Further investigation by the remote site (using netstat) 
  | identifies a large number of "completely duplicated packets" originating 
--- 741,747 ----
  	that the bug still exists ... So if you see "'resource temp
  	unavailable' errors, you have to apply it.
  
! Joe St Sauver <JOE@OREGON.UOREGON.EDU> submitted the following:
  | Symptom: One of the topologically distant sites notices far lower than normal 
  | article throughput. Further investigation by the remote site (using netstat) 
  | identifies a large number of "completely duplicated packets" originating 
***************
*** 823,837 ****
  COMPILER TIPS:  Use gcc or /opt/SUNWspro/bin/cc.  Do *not* use
  /usr/ucb/cc.  In fact, remove /usr/ucb from your path when you compile.
  
! For directory structure - be carefull about /var/news, as the news(1)
  tool also writes in this area an might damage your files. (Need more
  input on this).
  
! The patch programm supplied with Solaris 2.5 appears to not understand
  the "new-style" context diffs which virtually everyone uses these
  days so you have to fetch the gnu-patch as described in part8 of this
  FAQ. Also it doesn't know -p0 option ; it wants -p 0 and the file to
! patch has to been writable.
  
  ---------- Solaris Fix #1
  
--- 823,837 ----
  COMPILER TIPS:  Use gcc or /opt/SUNWspro/bin/cc.  Do *not* use
  /usr/ucb/cc.  In fact, remove /usr/ucb from your path when you compile.
  
! For directory structure - be careful about /var/news, as the news(1)
  tool also writes in this area an might damage your files. (Need more
  input on this).
  
! The patch program supplied with Solaris 2.5 appears to not understand
  the "new-style" context diffs which virtually everyone uses these
  days so you have to fetch the gnu-patch as described in part8 of this
  FAQ. Also it doesn't know -p0 option ; it wants -p 0 and the file to
! patch has to be writable.
  
  ---------- Solaris Fix #1
  
***************
*** 971,976 ****
--- 971,979 ----
  Sun appear to reduced the frequency of the problem, but not fixed the bug
  itself.  I still need this under SunOS5.4 101945-29.  You should already
  have -DSUNOS5 in your DEFS setting in config.data anyway.
+ (Note that in 1.5.x this workaround is already in the source. You can
+ enable with with specifying -DPOLL_BUG in the DEFS settings in
+ config.data. Thanks to rhaskins@shiva.com who pointed that out).
  
  This should apply - maybe with a bit of fuzz:
  
***************
*** 1009,1014 ****
--- 1012,1035 ----
              if (NCcount > 0)
                  NCcount--;
  
+ ---------- Solaris fix #8
+ 
+ From: Joe St Sauver <joe@decoy.uoregon.edu>
+ 
+ We recently upgraded some machines in our news farm to fast ethernet, and
+ after doing so we noticed poor performance (ping times of 30msec between
+ two machines each connected to dedicated switch ports on the same switch...).
+ 
+ Poking around a little, we noticed that under Solaris 2.5, tcp_conn_req_max
+ is set to 32 by default, which is a little low if you are working with a fair
+ number of peers or have a lot of readers. We bumped that value to 1000 or
+ so (1024 max under Solaris 2.5), using:
+ 
+ # ndd -set /dev/tcp tcp_conn_req_max 1000
+ 
+ and now ping times are back into the 0 or 1 msec reported range you'd hope to
+ see from that sort of topology. :-)
+ 
  ------------------------------
  
  Subject: (2.15) Slackware Tips
***************
*** 1054,1063 ****
   
  In NetBSD 1.1 the use of -DMMAP is also ok.(after Curt Sampson <curt@portal.ca>)
  
! FreeBSD users shouldn't use mmap(). There are serious problems and the
! performance without is quite good.
  
! Users of 4.4 BSD dreived systems should set LSEEKVAL in config.data to
  ``off_t'' in order to reflect the 64bit long off_t's in those systems.
  
  If you have problems with makehistory on BSDi then replace the BSDi sort 
--- 1075,1086 ----
   
  In NetBSD 1.1 the use of -DMMAP is also ok.(after Curt Sampson <curt@portal.ca>)
  
! FreeBSD users should use mmap() with caution. There are serious problems 
! with some realeases of the FreeBSD operating system concerning mmap()
! and the performance without is quite good. With current releases,
! namely 2.2.1, this seems fixed.
  
! Users of 4.4 BSD derived systems should set LSEEKVAL in config.data to
  ``off_t'' in order to reflect the 64bit long off_t's in those systems.
  
  If you have problems with makehistory on BSDi then replace the BSDi sort 
***************
*** 1197,1203 ****
  Subject: (2.20) INN for SNI RM400
  
  There seems to be no working config.data available for that hardware,
! but you can get a ported version of INN vom SNI in the ``NetServe'' 
  package.
  If anyone has a working configuration and tips how to get there, then
  mail the FAQ maintainer for inclusion in part9 ..
--- 1220,1226 ----
  Subject: (2.20) INN for SNI RM400
  
  There seems to be no working config.data available for that hardware,
! but you can get a ported version of INN from SNI in the ``NetServe'' 
  package.
  If anyone has a working configuration and tips how to get there, then
  mail the FAQ maintainer for inclusion in part9 ..
diff -Nacr inn-1.7/FAQ/INN-faq_part3 inn-1.7.1/FAQ/INN-faq_part3
*** inn-1.7/FAQ/INN-faq_part3	Wed Oct  8 19:50:47 1997
--- inn-1.7.1/FAQ/INN-faq_part3	Fri Dec  5 22:42:12 1997
***************
*** 7,13 ****
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part3
! Last Changed: $Date: 1997/04/22 08:46:25 $ $Revision: 2.14 $
  
                    Part 3 of 9
  
--- 7,13 ----
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part3
! Last Changed: $Date: 1997/11/04 02:25:53 $ $Revision: 2.18 $
  
                    Part 3 of 9
  
***************
*** 54,60 ****
  
  1.  The first "make install" MUST RUN AS ROOT.
  2.  Other "make install" runs as "root", but sometimes "news" will work.
! 3.  "rc.news" runs as "root".
  4.  "news.daily" runs as "news".
  5.  ALL CRON JOBS (sendbatch, sendnntp, send-ihave, etc.) run as "news".
  
--- 54,61 ----
  
  1.  The first "make install" MUST RUN AS ROOT.
  2.  Other "make install" runs as "root", but sometimes "news" will work.
! 3.  "rc.news" runs as "root" for versions prior to 1.5 and as "news"
! 	for INN1.5 and later.
  4.  "news.daily" runs as "news".
  5.  ALL CRON JOBS (sendbatch, sendnntp, send-ihave, etc.) run as "news".
  
***************
*** 66,71 ****
--- 67,74 ----
          "make install" runs as "root" because it has to do "chown" to
            set up files securely.
  
+ If your innd nevertheless runs as root, then also look at #7.52
+ 
  ------------------------------
  
  Subject: (3.2) Why does innd just exit right away with no message?
***************
*** 151,156 ****
--- 154,162 ----
  
  --tal
  
+ Also make sure that the directories in the spool either don't exist or
+ are writable by the news user.
+ 
  ------------------------------
  
  Subject: (3.6) syslog message: Can't setup communication (bind failure)
***************
*** 295,298 ****
--- 301,310 ----
  
  (i.e. two lines of ascii, most of it being numbers).
  
+ In the latter case you can do:
+ 
+ cd /where/the/history/is
+ rm history.dir
+ rm history.pag
+ makehistory -r -f history
  
diff -Nacr inn-1.7/FAQ/INN-faq_part4 inn-1.7.1/FAQ/INN-faq_part4
*** inn-1.7/FAQ/INN-faq_part4	Wed Oct  8 19:50:47 1997
--- inn-1.7.1/FAQ/INN-faq_part4	Fri Dec  5 22:42:12 1997
***************
*** 7,13 ****
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part4
! Last Changed: $Date: 1997/03/04 02:26:06 $ $Revision: 2.17 $
  
                    Part 4 of 9
  
--- 7,13 ----
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part4
! Last Changed: $Date: 1997/08/26 01:26:21 $ $Revision: 2.19 $
  
                    Part 4 of 9
  
***************
*** 620,626 ****
  If you get something like:
  	500 "GROUP"" not implemented; try "help".
  This implies that the client host is in hosts.nntp, not nnrp.access.
! However, if you need to have this machine in in the hosts.nntp file
  (i.e. it is a feeder or you have an operating system that requires you
  to set HAVE_UNIX_DOMAIN to DONT) then your newsreader must send a "mode
  reader" to the server when it connects.
--- 620,626 ----
  If you get something like:
  	500 "GROUP"" not implemented; try "help".
  This implies that the client host is in hosts.nntp, not nnrp.access.
! However, if you need to have this machine in the hosts.nntp file
  (i.e. it is a feeder or you have an operating system that requires you
  to set HAVE_UNIX_DOMAIN to DONT) then your newsreader must send a "mode
  reader" to the server when it connects.
***************
*** 840,847 ****
  |host.do.main: |
               ^^^  note space instead of return
  
! then it expects you to send a password. If you don't yopu get the
! above error. In this case, the remote should check its host.nntp,
  remove trailing spaces and do a ctlinnd reload hosts.nntp afterwards.
  See also #4.7
  
--- 840,847 ----
  |host.do.main: |
               ^^^  note space instead of return
  
! then it expects you to send a password. If you don't, you get the
! above error. In this case, the remote should check its hosts.nntp,
  remove trailing spaces and do a ctlinnd reload hosts.nntp afterwards.
  See also #4.7
  
***************
*** 925,932 ****
  
  The only variation here I can think of is to make the batch size bigger
  than the default.  The 50K default was picked back in the days when
! modems were 1200 BPS (or even 300).  It is no longer appropriate for
! todays 9600 BPS or faster connections.  Using a bigger batch size cuts
  down on dead time in the connection and lets compress do a better job.
  I would go to at least 200K batches.
  
--- 925,932 ----
  
  The only variation here I can think of is to make the batch size bigger
  than the default.  The 50K default was picked back in the days when
! modems were 1200 BPS (or even 300). It is no longer appropriate for
! today's 9600 BPS or faster connections. Using a bigger batch size cuts
  down on dead time in the connection and lets compress do a better job.
  I would go to at least 200K batches.
  
***************
*** 1007,1013 ****
  this FAQ.  You might want to read this anyway since it gives advice
  about other things to do to get better NOV performance.
  
! "/var/spool/news/over.view" is becoming the standard place to put put
  your ".overview" files.  If you do not use this location, make
  /var/spool/news/over.view a symbolic link to the correct place.  For
  performance reasons, it is a good idea to set _PATH_OVERVIEWDIR to the
--- 1007,1013 ----
  this FAQ.  You might want to read this anyway since it gives advice
  about other things to do to get better NOV performance.
  
! "/var/spool/news/over.view" is becoming the standard place to put
  your ".overview" files.  If you do not use this location, make
  /var/spool/news/over.view a symbolic link to the correct place.  For
  performance reasons, it is a good idea to set _PATH_OVERVIEWDIR to the
***************
*** 1131,1137 ****
  (fixed in INN 1.3).
  
  The latest version of nntplink is available from
! ftp://ftp.math.ohio-state.edu:/pub/nntplink/3.3pl2.tar.gz  (3.3 is still 
  in beta testing)
  
  Ian Phillipps <ian@dial.pipex.com> notes some criteria for using
--- 1131,1137 ----
  (fixed in INN 1.3).
  
  The latest version of nntplink is available from
! ftp://ftp.math.ohio-state.edu/pub/nntplink/3.3pl2.tar.gz  (3.3 is still 
  in beta testing)
  
  Ian Phillipps <ian@dial.pipex.com> notes some criteria for using
***************
*** 1154,1160 ****
  An additional note: when using nntplink in stdin mode it is fastest and
  can make use of the fact that the article might still be in disk buffers 
  when it is to be transferred. But when the remote isn't able to keep up
! than innd buffers the informations and gets bigger and bigger. If this
  happens - try using nntplink in logfile mode. 
  
  ------------------------------
--- 1154,1160 ----
  An additional note: when using nntplink in stdin mode it is fastest and
  can make use of the fact that the article might still be in disk buffers 
  when it is to be transferred. But when the remote isn't able to keep up
! than innd buffers the information and gets bigger and bigger. If this
  happens - try using nntplink in logfile mode. 
  
  ------------------------------
***************
*** 1162,1168 ****
  Subject: (4.21) How do I use innfeed with INN ?
  
  Innfeed is a new feeding tool by James Brister that is a combination
! of straeming nntp and nntplink with some other nice features. This
  tool is still in beta test.
  If you have already several nntplinks successful running, then you
  might to consider testing innfeed. Else stick on using nntpsend or
--- 1162,1168 ----
  Subject: (4.21) How do I use innfeed with INN ?
  
  Innfeed is a new feeding tool by James Brister that is a combination
! of streaming nntp and nntplink with some other nice features. This
  tool is still in beta test.
  If you have already several nntplinks successful running, then you
  might to consider testing innfeed. Else stick on using nntpsend or
***************
*** 1180,1186 ****
  Installation instructions (sample /usr/lib/news/newsfeeds and
  /etc/aliases entries are provided in the documentation for newsgate.
  But even if documentation tells you otherwise you should use 
! rnews instaed of inews with it.
  
  Also be careful not to produce loops!
  
--- 1180,1186 ----
  Installation instructions (sample /usr/lib/news/newsfeeds and
  /etc/aliases entries are provided in the documentation for newsgate.
  But even if documentation tells you otherwise you should use 
! rnews instead of inews with it.
  
  Also be careful not to produce loops!
  
diff -Nacr inn-1.7/FAQ/INN-faq_part5 inn-1.7.1/FAQ/INN-faq_part5
*** inn-1.7/FAQ/INN-faq_part5	Wed Oct  8 19:50:47 1997
--- inn-1.7.1/FAQ/INN-faq_part5	Fri Dec  5 22:42:12 1997
***************
*** 7,13 ****
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part5
! Last Changed: $Date: 1997/04/22 08:46:27 $ $Revision: 2.22 $
  
                    Part 5 of 9
  
--- 7,13 ----
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part5
! Last Changed: $Date: 1997/11/18 02:25:35 $ $Revision: 2.26 $
  
                    Part 5 of 9
  
***************
*** 58,64 ****
  	5.25 innxmit says: Ignoring line "news/group/name/art_num art_id"
  	5.26 innxmit says; Can't connect to news.foo.bar Permission denied
  	5.27 innd: s  (s might be replace by other letters) (in syslog )
! 	5.28 innd: site: closed 5:closed seconds 123 accepted 3 rejected 4 refused 5
  	5.29 syslog: nnrpd[13]: '1.2.3.4' bad_auth
  	5.30 Not a directory writing article file -- throttling
  	5.31 syslog: nntpd[13]: cant open ...../subscriptions ...
--- 58,64 ----
  	5.25 innxmit says: Ignoring line "news/group/name/art_num art_id"
  	5.26 innxmit says; Can't connect to news.foo.bar Permission denied
  	5.27 innd: s  (s might be replace by other letters) (in syslog )
! 	5.28 innd: site: closed 5:closed seconds 12 accepted 3 rejected 4 refused 5
  	5.29 syslog: nnrpd[13]: '1.2.3.4' bad_auth
  	5.30 Not a directory writing article file -- throttling
  	5.31 syslog: nntpd[13]: cant open ...../subscriptions ...
***************
*** 152,157 ****
--- 152,161 ----
  Look after _PATH_NEWSCONTROL in config.data and find out if all components
  of the path exist and are accessible. (inncheck could be of help ...)
  
+ This condition will occur whenever news.daily is run as root, leaving
+ the ownership of history, active, etc files as root.  Change ownership
+ of these files back to news and then restart.
+ 
  ------------------------------
  
  Subject:  (5.6) syslog msg: ME cant sendto CCreader bytes 4 No such file or directory
***************
*** 184,190 ****
  So, obviously, this isn't the cause :-).
  
  Another cause might be that "ctlinnd renumber" fails because of fields
! in the active beeing too narrow. See #5.17 for how to deal with this.
  
  ------------------------------
  
--- 188,194 ----
  So, obviously, this isn't the cause :-).
  
  Another cause might be that "ctlinnd renumber" fails because of fields
! in the active being too narrow. See #5.17 for how to deal with this.
  
  ------------------------------
  
***************
*** 257,263 ****
  when using MMAP.  Try turning off MMAP if you find problems.
  
  Some people have also seen this, when the filesystem has problems.
! Shuting down the system and running fsck helped in that case.
  
  It has been reported that tind writes to the active file and this
  confuses innd (innd assumes it is the only process writing to the
--- 261,267 ----
  when using MMAP.  Try turning off MMAP if you find problems.
  
  Some people have also seen this, when the filesystem has problems.
! Shutting down the system and running fsck helped in that case.
  
  It has been reported that tind writes to the active file and this
  confuses innd (innd assumes it is the only process writing to the
***************
*** 273,279 ****
  		ctlinnd renumber ''
  		makehistory -buv          (or -bunv  see #6.6 for it)
  		ctlinnd renumber ''
! (Note: the "makehistory" will take hours to run.)
  
  IF YOU IGNORE THIS PROBLEM LONG ENOUGH (by issuing the "go" command via
  ctlinnd) you will eventually get a "innd: ME cant update_active
--- 277,283 ----
  		ctlinnd renumber ''
  		makehistory -buv          (or -bunv  see #6.6 for it)
  		ctlinnd renumber ''
! (Note: the "makehistory" will take hours to run. See #7.53 on this.)
  
  IF YOU IGNORE THIS PROBLEM LONG ENOUGH (by issuing the "go" command via
  ctlinnd) you will eventually get a "innd: ME cant update_active
***************
*** 573,579 ****
  appears with 'checkpoint' instead of 'closed'. This message tells you how
  long a connections from the remote existed, how many articles were accepted
  from this remote site, how many innd already had of those offered and how
! many were rejected of some reason (see below). Ifyou get a lots of rejects
  from a site then you should investigate, as there might be some problems.
  
  Erland Sommarskog, <sommar@algonet.se> explains further:
--- 577,583 ----
  appears with 'checkpoint' instead of 'closed'. This message tells you how
  long a connections from the remote existed, how many articles were accepted
  from this remote site, how many innd already had of those offered and how
! many were rejected of some reason (see below). If you get a lot of rejects
  from a site then you should investigate, as there might be some problems.
  
  Erland Sommarskog, <sommar@algonet.se> explains further:
***************
*** 611,617 ****
  This typically means that in the spool there is a directory in 
  the spool that thinks it is a file.  This seems to happen when
  the machine running innd crashes, and the spool gets corrupted.
! Fsck then tries to make sense of the mess it finds; somtetimes
  it guesses wrong.
  
  Here is a little script that finds the offending file and disposes
--- 615,621 ----
  This typically means that in the spool there is a directory in 
  the spool that thinks it is a file.  This seems to happen when
  the machine running innd crashes, and the spool gets corrupted.
! Fsck then tries to make sense of the mess it finds; sometimes
  it guesses wrong.
  
  Here is a little script that finds the offending file and disposes
diff -Nacr inn-1.7/FAQ/INN-faq_part6 inn-1.7.1/FAQ/INN-faq_part6
*** inn-1.7/FAQ/INN-faq_part6	Wed Oct  8 19:50:47 1997
--- inn-1.7.1/FAQ/INN-faq_part6	Fri Dec  5 22:42:12 1997
***************
*** 7,13 ****
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part6
! Last Changed: $Date: 1997/04/22 08:46:28 $ $Revision: 2.19 $
  
                    Part 6 of 9
   
--- 7,13 ----
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part6
! Last Changed: $Date: 1997/07/01 01:25:41 $ $Revision: 2.21 $
  
                    Part 6 of 9
   
***************
*** 164,170 ****
  is redundant, but explains the procedure in more detail.
  
  STEP 1:  Copy the values in the old config.data to your new config.data.
! You can do this automaticly with this trick:
  
  	% cd config
  	% make subst
--- 164,170 ----
  is redundant, but explains the procedure in more detail.
  
  STEP 1:  Copy the values in the old config.data to your new config.data.
! You can do this automatically with this trick:
  
  	% cd config
  	% make subst
***************
*** 215,220 ****
--- 215,226 ----
  STEP 8: If everything was done right you should be up and running.
  Parts 3 and 4 of the FAQ gives tips on testing your configuration.
  
+ If you're upgrading from 1.4, you'll need to change the call to rc.news 
+ in your rc.local, /etc/init.d/INN or equivalent to 
+ 	"su news -c /path/to/rc.news"  
+ since rc.news now gets run as news instead of root.
+ 
+ DON'T FORGET to apply the appropriate security patches (even to 1.5.1!!)!!.
  
  ------------------------------
  
***************
*** 536,542 ****
  "universal decompresser" too.
  
  Edit send-uucp to use gzip instead of compress for certain hosts (see
! example of using compress -b12 for the host esac in send-uucp),
  outgoing batches will be gzipped.
  
  If you use sendbatch, you will have to edit the file so that COMPRESS
--- 542,548 ----
  "universal decompresser" too.
  
  Edit send-uucp to use gzip instead of compress for certain hosts (see
! example of using compress -b12 for the host esca in send-uucp),
  outgoing batches will be gzipped.
  
  If you use sendbatch, you will have to edit the file so that COMPRESS
***************
*** 554,560 ****
  
  Articles will be written as normal, but cross-posts have to be handled
  specially now.  Usually INN handles crossposts by writing the article
! to the first newssgroup, and then creating hard links to all the other
  places where the article should appear.  Hard links do not take up
  additional disk space (except making your directories longer).  Hard
  links also have the advantage that the file data doesn't get deleted
--- 560,566 ----
  
  Articles will be written as normal, but cross-posts have to be handled
  specially now.  Usually INN handles crossposts by writing the article
! to the first newsgroup, and then creating hard links to all the other
  places where the article should appear.  Hard links do not take up
  additional disk space (except making your directories longer).  Hard
  links also have the advantage that the file data doesn't get deleted
***************
*** 568,577 ****
  
  When INN sees that it can not make a hard link (because an article is
  cross-posted across two partitions) it will try to make a symbolic
! link.  If your system can not do symbolic links, set HAVE_SYMLINKS to
  DONT in your config.data file.  This will make INN write a second
  (or third, etc.) copy of the file instead.  (NOTE: INN 1.4 doesn't
! make the extra files.  This feature is planned for INN 1.5.)
  
  Anyway, even though INN will automatically create symbolic links, you
  have to give expire the "-l" flag so that it will know to modify its
--- 574,583 ----
  
  When INN sees that it can not make a hard link (because an article is
  cross-posted across two partitions) it will try to make a symbolic
! link.  If your system can not do symbolic links, set HAVE_SYMLINK to
  DONT in your config.data file.  This will make INN write a second
  (or third, etc.) copy of the file instead.  (NOTE: INN 1.4 doesn't
! make the extra files.)
  
  Anyway, even though INN will automatically create symbolic links, you
  have to give expire the "-l" flag so that it will know to modify its
***************
*** 579,585 ****
  alt.cameras and suppose that rec.photo expires more quickly then the
  alt group.  If this happens, then you will be left with a dangling
  symlink.  The -l flag prevents this from happening by not removing
! the file from rec.photos until alt.cameras expire time permits it
  from being deleted.
  
  To inform expire that your spool is split across multiple partitions:
--- 585,591 ----
  alt.cameras and suppose that rec.photo expires more quickly then the
  alt group.  If this happens, then you will be left with a dangling
  symlink.  The -l flag prevents this from happening by not removing
! the file from rec.photo until alt.cameras expire time permits it
  from being deleted.
  
  To inform expire that your spool is split across multiple partitions:
***************
*** 781,787 ****
  newsreaders) don't send authentication info on startup ("active
  authentication"), but only then when the server requests it by sending 
  a "480 Authentication required for command" reply ("passive
! authentication"). A entry like the follwoing will do this:
  
  ---------
  :R P:user1:pass1:*,!pilhuhn.foo
--- 787,793 ----
  newsreaders) don't send authentication info on startup ("active
  authentication"), but only then when the server requests it by sending 
  a "480 Authentication required for command" reply ("passive
! authentication"). A entry like the following will do this:
  
  ---------
  :R P:user1:pass1:*,!pilhuhn.foo
***************
*** 953,963 ****
  
  Subject: (6.25) Speed up NNTP Transfers ("Streaming NNTP")
  
! Normal NNTP uses the folling scheme to transfr articles:
  
  Sender                    Receiver
    ---> Ihave <some Message>
!    Ok send it to mee       <---
    --->  sends the actual message 
     Says 'this was ok'    <---
  
--- 959,969 ----
  
  Subject: (6.25) Speed up NNTP Transfers ("Streaming NNTP")
  
! Normal NNTP uses the following scheme to transfer articles:
  
  Sender                    Receiver
    ---> Ihave <some Message>
!    Ok send it to me       <---
    --->  sends the actual message 
     Says 'this was ok'    <---
  
***************
*** 969,979 ****
  streaming.
  
  Advantages of Streaming NNTP are
! - Fast even on lines with a high rtt (e.g. satelite links)
  - faster than normal nntp
  - compatible as innxmit has a autofallback to normal nntp
  
! Disadvanatges are
  - INN gets more compute intensive
  - Streaming NNTP can fill a 64kB line that much that working 
  over it via telnet gets a real pain.
--- 975,985 ----
  streaming.
  
  Advantages of Streaming NNTP are
! - Fast even on lines with a high rtt (e.g. satellite links)
  - faster than normal nntp
  - compatible as innxmit has a autofallback to normal nntp
  
! Disadvantages are
  - INN gets more compute intensive
  - Streaming NNTP can fill a 64kB line that much that working 
  over it via telnet gets a real pain.
diff -Nacr inn-1.7/FAQ/INN-faq_part7 inn-1.7.1/FAQ/INN-faq_part7
*** inn-1.7/FAQ/INN-faq_part7	Wed Oct  8 19:50:47 1997
--- inn-1.7.1/FAQ/INN-faq_part7	Fri Dec  5 22:42:12 1997
***************
*** 7,13 ****
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part7
! Last Changed: $Date: 1997/04/22 08:46:30 $ $Revision: 2.19 $
  
                    Part 7 of 9
   
--- 7,13 ----
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part7
! Last Changed: $Date: 1997/09/16 01:25:57 $ $Revision: 2.25 $
  
                    Part 7 of 9
   
***************
*** 77,88 ****
  	7.44 My feed does have different groups in active
  	7.45 INN is only slowly responding
  	7.46 What does 'Reserved Expiring process xxx' mean?
! 	7.47 What happens to cancles if they arrive before the article ?
  	7.48 I use funnel feeds and INND dumps core
  	7.49 NNTP-Posting-Host is localhost.do.main even if host has a name
  	7.50 uuxqt says: rnews exit status 1
  	7.51 innd get a non-zero ``nice'' value?
! 	7.52 How may I upgrade to a newer version of inn safely?
  
  
  =====================================================================
--- 77,94 ----
  	7.44 My feed does have different groups in active
  	7.45 INN is only slowly responding
  	7.46 What does 'Reserved Expiring process xxx' mean?
! 	7.47 What happens to cancels if they arrive before the article ?
  	7.48 I use funnel feeds and INND dumps core
  	7.49 NNTP-Posting-Host is localhost.do.main even if host has a name
  	7.50 uuxqt says: rnews exit status 1
  	7.51 innd get a non-zero ``nice'' value?
! 	7.52 innd runs as root, even if configured to run as 'news'
! 	7.53 Makehistory is slow on inn 1.x , x<5.1
! 	7.54 Expire is slooooooow
! 	7.55 Why are multiple innwatch's running?
! 	7.56 I upgraded to INN 1.5.1, and peers have trouble feeding me.
! 	7.57 I upgraded to INN 1.5.1, and it takes clients a long time to connect.
! 	7.58 My server gets slower and is busy doing io
  
  
  =====================================================================
***************
*** 325,335 ****
  I hate to say this, but this really shows that you haven't RTFMed very
  much.
  
! News is not automaticly bidirectional (it's like SMTP, not UUCP).  If
  you want to send things out you will have to make sure that you run
  send-nntp or nntpsend from cron.  nntpsend is easier and elsewhere in
  this document there are cookbook examples of what to add every time you
  set up a new feed.
  
  ------------------------------
  
--- 331,343 ----
  I hate to say this, but this really shows that you haven't RTFMed very
  much.
  
! News is not automatically bidirectional (it's like SMTP, not UUCP).  If
  you want to send things out you will have to make sure that you run
  send-nntp or nntpsend from cron.  nntpsend is easier and elsewhere in
  this document there are cookbook examples of what to add every time you
  set up a new feed.
+ James Brister is thinking about adding a 'turn' command to nntp to 
+ initiate turning sender to receiver and vice versa.
  
  ------------------------------
  
***************
*** 437,442 ****
--- 445,455 ----
  
  *.err;kern.debug;auth.notice;mail.crit,news.none       /dev/console
  
+ On some systems you can add a flag to some entries in order to instruct 
+ syslog not to sync after each write. This might help raising throughput.
+ Or else move the logs from busy file systems if that flag is not
+ available.
+ 
  ------------------------------
  
  Subject: (7.18) INN batcher writing "#!rnews 0" separators
***************
*** 445,450 ****
--- 458,465 ----
  >the head of each article.
   
  Most common cause:  your newsfeeds entry has "Wnm" not "Wnb".
+ (If only "Wn" is specified, the batcher gets the size itself, but this
+ is a performance loss).
  
  Other reasons:
  
***************
*** 860,866 ****
  and the like.  ( Some of this already has been integrated into expire(8)
  in the "1.4unoff" release, however more could be done.  At least
  now expire doesn't crash when it encounters garbage. )  If you
! do write such a program, please submit it to barr@math.psu.edu (Dave Barr).
  
  If you do fix your database, but problems re-appear later then perhaps
  your O/S is at fault.  Make sure your O/S has been patched to fix any
--- 875,882 ----
  and the like.  ( Some of this already has been integrated into expire(8)
  in the "1.4unoff" release, however more could be done.  At least
  now expire doesn't crash when it encounters garbage. )  If you
! do write such a program, please submit it to barr@cis.ohio-state.edu
! (Dave Barr)
  
  If you do fix your database, but problems re-appear later then perhaps
  your O/S is at fault.  Make sure your O/S has been patched to fix any
***************
*** 965,971 ****
  more than one message at a time. Dbz code doesn't like this. One
  solution is the following:
  
! Grab the Perl 'fixhist' script off http://www.math.psu.edu/barr/INN.html 
  and follow the instructions at the top of the file.  That will clean
  out the cruft from your history database and allow expire to run
  without crashing.
--- 981,987 ----
  more than one message at a time. Dbz code doesn't like this. One
  solution is the following:
  
! Grab the Perl 'fixhist' script off http://www.cis.ohio-state.edu/~barr/INN.html
  and follow the instructions at the top of the file.  That will clean
  out the cruft from your history database and allow expire to run
  without crashing.
***************
*** 1066,1072 ****
  
  A: When expire is running it reserves the server so that it can safely
  pause and unpause it. This prevents other processes from grabbing the
! server and rendring (some parts of) expire worthless.
  
  While expire is running this is no problem. If expire is no longer running
  and the server is still reserved, then you type "ctlinnd reserve ''".
--- 1082,1088 ----
  
  A: When expire is running it reserves the server so that it can safely
  pause and unpause it. This prevents other processes from grabbing the
! server and rendering (some parts of) expire worthless.
  
  While expire is running this is no problem. If expire is no longer running
  and the server is still reserved, then you type "ctlinnd reserve ''".
***************
*** 1075,1081 ****
  
  ------------------------------
  
! Subject: (7.47) What happens to cancles if they arrive before the article ?
  
  Q: What happens if a cancel message arrives before the article it is
  supposed to cancel?
--- 1091,1097 ----
  
  ------------------------------
  
! Subject: (7.47) What happens to cancels if they arrive before the article ?
  
  Q: What happens if a cancel message arrives before the article it is
  supposed to cancel?
***************
*** 1152,1197 ****
  
  ------------------------------
  
! Subject: (7.52) How may I upgrade to a newer version of inn safely?
  
! Q. With all those Cert advisories lately - how may I upgrade to the
!    latest version of inn wihtout problems and without having to make
!    every change that I have done to config.data by hand?
  
! A. (By Dave Barr <barr@math.psu.edu>)
  
! Get and unpack 1.5.1.
!   
! % cd config
! % make subst  (or "make CC=gcc subst" if you use gcc)
! % cp config.dist config.data
! % ./subst -f /path/to/old/config.data config.data
! % cd ..
! % make
! % ctlinnd shutdown upgrading
! 
! From here, you can run 'make update', but that won't upgrade
! everything.  There are things in site/ which have changed and
! should be updated, especially if you're upgrading from pre 1.5.
! 
! What I actually did was save copies of the following:
! 
!         control.ctl expire.ctl hosts.nntp inn.conf innwatch.ctl
!         moderators newsfeeds nntpsend.ctl
! 
! And any other files/scripts which you may have modified locally.
! (news.daily maybe or expirerm)
! 
! I then did a 'make install' as root, and then re-applied my changes to
! the above files.  Some of the files (like control.ctl) contain major 
! new changes which you don't want to just overwrite with your old files.  
! Be sure the make install is run as root, otherwise the permissions of 
! inndstart and rnews won't be correct.
! 
! If you're upgrading from 1.4, you'll need to change the call to rc.news 
! in your rc.local, /etc/init.d/INN or equivalent to 
! 	"su news -c /path/to/rc.news"  
! since rc.news now gets run as news instead of root.
  
! DON'T FORGET to apply the appropriate security patches (even to 1.5.1!!)!!.
  
--- 1168,1334 ----
  
  ------------------------------
  
! Subject: (7.52) innd runs as root, even if configured to run as 'news'
  
! We had a little debuging session due to inn 1.5.1 starting as root instead of
! the configured value news. The problem was caused by _PATH_INNDDIR and the
! following lines of inndstart.c:
!   
!     /* Make sure INND directory exists. */
!     if (stat(INNDDIR, &Sb) < 0 || !S_ISDIR(Sb.st_mode)) {
!         syslog(L_FATAL, "inndstart cant stat %s %m", INNDDIR);
!         exit(1);
!     }
!     NewsUID = Sb.st_uid;
!     NewsGID = Sb.st_gid;
  
! So inndstart takes user and group values from _PATH_INNDDIR, and our
! dir was owned by root =).
  
! ------------------------------
! 
! Subject: (7.53) Makehistory is slow on inn 1.x , x<5.1
! 
! From: "Otto J. Makela" <otto@cc.jyu.fi>
! 
! There is a rather serious bug in the standard distribution inn 1.4 (and all
! unoff versions, but has been fixed in inn 1.5.1) makehistory, which affects
! innd performance very much. Makehistory can be used to create the history
! dbz database files from the raw text file and for example dexpire does this
! with every histtrim operation.
! 
! The problem is that makehistory is given just one parameter specifying the
! size of the expected dbz database in lines, but it uses this parameter also
! for the dbzfresh() tagmask parameter where the maximum key value is expected
! to be given.  This means the dbz database is built with a very small hash
! table causing most of the history database to be accessed without hashing,
! a very serious performance hit.
! 
! As noted in the inn FAQ section 7.45, you can check the size of your dbz
! hash table with the following commands:
!         head -1 history.dir | perl -ane 'print 2 ** $F[7], "\n";'
! if the number returned is smaller than your history text file, you are
! being affected by this problem.
! 
! The problem becomes worse as the history file grows, so an indication of this
! problem is that your news server worked fine at first (small history file)
! but started really beating the living daylights out of the hard disk where
! history is after it grew a bit larger.
! 
! This problem can be patched with the following extremely simple change to
! makehistory, which just multiplies the number of lines in the dbzfresh call
! with 70 which is (supposedly) an average number of characters per history
! text file line.  This same fix has been implemented in inn 1.5.1 makehistory.
! -- 
! diff -u expire/makehistory.c{.orig,}
! --- expire/makehistory.c.orig   Mon Jul 31 22:18:46 1995
! +++ expire/makehistory.c        Wed Apr 23 11:26:50 1997
! @@ -125,7 +125,8 @@
!      /* Open the new database, using the old file if desired and possible. */
!      (void)dbzincore(1);
!      if (IgnoreOld) {
! -       if (dbzfresh(p, dbzsize(size), HIS_FIELDSEP, 'C', dbztagmask(size)) < 0) {
! +      /* Assume average history line length of 70 characters */
! +       if (dbzfresh(p, dbzsize(size), HIS_FIELDSEP, 'C', dbztagmask(size*70)) < 0) {
!             (void)fprintf(stderr, "Can't do dbzfresh, %s\n",
!                     strerror(errno));
!             if (temp[0])
! 
! ------------------------------
! 
! Subject: (7.54) Expire is slooooooow
! 
! Q: Expire takes 20 hours on my system to complete.
! 
! First of all you should call news.daily with the delayrm option (see
! also #2.12, #4.18, #4.19, #5.13). If this is still too slow, then it 
! could be that the list passed to "fastrm" is too large to be sorted by
! the sort(1) command, typically because /tmp is too small. Try setting
! TMPDIR in innshellvars.
! 
! ------------------------------
! 
! Subject: (7.55) Why are multiple innwatch's running?
! 
! From: Jim Dutton <jimd@dutton4.it.siu.edu>
! 
! Currently, "nobody" seems to verify whether an innwatch task is already
! executing before innwatch is started up in rc.news. Also, when innd is
! terminated via ctlinnd shutdown, innwatch is not affected (eg; it is
! left running).
! 
! Since rc.news always starts an innwatch task, if innd is shutdown for
! maintenance, it is necessary to remember to ALSO kill the innwatch task
! and its attendant "sleeper" task, thus ensuring that there is no innwatch
! running when rc.news is executed to restart innd (assuming that this is
! how innd is restarted, of course).
! 
! ------------------------------
! 
! Subject: (7.56) I upgraded to INN 1.5.1, and peers have trouble feeding me.
! 
! INN 1.5.1 (and some versions of INN 1.4unoff) support streaming NNTP
! (see #6.25).  Jerry Aguirre (who authored the streaming support)
! has this to say about streaming NNTP:
! 
! > One of the fallouts of streaming was that a streaming feed tends to hog
! > the resources.  (I consider it a feature but ...)  Basically streaming
! > is more efficient so it is going to send more articles and thus consume
! > greater resources.  The scheduling algorithm of INN's server aggravates
! > this so that the non-streaming connections suffer.  There is code in INN
! > 1.5.1 to limit the work a streaming channel will do on a single pass.
! > It helps but perhaps not enough.  More advanced methods have been
! > discussed but require greater changes to the code.  (Jerry Aguirre, May
! > 9 1997)
! 
! If you upgraded to INN 1.5.1 from a version of INN which didn't support
! streaming NNTP (e.g., INN 1.4sec), and have streaming support enabled,
! incoming feeds which are configured to attempt streaming mode by default
! will now be streaming articles to you.  The incoming feeds which are not
! capable of streaming will get less and less of INN's attention
! (depending on how many incoming streamers are connected at the same
! time).  Thus, the incoming feeds which can't stream will see a
! performance degradation, and may develop appreciable backlogs for you.
! 
! There are several things which can be done.  If the non-streamers switch
! to an outgoing feed program which supports streaming NNTP, then they
! will be able to get more of INN's attention.  Current versions of
! innxmit and innfeed (see #4.21) support streaming NNTP.  Another
! possibility is to disable streaming NNTP for incoming connections, which
! can be done in the hosts.nntp file (see the man page for hosts.nntp for
! more information).
! 
! A third possibility is to apply the following patch by Alan Barrett:
! 
!     ftp://ftp.isc.org/isc/inn/unoff-patches/inn-patch-apb-19970129
! 
! This patch attempts to limit the amount of work INN does for each
! channel at one time.  Several sites have experienced success with it,
! but at this point, it is not an official patch.
! 
! ------------------------------
! 
! Subject: (7.57) I upgraded to INN 1.5.1, and it takes clients a long
! time to connect.
! 
! This may be caused by streaming NNTP (see #7.56).  Since INN
! handles all incoming NNTP connections (even the ones which are passed
! off to nnrpd), incoming streaming NNTP feeds may cause INN to take a
! long time to respond to a newsreader client's initial connection.  The
! solutions in Subject #7.56 should be equally effective in reducing
! initial connection latency for newsreaders.
! 
! Or as another alternative move innd away from port 119 and accept
! nnrpd connects port 119 using inetd.
! 
! ------------------------------
  
! Subject: (7.58) My server gets slower and is busy doing io
  
+ Under Unix, when directories are getting too large, operations on them
+ are also getting slow. Most likely candidate is control or if you
+ have control.cancel in active control/cancel in the spool. Rebuilding
+ the directory from time to time helps (e.g. mv /news/control/cancel
+ /news/control/bye.bye && rm -fr /news/control/bye.bye). There is also
+ somewhere a patch floating around that divides control/cancel in
+ further subdirectories which makes each of those smaller.
diff -Nacr inn-1.7/FAQ/INN-faq_part9 inn-1.7.1/FAQ/INN-faq_part9
*** inn-1.7/FAQ/INN-faq_part9	Wed Oct  8 19:50:47 1997
--- inn-1.7.1/FAQ/INN-faq_part9	Fri Dec  5 22:42:12 1997
***************
*** 7,13 ****
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part9
! Last Changed: $Date: 1997/04/22 08:46:32 $ $Revision: 2.12 $
  
  
  				Part 9 of 9
--- 7,13 ----
  
  Posted-By: post_faq 2.10
  Archive-name: usenet/software/inn-faq/part9
! Last Changed: $Date: 1997/09/23 01:25:57 $ $Revision: 2.17 $
  
  
  				Part 9 of 9
***************
*** 43,49 ****
  	9.10 Fujitsu DS/90 running UXP/DS(V20L10)
  	9.11 SunOS 4.1.x for INN 1.5
  	9.12 Pyramid Systems running DC/OSx
! 	9.13 HP-UX 10.01 with HP gcc and INN1.5.1
  
  Note: See also part2 of the FAQ
  
--- 43,51 ----
  	9.10 Fujitsu DS/90 running UXP/DS(V20L10)
  	9.11 SunOS 4.1.x for INN 1.5
  	9.12 Pyramid Systems running DC/OSx
! 	9.13 HP-UX 10.20 with HP gcc and INN1.5.1
! 	9.14 Reliant Unix 5.43 C0024 on a MIPS RM300-C62 (Siemens Nixdorf)
! 	9.15 UnixWare 2.1.x
  
  Note: See also part2 of the FAQ
  
***************
*** 61,69 ****
  	  egrep)  Please send me diffs as you find them below, not
  	  entire config.data files. Please strip the diff to only include
  	  the changed lines (see the entries below to see what I mean).
!  	- the software environnement it runs on (OS name and version, vendor 
  	  patches to OS applied 
! 	- compiler (version?) and compiling environement.
  	- other changes you made
  
  Please see the entries below first to get the impression before you submit
--- 63,71 ----
  	  egrep)  Please send me diffs as you find them below, not
  	  entire config.data files. Please strip the diff to only include
  	  the changed lines (see the entries below to see what I mean).
!  	- the software environment it runs on (OS name and version, vendor 
  	  patches to OS applied 
! 	- compiler (version?) and compiling environment.
  	- other changes you made
  
  Please see the entries below first to get the impression before you submit
***************
*** 104,111 ****
  _PATH_EGREP		/usr/bin/egrep
  _PATH_MAILCMD		/usr/bin/Mail
  
! ##OS: NetBSD 1.0 on i486 hardware. The six very first kernel pathes applied
! 	after 1.0 came out; will also run under 1.1 and probably later.
  
  ##COMPILER: gcc 2.4.5 as supplied with NetBSD 1.0
  ##MISC:
--- 106,114 ----
  _PATH_EGREP		/usr/bin/egrep
  _PATH_MAILCMD		/usr/bin/Mail
  
! ##OS: NetBSD 1.0 on i486 hardware. The six very first kernel patches applied
! 	after 1.0 came out; will also run under 1.1 and probably later
!     (1.2.1 tested).
  
  ##COMPILER: gcc 2.4.5 as supplied with NetBSD 1.0
  ##MISC:
***************
*** 171,177 ****
  ##COMPILER: gcc2.6.3
  ##MISC: this config file assumes that the following GNU tools are 
  	available on the system: GCC,RANLIB,SED,GREP,GAWK
! 	The tm_gmtoff thing was unavailaiable for 2.4 the includes on 
  	x86 2.4 MUST MUST include ucbinclude...
  
  ------------------------------
--- 174,180 ----
  ##COMPILER: gcc2.6.3
  ##MISC: this config file assumes that the following GNU tools are 
  	available on the system: GCC,RANLIB,SED,GREP,GAWK
! 	The tm_gmtoff thing was unavailable for 2.4 - the includes on 
  	x86 2.4 MUST MUST include ucbinclude...
  
  ------------------------------
***************
*** 627,634 ****
  /bin/cc:
                LINT A.10.32.03 CXREF  A.10.32.03
          HP92453-01 A.10.32.08 HP C Compiler
!          /usr/lib/libc: $Revision: 2.12 $
  >  what /bin/yacc
  /bin/yacc:
           A.10.32.03 HP C LANGUAGE TOOL (YACC) 960517
  
--- 630,721 ----
  /bin/cc:
                LINT A.10.32.03 CXREF  A.10.32.03
          HP92453-01 A.10.32.08 HP C Compiler
!          /usr/lib/libc: $Revision: 2.17 $
  >  what /bin/yacc
  /bin/yacc:
           A.10.32.03 HP C LANGUAGE TOOL (YACC) 960517
+ 
+ ------------------------------
+ 
+ Subject: (9.14) Reliant Unix 5.43 C0024 on a MIPS RM300-C62 (Siemens Nixdorf)
+ 
+ ##FROM: Michael Szczuka <michael.szczuka@mch.sni.de>
+ ##DIFF:
+ 
+ USE_CHAR_CONST		DO
+ LDFLAGS			-L/usr/ucblib
+ LIBS			-lsocket -lnsl -lucb -lelf
+ LINTFLAGS		-b -h $(DEFS)
+ RANLIB			echo
+ LOCK_STYLE		LOCKF
+ HAVE_SETPROCTITLE	DONT
+ HAVE_TM_GMTOFF		DONT
+ _PATH_SH		/usr/local/bin/bash
+ _PATH_AWK		/sbin/awk
+ _PATH_SED		/usr/local/bin/sed
+ _PATH_SORT		/sbin/sort
+ _PATH_MAILCMD		/usr/local/bin/mutt
+ _PATH_GZIP		/usr/local/bin/gzip
+ 
+ ##OS: Reliant Unix 5.43 C0024 on a MIPS RM300-C62 (Siemens Nixdorf)
+ ##COMPILER: gcc 2.7.2
+ ##MISC:
+    - the environment is by no means vanilla Reliant Unix 5.43. I've installed
+      a good deal of GNU software. This has primarily effect on the paths
+      but doesn't really affect compilation of INN (at least I don't think
+      so). The only important change in the paths is for sed; /sbin/sed 
+      (the one that comes with Reliant Unix 5.43) didn't pass the sedtest,
+      so I took the GNU version (sed-v2.05).
+    - gettimeofday() uses only _one_ argument, so you have to change the 
+      call in lib/gettime.c (line 33) from
+ 	 if (gettimeofday(&tv, (struct timezone *)NULL) == -1)
+      to
+ 	 if (gettimeofday(&tv) == -1)
+ 
+ ##FURTHER NOTES:
+    - subst.c won't compile with gcc unless you explicitely tell him to use
+      gcc - and you have no license for the cc that comes with the system ...
+      This is no problem if you use the shell version.
+ 
+ 
+ ------------------------------
+ 
+ Subject: (9.15) UnixWare 2.1.x
+ 
+ ##FROM: "Bob Farmer" <ucs_brf@unx1.shsu.edu>
+ ##DIFF:
+ 
+ CC			cc
+ USE_CHAR_CONST		DO
+ DBZCFLAGS			$(CFLAGS) -DMMAP
+ LIBS			-L/usr/ccs/lib -lelf -lgen -lresolv -lsocket -lnsl -lcrypt
+ LINTLIBSTYLE		SYSV
+ LINTFLAGS		-b -h $(DEFS)
+ LINTFILTER		| sed -n -f ../sedf.sysv
+ VAR_STYLE		VARARGS
+ SIGVAR			int
+ LOCK_STYLE		LOCKF
+ HAVE_SETBUFFER		DONT
+ HAVE_SETPROCTITLE	DONT
+ HAVE_TM_GMTOFF		DONT
+ RES_STYLE		TIMES
+ NOFILE_LIMIT		200
+ NEED_TIME		DO
+ MISSING_MAN		strcasecmp.3
+ MISSING_SRC		strcasecmp.c
+ MISSING_OBJ		strcasecmp.o
+ _PATH_SENDMAIL		/usr/ucblib/sendmail -t
+ _PATH_AWK		/usr/local/bin/awk
+ _PATH_SED		/usr/local/bin/sed
+ _PATH_MAILCMD		/usr/bin/mailx
+ _PATH_GZIP		/usr/local/bin/gzip
+ 
+ ##OS: UnixWare 2.1.2
+ ##COMPILER: cc (supplied)
+ ##MISC: The gzip, awk, and sed in /usr/local/bin are the corresponding GNU
+ utilities.  This is with UnixWare 2.1.2 (the latest version at the
+ moment), and the cc that's supplied with the system of course.  I have the
+ UnixWare Software Development Kit installed, I don't think it's necessary
+ to compile INN though.  The same setup should more or less work for all
+ UnixWare 2.x versions.  1.x would probably be somewhat different... 
  
diff -Nacr inn-1.7/Install.ms.1 inn-1.7.1/Install.ms.1
*** inn-1.7/Install.ms.1	Tue Oct  7 15:18:30 1997
--- inn-1.7.1/Install.ms.1	Fri Dec  5 22:42:12 1997
***************
*** 1,4 ****
! .\" $Revision: 1.19 $
  .\" Uses the -ms macro package; e.g., "nroff -ms Install.ms | col >Install.out"
  .\" If you have no "roff" then pick up awf from Volume 23 of your nearest
  .\" comp.sources.unix archive.  Groff users need -mgs not -ms.
--- 1,4 ----
! .\" $Revision: 1.26 $
  .\" Uses the -ms macro package; e.g., "nroff -ms Install.ms | col >Install.out"
  .\" If you have no "roff" then pick up awf from Volume 23 of your nearest
  .\" comp.sources.unix archive.  Groff users need -mgs not -ms.
***************
*** 9,20 ****
  .el \{\
  \s-1UNIX\s0\\$1\(dg
  .FS
! \(dg \s-1UNIX\s0 is a registered trademark of Unix Systems Laboratories.
  .FE
  .nr UX 1
  .\}
  ..
! .DA "February 14, 1992"
  .TL
  Installing InterNetNews
  .AU
--- 9,20 ----
  .el \{\
  \s-1UNIX\s0\\$1\(dg
  .FS
! \(dg \s-1UNIX\s0 is a registered trademark of X/Open Company Ltd.
  .FE
  .nr UX 1
  .\}
  ..
! .DA "Northern Winter 1997"
  .TL
  Installing InterNetNews
  .AU
***************
*** 27,44 ****
  .AB
  This document discusses how to install and set up InterNetNews.
  You should be familiar with Usenet and networks; the first section gives
! references to documentation for these topics, and the last appendix gives
! a Usenet overview for novices.
  .PP
  This document also describes what many of the programs do and how they
  should be used.
  Even if you are a world-class expert at building and maintaining
  public software, you should probably read this.
  .PP
- .de R$
- This is revision \\$3, dated \\$4.
- ..
- .R$ $Id: Install.ms.1,v 1.19 1996/11/10 20:50:43 brister Exp $
  .AE
  .NH 1
  Things You Should Know Before You Do Anything
--- 27,40 ----
  .AB
  This document discusses how to install and set up InterNetNews.
  You should be familiar with Usenet and networks; the first section gives
! references to documentation for these topics, and the appendix IV gives
! a Usenet installation overview for novices.
  .PP
  This document also describes what many of the programs do and how they
  should be used.
  Even if you are a world-class expert at building and maintaining
  public software, you should probably read this.
  .PP
  .AE
  .NH 1
  Things You Should Know Before You Do Anything
***************
*** 55,66 ****
  You might also find it useful to read \fIManaging UUCP and Usenet\fP
  (get the most recent edition available), ISBN 0-937175-48-X.
  Both books are published by O'Reilly & Associates; send inquiries to
! to <nuts@ora.com>.
  There is a chapter on INN in \fIThe Internet Connection: A Guide to
  Connectivity and Configuration\fP, ISBN 0-201-54237-4 by Smoot
  Carl-Mitchell and John S. Quarterman.
! It is being published by Addison-Wesley and will be available in
! early 1994 or at the end of 1993.
  .PP
  You should know BSD-derived TCP/IP \(em at least be comfortable with host
  names and dotted-quad addresses.
--- 51,70 ----
  You might also find it useful to read \fIManaging UUCP and Usenet\fP
  (get the most recent edition available), ISBN 0-937175-48-X.
  Both books are published by O'Reilly & Associates; send inquiries to
! to <nuts@ora.com>. 
! .PP
  There is a chapter on INN in \fIThe Internet Connection: A Guide to
  Connectivity and Configuration\fP, ISBN 0-201-54237-4 by Smoot
  Carl-Mitchell and John S. Quarterman.
! It is published by Addison-Wesley.
! .PP
! There is a book called \fIAdministering Usenet 
! New Servers\fP, ISBN 0-201-41967-X, by James McDermott and John E.
! Phillips. Published by Addison-Wesley. It has good INN 1.5.1 coverage.
! .PP 
! In November 1997, there was a new version of \fIManaging Usenet\fP
! (note, no UUCP) about to come out from O'Reilly & Associates. This has a
! large section on INN as well as Cnews.
  .PP
  You should know BSD-derived TCP/IP \(em at least be comfortable with host
  names and dotted-quad addresses.
***************
*** 81,95 ****
  RFC 977 defines NNTP, the Network News Transfer Protocol.
  RFCs are available from several places, including anonymous FTP
  to nnsc.nsf.net, where they can be found in the directory \fIrfc\fP.
! Both RFCs are currently being revised.
  The 1036 revision is most likely going to be a ``tightening-up''; since
  INN already has a strict interpretation of the RFC, this revision will
  probably not affect InterNetNews very much.
! The 977 revision is adding new features and facilities, and while INN
  will not provide all of them, they will have some impact.
  .PP
  InterNetNews does things differently from other news software.
! The most common Usenet systems for
  .UX
  are B2.11 and C News.
  Both of them require a separate NNTP implementation.
--- 85,100 ----
  RFC 977 defines NNTP, the Network News Transfer Protocol.
  RFCs are available from several places, including anonymous FTP
  to nnsc.nsf.net, where they can be found in the directory \fIrfc\fP.
! RFC 977 is currently being revised.
  The 1036 revision is most likely going to be a ``tightening-up''; since
  INN already has a strict interpretation of the RFC, this revision will
  probably not affect InterNetNews very much.
! The 977 revision is formally adding new features and facilities which are
! currently implemented, and while INN
  will not provide all of them, they will have some impact.
  .PP
  InterNetNews does things differently from other news software.
! Some other Usenet systems for
  .UX
  are B2.11 and C News.
  Both of them require a separate NNTP implementation.
***************
*** 158,163 ****
--- 163,173 ----
  Library routines used by all the above.
  .IP \fIinclude\fP 15
  Header files used by all the above.
+ .IP \fIdbz\fP 15
+ DBZ database package.
+ .IP \fIsyslog\fP 15
+ Syslog routines for the systems which don't provide proper functions needed
+ for INN.
  .PP
  The distribution also includes these directories:
  .IP \fIsamples\fP 15
***************
*** 169,174 ****
--- 179,194 ----
  Manual pages for all the above.
  .IP \fIconfig\fP 15
  Tools to configure the release for your site.
+ .IP \fIsample-configs\fP 15
+ Sample configuration data for any system.
+ .IP \fIauthprogs\fP 15
+ Sample program which can be used for an authentication with nnrpd.
+ .IP \fIcontrib\fP 15
+ Contributed programs useful for INN.
+ .IP \fIobsolete\fP 15
+ .IP \fIFAQ\fP 15
+ Frequently Asked Questions on INN which is posted at news.software.{b,nntp}
+ periodically.
  .PP
  Finally, there are a handful of files in the top-level directory:
  .IP \fIREADME\fP 15
***************
*** 201,206 ****
--- 221,240 ----
  Script to build an \fIrnews\fP distribution directory.
  .IP \fIsedf.xxx\fP 15
  Various \fIsed\fP scripts to filter the output of \fIlint\fP.
+ .IP \fIREADME.perl_hook\fP 15
+ A description for PERL filtering.
+ .IP \fIREADME.tcl_hook\fP 15
+ A description for TCL filtering.
+ .IP \fICONTRIBUTORS\fP 15
+ Contributors to INN.
+ .IP \fIHISTORY\fP 15
+ History until INN 1.4.
+ .IP \fIiftrue.sh\fP 15
+ Script that does test(1).
+ .IP \fIinstallit.sh\fP 15
+ Script that installs programs, scripts and configuration files for INN.
+ .IP \fIPGPKEYS\fP 15
+ PGP public keys used for control message authentication.
  .NH 1
  Building the System
  .PP
***************
*** 298,325 ****
  \fIDon't panic!\fP
  There are many configuration parameters, but it should be very easy
  for you to determine the answer for most of them.
! To do this, you should copy \fIconfig/config.dist\fP, the distribution
  master, to \fIconfig/config.data\fP, your local copy.
  INN is distributed to compile and run under BSD/OS 2.1 by default.
  .PP
  The configuration file is divided into the following sections:
  .DS
! Make config parameters
! Logging levels         
! Ownerships and file modes
! C library differences
! C library omissions
! Miscellaneous config data
! Paths to common programs
! Paths related to the spool directory
! Execution paths for innd and rnews
! Sockets created by innd or clients
! Log and config files
! Innwatch configuration
! Tcl filtering configuration
! PGP control-message verification configuration
! Local configuration
! Actsync configuration
  .DE
  You should have a copy of \fIconfig.data\fP nearby as you read the next
  few sections.
--- 332,364 ----
  \fIDon't panic!\fP
  There are many configuration parameters, but it should be very easy
  for you to determine the answer for most of them.
! To do this, choose one of the sample config files which is suitable for your
! system from \fIsample-configs\fP directory, and copy it to
! \fIconfig/config.data\fP. If there is no sample for your system,
! you should copy \fIconfig/config.dist\fP, the distribution
  master, to \fIconfig/config.data\fP, your local copy.
  INN is distributed to compile and run under BSD/OS 2.1 by default.
  .PP
  The configuration file is divided into the following sections:
  .DS
! MAKE CONFIG PARAMETERS
! LOGGING LEVELS
! OWNERSHIPS AND FILE MODES
! C LIBRARY DIFFERENCES
! C LIBRARY OMISSIONS
! MISCELLANEOUS CONFIG DATA
! PATHS TO COMMON PROGRAMS
! PATHS RELATED TO THE SPOOL DIRECTORY
! EXECUTION PATHS FOR INND AND RNEWS
! SOCKETS CREATED BY INND OR CLIENTS
! LOG AND CONFIG FILES
! INNWATCH CONFIGURATION
! TCL Configuration
! PGP Configuration
! Keyword Configuration
! Local Configuration
! Actsync Configuration
! Perl Configuration
  .DE
  You should have a copy of \fIconfig.data\fP nearby as you read the next
  few sections.
***************
*** 337,343 ****
  get a syntax error while compiling the system.
  The discussion below uses quotes only to show where the values start and end.
  .NH 3
! Make config parameters
  .PP
  This section is used primarily to identify the path to your C compiler,
  and what extra libraries or command-line switches are needed.
--- 376,382 ----
  get a syntax error while compiling the system.
  The discussion below uses quotes only to show where the values start and end.
  .NH 3
! MAKE CONFIG PARAMETERS
  .PP
  This section is used primarily to identify the path to your C compiler,
  and what extra libraries or command-line switches are needed.
***************
*** 399,405 ****
  If you do not want to install any manpages, set \fIMANPAGESTYLE\fP to
  \fINONE\fP.
  .NH 3
! Logging levels
  .PP
  INN uses the modern \fIsyslog\fP that separates messages into both
  levels and categories.
--- 438,444 ----
  If you do not want to install any manpages, set \fIMANPAGESTYLE\fP to
  \fINONE\fP.
  .NH 3
! LOGGING LEVELS
  .PP
  INN uses the modern \fIsyslog\fP that separates messages into both
  levels and categories.
***************
*** 428,436 ****
  are each directed into separate files.
  See \fIdoc/newslog.5\fP, \fIdoc/newslog.8\fP, and \fIsyslog/syslog.conf\fP
  for details.
! Logging is also described in more detail later.
  .NH 3
! Ownerships and file modes
  .PP
  The NNTP server needs to open the NNTP port; it is port number 119,
  which requires root access.
--- 467,475 ----
  are each directed into separate files.
  See \fIdoc/newslog.5\fP, \fIdoc/newslog.8\fP, and \fIsyslog/syslog.conf\fP
  for details.
! LOGGING is also described in more detail in the LOG AND CONFIG FILES section.
  .NH 3
! OWNERSHIPS AND FILE MODES
  .PP
  The NNTP server needs to open the NNTP port; it is port number 119,
  which requires root access.
***************
*** 438,444 ****
  can run under the distinct user and group id specified by the \fINEWSUSER\fP
  and \fINEWSGROUP\fP parameters.
  Most news administration tasks must be done as user \fINEWSUSER\fP (see the
! explanation of \fIctlinnd\fP below).
  In addition, \fIinews\fP will only let the \fINEWSUSER\fP user or members of
  the \fINEWSGROUP\fP group post control messages other than cancel.
  .PP
--- 477,483 ----
  can run under the distinct user and group id specified by the \fINEWSUSER\fP
  and \fINEWSGROUP\fP parameters.
  Most news administration tasks must be done as user \fINEWSUSER\fP (see the
! explanation of SOCKETS CREATED BY INND OR CLIENTS section below).
  In addition, \fIinews\fP will only let the \fINEWSUSER\fP user or members of
  the \fINEWSGROUP\fP group post control messages other than cancel.
  .PP
***************
*** 464,470 ****
  directories created within the spool area, and the active file, all of
  which are owned by user id \fINEWSUSER\fP.
  .NH 3
! C library differences
  .PP
  Editing the parameters in this section will require you to look
  around at the files in your \fI/usr/include\fP directory.
--- 503,509 ----
  directories created within the spool area, and the active file, all of
  which are owned by user id \fINEWSUSER\fP.
  .NH 3
! C LIBRARY DIFFERENCES
  .PP
  Editing the parameters in this section will require you to look
  around at the files in your \fI/usr/include\fP directory.
***************
*** 474,480 ****
  The \fILOCK_STYLE\fP parameter specifies how file-locking should be done.
  \fIInnxmit\fP is the only program that locks files; if you use the provided
  scripts, this isn't even necessary, so you can set this to ``NONE'' if you
! have any compile problems.
  .PP
  The \fIDIR_STYLE\fP parameter specifies what is returned by your
  \fIreaddir\fP(3) routine.
--- 513,519 ----
  The \fILOCK_STYLE\fP parameter specifies how file-locking should be done.
  \fIInnxmit\fP is the only program that locks files; if you use the provided
  scripts, this isn't even necessary, so you can set this to ``NONE'' if you
! have any compile problems (expireover, overchan and filechan use either!)
  .PP
  The \fIDIR_STYLE\fP parameter specifies what is returned by your
  \fIreaddir\fP(3) routine.
***************
*** 514,528 ****
  You can usually determine what these values should be by examining
  your manpages or your \fIlint\fP libraries.
  .NH 3
! C library omissions
  .PP
  INN uses library routines that might not be present in all
  .UX
  systems, although they should be.
  The \fIlib\fP directory provides versions of some of these routines,
  including copies of the freely-redistributable BSD string routines.
! The \fIMISSING_SRC\fP and \fIMISSING_MAN\fP parameters can be set to
! list those routines that are missing from your C library.
  If you don't have \fIstrcasecmp\fP and \fIstrncasecmp\fP then you will
  need the \fIstrcasecmp\fP module built into your INN library.
  Add the ``.c'' and ``.o'' names to \fIMISSING_SRC\fP and \fIMISSING_OBJ\fP,
--- 553,567 ----
  You can usually determine what these values should be by examining
  your manpages or your \fIlint\fP libraries.
  .NH 3
! C LIBRARY OMISSIONS
  .PP
  INN uses library routines that might not be present in all
  .UX
  systems, although they should be.
  The \fIlib\fP directory provides versions of some of these routines,
  including copies of the freely-redistributable BSD string routines.
! The \fIMISSING_SRC\fP, \fIMISSING_OBJ\fP and \fIMISSING_MAN\fP parameters can be
! set to list those routines that are missing from your C library.
  If you don't have \fIstrcasecmp\fP and \fIstrncasecmp\fP then you will
  need the \fIstrcasecmp\fP module built into your INN library.
  Add the ``.c'' and ``.o'' names to \fIMISSING_SRC\fP and \fIMISSING_OBJ\fP,
***************
*** 554,560 ****
  This will cause \fIlib/Makefile\fP to extract the object files from the ATT
  library, and add them to the INN library.
  .NH 3
! Miscellaneous config data
  .PP
  All the parameters in this section become macros in the file
  \fIinclude/configdata.h\fP.
--- 593,599 ----
  This will cause \fIlib/Makefile\fP to extract the object files from the ATT
  library, and add them to the INN library.
  .NH 3
! MISCELLANEOUS CONFIG DATA
  .PP
  All the parameters in this section become macros in the file
  \fIinclude/configdata.h\fP.
***************
*** 573,579 ****
  This causes problems for programs like \fInnmaster\fP which look at the
  \fIst_mtime\fP field of the \fIstat\fP structure in order to determine if
  any new news has come in.
- (\fINnmaster\fP is part of the \fInn\fP newsreading program.)
  The best work-around is probably an hourly \fIcron\fP job that touches the
  \fIactive\fP file.
  .PP
--- 612,617 ----
***************
*** 606,613 ****
  .PP
  The \fIxxx_TIMEOUT\fP parameters control various timers within INN;
  you might want to change some of these depending on your system load.
  .NH 3
! Paths to common programs
  .PP
  INN uses a few standard programs like \fI/bin/sh\fP and \fIsendmail\fP.
  If you don't have \fIsendmail\fP then you must have a program that
--- 644,660 ----
  .PP
  The \fIxxx_TIMEOUT\fP parameters control various timers within INN;
  you might want to change some of these depending on your system load.
+ .PP
+ The \fILIKE_PULLERS\fP parameter controls how to handle clients that appear
+ to be doing a sucking feed from your machine (many admins don't like such
+ clients). If the value is ``DO'' (the default), then nothing different
+ happens. If the value is ``DONT'', then after 100 articles have been sent,
+ each article transfer will be followed by a short (1 second) sleep. For
+ most readers this isn't a problem, but some clients doe article scoring
+ based on the entire body of the article. Such clients will be penalized
+ when \fILIKE_PULLERS\fP is set to ``DONT''.
  .NH 3
! PATHS TO COMMON PROGRAMS
  .PP
  INN uses a few standard programs like \fI/bin/sh\fP and \fIsendmail\fP.
  If you don't have \fIsendmail\fP then you must have a program that
***************
*** 617,623 ****
  is normally ``/usr/lib/sendmail\ -t''.
  The parameter is actually a \fIsprintf\fP format string that will be
  given the destination address as its only argument.
! on some sites (e.g., those running MMDF) the ``\-t'' could be replaced
  with a ``%s''.
  .PP
  INN puts most of its executables in the directory specified by the
--- 664,670 ----
  is normally ``/usr/lib/sendmail\ -t''.
  The parameter is actually a \fIsprintf\fP format string that will be
  given the destination address as its only argument.
! On some sites (e.g., those running MMDF) the ``\-t'' could be replaced
  with a ``%s''.
  .PP
  INN puts most of its executables in the directory specified by the
***************
*** 650,656 ****
  The \fIscanlogs\fP script has a short test you can run to see if your
  \fIegrep\fP will work.
  .NH 3
! Paths related to the spool directory
  .PP
  By default, all news articles are stored in directories under
  \fI/usr/spool/news\fP.
--- 697,703 ----
  The \fIscanlogs\fP script has a short test you can run to see if your
  \fIegrep\fP will work.
  .NH 3
! PATHS RELATED TO THE SPOOL DIRECTORY
  .PP
  By default, all news articles are stored in directories under
  \fI/usr/spool/news\fP.
***************
*** 682,688 ****
  yourself \(em make sure to set the ownership and modes right \(em and
  re-run the script.
  .NH 3
! Execution paths for innd and rnews
  .PP
  All control messages (other then ``cancel'') are carried out by scripts.
  Your system must be able to \fIexec\fP shell scripts directly.
--- 729,735 ----
  yourself \(em make sure to set the ownership and modes right \(em and
  re-run the script.
  .NH 3
! EXECUTION PATHS FOR INND AND RNEWS
  .PP
  All control messages (other then ``cancel'') are carried out by scripts.
  Your system must be able to \fIexec\fP shell scripts directly.
***************
*** 697,703 ****
  when it needs to unpack batches.
  The \fIRNEWSPROGS\fP parameter specifies if the directory is really used.
  .NH 3
! Sockets created by innd or clients
  .PP
  The \fIinnd\fP server and its clients (most notably \fIctlinnd\fP)
  create
--- 744,750 ----
  when it needs to unpack batches.
  The \fIRNEWSPROGS\fP parameter specifies if the directory is really used.
  .NH 3
! SOCKETS CREATED BY INND OR CLIENTS
  .PP
  The \fIinnd\fP server and its clients (most notably \fIctlinnd\fP)
  create
***************
*** 717,723 ****
  The owner of this directory is set at installation time and specified in
  the ``Ownerships and file modes'' section, above.
  .NH 3
! Log and config files
  .PP
  INN keeps its databases, and some control files their own directory,
  typically named \fI/usr/local/news\fP.
--- 764,770 ----
  The owner of this directory is set at installation time and specified in
  the ``Ownerships and file modes'' section, above.
  .NH 3
! LOG AND CONFIG FILES
  .PP
  INN keeps its databases, and some control files their own directory,
  typically named \fI/usr/local/news\fP.
***************
*** 725,743 ****
  There are many parameters in this section that refer to files within
  this directory.
  Some sites will want to globally replace ``/usr/local/news'' with something
! like ``/var/news'', and ``/usr/lib/newsbin'' with ``/var/newsbin''
  .PP
  There are two files that contain access passwords,
  \fI_PATH_NNTPPASS\fP and \fI_PATH_NNRPACCESS\fP.
! The default location for these files is in \fI/usr/local/etc\fP, so that it is
! generally safe to export \fI/usr/local/news\fP (read-only is probably best).
  .PP
  INN programs do extensive logging, and the daily maintenance scripts
  do extensive summary reports and analysis of them.
  It might take you some time to learn your way around the INN logging system;
  start by reading the newslog manpages in the \fIdoc\fP directory.
  .NH 3
! Innwatch configuration
  .PP
  The INN server, \fIinnd\fP, does not contain any checks to see if there
  is enough free space on the disk or if the system load average is low enough
--- 772,790 ----
  There are many parameters in this section that refer to files within
  this directory.
  Some sites will want to globally replace ``/usr/local/news'' with something
! like ``/var/news'', and ``/usr/lib/newsbin'' with ``/var/newsbin.''
  .PP
  There are two files that contain access passwords,
  \fI_PATH_NNTPPASS\fP and \fI_PATH_NNRPACCESS\fP.
! The default location for these files is in \fI/var/news/etc\fP, so that it is
! generally safe to export \fI/usr/news\fP (read\-only is probably best).
  .PP
  INN programs do extensive logging, and the daily maintenance scripts
  do extensive summary reports and analysis of them.
  It might take you some time to learn your way around the INN logging system;
  start by reading the newslog manpages in the \fIdoc\fP directory.
  .NH 3
! INNWATCH CONFIGURATION
  .PP
  The INN server, \fIinnd\fP, does not contain any checks to see if there
  is enough free space on the disk or if the system load average is low enough
***************
*** 760,766 ****
  external program (shell script) that invokes \fIctlinnd\fP to stop and start the
  server as necessary.
  The program, \fIinnwatch\fP, reads the control file \fIinnwatch.ctl\fP.
! \fIInnwatch\fP is documented in \fIdoc/news.daily.8\fP, while \fIinnwatch.ctl\fP
  is documented in \fIdoc/innwatch.ctl.5\fP.
  .PP
  The parameters in this section control when the server should stop accepting
--- 807,813 ----
  external program (shell script) that invokes \fIctlinnd\fP to stop and start the
  server as necessary.
  The program, \fIinnwatch\fP, reads the control file \fIinnwatch.ctl\fP.
! \fIInnwatch\fP is documented in \fIdoc/innwatch.8\fP, while \fIinnwatch.ctl\fP
  is documented in \fIdoc/innwatch.ctl.5\fP.
  .PP
  The parameters in this section control when the server should stop accepting
***************
*** 773,782 ****
  .DE
  This is looking at the fourth field of the second line to get the amount
  of freespace.
! You will have to change the ``2'' and ``4'' here, and on other lines, as
! appropriate for your system.
! (Changing the output of \fIdf\fP seems to be one of the things vendors like
! to do most; it is not worth my time to have INN keep track of all of them.)
  .PP
  The parameter \fIINNWATCH_SLEEPTIME\fP specifies how frequently
  \fIinnwatch\fP should check the system \(em the other parameters should
--- 820,828 ----
  .DE
  This is looking at the fourth field of the second line to get the amount
  of freespace.
! You will have to change the ``2'' and ``4'' here (both can be changed by
! setting \fIINNWATCH_INODES\fP and \fIINNWATCH_BLOCKS\fP respectively),
! and on other lines, as appropriate for your system.
  .PP
  The parameter \fIINNWATCH_SLEEPTIME\fP specifies how frequently
  \fIinnwatch\fP should check the system \(em the other parameters should
***************
*** 797,803 ****
  The \fIINNWATCH_SPOOLNODES\fP parameter specifies how many inodes must
  be available in your spool directory.
  .NH 3
! Tcl filtering configuration.
  .PP
  The innd server can be configured to include TCL hooks to be run whenever a
  new article is received and when certain other actions occur. See the file
--- 843,849 ----
  The \fIINNWATCH_SPOOLNODES\fP parameter specifies how many inodes must
  be available in your spool directory.
  .NH 3
! TCL Configuration
  .PP
  The innd server can be configured to include TCL hooks to be run whenever a
  new article is received and when certain other actions occur. See the file
***************
*** 821,843 ****
  included in samples/filter.tcl which will be installed in the location
  defined by this parameter.
  .NH 3
! PGP control message verification.
  .PP
! Inn now has mecahnisms in place that will do PGP
! verification of control messages.
  .PP
  The \fIWANT_PGPVERIFY\fP parameter defines whether PGP verification of
! control messages should be done. Select DO or DONT. See the file README.pgp
! for more details on this subject.
  .NH 3
! Actsync configuration.
  .PP
  Landon Curt Noll's actsync(8) program has been merged into INN. This section
  defines some variables for the default config file for actsync. See the
  man page for more details on actsync.
  .PP
  The \fIACTSYNC_HOST\fP variable defines which remote host you'll be using
! to synchronize your active file.
  .PP
  .NH 2
  Typical config.data changes
--- 867,1039 ----
  included in samples/filter.tcl which will be installed in the location
  defined by this parameter.
  .NH 3
! PGP Configuration
  .PP
! Inn now has mechanisms in place that will do PGP verification of control
! messages (except for cancels). It is \fIhighly\fP recommended that you use
! PGP if you can. Forged control messages are a serious problem in USENET.
! You can get PGP from \fBhttp://web.mit.edu/network/pgp.html\fP.
  .PP
  The \fIWANT_PGPVERIFY\fP parameter defines whether PGP verification of
! control messages should be done. Select ``DO'' or ``DONT''.
! .PP
! To verify messages, you must have a PGP public key for each signer
! that you wish to trust. It should be entered in a key ring that is
! accessible to the user-id that runs the news system by running
! pgp -ka on a file containing the key to add. For example, at a
! site that runs the news server software as news, the following
! command run by the news user-id should add the key bounded by
! BEGIN and END "PGP PUBLIC KEY BLOCK" lines in the file /tmp/key
! to the default key ring that would be used for authentication:
! .PP
! .RS
! pgp -ka /tmp/key
! .RE
! .PP
! As a general policy rule, control message signers will not use their
! control message keys to introduce other keys, so when PGP asks you
! a question similar to, "Would you trust this user to act as an
! introducer and certify other people's public keys to you?" answer
! that you would not.
! .PP
! After you have added the appropriate key to your key ring, you
! need to tell the news software to validate the control messages
! received. As implemented, the system will perform the requested
! action if the message can be authenticated and it will mail the
! message to the news system administrator if it cannot.
! .PP
! Automatic processing of control messages is handled by control.ctl,
! \fIControl.ctl\fP has several lines at the beginning of it that describe
! the format of the file, and there is an even longer \fIcontrol.ctl\fP(5)
! manual page. PGP verification for many large heirarchies is already enabled
! in \fIcontrol.ctl\fP(5). To enable PGP verification for another heirachy,
! in addition to the normal authorization done by control.ctl, use the action
! "verify-PGP_USERID" in the fourth field. The supplied \fIcontrol.ctl\fP
! file has samples that should be clear.
! .PP
! To test the PGP setup a signed sample control message is in the file
! CONTROLPROGS/sample.control (where CONTROLPROGS is as defined in
! config.data). Copy this to /tmp/sample.control. The file name
! /tmp/sample.control will be used for this example.
! .PP
! To verify the control message, you will need the key for
! news.announce.newgroups and authorization in your news system for
! tale@uunet.uu.net to automatically perform "newgroup". Go ahead
! and enable it for the test even if you don't want to really allow
! this, because it is easy enough to rescind after the test by
! editing the control message authorization file and removing the
! key with pgp -kr news.announce.newgroups.
! .PP
! You can check that the pgpverify part of the system will work
! properly simply by feeding it the sample control message on stdin:
! .PP
! .RS
! pgpverify < /tmp/sample.control
! .RE
! .PP
! If it could run pgp and find the correct key in the default key ring,
! the string "news.announce.newgroups" should be printed. The exit
! status of the script, found in most shells with the command 
! .PP
! echo $?
! .LP
! as the next command after pgpverify, should be 0 (zero).
! .PP
! When pgpverify passes its test, use the procedure below to verify
! the authorization system.
! .PP
! First, cd to the directory where parsecontrol is installed.
! Then execute the following four lines, in order, as the user
! who owns the news system:
! .PP
! .RS
! .nf
! /bin/sh
! PROG=newgroup
! set -- tale@uunet.uu.net "" /tmp/sample.control
! (. ./parsecontrol "$@"; echo $ACTION)
! .fi
! .RE
! .PP
! If the message verified correctly, the echo command should
! output doit; otherwise, verification failed and the output
! should be mail.
! .PP
! Edit /tmp/sample.control and change all occurences of
! newusers to newgroups. Then repeat the parsecontrol
! and echo lines. This time verification should fail.
! .NH 3 
! Keyword Configuration
! .PP
! The keyword generating code, that has been added by Karl Kleinpaste, is off
! by default, as it's a real CPU sucker (does a lot of regexp matching). To
! enable it you must:
! .IP 1. 
! Set KEYWORDS to DO in config.data (and possibly change KEYLIMIT
! ABSURD and MAX_WORDS) and rebuild innd.
! .IP 2. 
! Uncomment the last line of the overview.fmt file so that it
! looks like:
! .RS
! .nf
!      Keywords:full
! .fi
! .RE
! .IP 3. 
! Install and start the new innd.
! .PP
! Of course you need overview generation enabled -- see elsewhere 
! in this document for that.
! .NH 3
! Local Configuration
! .PP
! At this section local definitions like home directory of \fINEWSUSER\fP are
! specified.
! This parameter is used for setting environment variable handed to innd when
! invoked by inndstart.
  .NH 3
! Actsync configuration
  .PP
  Landon Curt Noll's actsync(8) program has been merged into INN. This section
  defines some variables for the default config file for actsync. See the
  man page for more details on actsync.
  .PP
  The \fIACTSYNC_HOST\fP variable defines which remote host you'll be using
! to synchronize your active file. If you don't have a good host to sync to,
! you can get (via anon ftp) ftp://ftp.isc.org/pub/usenet/CONFIG/active.gz
! and have actsync use that.
! .NH 3
! Perl Configuration
! .PP
! The innd server can be configured to include perl hooks to be run the way
! TCL does whenever a new article is received and when certain other actions
! occur.
! Further more, nnrpd can be also configured to include perl hooks to be run
! whenever a new article is posted. This is not supported in TCL.
! See the file README.perl_hook for more details.
! .PP
! The \fIPERL_SUPPORT\fP parameter specifies whether you want to compile in the
! perl support code. Select DO or DONT.
! .PP
! The \fIPERL_LIB\fP parameter specifies the extra libraries you need to link
! against to include perl support. Typically ``-lperl -lm'' are required. If
! you defined \fIPERL_SUPPORT\fP  to DONT, then this should be blank.
! .PP
! The \fI_PATH_PERL_STARTUP_INND\fP parameter specifies the path of the perl
! script that is to be loaded at process startup time. A sample version is
! included in samples/startup_innd.pl which will be installed in the location you
! define here.
! .PP
! The \fI_PATH_PERL_FILTER_INND\fP parameter specifies the path of the perl script
! that is to be loaded upon command by ctlinnd. See the ctlinnd.8 manpage
! for more details (the ``filter'' and ``reload'' commands). A sample is
! included in samples/filter_innd.pl which will be installed in the location
! defined by this parameter.
! .PP
! The \fI_PATH_PERL_FILTER_NNRPD\fP parameter specifies the path of the perl
! script that is to be loaded at process startup time. A sample version is
! included in samples/filter_nnrpd.pl which will be installed in the location you
! define here.
  .PP
  .NH 2
  Typical config.data changes
***************
*** 1156,1168 ****
  You should probably see the DBZ manpage in the \fIdoc\fP directory
  for some (brief) additional discussion of this issue.
  .PP
- If you are using \fIvfork\fP (specified in the \fIFORK\fP parameter),
- or you want to \fImmap\fP the database, then you \fBmust\fP apply the patch.
- The Makefile in \fIlib\fP will normally do it for you automatically, anyway.
- The beginning of the patch file describes the changes made in more detail.
- If you do not apply the patch, then you must add add ``dbzalt.c'' and
- \&``dbzalt.o'' to the MISSING_SRC and MISSING_OBJ parameters.
- .PP
  Apparently the System V 386 compiler can't optimize \fIdbz.c\fP (the
  GNU C compiler doesn't have this problem).
  If you have ``\-O'' in your \fIDBZCFLAGS\fP configuration parameter, then
--- 1352,1357 ----
***************
*** 1286,1291 ****
--- 1475,1484 ----
  This program controls \fIinnd\fP, directing it to do most of the
  tasks a news administrator will have to do:  create newsgroups,
  update newsfeeds, and the like.
+ .IP \fIsys2nf\fP 15
+ A program to turn a B or C News \fIsys\fP file into an INN \fInewsfeeds\fP
+ file.
+ This is a transition aide that is only documented in the source.
  .PP
  To build these programs, type the following:
  .DS
***************
*** 1332,1338 ****
  See \fIinnd.8\fP, \fInewsfeeds.5\fP, and \fIactive.5\fP in the \fIdoc\fP
  directory for details.
  .NH 3
! The NetNews Reading Daemon
  .PP
  \fIInnd\fP implements a subset of the NNTP protocol \(em only those commands
  that are needed for peer sites to feed news articles.
--- 1525,1531 ----
  See \fIinnd.8\fP, \fInewsfeeds.5\fP, and \fIactive.5\fP in the \fIdoc\fP
  directory for details.
  .NH 3
! Nnrpd
  .PP
  \fIInnd\fP implements a subset of the NNTP protocol \(em only those commands
  that are needed for peer sites to feed news articles.
***************
*** 1362,1367 ****
--- 1555,1562 ----
  This includes the following programs:
  .IP \fIarchive\fP 15
  A simple program to archive news articles.
+ .IP \fIactsync\fP 15
+ A program to synchronize active file with remote site.
  .IP \fIbatcher\fP 15
  Collects articles into batches for UUCP delivery.
  .IP \fIbuffchan\fP 15
***************
*** 1372,1381 ****
  channel feed and lets innd hand off some of its i/o activity.
  .IP \fIcvtbatch\fP 15
  A program to turn a file list into an INN batchfile.
! A transition aide that is only documented in the source.
  .IP \fIfilechan\fP 15
  Another program to split a single \fIinnd\fP stream into separate files.
  It is system-call intensive, but requires no locking protocol.
  .IP \fIinnxmit\fP 15
  A replacement for \fInntpxmit\fP from the reference implementation.
  It reads a file containing a list of articles, and sends them to a host.
--- 1567,1578 ----
  channel feed and lets innd hand off some of its i/o activity.
  .IP \fIcvtbatch\fP 15
  A program to turn a file list into an INN batchfile.
! This is a transition aide.
  .IP \fIfilechan\fP 15
  Another program to split a single \fIinnd\fP stream into separate files.
  It is system-call intensive, but requires no locking protocol.
+ .IP \fIinnxbatch\fP 15
+ A program to send articles with ``XBATCH'' NNTP command extension.
  .IP \fIinnxmit\fP 15
  A replacement for \fInntpxmit\fP from the reference implementation.
  It reads a file containing a list of articles, and sends them to a host.
***************
*** 1386,1395 ****
  .IP \fIshrinkfile\fP 15
  A program to shrink a file by removing lines from the beginning.
  It is useful for purging backlogged batchfiles.
- .IP \fIsys2nf\fP 15
- A program to turn a B or C News \fIsys\fP file into an INN \fInewsfeeds\fP
- file.
- This is a transition aide that is only documented in the source.
  .PP
  To build this set of programs, type the following:
  .DS
--- 1583,1588 ----
***************
*** 1484,1491 ****
  .NH 1
  Installing the System
  .PP
! Although either \fIinnd\fP or \fIinndstart\fP must be run by root, most
! of the installation does not have to be done as root.
  The \fI$inn/makedirs.sh\fP script creates all the necessary directories used
  by INN, and sets up the right ownerships and modes: owned by \fINEWSUSER\fP
  in group \fINEWSGROUP\fP with 0775 permissions (the ``firewall'' directory,
--- 1677,1686 ----
  .NH 1
  Installing the System
  .PP
! Although either \fIinnd\fP or \fIinndstart\fP must be run with root
! privileges, the build and most of the installation does not have to be done
! as root \(em only the installation of the inndstart executable requires
! root priviledges, as it is installed as owned by root and setuid.
  The \fI$inn/makedirs.sh\fP script creates all the necessary directories used
  by INN, and sets up the right ownerships and modes: owned by \fINEWSUSER\fP
  in group \fINEWSGROUP\fP with 0775 permissions (the ``firewall'' directory,
***************
*** 1508,1519 ****
  \&``make\ install'' will install everything in that directory into
  the right place.
  A ``make\ update'' can only be done in the top-level directory or in the
! \fIsite\fP directory, and it only replaces scripts, not configuration files.
  When updating to a new INN release, you will probably want to do an ``update''
  first, and then review the changed files by doing ``make\ diff'' in the
  \fIsite\fP directory, and integrate your local changes as appropriate.
  The Makefile also has other targets that you might find useful, so the
! comments for entries like ``most'' and ``installed-diff', for example.
  .PP
  The next, and last, step is to build your INN configuration files and utility
  scripts.
--- 1703,1715 ----
  \&``make\ install'' will install everything in that directory into
  the right place.
  A ``make\ update'' can only be done in the top-level directory or in the
! \fIsite\fP directory. The former only replaces executables, not
! configuration files.
  When updating to a new INN release, you will probably want to do an ``update''
  first, and then review the changed files by doing ``make\ diff'' in the
  \fIsite\fP directory, and integrate your local changes as appropriate.
  The Makefile also has other targets that you might find useful, so the
! comments for entries like ``most'' and ``installed-diff'', for example.
  .PP
  The next, and last, step is to build your INN configuration files and utility
  scripts.
***************
*** 1522,1528 ****
  cd $inn/site
  make all
  .DE
! This will get copies of the scripts and files from the \fIbackends\fP and the
  \fIsamples\fP directories and run \fIsubst\fP over them.
  Whenever patches are issued, doing a \fImake\fP in this directory will let
  you know what files have been updated, without destroying your local changes.
--- 1718,1724 ----
  cd $inn/site
  make all
  .DE
! This will get copies of the scripts and files from the
  \fIsamples\fP directories and run \fIsubst\fP over them.
  Whenever patches are issued, doing a \fImake\fP in this directory will let
  you know what files have been updated, without destroying your local changes.
***************
*** 1550,1556 ****
  system boot time, and should not require many changes:
  .DS
  .ta 1.5i
! innlog.awk	scanlogs
  innstat	tally.control
  news.daily	tally.unwanted
  rc.news
--- 1746,1752 ----
  system boot time, and should not require many changes:
  .DS
  .ta 1.5i
! innlog.pl	scanlogs
  innstat	tally.control
  news.daily	tally.unwanted
  rc.news
***************
*** 1562,1568 ****
  \fIScanlogs\fP calls the other scripts to process the logs.
  You might want to review these scripts just to see what they do.
  Do not get bogged down in the details, just read the comments.
! They are documented in the manpages news.daily(8) newslog(5), and newslog(8).
  .PP
  There are some utility scripts to send news to your news feeds:
  .DS
--- 1758,1764 ----
  \fIScanlogs\fP calls the other scripts to process the logs.
  You might want to review these scripts just to see what they do.
  Do not get bogged down in the details, just read the comments.
! They are documented in the manpages news.daily(8), newslog(5), and newslog(8).
  .PP
  There are some utility scripts to send news to your news feeds:
  .DS
***************
*** 1598,1619 ****
  The last group of files are utility scripts you might find useful:
  .DS
  .ta 1.5i
! inncheck	makegroup
! innwatch	scanspool
  .DE
  \fIInncheck\fP is a Perl script to check the syntax and permissions of
  an installed INN system.
  \fIInnreport\fP is an alternate way of summarizing the server's log file.
! It is a Perl script.
  \fIInnwatch\fP is a shell script to monitor the system and stop the server
  when you are running low on disk space or inodes; it could be run out of your
! \fI_PATH_NEWSBOOT\fP script.
! You might have to edit it to understand your \fIdf\fP output format.
! \fIMakegroup\fP is a front-end to \fIrnews\fP that helps you write
! a control message to create a newsgroup.
! You should review this script because you might have to change the way the
! output of the \fIdate\fP command is parsed, and because you might might
! want to change the default distribution.
  \fIScanspool\fP is a Perl script to make sure that the active file
  and the contents of your spool tree agree.
  .PP
--- 1794,1810 ----
  The last group of files are utility scripts you might find useful:
  .DS
  .ta 1.5i
! inncheck	innwatch
! scanspool
  .DE
  \fIInncheck\fP is a Perl script to check the syntax and permissions of
  an installed INN system.
  \fIInnreport\fP is an alternate way of summarizing the server's log file.
! It is a Perl script. It will become the standard log reporting mechanism in
! a future release.
  \fIInnwatch\fP is a shell script to monitor the system and stop the server
  when you are running low on disk space or inodes; it could be run out of your
! \fI_PATH_NEWSBOOT\fP script \(em it is set to be run by default.
  \fIScanspool\fP is a Perl script to make sure that the active file
  and the contents of your spool tree agree.
  .PP
***************
*** 1648,1654 ****
  and feed it into \fIinews\fP.
  \fIInews\fP validates the news headers, adds its own, and feeds the article
  to the campus \fIinnd\fP server.
! The \fIinews\fP that comes with INN is more useful then the ``mini-inews''
  that comes with the reference implementation.
  You cannot run the standard B2.11 \fIinews\fP.
  You can run the C News \fIinews\fP, but only on client machines (i.e.,
--- 1839,1845 ----
  and feed it into \fIinews\fP.
  \fIInews\fP validates the news headers, adds its own, and feeds the article
  to the campus \fIinnd\fP server.
! The \fIinews\fP that comes with INN is more useful than the ``mini-inews''
  that comes with the reference implementation.
  You cannot run the standard B2.11 \fIinews\fP.
  You can run the C News \fIinews\fP, but only on client machines (i.e.,
diff -Nacr inn-1.7/Install.ms.2 inn-1.7.1/Install.ms.2
*** inn-1.7/Install.ms.2	Tue Oct  7 15:18:30 1997
--- inn-1.7.1/Install.ms.2	Fri Dec  5 22:42:12 1997
***************
*** 1,4 ****
! .\" $Revision: 1.13 $
  .NH 1
  Known Problems
  .PP
--- 1,4 ----
! .\" $Revision: 1.16 $
  .NH 1
  Known Problems
  .PP
***************
*** 68,76 ****
  If you use 386BSD (the Jolitz port, not the BSDI product) you will have to
  set \fIACT_STYLE\fP to ``READ''.
  If you do not do this then the active file will not get updated.
! Another work-around is to insert an ``msync'' call in the ICDwriteactive
! routine in \fIinnd/icd.c\fP.
! This is not supported because I consider the 386BSD behavior to be buggy.
  .PP
  The default configuration of some Sequent kernels does not provide enough
  descriptors for \fIinnd\fP to run.
--- 68,74 ----
  If you use 386BSD (the Jolitz port, not the BSDI product) you will have to
  set \fIACT_STYLE\fP to ``READ''.
  If you do not do this then the active file will not get updated.
! Another work-around is to set \fIMMAP_SYNC\fP parameter to ``DO.''
  .PP
  The default configuration of some Sequent kernels does not provide enough
  descriptors for \fIinnd\fP to run.
***************
*** 85,91 ****
  trying to renumber the \fIactive\fP file.
  You might want to use a freely-redistributable ``dirent'' package such
  as one distributed by the Free Software Foundation.
! You should also make sure to set \fICLX_STYLE\fP to ``FCNTL''
  Finally, you might also want to edit \fIinnd/innd.c\fP where it calculates
  the ``MaxOutgoing'' parmater and increase the fudge number to four.
  .PP
--- 83,89 ----
  trying to renumber the \fIactive\fP file.
  You might want to use a freely-redistributable ``dirent'' package such
  as one distributed by the Free Software Foundation.
! You should also make sure to set \fICLX_STYLE\fP to ``FCNTL.''
  Finally, you might also want to edit \fIinnd/innd.c\fP where it calculates
  the ``MaxOutgoing'' parmater and increase the fudge number to four.
  .PP
***************
*** 94,102 ****
  growing.
  The most noticeable symptom is ``cant setsockopt(SNDBUF)'' messages in
  your \fIsyslog\fP output.
! To fix this, either comment out the calls to \fIsetsockopt\fP in
! \fIinnd/nc.c\fP or add ``\-USO_SNDBUF'' to your \fIDEFS\fP config
! parameter.
  .PP
  I have heard that Sony SVR4 systems have lots of problems.
  You must set \fIHAVE_UNIX_DOMAIN\fP to ``DONT''; sockets in general seem
--- 92,98 ----
  growing.
  The most noticeable symptom is ``cant setsockopt(SNDBUF)'' messages in
  your \fIsyslog\fP output.
! To fix this, you should make sure to set \fISET_SOCKOPT\fP to ``DONT.''
  .PP
  I have heard that Sony SVR4 systems have lots of problems.
  You must set \fIHAVE_UNIX_DOMAIN\fP to ``DONT''; sockets in general seem
***************
*** 137,143 ****
  100% compatible with the other systems at the user level.
  If you had particular problems that aren't mentioned here, please let me know.
  Note, however, that this is \fInot\fP a tutorial on how to set up a new
! INN system, or convert older software to it; no such document exists.
  .NH 0
  Configuration Files
  .PP
--- 133,140 ----
  100% compatible with the other systems at the user level.
  If you had particular problems that aren't mentioned here, please let me know.
  Note, however, that this is \fInot\fP a tutorial on how to set up a new
! INN system, or convert older software to it; no such document exists except
! appendix II ``Converting from other News software''.
  .NH 0
  Configuration Files
  .PP
***************
*** 222,231 ****
  The number and type of parameters is different from that of C News.
  All control messages consult the file \fIcontrol.ctl\fP before acting on
  the message.  If the sender's address matches with the list of authorized
! addresses (e.g., ``tale@uunet.uu.net'', ``*'', etc.), the control
! message is either acted upon, mailed to the news administrator, or logged.
! For example, messages from ``tale@uunet.uu.net'' (the current moderator
! of news.announce.newgroups) are honored.
  .PP
  The ``control'', ``junk'', and ``to'' newsgroups can be explicitly sent
  or not sent.
--- 219,227 ----
  The number and type of parameters is different from that of C News.
  All control messages consult the file \fIcontrol.ctl\fP before acting on
  the message.  If the sender's address matches with the list of authorized
! addresses (e.g., ``group-admin@isc.org'', ``*'', etc.), the control
! message is either acted upon, mailed to the news administrator, logged, or dropped.
! For example, messages from ``group-admin@isc.org'' are honored.
  .PP
  The ``control'', ``junk'', and ``to'' newsgroups can be explicitly sent
  or not sent.
***************
*** 265,271 ****
  Appendix II:  Converting from other News software
  .PP
  INN is a complete news transport and expiration system.
! Since few people will be installing INN from scratch, this section
  should help you determine what you can ``throw out'' from your earlier
  news setups.
  It is also compatible with much of the existing news software, so you
--- 261,268 ----
  Appendix II:  Converting from other News software
  .PP
  INN is a complete news transport and expiration system.
! Since some people will be installing INN from scratch on top of an older
! news system, this section
  should help you determine what you can ``throw out'' from your earlier
  news setups.
  It is also compatible with much of the existing news software, so you
***************
*** 324,330 ****
  INN implements the standard NNTP protocol, with some extensions.
  INN does not provide the extensions used by \fItrn\fP, \fItin\fP or
  other newsreaders.
! INN will not implement all the different indexing systems because the
  right solution is to have a generic interface that all readers can use.)
  .PP
  For administrative convenience, however, you might wish to have all your
--- 321,327 ----
  INN implements the standard NNTP protocol, with some extensions.
  INN does not provide the extensions used by \fItrn\fP, \fItin\fP or
  other newsreaders.
! (INN will not implement all the different indexing systems because the
  right solution is to have a generic interface that all readers can use.)
  .PP
  For administrative convenience, however, you might wish to have all your
***************
*** 344,353 ****
  build a distribution directory of the necessary routines.
  Use this script the same way you use the \fIMakeInews\fP script.
  .PP
! \fIRn\fP, \fIrrn\fP, and \fItrn\fP are moving targets so these instructions
! may be out of date.
! The maintainers have agreed to officially support INN, however, which is
! a good thing.
  .PP
  There are two ways to build \fIrn\fP so that it uses the INN library.
  If you don't have the NNTP distribution installed you will have to use
--- 341,349 ----
  build a distribution directory of the necessary routines.
  Use this script the same way you use the \fIMakeInews\fP script.
  .PP
! \fIRn\fP, \fIrrn\fP, and \fItrn\fP are constantly changing so these
! instructions might be out of date.
! The maintainers have agreed to officially support INN, however.
  .PP
  There are two ways to build \fIrn\fP so that it uses the INN library.
  If you don't have the NNTP distribution installed you will have to use
***************
*** 544,550 ****
  batched feed that is not used very often.
  To do ihave/sendme with a site named remote, the local site must either
  have a ``to.remote'' newsgroup or be compiled with MERGE_TO_GROUPS set to
! \&``DO''
  .PP
  Accepting an ihave/sendme feed is easy.  Suppose an ``ihave'' message is
  received from a site named remote.  When \fIinnd\fP processes the message
--- 540,546 ----
  batched feed that is not used very often.
  To do ihave/sendme with a site named remote, the local site must either
  have a ``to.remote'' newsgroup or be compiled with MERGE_TO_GROUPS set to
! \&``DO.''
  .PP
  Accepting an ihave/sendme feed is easy.  Suppose an ``ihave'' message is
  received from a site named remote.  When \fIinnd\fP processes the message
***************
*** 748,754 ****
  for a new site:
  .DS
  sed <active.old >active.new \e
!    -e 's/^\e([^ ]*\e) [0-9]* [0-9]* \e([^ ]*\e)$/\e1 0000000000 000000001 \e2/'
  .DE
  .PP
  Once the groups are set up, your newsfeed will periodically connect to
--- 744,750 ----
  for a new site:
  .DS
  sed <active.old >active.new \e
!    -e 's/^\e([^ ]*\e) [0-9]* [0-9]* \e([^ ]*\e)$/\e1 0000000000 0000000001 \e2/'
  .DE
  .PP
  Once the groups are set up, your newsfeed will periodically connect to
***************
*** 798,803 ****
--- 794,800 ----
  so that they are run as the news administrator, and not as root.
  A good version of \fIcron\fP that makes it easy to do this can be found
  on gatekeeper.dec.com in pub/misc/vixie/cron.tar.Z.
+ Use this if needed.
  .PP
  You will also need to get one or more programs to read news.
  There are several freely-available programs around.
***************
*** 823,829 ****
  .PP
  In late 1992, Geoff Collyer <geoff@world.std.com> released the \fInov\fP,
  or ``news overview,'' package.
! This included database tools and, and client access routines,
  that let the current threaded newsreaders use a common, textual,
  database.
  An overview database typically adds adds about 7-9% to your storage
--- 820,826 ----
  .PP
  In late 1992, Geoff Collyer <geoff@world.std.com> released the \fInov\fP,
  or ``news overview,'' package.
! This included database tools and client access routines,
  that let the current threaded newsreaders use a common, textual,
  database.
  An overview database typically adds adds about 7-9% to your storage
***************
*** 850,856 ****
  the \fIcron\fP job that runs \fInews.daily\fP.
  .PP
  The \fInnrpd\fP server includes two command extensions to access the database;
! they are documented in the ``protocol extensions'' part of \fIdoc/nnrpd.8\fP.
  INN does not include any client code or modifications to any newsreaders
  to use the overview data.
  Most maintainers have agreed to support the overview database, including
--- 847,853 ----
  the \fIcron\fP job that runs \fInews.daily\fP.
  .PP
  The \fInnrpd\fP server includes two command extensions to access the database;
! they are documented in the ``PROTOCOL DIFFERENCES'' part of \fIdoc/nnrpd.8\fP.
  INN does not include any client code or modifications to any newsreaders
  to use the overview data.
  Most maintainers have agreed to support the overview database, including
***************
*** 882,888 ****
  The default values to add to \fIinn.conf\fP are these:
  .DS
  mime-version: 1.0
! mime-contenttype text/plain; charset=us-ascii
  mime-encoding: 7bit
  .DE
  An internationalized site might want to use these values:
--- 879,885 ----
  The default values to add to \fIinn.conf\fP are these:
  .DS
  mime-version: 1.0
! mime-contenttype: text/plain; charset=us-ascii
  mime-encoding: 7bit
  .DE
  An internationalized site might want to use these values:
***************
*** 914,926 ****
  .PP
  In general, be very cautious.
  .PP
! MIME articles can only be sent using \fIinnxmit\fP; work on \fIbatcher\fP
! is in progress.
  Unless the ``\-M'' flag is used, no MIME conversions are done.
  If the flag is used, the following happens:
  Articles with a Content-Transfer-Encoding header of ``8bit'' or ``binary''
! are forwaded in ``quoted-printable'' format (the ``base64'' format will
! be available soon).
! All other articles -- in particular, those without MIME headers, those of
  type ``message'' or ``multipart,'' those with Content-Transfer-Encoding
! header of ``7bit'' -- are forwarded without any change.
--- 911,922 ----
  .PP
  In general, be very cautious.
  .PP
! MIME articles can only be sent using \fIinnxmit\fP.
  Unless the ``\-M'' flag is used, no MIME conversions are done.
  If the flag is used, the following happens:
  Articles with a Content-Transfer-Encoding header of ``8bit'' or ``binary''
! are forwarded in ``quoted-printable'' format (the ``base64'' format is
! not supported yet).
! All other articles \(em in particular, those without MIME headers, those of
  type ``message'' or ``multipart,'' those with Content-Transfer-Encoding
! header of ``7bit'' \(em are forwarded without any change.
diff -Nacr inn-1.7/MANIFEST inn-1.7.1/MANIFEST
*** inn-1.7/MANIFEST	Tue Oct  7 15:18:29 1997
--- inn-1.7.1/MANIFEST	Fri Dec  5 22:42:12 1997
***************
*** 3,13 ****
  README                      1 Assorted notes
  README.tcl_hook             1 Bob Halley's TCL hook notes.
  README.perl_hook            1 Notes on Christophe Wolfhugel's perl hook.
- README.pgp                  1 README file for David Lawrence's PGP hook.
  MANIFEST                    1 This shipping list
  BUILD                       1 Script to build and install the system
  CONTRIBUTORS                1 Contributors info.
  COPYRIGHT                   1 Legal mumbo-jumbo
  FAQ                         1 FAQ (Directory)
  FAQ/INN-faq_part1           1 FAQ part 1
  FAQ/INN-faq_part2           1 FAQ part 2
--- 3,13 ----
  README                      1 Assorted notes
  README.tcl_hook             1 Bob Halley's TCL hook notes.
  README.perl_hook            1 Notes on Christophe Wolfhugel's perl hook.
  MANIFEST                    1 This shipping list
  BUILD                       1 Script to build and install the system
  CONTRIBUTORS                1 Contributors info.
  COPYRIGHT                   1 Legal mumbo-jumbo
+ SUPPORT                     1 Information on where to get it.
  FAQ                         1 FAQ (Directory)
  FAQ/INN-faq_part1           1 FAQ part 1
  FAQ/INN-faq_part2           1 FAQ part 2
***************
*** 60,65 ****
--- 60,66 ----
  config/subst.sh             1 Script to edit files in place
  contrib                     1 External contributions (Directory)
  contrib/README.contrib      1 README file for the contrib contents.
+ contrib/dexpire.tar.Z       1 A replacement (not drop-in) for regular expire.
  contrib/expirectl           1 Generate expire.ctl from template
  contrib/findmissing.pl      1 locate articles not in history.
  contrib/innreport           1 innlog-like perl script that generates HTML
***************
*** 286,296 ****
--- 287,306 ----
  sample-configs/config.data-aix-4.1.4 1 Sample config file for AIX 4.1.4
  sample-configs/config.data-aux3.1 1 Sample config file for AUX 3.1
  sample-configs/config.data-dynixptx2.1 1 Sample config file for Dynix 2.1
+ sample-configs/config.data-hpux-9.05 1 Sample config file for HPUX 9.05
+ sample-configs/config.data-hpux-9.07 1 Sample config file for HPUX 9.07
  sample-configs/config.data-irix-5.2 1 Sample config file for IRIX 5.2+
+ sample-configs/config.data-irix-5.3 1 Sample config file for IRIX 5.3
+ sample-configs/config.data-irix-6.2 1 Sample config file for IRIX 6.2
  sample-configs/config.data-linux-2.0.18 1 Sample config file for LINUX 2.0.18
+ sample-configs/config.data-netbsd-1.2 1 Sample config file for NetBSD
  sample-configs/config.data-newsos-4.2.1 1 Sample config file for NEWSOS 4.2.1
  sample-configs/config.data-next3.2 1 Sample config file for NEXT 3.2
+ sample-configs/config.data-next4.1 1 Sample config file for Next
+ sample-configs/config.data-sco-3.2.2 1 Sample config file for SCO 3.2
+ sample-configs/config.data-sco-5.0 1 Sample config file for SCO 5.0
  sample-configs/config.data-solaris2.3-4 1 Sample config file for Solaris 2.3
+ sample-configs/config.data-solaris2.5 1 Sample config file for Solaris 2.5
  sample-configs/config.data-sunos-4.1.x 1 Sample config file for SunOS 4.1.x
  sample-configs/config.data-ultrix4.3 1 Sample config file for Ultrix 4.3
  sample-configs/config.data-ux4800 1 Sample config file for NEC UX/4800
***************
*** 311,316 ****
--- 321,327 ----
  samples/inn.conf            1 Sample inn.conf(5) file
  samples/inncheck            1 Perl script to syntax-check INN config files
  samples/innlog.pl           1 Perl version of the syslog summary.
+ samples/innmail             1 Simple UCB mail replacement.
  samples/innshellvars        1 Script to set config parameters
  samples/innshellvars.csh    1 Csh script to set config parameters.
  samples/innshellvars.pl     1 Perl Script to set config parameters
diff -Nacr inn-1.7/README inn-1.7.1/README
*** inn-1.7/README	Thu Oct 16 20:09:36 1997
--- inn-1.7.1/README	Fri Dec  5 22:42:12 1997
***************
*** 1,23 ****
! Welcome to INN 1.7
  
! 	This is the public release of version 1.7 of InterNet News. This
  	work is sponsored by the Internet Software Consortium.
  
! 	This release is a security and bug fix to the 1.5 series.  This
! 	means that this release has *fewer* features than the 1.6 beta
! 	versions. There are many bugs in 1.6 in the fixes to the same
! 	security holes this release fixes, and this release will be more
! 	stable.
! 
! 	1.6 will not be developed further, and instead, after 1.7, 1.8 will
! 	come next which will be 1.7 with the new features from 1.6 (plus
! 	other things).
! 
! 	It is recommended that if you are running an older version of INN,
! 	that you upgrade to 1.7 to plug the security holes. If you have
! 	some beta version of 1.6 running, then you don't really need 1.7
! 	as it fixes these holes too, but as mentioned 1.6 has stability
! 	problems, so you probably should upgrade anyway.
  
          The file Install.txt describes how to build the system. To create
          that file from the nroff sources do:
--- 1,15 ----
! Welcome to INN 1.7.1
  
! 	This is the public release of version 1.7.1 of InterNet News. This
  	work is sponsored by the Internet Software Consortium.
  
! 	This release is a bugfix to 1.7. This has no new features, except a
! 	perl script 'innmail' that can be used as a replacement for Berkeley
! 	Mail. See below for more details on the differences with 1.7.
! 
! 	It is recommended that if you are running a version of INN prior
! 	to 1.7, that you upgrade as there are serious security holes in
! 	earlier versions.
  
          The file Install.txt describes how to build the system. To create
          that file from the nroff sources do:
***************
*** 73,78 ****
--- 65,89 ----
    please send me yours and I'll include it in there.
  
  			 -------------------------
+ Changes since 1.7
+ 
+ 	- Logs for verification of pgp signed control messages were going
+ 	  to the wrong place.
+ 	- A fix to underallocated buffers (the `buffset' fix)
+ 	- A fix to prevent a bad pointer being passed to free() in
+ 	  expireover.c
+ 	- Fixes to actsync to straighten out the '-I' command line option
+ 	  behaviour.
+ 	- The script sendbatch had some hardcoded values removed.
+ 	- The actsyncd script had some minor bugs fixed.
+ 	- The Install.ms.* files have been fixed up.
+ 	- The sucking-feed slowing mechanism has been tidied up a bit (but
+ 	  still isn't very clean so the default is now off in config.dist).
+ 	- Responses to HEAD, BODY and ARTICLE commands have been fixed when
+ 	  requesting by message-id.
+ 	- Makefile dependencies have been updated.
+ 	- The innmail script (a replacement for UCB Mail) is included. Its
+ 	  use is highly recommended.
  
  Changes since 1.5.1
  	
diff -Nacr inn-1.7/README.pgp inn-1.7.1/README.pgp
*** inn-1.7/README.pgp	Tue Oct  7 15:18:29 1997
--- inn-1.7.1/README.pgp	Thu Jan  1 00:00:00 1970
***************
*** 1,255 ****
- This README.pgp file is based very heavily on David C Lawrence's README.
- 
-                     AUTHENTICATION OF USENET GROUP CHANGES
-                                        
-    This document addresses a method for the authentication of the special
-    types of Usenet articles that are used to maintain the namespace of
-    Usenet groups. A basic familiarity with what the Usenet control
-    message types "newgroup", "rmgroup" and "checkgroups" do is assumed;
-    this is not a tutorial in namespace administration.
-    
-    Usenet articles are notoriously easy to forge, and control messages
-    are no exception. Since administrators often want to have their news
-    systems automatically honor requests from some particular people to
-    add or remove newsgroups, it is risky to trust the From: and Sender:
-    headers to identify the real sender of a message, as has historically
-    been done. Thus a system using Philip Zimmerman's Pretty Good
-    Privacy(tm) (PGP (tm)) was developed to provide a more secure means of
-    authenticating the sender of a control message.
-    
-    Unlike traditional PGP authentication of messages, which just verifies
-    that the contents of the body of a message are unchanged from when it
-    was digitally "signed", this system also needed to sign a few headers
-    of the control message to verify the action to be taken and to guard
-    against certain other pitfalls. Another goal was to make the signature
-    as unobtrusive as possible and require minimal changes to existing
-    software in order to work.
-    
- How to Verify Control Messages
- 
-    Listed below are the steps you need to take to enable PGP
-    authentication of control messages on your system.
-    
-    Here is the short and simple version for someone who feels confident
-    hacking around the news system and doesn't like to read a lot:
-    
-     1. Add maintainers' PGP public keys to the news system key ring.
-     2. Enable verification through the news system authorization system.
- 
-        Short version:
-        
- 	 Use the action verify-pgp_userid (possibly appended =logfile) in
- 	 control.ctl.
- 
-        Long Version:
- 
-        To verify messages, you must have a PGP public key for each signer
-        that you wish to trust. It should be entered in a key ring that is
-        accessible to the user-id that runs the news system by running
-        pgp -ka on a file containing the key to add. For example, at a
-        site that runs the news server software as news, the following
-        command run by the news user-id should add the key bounded by
-        BEGIN and END "PGP PUBLIC KEY BLOCK" lines in the file /tmp/key
-        to the default key ring that would be used for authentication:
- 
-                 pgp -ka /tmp/key
- 
-        As a general policy rule, control message signers will not use their
-        control message keys to introduce other keys, so when PGP asks you
-        a question similar to, "Would you trust this user to act as an
-        introducer and certify other people's public keys to you?" answer
-        that you would not.
-        
-        After you have added the appropriate key to your key ring, you
-        need to tell the news software to validate the control messages
-        received. As implemented, the system will perform the requested
-        action if the message can be authenticated and it will mail the
-        message to the news system administrator if it cannot. Clearly
-        there are other possible actions that could be implemented, but I
-        wanted to keep the patches minimal. Future releases of the server
-        software will probably have increased flexibility.
-        
-        Automatic processing of control messages is handled by control.ctl,
-        which you edit in the same site subdirectory where you patched
-        parsecontrol. control.ctl has several lines at the beginning of it
-        that describe the format of the file, and there is an even longer
-        control.ctl(5) manual page. To enable PGP verification in addition
-        to the normal authorization done by control.ctl, use the action
-        "verify-PGP_USERID" in the fourth field.
-             
-        For example, if you trust tale@uunet.uu.net to manage groups in the
-        "Big 8" hierarchies, you could have lines like these (but don't use
-        the backslash continuation, which I have used here for readability;
-        keep it all on one line):
- 
- newgroup:tale@uunet.uu.net:\
- comp.*|humanities.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:\
- verify-news.announce.newgroups
- rmgroup:tale@uunet.uu.net:\
- comp.*|humanities.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:\
- verify-news.announce.newgroups
- checkgroups:tale@uunet.uu.net:\
- comp.*|humanities.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:\
- verify-news.announce.newgroups
- 
-        Additionally, if you like the logging feature available with the
-        action doit=logfile, you can get the same logging by using
-        verify-pgp_userid=logfile.
-             
-     3. Test the system.
- 
-        Short version:
- 
-          If you have the news.announce.newgroups key in your key ring, run
-          
- 	       CONTROLPROGS/sample.control 
-   
-          (where CONTROLPROGS is as defined in config.data) through
-          pgpverify on stdin. It should spit out the string
-          "news.announce.newgroups" on stdout.
-        
-        Long Version:
- 
- 	 A signed sample control message is in the file
-          CONTROLPROGS/sample.control (where CONTROLPROGS is as defined in
-          config.data). Copy this to /tmp/sample.control. The file name
-          /tmp/sample.control will be used for this example.
-        
-          To verify the control message, you will need the key for
-          news.announce.newgroups and authorization in your news system for
-          tale@uunet.uu.net to automatically perform "newgroup". Go ahead
-          and enable it for the test even if you don't want to really allow
-          this, because it is easy enough to rescind after the test by
-          editing the control message authorization file and removing the
-          key with pgp -kr news.announce.newgroups.
-        
-          You can check that the pgpverify part of the system will work
-          properly simply by feeding it the sample control message on stdin:
- 
-                 pgpverify < /tmp/sample.control
- 
-          If if could run pgp and find the correct key in the default key ring,
-          the string "news.announce.newgroups" should be printed. The exit
-          status of the script, found in most shells with the command 
-          
- 		echo $?
- 
- 	 as the next command after pgpverify, should be 0 (zero).
-        
-          If it doesn't work and you've tried and tried to figure out why,
-          email inn-bugs@isc.org a complete description of the problem you
-          are having and how you have tried to remedy it. At a bare minimum,
-          your mail should include a copy of the message you are trying to
-          verify, a typescript of the attempted execution, and the output of
-          pgp -kc and pgp -kvc news.announce.newgroups.
-        
-          When pgpverify passes its test, use the procedure below to verify
-          the authorization system.
-          
-             First, cd to the directory where parsecontrol is installed.
-             Then execute the following four lines, in order, as the user
-             who owns the news system:
- 
-                 /bin/sh
-                 PROG=newgroup
-                 set -- tale@uunet.uu.net "" /tmp/sample.control
-                 (. ./parsecontrol "$@"; echo $ACTION)
- 
-             If the message verified correctly, the echo command should
-             output doit; otherwise, verification failed and the output
-             should be mail.
-             
-             Edit /tmp/sample.control and change all occurences of
-             newusers to newgroups. Then repeat the parsecontrol
-             and echo lines. This time verification should fail.
-             
-           + If you are running some other system:
-             
-             You're out of luck until someone writes a patch and
-             instructions for your system and makes it available to me for
-             redistribution.
-             
- Frequently Asked Questions
- 
-   HOW COME THIS PRESUMABLY VALID MESSAGES DOESN'T CHECK OUT WITH PGPVERIFY?
-                o You don't have the latest version of pgpverify, which
-                  fixed whatever bug is causing authentication of the
-                  message to fail.
-                o You don't have your PGP configuration files and keyrings
-                  in the default path used by pgp and PGPPATH is not correctly
-                  set in your environment.  Either move your PGP directory
-                  to the default location or set the $ENV{'PGPPATH'} line in
-                  pgpverify.
-                o You don't have the correct key for the user that signed
-                  it in your key ring.
-                o You are using a non-English version of pgp, set up with
-                  a "Language = " line in your PGP config.txt file.  This
-                  means pgpverify can't find the string it is looking for in
-                  the pgp output.  pgpverify tries to overcome a non-English
-                  language specification by setting LANGUAGE in the 
-                  environment before calling pgp, but pgp overrides the
-                  runtime environment with the config.txt variables.
-                o You cut-and-pasted the message in your window system,
-                  which converted the tab characters in the original
-                  message into spaces in the message you are trying to
-                  decode. Having this handled completely correctly by the
-                  signing/verifying code is harder than you might first
-                  think.
-                o You are running pgpverify on a saved copy of the article
-                  that includes an extraneous trailing newline, such
-                  as might be inserted by saving the message from a mail
-                  handler or news reader, that was not present in the
-                  original message. 
-                o You cut-and-pasted the sample INN control.ctl lines above
-                  and left the continuation lines in, instead of joining
-                  each group of three physical lines comprising one logical
-                  line to just one physical line.
-    
-          _____________________________________________________________
-        
- Signing Control Messages
- 
-        If you are responsible for sending control messages about
-        authorized changes to a newsgroup hierarchy, then
- 
- 		signcontrol
- 
-        (in the samples directory) will sign your control messages so that
-        pgpverify can authenticate them. It is a Perl script that requires
-        Perl version 5 or higher to work. It has several configuration
-        parameters that should be reviewed before use. Note that INN's
-        normal subst program is *not* run over signcontrol. You'll need to
-        fix the configuration section inside it by hand.
-        
-        When establishing a PGP key and control message sender, please use
-        tokens that are not tied to a particular individual. This makes it
-        easier to transfer the administrative responsibility when it
-        finally comes time. (The all-too-common "tale@uunet.uu.net" sender
-        is still used for control messages because of its legacy in the
-        installed server base; I would prefer to use
-        newgroups-request@uunet.uu.net.) Please also do not sign other
-        keys with the key that is used for control messages.
-        
-        If you will be using this script to sign control messages, please
-        let me know the hierarchy that you are responsible for maintaining
-        and the information that you would like to appear in the List of
-        PGP Public Keys for Newsgroup Administration.
-        
-          _____________________________________________________________
-        
- How to Get PGP
- 
-        Information about obtaining PGP can be found in the Where to get the
-        latest PGP FAQ article, posted regularly in the alt.security.pgp
-        newsgroup.
-        
- How to Get Perl
- 
-        Information about obtaining Perl can be found in the comp.lang.perl.*
-        FAQ 1/5 - Availability article, posted regularly in the
-        comp.lang.perl.misc newsgroup.
-          _____________________________________________________________
-        
- Last modified: 18 April 1996
- David C Lawrence
- tale@uunet.uu.net
--- 0 ----
diff -Nacr inn-1.7/SUPPORT inn-1.7.1/SUPPORT
*** inn-1.7/SUPPORT	Thu Oct 16 20:11:59 1997
--- inn-1.7.1/SUPPORT	Fri Dec  5 22:42:12 1997
***************
*** 1,54 ****
! This file contains places (newsgroups, mailing lists, people) to go to get
! (or supply) help on INN. If you know of something that should be included
! here, please send a note to inn@isc.org
  
  Newsgroups:
  
! 	news.software.nntp	Newsgroup where lots of (overworked)
! 				sys-admins discuss INN (amoung other things).
  
! 	tnn.netnews.inn		Discussions about INN. (Japanese)
  
! 	fj.news.system.inn	Discussion about INN News System (Japanese)
  
  Mailing lists:
  
! 	inn-bugs@isc.org	Place to submit bugs reports to the INN
! 				devlopment team. To receive mail sent to
! 				this list, send a subscription request to
! 				inn-bugs-request@isc.org.
! 
! 	inn-workers@isc.org	Developers mailing list. To receive mail
! 				sent to this list, send a subcription
! 				request to inn-workers-request@isc.org
! 
! 	inn-patches@isc.org	Place to submit patches for
! 				consideration (but discussed on
! 				inn-workers). To receive mail sent to this
! 				list, send a subscription request to
! 				inn-patches-request@isc.org
! 
! 	inn-committers@isc.org	Place where commit logs for the CVS
! 				repository get sent. To receive mail sent
! 				to this list, send a subscription request
! 				to inn-committers-request@isc.org.
  
! Third Party:
  
  People and organizations listed here may charge for their services. Their
! inclusion here is not a recommendation on the part of the ISC or the INN
  developers.
  
! 	Forrest J. Cavalier III		http://www.mibsoftware.com
! 					innsup@mibsoftware.com
! 
! 	Jeff Garzik			http://www.spinne.com/usenet/
! 					news@spinne.com
! 
!         Douglas Needham         	http://www.infinet.com/~cinnion
! 					cinnion@infinet.com 
  
! 	The LeftBank Operation		http://www.leftbank.com/
! 					sales@leftbank.com
  
  
--- 1,62 ----
! The ISC now provides support for a fee on the software it distributes
! freely. Other organizations not associated with the ISC also provide
! support for INN. These are all shown in the third party section. These
! groups offer differing types and levels of support and welcome you to
! look at all of the options.
! 
! If you know of something that should be included here, please send 
! a note to inn@isc.org
  
  Newsgroups:
  
!         news.software.nntp      Newsgroup where lots of (overworked)
!                                 sys-admins discuss INN (amoung other things).
  
!         tnn.netnews.inn         Discussions about INN. (Japanese)
  
!         fj.news.system.inn      Discussion about INN News System (Japanese)
  
  Mailing lists:
  
!         inn-bugs@isc.org        Place to submit bugs reports to the INN
!                                 development team. To receive mail sent to
!                                 this list, send a subscription request to
!                                 inn-bugs-request@isc.org.
! 
!         inn-workers@isc.org     Developers mailing list. To receive mail
!                                 sent to this list, send a subcription
!                                 request to inn-workers-request@isc.org
! 
!         inn-patches@isc.org     Place to submit patches for
!                                 consideration (but discussed on
!                                 inn-workers). To receive mail sent to this
!                                 list, send a subscription request to
!                                 inn-patches-request@isc.org
! 
!         inn-committers@isc.org  Place where commit logs for the CVS
!                                 repository get sent. To receive mail sent
!                                 to this list, send a subscription request
!                                 to inn-committers-request@isc.org.
  
! Third Parties
  
  People and organizations listed here may charge for their services. Their
! inclusion here is not a recommendation on the part of the ISC or the INN 
  developers.
  
!         Forrest J. Cavalier III         http://www.mibsoftware.com
!                                         innsup@mibsoftware.com
!                                
!         Jeff Garzik                     http://www.spinne.com/usenet/
!                                         news@spinne.com
!                    
!         Douglas Needham                 http://www.infinet.com/~cinnion
!                                         cinnion@infinet.com
!                        
!         The LeftBank Operation          http://www.leftbank.com/
!                                         sales@leftbank.com
  
!         Internet Software Consortium    http://www.isc.org/support.html
!                                         scharf@isc.org
  
  
diff -Nacr inn-1.7/backends/Makefile inn-1.7.1/backends/Makefile
*** inn-1.7/backends/Makefile	Tue Oct  7 15:17:45 1997
--- inn-1.7.1/backends/Makefile	Fri Dec  5 22:42:12 1997
***************
*** 178,249 ****
  	makedepend $(DEFS) $(SOURCES)
  
  # DO NOT DELETE THIS LINE -- make depend depends on it.
! actsync.o:	../include/clibrary.h
! actsync.o:	../include/configdata.h
! actsync.o:	../include/libinn.h
! actsync.o:	../include/macros.h
! actsync.o:	../include/paths.h
! actsync.o:	../include/qio.h
! archive.o:	../include/clibrary.h
! archive.o:	../include/configdata.h
! archive.o:	../include/libinn.h
! archive.o:	../include/macros.h
! archive.o:	../include/paths.h
! archive.o:	../include/qio.h
! batcher.o:	../include/clibrary.h
! batcher.o:	../include/configdata.h
! batcher.o:	../include/libinn.h
! batcher.o:	../include/logging.h
! batcher.o:	../include/macros.h
! batcher.o:	../include/paths.h
! buffchan.o:	../include/clibrary.h
! buffchan.o:	../include/configdata.h
! buffchan.o:	../include/libinn.h
! buffchan.o:	../include/macros.h
! buffchan.o:	../include/paths.h
! buffchan.o:	../include/qio.h
! cvtbatch.o:	../include/clibrary.h
! cvtbatch.o:	../include/configdata.h
! cvtbatch.o:	../include/libinn.h
! cvtbatch.o:	../include/macros.h
! cvtbatch.o:	../include/paths.h
! cvtbatch.o:	../include/qio.h
! filechan.o:	../include/clibrary.h
! filechan.o:	../include/configdata.h
! filechan.o:	../include/libinn.h
! filechan.o:	../include/macros.h
! filechan.o:	../include/paths.h
! innxbatch.o:	../include/clibrary.h
! innxbatch.o:	../include/configdata.h
! innxbatch.o:	../include/libinn.h
! innxbatch.o:	../include/logging.h
! innxbatch.o:	../include/macros.h
! innxbatch.o:	../include/nntp.h 
! innxmit.o:	../include/clibrary.h
! innxmit.o:	../include/configdata.h
! innxmit.o:	../include/dbz.h
! innxmit.o:	../include/libinn.h
! innxmit.o:	../include/logging.h
! innxmit.o:	../include/macros.h
! innxmit.o:	../include/nntp.h
! innxmit.o:	../include/paths.h
! innxmit.o:	../include/qio.h
! nntpget.o:	../include/clibrary.h
! nntpget.o:	../include/configdata.h
! nntpget.o:	../include/dbz.h
! nntpget.o:	../include/libinn.h
! nntpget.o:	../include/macros.h
! nntpget.o:	../include/nntp.h
! nntpget.o:	../include/paths.h
! overchan.o:	../include/configdata.h
! overchan.o:	../include/libinn.h
! overchan.o:	../include/clibrary.h
! overchan.o:	../include/macros.h
! overchan.o:	../include/paths.h
! overchan.o:	../include/qio.h
! shlock.o:	../include/clibrary.h
! shlock.o:	../include/configdata.h
! shrinkfile.o:	../include/clibrary.h
! shrinkfile.o:	../include/configdata.h
! shrinkfile.o:	../include/libinn.h
! shrinkfile.o:	../include/macros.h
--- 178,286 ----
  	makedepend $(DEFS) $(SOURCES)
  
  # DO NOT DELETE THIS LINE -- make depend depends on it.
! 
! actsync.o: ../include/clibrary.h
! actsync.o: ../include/configdata.h
! actsync.o: ../include/configdata.h
! actsync.o: ../include/libinn.h
! actsync.o: ../include/libinn.h
! actsync.o: ../include/macros.h
! actsync.o: ../include/macros.h
! actsync.o: ../include/mydir.h
! actsync.o: ../include/paths.h
! actsync.o: ../include/qio.h
! archive.o: ../include/clibrary.h
! archive.o: ../include/configdata.h
! archive.o: ../include/configdata.h
! archive.o: ../include/libinn.h
! archive.o: ../include/libinn.h
! archive.o: ../include/macros.h
! archive.o: ../include/paths.h
! archive.o: ../include/qio.h
! batcher.o: ../include/clibrary.h
! batcher.o: ../include/configdata.h
! batcher.o: ../include/configdata.h
! batcher.o: ../include/libinn.h
! batcher.o: ../include/libinn.h
! batcher.o: ../include/logging.h
! batcher.o: ../include/macros.h
! batcher.o: ../include/paths.h
! buffchan.o: ../include/clibrary.h
! buffchan.o: ../include/configdata.h
! buffchan.o: ../include/configdata.h
! buffchan.o: ../include/libinn.h
! buffchan.o: ../include/libinn.h
! buffchan.o: ../include/macros.h
! buffchan.o: ../include/paths.h
! buffchan.o: ../include/qio.h
! crosspost.o: ../include/clibrary.h
! crosspost.o: ../include/configdata.h
! crosspost.o: ../include/configdata.h
! crosspost.o: ../include/libinn.h
! crosspost.o: ../include/libinn.h
! crosspost.o: ../include/macros.h
! crosspost.o: ../include/paths.h
! crosspost.o: ../include/qio.h
! crosspost.o: ../include/qio.h
! cvtbatch.o: ../include/clibrary.h
! cvtbatch.o: ../include/configdata.h
! cvtbatch.o: ../include/configdata.h
! cvtbatch.o: ../include/libinn.h
! cvtbatch.o: ../include/macros.h
! cvtbatch.o: ../include/paths.h
! cvtbatch.o: ../include/qio.h
! cvtbatch.o: ../include/qio.h
! filechan.o: ../include/clibrary.h
! filechan.o: ../include/configdata.h
! filechan.o: ../include/configdata.h
! filechan.o: ../include/libinn.h
! filechan.o: ../include/libinn.h
! filechan.o: ../include/macros.h
! filechan.o: ../include/paths.h
! innxbatch.o: ../include/clibrary.h
! innxbatch.o: ../include/configdata.h
! innxbatch.o: ../include/configdata.h
! innxbatch.o: ../include/libinn.h
! innxbatch.o: ../include/logging.h
! innxbatch.o: ../include/logging.h
! innxbatch.o: ../include/macros.h
! innxbatch.o: ../include/nntp.h
! innxmit.o: ../include/clibrary.h
! innxmit.o: ../include/configdata.h
! innxmit.o: ../include/configdata.h
! innxmit.o: ../include/dbz.h
! innxmit.o: ../include/libinn.h
! innxmit.o: ../include/logging.h
! innxmit.o: ../include/macros.h
! innxmit.o: ../include/nntp.h
! innxmit.o: ../include/paths.h
! innxmit.o: ../include/paths.h
! innxmit.o: ../include/qio.h
! innxmit.o: ../include/qio.h
! nntpget.o: ../include/clibrary.h
! nntpget.o: ../include/configdata.h
! nntpget.o: ../include/configdata.h
! nntpget.o: ../include/dbz.h
! nntpget.o: ../include/libinn.h
! nntpget.o: ../include/libinn.h
! nntpget.o: ../include/macros.h
! nntpget.o: ../include/macros.h
! nntpget.o: ../include/nntp.h
! nntpget.o: ../include/paths.h
! overchan.o: ../include/clibrary.h
! overchan.o: ../include/configdata.h
! overchan.o: ../include/configdata.h
! overchan.o: ../include/libinn.h
! overchan.o: ../include/macros.h
! overchan.o: ../include/macros.h
! overchan.o: ../include/paths.h
! overchan.o: ../include/qio.h
! shlock.o: ../include/clibrary.h
! shlock.o: ../include/configdata.h
! shlock.o: ../include/configdata.h
! shrinkfile.o: ../include/clibrary.h
! shrinkfile.o: ../include/configdata.h
! shrinkfile.o: ../include/configdata.h
! shrinkfile.o: ../include/libinn.h
! shrinkfile.o: ../include/libinn.h
! shrinkfile.o: ../include/macros.h
diff -Nacr inn-1.7/backends/actsync.c inn-1.7.1/backends/actsync.c
*** inn-1.7/backends/actsync.c	Tue Oct  7 15:17:46 1997
--- inn-1.7.1/backends/actsync.c	Fri Dec  5 22:42:12 1997
***************
*** 642,649 ****
--- 642,651 ----
  		break;
  	    case 1:
  		ign_host1_flag = 1;
+ 		ign_host2_flag = 0;
  		break;
  	    case 2:
+ 		ign_host1_flag = 0;
  		ign_host2_flag = 1;
  		break;
  	    case 12:
***************
*** 1963,1969 ****
  		}
  		break;
  	    case HOSTID2:
! 		if (ign_host1_flag) {
  		    gp->ignore |= CHECK_IGNORE;
  		    ++icnt;
  		}
--- 1965,1971 ----
  		}
  		break;
  	    case HOSTID2:
! 		if (ign_host2_flag) {
  		    gp->ignore |= CHECK_IGNORE;
  		    ++icnt;
  		}
diff -Nacr inn-1.7/backends/actsyncd.sh inn-1.7.1/backends/actsyncd.sh
*** inn-1.7/backends/actsyncd.sh	Tue Oct  7 15:17:46 1997
--- inn-1.7.1/backends/actsyncd.sh	Fri Dec  5 22:42:12 1997
***************
*** 146,152 ****
  # Try to sync off of the host.  If unable to connect/sync then retry
  # up to 9 more times waiting 6 minutes between each try.
  #
! echo "=-= `date` for $host"
  for loop in 1 2 3 4 5 6 7 8 9 10; do
  
      # pause the server
--- 146,152 ----
  # Try to sync off of the host.  If unable to connect/sync then retry
  # up to 9 more times waiting 6 minutes between each try.
  #
! echo "=-= `date` for $host" >>$out 2>&1
  for loop in 1 2 3 4 5 6 7 8 9 10; do
  
      # pause the server
***************
*** 283,288 ****
  
  # give up
  #
! echo "FATAL: `date` for $host failed to connect/sync 10 times" >>$out
! sed -e 's/^/    /' < "$tmp"
  exit "$status"
--- 283,288 ----
  
  # give up
  #
! echo "FATAL: `date` for $host failed to connect/sync 10 times" >>$out 2>&1
! sed -e 's/^/    /' < "$out"
  exit "$status"
diff -Nacr inn-1.7/config/config.dist inn-1.7.1/config/config.dist
*** inn-1.7/config/config.dist	Tue Oct  7 15:17:48 1997
--- inn-1.7.1/config/config.dist	Fri Dec  5 22:42:12 1997
***************
*** 457,463 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 457,463 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 594,605 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
--- 594,606 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
diff -Nacr inn-1.7/expire/Makefile inn-1.7.1/expire/Makefile
*** inn-1.7/expire/Makefile	Tue Oct  7 15:17:57 1997
--- inn-1.7.1/expire/Makefile	Fri Dec  5 22:42:12 1997
***************
*** 152,212 ****
  	makedepend $(DEFS) $(SOURCES)
  
  # DO NOT DELETE THIS LINE -- make depend depends on it.
! convdate.o:	../include/clibrary.h
! convdate.o:	../include/configdata.h
! convdate.o:	../include/libinn.h
! convdate.o:	../include/macros.h
! dbz.o:		../include/dbz.h
! expire.o:	../include/clibrary.h
! expire.o:	../include/configdata.h
! expire.o:	../include/dbz.h
! expire.o:	../include/inndcomm.h
! expire.o:	../include/libinn.h
! expire.o:	../include/macros.h
! expire.o:	../include/paths.h
! expire.o:	../include/qio.h
! expireover.o:	../include/clibrary.h
! expireover.o:	../include/configdata.h
! expireover.o:	../include/libinn.h
! expireover.o:	../include/macros.h
! expireover.o:	../include/mydir.h
! expireover.o:	../include/paths.h
! expireover.o:	../include/qio.h
! fastrm.o:	../include/clibrary.h
! fastrm.o:	../include/configdata.h
! fastrm.o:	../include/libinn.h
! fastrm.o:	../include/macros.h
! fastrm.o:	../include/mydir.h
! grephistory.o:	../include/clibrary.h
! grephistory.o:	../include/configdata.h
! grephistory.o:	../include/dbz.h
! grephistory.o:	../include/libinn.h
! grephistory.o:	../include/macros.h
! grephistory.o:	../include/paths.h
! makeactive.o:	../include/clibrary.h
! makeactive.o:	../include/configdata.h
! makeactive.o:	../include/libinn.h
! makeactive.o:	../include/macros.h
! makeactive.o:	../include/mydir.h
! makeactive.o:	../include/paths.h
! makehistory.o:	../include/clibrary.h
! makehistory.o:	../include/configdata.h
! makehistory.o:	../include/dbz.h
! makehistory.o:	../include/libinn.h
! makehistory.o:	../include/macros.h
! makehistory.o:	../include/paths.h
! makehistory.o:	../include/qio.h
! newsrequeue.o:	../include/clibrary.h
! newsrequeue.o:	../include/configdata.h
! newsrequeue.o:	../include/dbz.h
! newsrequeue.o:	../include/libinn.h
! newsrequeue.o:	../include/macros.h
! newsrequeue.o:	../include/paths.h
! newsrequeue.o:	../include/qio.h
! prunehistory.o:	../include/clibrary.h
! prunehistory.o:	../include/configdata.h
! prunehistory.o:	../include/dbz.h
! prunehistory.o:	../include/libinn.h
! prunehistory.o:	../include/macros.h
! prunehistory.o:	../include/paths.h
! prunehistory.o:	../include/paths.h
--- 152,239 ----
  	makedepend $(DEFS) $(SOURCES)
  
  # DO NOT DELETE THIS LINE -- make depend depends on it.
! 
! convdate.o: ../include/clibrary.h
! convdate.o: ../include/configdata.h
! convdate.o: ../include/configdata.h
! convdate.o: ../include/libinn.h
! convdate.o: ../include/macros.h
! convdate.o: ../include/macros.h
! expire.o: ../include/clibrary.h
! expire.o: ../include/configdata.h
! expire.o: ../include/configdata.h
! expire.o: ../include/dbz.h
! expire.o: ../include/inndcomm.h
! expire.o: ../include/libinn.h
! expire.o: ../include/libinn.h
! expire.o: ../include/macros.h
! expire.o: ../include/paths.h
! expire.o: ../include/qio.h
! expire.o: ../include/qio.h
! expireover.o: ../include/clibrary.h
! expireover.o: ../include/configdata.h
! expireover.o: ../include/configdata.h
! expireover.o: ../include/libinn.h
! expireover.o: ../include/macros.h
! expireover.o: ../include/mydir.h
! expireover.o: ../include/mydir.h
! expireover.o: ../include/paths.h
! expireover.o: ../include/paths.h
! expireover.o: ../include/qio.h
! fastrm.o: ../include/clibrary.h
! fastrm.o: ../include/configdata.h
! fastrm.o: ../include/configdata.h
! fastrm.o: ../include/libinn.h
! fastrm.o: ../include/macros.h
! fastrm.o: ../include/macros.h
! fastrm.o: ../include/mydir.h
! grephistory.o: ../include/clibrary.h
! grephistory.o: ../include/configdata.h
! grephistory.o: ../include/configdata.h
! grephistory.o: ../include/dbz.h
! grephistory.o: ../include/libinn.h
! grephistory.o: ../include/macros.h
! grephistory.o: ../include/macros.h
! grephistory.o: ../include/paths.h
! grephistory.o: ../include/paths.h
! makeactive.o: ../include/clibrary.h
! makeactive.o: ../include/configdata.h
! makeactive.o: ../include/configdata.h
! makeactive.o: ../include/libinn.h
! makeactive.o: ../include/macros.h
! makeactive.o: ../include/macros.h
! makeactive.o: ../include/mydir.h
! makeactive.o: ../include/paths.h
! makeactive.o: ../include/paths.h
! makehistory.o: ../include/clibrary.h
! makehistory.o: ../include/configdata.h
! makehistory.o: ../include/configdata.h
! makehistory.o: ../include/dbz.h
! makehistory.o: ../include/dbz.h
! makehistory.o: ../include/inndcomm.h
! makehistory.o: ../include/libinn.h
! makehistory.o: ../include/macros.h
! makehistory.o: ../include/mydir.h
! makehistory.o: ../include/mydir.h
! makehistory.o: ../include/paths.h
! makehistory.o: ../include/paths.h
! makehistory.o: ../include/qio.h
! newsrequeue.o: ../include/clibrary.h
! newsrequeue.o: ../include/configdata.h
! newsrequeue.o: ../include/configdata.h
! newsrequeue.o: ../include/dbz.h
! newsrequeue.o: ../include/libinn.h
! newsrequeue.o: ../include/macros.h
! newsrequeue.o: ../include/paths.h
! newsrequeue.o: ../include/paths.h
! newsrequeue.o: ../include/qio.h
! newsrequeue.o: ../include/qio.h
! prunehistory.o: ../include/clibrary.h
! prunehistory.o: ../include/configdata.h
! prunehistory.o: ../include/configdata.h
! prunehistory.o: ../include/dbz.h
! prunehistory.o: ../include/libinn.h
! prunehistory.o: ../include/macros.h
! prunehistory.o: ../include/macros.h
! prunehistory.o: ../include/paths.h
! prunehistory.o: ../include/paths.h
diff -Nacr inn-1.7/expire/expireover.c inn-1.7.1/expire/expireover.c
*** inn-1.7/expire/expireover.c	Tue Oct  7 15:17:57 1997
--- inn-1.7.1/expire/expireover.c	Fri Dec  5 22:42:12 1997
***************
*** 438,444 ****
  	   caller's use.  mibsoft 8/22/97
  	 */
  	for (hp = Headers, i = ARTfieldsize; --i >= 0; hp++) {
! 	    if (hp->Header) {
  		DISPOSE(hp->Header);
  		hp->Header = 0;
  	    }
--- 438,444 ----
  	   caller's use.  mibsoft 8/22/97
  	 */
  	for (hp = Headers, i = ARTfieldsize; --i >= 0; hp++) {
! 	    if (hp->HasHeader) {
  		DISPOSE(hp->Header);
  		hp->Header = 0;
  	    }
diff -Nacr inn-1.7/frontends/Makefile inn-1.7.1/frontends/Makefile
*** inn-1.7/frontends/Makefile	Tue Oct  7 15:17:59 1997
--- inn-1.7.1/frontends/Makefile	Fri Dec  5 22:42:12 1997
***************
*** 126,162 ****
  	makedepend $(DEFS) $(SOURCES)
  
  # DO NOT DELETE THIS LINE -- make depend depends on it.
! ctlinnd.o:	../include/clibrary.h
! ctlinnd.o:	../include/configdata.h
! ctlinnd.o:	../include/inndcomm.h
! ctlinnd.o:	../include/libinn.h
! ctlinnd.o:	../include/macros.h
! ctlinnd.o:	../include/paths.h
! decode.o:	../include/clibrary.h
! decode.o:	../include/configdata.h
! encode.o:	../include/clibrary.h
! encode.o:	../include/configdata.h
! getlist:	../include/clibrary.h
! getlist:	../include/configdata.h
! getlist:	../include/libinn.h
! getlist:	../include/macros.h
! getlist:	../include/paths.h
! getlist:	../include/qio.h
! inews.o:	../include/clibrary.h
! inews.o:	../include/configdata.h
! inews.o:	../include/libinn.h
! inews.o:	../include/macros.h
! inews.o:	../include/nntp.h
! inews.o:	../include/paths.h
! innconfval.o:	../include/clibrary.h
! innconfval.o:	../include/configdata.h
! innconfval.o:	../include/libinn.h
! innconfval.o:	../include/macros.h
! rnews.o:	../include/clibrary.h
! rnews.o:	../include/configdata.h
! rnews.o:	../include/libinn.h
! rnews.o:	../include/logging.h
! rnews.o:	../include/macros.h
! rnews.o:	../include/mydir.h
! rnews.o:	../include/nntp.h
! rnews.o:	../include/paths.h
--- 126,156 ----
  	makedepend $(DEFS) $(SOURCES)
  
  # DO NOT DELETE THIS LINE -- make depend depends on it.
! 
! ctlinnd.o: ../include/clibrary.h
! ctlinnd.o: ../include/configdata.h
! ctlinnd.o: ../include/configdata.h
! ctlinnd.o: ../include/inndcomm.h
! ctlinnd.o: ../include/inndcomm.h
! ctlinnd.o: ../include/libinn.h
! ctlinnd.o: ../include/macros.h
! ctlinnd.o: ../include/paths.h
! inews.o: ../include/clibrary.h
! inews.o: ../include/configdata.h
! inews.o: ../include/configdata.h
! inews.o: ../include/libinn.h
! inews.o: ../include/macros.h
! inews.o: ../include/nntp.h
! inews.o: ../include/paths.h
! inews.o: ../include/paths.h
! rnews.o: ../include/clibrary.h
! rnews.o: ../include/configdata.h
! rnews.o: ../include/configdata.h
! rnews.o: ../include/libinn.h
! rnews.o: ../include/logging.h
! rnews.o: ../include/macros.h
! rnews.o: ../include/mydir.h
! rnews.o: ../include/mydir.h
! rnews.o: ../include/nntp.h
! rnews.o: ../include/paths.h
! rnews.o: ../include/paths.h
diff -Nacr inn-1.7/include/patchlevel.h inn-1.7.1/include/patchlevel.h
*** inn-1.7/include/patchlevel.h	Thu Oct 16 20:06:38 1997
--- inn-1.7.1/include/patchlevel.h	Fri Dec  5 22:42:12 1997
***************
*** 13,20 ****
  **  Try to avoid changing these.
  */
  #define RELEASE "1"
! #define PATCHLEVEL "7"
! #define DATE "16-Oct-1997"
  
  
  /*
--- 13,20 ----
  **  Try to avoid changing these.
  */
  #define RELEASE "1"
! #define PATCHLEVEL "7.1"
! #define DATE "05-Dec-1997"
  
  
  /*
***************
*** 25,28 ****
  */
  #define RELEASE_C 1
  #define PATCHLEVEL_C 7
! #define SUB_PATCHLEVEL_C 0
--- 25,28 ----
  */
  #define RELEASE_C 1
  #define PATCHLEVEL_C 7
! #define SUB_PATCHLEVEL_C 1
diff -Nacr inn-1.7/innd/Makefile inn-1.7.1/innd/Makefile
*** inn-1.7/innd/Makefile	Tue Oct  7 15:18:03 1997
--- inn-1.7.1/innd/Makefile	Fri Dec  5 22:42:12 1997
***************
*** 118,127 ****
  	makedepend $(DEFS) $(SOURCES)
  
  # DO NOT DELETE THIS LINE -- make depend depends on it.
! $(OBJECTS):	innd.h ../include/clibrary.h ../include/configdata.h \
! 		../include/libinn.h ../include/logging.h \
! 		../include/macros.h ../include/nntp.h ../include/paths.h
! ng.o:		../include/mydir.h
! inndstart.o:	../include/clibrary.h ../include/configdata.h \
! 		../include/libinn.h ../include/logging.h \
! 		../include/macros.h ../include/paths.h
--- 118,293 ----
  	makedepend $(DEFS) $(SOURCES)
  
  # DO NOT DELETE THIS LINE -- make depend depends on it.
! 
! art.o: ../include/clibrary.h
! art.o: ../include/configdata.h
! art.o: ../include/configdata.h
! art.o: ../include/dbz.h
! art.o: ../include/libinn.h
! art.o: ../include/logging.h
! art.o: ../include/macros.h
! art.o: ../include/macros.h
! art.o: ../include/nntp.h
! art.o: ../include/paths.h
! art.o: ../include/paths.h
! art.o: art.h
! art.o: innd.h
! cc.o: ../include/clibrary.h
! cc.o: ../include/configdata.h
! cc.o: ../include/configdata.h
! cc.o: ../include/inndcomm.h
! cc.o: ../include/libinn.h
! cc.o: ../include/logging.h
! cc.o: ../include/macros.h
! cc.o: ../include/macros.h
! cc.o: ../include/nntp.h
! cc.o: ../include/paths.h
! cc.o: ../include/paths.h
! cc.o: innd.h
! chan.o: ../include/clibrary.h
! chan.o: ../include/configdata.h
! chan.o: ../include/configdata.h
! chan.o: ../include/libinn.h
! chan.o: ../include/libinn.h
! chan.o: ../include/logging.h
! chan.o: ../include/macros.h
! chan.o: ../include/nntp.h
! chan.o: ../include/nntp.h
! chan.o: ../include/paths.h
! chan.o: innd.h
! his.o: ../include/clibrary.h
! his.o: ../include/configdata.h
! his.o: ../include/configdata.h
! his.o: ../include/dbz.h
! his.o: ../include/libinn.h
! his.o: ../include/logging.h
! his.o: ../include/macros.h
! his.o: ../include/macros.h
! his.o: ../include/nntp.h
! his.o: ../include/paths.h
! his.o: ../include/paths.h
! his.o: innd.h
! icd.o: ../include/clibrary.h
! icd.o: ../include/configdata.h
! icd.o: ../include/configdata.h
! icd.o: ../include/libinn.h
! icd.o: ../include/logging.h
! icd.o: ../include/macros.h
! icd.o: ../include/macros.h
! icd.o: ../include/nntp.h
! icd.o: ../include/paths.h
! icd.o: ../include/paths.h
! icd.o: innd.h
! innd.o: ../include/clibrary.h
! innd.o: ../include/configdata.h
! innd.o: ../include/configdata.h
! innd.o: ../include/libinn.h
! innd.o: ../include/libinn.h
! innd.o: ../include/logging.h
! innd.o: ../include/macros.h
! innd.o: ../include/nntp.h
! innd.o: ../include/nntp.h
! innd.o: ../include/paths.h
! innd.o: innd.h
! lc.o: ../include/clibrary.h
! lc.o: ../include/configdata.h
! lc.o: ../include/configdata.h
! lc.o: ../include/libinn.h
! lc.o: ../include/logging.h
! lc.o: ../include/macros.h
! lc.o: ../include/macros.h
! lc.o: ../include/nntp.h
! lc.o: ../include/paths.h
! lc.o: ../include/paths.h
! lc.o: innd.h
! nc.o: ../include/clibrary.h
! nc.o: ../include/configdata.h
! nc.o: ../include/configdata.h
! nc.o: ../include/dbz.h
! nc.o: ../include/libinn.h
! nc.o: ../include/logging.h
! nc.o: ../include/macros.h
! nc.o: ../include/macros.h
! nc.o: ../include/nntp.h
! nc.o: ../include/paths.h
! nc.o: ../include/paths.h
! nc.o: innd.h
! newsfeeds.o: ../include/clibrary.h
! newsfeeds.o: ../include/configdata.h
! newsfeeds.o: ../include/configdata.h
! newsfeeds.o: ../include/libinn.h
! newsfeeds.o: ../include/libinn.h
! newsfeeds.o: ../include/logging.h
! newsfeeds.o: ../include/macros.h
! newsfeeds.o: ../include/nntp.h
! newsfeeds.o: ../include/nntp.h
! newsfeeds.o: ../include/paths.h
! newsfeeds.o: innd.h
! ng.o: ../include/clibrary.h
! ng.o: ../include/configdata.h
! ng.o: ../include/configdata.h
! ng.o: ../include/libinn.h
! ng.o: ../include/logging.h
! ng.o: ../include/macros.h
! ng.o: ../include/macros.h
! ng.o: ../include/mydir.h
! ng.o: ../include/nntp.h
! ng.o: ../include/paths.h
! ng.o: ../include/paths.h
! ng.o: innd.h
! perl.o: ../include/clibrary.h
! perl.o: ../include/configdata.h
! perl.o: ../include/configdata.h
! perl.o: ../include/libinn.h
! perl.o: ../include/libinn.h
! perl.o: ../include/logging.h
! perl.o: ../include/macros.h
! perl.o: ../include/nntp.h
! perl.o: ../include/nntp.h
! perl.o: ../include/paths.h
! perl.o: art.h
! perl.o: innd.h
! proc.o: ../include/clibrary.h
! proc.o: ../include/configdata.h
! proc.o: ../include/configdata.h
! proc.o: ../include/libinn.h
! proc.o: ../include/libinn.h
! proc.o: ../include/logging.h
! proc.o: ../include/macros.h
! proc.o: ../include/nntp.h
! proc.o: ../include/nntp.h
! proc.o: ../include/paths.h
! proc.o: innd.h
! rc.o: ../include/clibrary.h
! rc.o: ../include/configdata.h
! rc.o: ../include/configdata.h
! rc.o: ../include/libinn.h
! rc.o: ../include/logging.h
! rc.o: ../include/macros.h
! rc.o: ../include/macros.h
! rc.o: ../include/nntp.h
! rc.o: ../include/paths.h
! rc.o: ../include/paths.h
! rc.o: innd.h
! site.o: ../include/clibrary.h
! site.o: ../include/configdata.h
! site.o: ../include/configdata.h
! site.o: ../include/libinn.h
! site.o: ../include/libinn.h
! site.o: ../include/logging.h
! site.o: ../include/macros.h
! site.o: ../include/nntp.h
! site.o: ../include/nntp.h
! site.o: ../include/paths.h
! site.o: innd.h
! tcl.o: ../include/clibrary.h
! tcl.o: ../include/configdata.h
! tcl.o: ../include/configdata.h
! tcl.o: ../include/libinn.h
! tcl.o: ../include/logging.h
! tcl.o: ../include/macros.h
! tcl.o: ../include/macros.h
! tcl.o: ../include/nntp.h
! tcl.o: ../include/paths.h
! tcl.o: ../include/paths.h
! tcl.o: innd.h
diff -Nacr inn-1.7/innd/chan.c inn-1.7.1/innd/chan.c
*** inn-1.7/innd/chan.c	Wed Oct  8 20:10:08 1997
--- inn-1.7.1/innd/chan.c	Fri Dec  5 22:42:12 1997
***************
*** 47,53 ****
      if ((bp->Left = length) != 0) {
  	/* Need more space? */
  	if (bp->Size < length) {
! 	    bp->Size = GROW_AMOUNT(length);
  	    RENEW(bp->Data, char, bp->Size);
  	}
  
--- 47,53 ----
      if ((bp->Left = length) != 0) {
  	/* Need more space? */
  	if (bp->Size < length) {
! 	    bp->Size = length;
  	    RENEW(bp->Data, char, bp->Size);
  	}
  
diff -Nacr inn-1.7/innd/nc.c inn-1.7.1/innd/nc.c
*** inn-1.7/innd/nc.c	Tue Oct  7 15:18:04 1997
--- inn-1.7.1/innd/nc.c	Fri Dec  5 22:42:12 1997
***************
*** 372,378 ****
      }
  
      /* Write it. */
!     NCwritereply(cp, NNTP_HEAD_FOLLOWS);
      for (p = head; ((q = strchr(p, '\n')) != NULL); p = q + 1) {
  	if (*p == '.')
  	    WCHANappend(cp, ".", 1);
--- 372,379 ----
      }
  
      /* Write it. */
!     WCHANappend(cp, NNTP_HEAD_FOLLOWS, STRLEN(NNTP_HEAD_FOLLOWS));
!     WCHANappend(cp, NCterm, STRLEN(NCterm));
      for (p = head; ((q = strchr(p, '\n')) != NULL); p = q + 1) {
  	if (*p == '.')
  	    WCHANappend(cp, ".", 1);
***************
*** 381,387 ****
      }
  
      /* Write the terminator. */
!     WCHANappend(cp, NCdotterm, STRLEN(NCdotterm));
  }
  
  
--- 382,388 ----
      }
  
      /* Write the terminator. */
!     NCwritereply(cp, NCdot);
  }
  
  
diff -Nacr inn-1.7/lib/Makefile inn-1.7.1/lib/Makefile
*** inn-1.7/lib/Makefile	Tue Oct  7 15:18:09 1997
--- inn-1.7.1/lib/Makefile	Fri Dec  5 22:42:12 1997
***************
*** 155,202 ****
  	makedepend $(DEFS) $(SOURCES)
  
  # DO NOT DELETE THIS LINE -- make depend depends on it.
- checkart.o:	../include/nntp.h
- checkart.o:	../include/nntp.h
- cleanfrom.o:	../include/macros.h
- clientactive.o:	../include/paths.h
- clientlib.o:	../include/myserver.h
- clientlib.o:	../include/nntp.h
- clientlib.o:	../include/macros.h
- clientlib.o:	../include/paths.h
- dbz.o:		../include/dbz.h
- defdist.o:	../include/paths.h
- defdist.o:	../include/macros.h
- findheader.o:	../include/macros.h
- genid.o:	../include/configdata.h
- genid.o:	../include/clibrary.h
- genid.o:	../include/libinn.h
- getconfig.o:	../include/macros.h
- getconfig.o:	../include/paths.h
- getfqdn.o:	../include/paths.h
- getmodaddr.o:	../include/macros.h
- getmodaddr.o:	../include/paths.h
- inndcomm.o:	../include/inndcomm.h
- inndcomm.o:	../include/macros.h
- inndcomm.o:	../include/nntp.h
- inndcomm.o:	../include/paths.h
- innvers.o:	../include/patchlevel.h
- localopen.o:	../include/macros.h
- localopen.o:	../include/nntp.h
- localopen.o:	../include/paths.h
- parsedate.o:	../include/macros.h
- qio.o:		../include/macros.h
- qio.o:		../include/qio.h
- readin.o:	../include/macros.h
- remopen.o:	../include/nntp.h
- remopen.o:	../include/paths.h
- resource.o:	../include/macros.h
- sendarticle.o:	../include/nntp.h
- sendpass.o:	../include/macros.h
- sendpass.o:	../include/nntp.h
- sendpass.o:	../include/paths.h
- xmalloc.o:	../include/macros.h
- xrealloc.o:	../include/macros.h
  
! $(OBJECTS):	../include/configdata.h \
! 		../include/clibrary.h \
! 		../include/libinn.h
--- 155,346 ----
  	makedepend $(DEFS) $(SOURCES)
  
  # DO NOT DELETE THIS LINE -- make depend depends on it.
  
! checkart.o: ../include/clibrary.h
! checkart.o: ../include/configdata.h
! checkart.o: ../include/configdata.h
! checkart.o: ../include/nntp.h
! cleanfrom.o: ../include/clibrary.h
! cleanfrom.o: ../include/configdata.h
! cleanfrom.o: ../include/configdata.h
! cleanfrom.o: ../include/macros.h
! cleanfrom.o: ../include/macros.h
! clientactive.o: ../include/clibrary.h
! clientactive.o: ../include/configdata.h
! clientactive.o: ../include/configdata.h
! clientactive.o: ../include/libinn.h
! clientactive.o: ../include/macros.h
! clientactive.o: ../include/macros.h
! clientactive.o: ../include/nntp.h
! clientactive.o: ../include/paths.h
! clientactive.o: ../include/paths.h
! clientlib.o: ../include/clibrary.h
! clientlib.o: ../include/configdata.h
! clientlib.o: ../include/configdata.h
! clientlib.o: ../include/libinn.h
! clientlib.o: ../include/myserver.h
! clientlib.o: ../include/nntp.h
! clientlib.o: ../include/paths.h
! clientlib.o: ../include/paths.h
! closeonexec.o: ../include/clibrary.h
! closeonexec.o: ../include/configdata.h
! closeonexec.o: ../include/configdata.h
! dbz.o: ../include/dbz.h
! defdist.o: ../include/clibrary.h
! defdist.o: ../include/configdata.h
! defdist.o: ../include/configdata.h
! defdist.o: ../include/libinn.h
! defdist.o: ../include/macros.h
! defdist.o: ../include/paths.h
! defdist.o: ../include/paths.h
! findheader.o: ../include/clibrary.h
! findheader.o: ../include/configdata.h
! findheader.o: ../include/configdata.h
! findheader.o: ../include/libinn.h
! findheader.o: ../include/libinn.h
! findheader.o: ../include/macros.h
! genid.o: ../include/clibrary.h
! genid.o: ../include/configdata.h
! genid.o: ../include/configdata.h
! genid.o: ../include/libinn.h
! getconfig.o: ../include/clibrary.h
! getconfig.o: ../include/configdata.h
! getconfig.o: ../include/configdata.h
! getconfig.o: ../include/libinn.h
! getconfig.o: ../include/libinn.h
! getconfig.o: ../include/macros.h
! getconfig.o: ../include/paths.h
! getdtab.o: ../include/clibrary.h
! getdtab.o: ../include/configdata.h
! getdtab.o: ../include/configdata.h
! getfqdn.o: ../include/clibrary.h
! getfqdn.o: ../include/configdata.h
! getfqdn.o: ../include/configdata.h
! getfqdn.o: ../include/libinn.h
! getfqdn.o: ../include/libinn.h
! getfqdn.o: ../include/paths.h
! getmodaddr.o: ../include/clibrary.h
! getmodaddr.o: ../include/configdata.h
! getmodaddr.o: ../include/configdata.h
! getmodaddr.o: ../include/libinn.h
! getmodaddr.o: ../include/macros.h
! getmodaddr.o: ../include/nntp.h
! getmodaddr.o: ../include/nntp.h
! getmodaddr.o: ../include/paths.h
! getmodaddr.o: ../include/paths.h
! gettime.o: ../include/clibrary.h
! gettime.o: ../include/configdata.h
! gettime.o: ../include/configdata.h
! gettime.o: ../include/libinn.h
! inndcomm.o: ../include/clibrary.h
! inndcomm.o: ../include/configdata.h
! inndcomm.o: ../include/configdata.h
! inndcomm.o: ../include/inndcomm.h
! inndcomm.o: ../include/libinn.h
! inndcomm.o: ../include/macros.h
! inndcomm.o: ../include/macros.h
! inndcomm.o: ../include/nntp.h
! inndcomm.o: ../include/paths.h
! inndcomm.o: ../include/paths.h
! innvers.o: ../include/clibrary.h
! innvers.o: ../include/configdata.h
! innvers.o: ../include/configdata.h
! innvers.o: ../include/patchlevel.h
! innvers.o: ../include/patchlevel.h
! localopen.o: ../include/clibrary.h
! localopen.o: ../include/configdata.h
! localopen.o: ../include/configdata.h
! localopen.o: ../include/macros.h
! localopen.o: ../include/nntp.h
! localopen.o: ../include/nntp.h
! localopen.o: ../include/paths.h
! lockfile.o: ../include/clibrary.h
! lockfile.o: ../include/configdata.h
! lockfile.o: ../include/configdata.h
! nonblocking.o: ../include/clibrary.h
! nonblocking.o: ../include/configdata.h
! nonblocking.o: ../include/configdata.h
! parsedate.o: ../include/clibrary.h
! parsedate.o: ../include/configdata.h
! parsedate.o: ../include/configdata.h
! parsedate.o: ../include/libinn.h
! parsedate.o: ../include/libinn.h
! parsedate.o: ../include/macros.h
! perl.o: ../include/clibrary.h
! perl.o: ../include/configdata.h
! perl.o: ../include/configdata.h
! perl.o: ../include/logging.h
! qio.o: ../include/clibrary.h
! qio.o: ../include/configdata.h
! qio.o: ../include/configdata.h
! qio.o: ../include/libinn.h
! qio.o: ../include/macros.h
! qio.o: ../include/qio.h
! qio.o: ../include/qio.h
! radix32.o: ../include/clibrary.h
! radix32.o: ../include/configdata.h
! radix32.o: ../include/configdata.h
! readin.o: ../include/clibrary.h
! readin.o: ../include/configdata.h
! readin.o: ../include/configdata.h
! readin.o: ../include/libinn.h
! readin.o: ../include/macros.h
! readin.o: ../include/macros.h
! remopen.o: ../include/clibrary.h
! remopen.o: ../include/configdata.h
! remopen.o: ../include/configdata.h
! remopen.o: ../include/libinn.h
! remopen.o: ../include/nntp.h
! remopen.o: ../include/paths.h
! remopen.o: ../include/paths.h
! resource.o: ../include/clibrary.h
! resource.o: ../include/configdata.h
! resource.o: ../include/configdata.h
! resource.o: ../include/macros.h
! sendarticle.o: ../include/clibrary.h
! sendarticle.o: ../include/configdata.h
! sendarticle.o: ../include/configdata.h
! sendarticle.o: ../include/libinn.h
! sendarticle.o: ../include/libinn.h
! sendarticle.o: ../include/nntp.h
! sendpass.o: ../include/clibrary.h
! sendpass.o: ../include/configdata.h
! sendpass.o: ../include/configdata.h
! sendpass.o: ../include/libinn.h
! sendpass.o: ../include/macros.h
! sendpass.o: ../include/nntp.h
! sendpass.o: ../include/paths.h
! sendpass.o: ../include/paths.h
! tempname.o: ../include/clibrary.h
! tempname.o: ../include/configdata.h
! tempname.o: ../include/configdata.h
! waitnb.o: ../include/clibrary.h
! waitnb.o: ../include/configdata.h
! waitnb.o: ../include/configdata.h
! wildmat.o: ../include/clibrary.h
! wildmat.o: ../include/configdata.h
! wildmat.o: ../include/configdata.h
! xfopena.o: ../include/clibrary.h
! xfopena.o: ../include/configdata.h
! xfopena.o: ../include/configdata.h
! xmalloc.o: ../include/clibrary.h
! xmalloc.o: ../include/configdata.h
! xmalloc.o: ../include/configdata.h
! xmalloc.o: ../include/libinn.h
! xmalloc.o: ../include/macros.h
! xmalloc.o: ../include/macros.h
! xmemerr.o: ../include/clibrary.h
! xmemerr.o: ../include/configdata.h
! xmemerr.o: ../include/configdata.h
! xrealloc.o: ../include/clibrary.h
! xrealloc.o: ../include/configdata.h
! xrealloc.o: ../include/configdata.h
! xrealloc.o: ../include/libinn.h
! xrealloc.o: ../include/macros.h
! xrealloc.o: ../include/macros.h
! xwrite.o: ../include/clibrary.h
! xwrite.o: ../include/configdata.h
! xwrite.o: ../include/configdata.h
! xwritev.o: ../include/clibrary.h
! xwritev.o: ../include/configdata.h
! xwritev.o: ../include/configdata.h
diff -Nacr inn-1.7/nnrpd/Makefile inn-1.7.1/nnrpd/Makefile
*** inn-1.7/nnrpd/Makefile	Tue Oct  7 15:18:13 1997
--- inn-1.7.1/nnrpd/Makefile	Fri Dec  5 22:42:12 1997
***************
*** 94,103 ****
  	makedepend $(DEFS) $(SOURCES)
  
  # DO NOT DELETE THIS LINE -- make depend depends on it.
! $(OBJECTS):	nnrpd.h \
! 		../include/clibrary.h ../include/configdata.h \
! 		../include/libinn.h ../include/logging.h \
! 		../include/macros.h ../include/nntp.h \
! 		../include/paths.h ../include/qio.h
! group.o:	../include/mydir.h
! misc.o:		../include/dbz.h
--- 94,205 ----
  	makedepend $(DEFS) $(SOURCES)
  
  # DO NOT DELETE THIS LINE -- make depend depends on it.
! 
! article.o: ../include/clibrary.h
! article.o: ../include/configdata.h
! article.o: ../include/configdata.h
! article.o: ../include/libinn.h
! article.o: ../include/libinn.h
! article.o: ../include/logging.h
! article.o: ../include/macros.h
! article.o: ../include/nntp.h
! article.o: ../include/paths.h
! article.o: ../include/paths.h
! article.o: ../include/qio.h
! article.o: nnrpd.h
! commands.o: ../include/clibrary.h
! commands.o: ../include/configdata.h
! commands.o: ../include/configdata.h
! commands.o: ../include/libinn.h
! commands.o: ../include/libinn.h
! commands.o: ../include/logging.h
! commands.o: ../include/macros.h
! commands.o: ../include/nntp.h
! commands.o: ../include/paths.h
! commands.o: ../include/paths.h
! commands.o: ../include/qio.h
! commands.o: nnrpd.h
! group.o: ../include/clibrary.h
! group.o: ../include/configdata.h
! group.o: ../include/configdata.h
! group.o: ../include/libinn.h
! group.o: ../include/libinn.h
! group.o: ../include/logging.h
! group.o: ../include/macros.h
! group.o: ../include/mydir.h
! group.o: ../include/mydir.h
! group.o: ../include/nntp.h
! group.o: ../include/paths.h
! group.o: ../include/paths.h
! group.o: ../include/qio.h
! group.o: nnrpd.h
! loadave.o: ../include/clibrary.h
! loadave.o: ../include/configdata.h
! loadave.o: ../include/configdata.h
! loadave.o: ../include/libinn.h
! loadave.o: ../include/libinn.h
! loadave.o: ../include/logging.h
! loadave.o: ../include/macros.h
! loadave.o: ../include/nntp.h
! loadave.o: ../include/paths.h
! loadave.o: ../include/paths.h
! loadave.o: ../include/qio.h
! loadave.o: nnrpd.h
! misc.o: ../include/clibrary.h
! misc.o: ../include/configdata.h
! misc.o: ../include/configdata.h
! misc.o: ../include/dbz.h
! misc.o: ../include/dbz.h
! misc.o: ../include/libinn.h
! misc.o: ../include/libinn.h
! misc.o: ../include/logging.h
! misc.o: ../include/macros.h
! misc.o: ../include/nntp.h
! misc.o: ../include/paths.h
! misc.o: ../include/paths.h
! misc.o: ../include/qio.h
! misc.o: nnrpd.h
! newnews.o: ../include/clibrary.h
! newnews.o: ../include/configdata.h
! newnews.o: ../include/configdata.h
! newnews.o: ../include/libinn.h
! newnews.o: ../include/libinn.h
! newnews.o: ../include/logging.h
! newnews.o: ../include/macros.h
! newnews.o: ../include/nntp.h
! newnews.o: ../include/paths.h
! newnews.o: ../include/paths.h
! newnews.o: ../include/qio.h
! newnews.o: nnrpd.h
! nnrpd.o: ../include/clibrary.h
! nnrpd.o: ../include/configdata.h
! nnrpd.o: ../include/configdata.h
! nnrpd.o: ../include/libinn.h
! nnrpd.o: ../include/libinn.h
! nnrpd.o: ../include/logging.h
! nnrpd.o: ../include/macros.h
! nnrpd.o: ../include/nntp.h
! nnrpd.o: ../include/paths.h
! nnrpd.o: ../include/paths.h
! nnrpd.o: ../include/qio.h
! nnrpd.o: nnrpd.h
! perl.o: ../include/clibrary.h
! perl.o: ../include/configdata.h
! perl.o: ../include/configdata.h
! perl.o: ../include/logging.h
! perl.o: ../include/paths.h
! perl.o: post.h
! perl.o: post.h
! post.o: ../include/clibrary.h
! post.o: ../include/configdata.h
! post.o: ../include/configdata.h
! post.o: ../include/libinn.h
! post.o: ../include/libinn.h
! post.o: ../include/logging.h
! post.o: ../include/macros.h
! post.o: ../include/nntp.h
! post.o: ../include/paths.h
! post.o: ../include/paths.h
! post.o: ../include/qio.h
! post.o: nnrpd.h
! post.o: post.h
diff -Nacr inn-1.7/nnrpd/article.c inn-1.7.1/nnrpd/article.c
*** inn-1.7/nnrpd/article.c	Tue Oct  7 15:18:13 1997
--- inn-1.7.1/nnrpd/article.c	Fri Dec  5 22:42:12 1997
***************
*** 233,249 ****
      ARTcount++;
      GRParticles++;
  
- #if defined (DONT_LIKE_PULLERS)
-     {
-       static int count ;
- 
-       count++ ;
-       
-       if (what == STarticle || count > 100)
-         sleep (1) ;               /* slow down sucking readers */
-     }
- #endif
- 
      /*
       * it should never take 5 minutes to send an article line
       */
--- 233,238 ----
***************
*** 285,290 ****
--- 274,296 ----
      }
      Printf(".\r\n");
      alarm(0);			/* cancel timer */
+ 
+ #if defined (DONT_LIKE_PULLERS)
+     /* If the client has pulled in more than 100 articles, then there's a
+        good chance it's a sucking feed. So we slow down a bit the feeding
+        of articles after that point. */
+     {
+         static int count ;
+ 
+         if (what == STarticle) {
+             if (++count > 100) {
+                 (void) fflush(stdout) ;
+                 sleep (1) ;               /* slow down sucking readers */
+             }
+         }
+     }
+ #endif
+ 
  }
  
  
***************
*** 456,462 ****
  	    Reply("%s\r\n", NOACCESS);
  	    return;
  	}
! 	Reply("%d %ld %s %s\r\n", what->ReplyCode, art, what->Item, av[1]);
  	if (what->Type != STstat)
  	    ARTsend(qp, what->Type);
  	QIOclose(qp);
--- 462,468 ----
  	    Reply("%s\r\n", NOACCESS);
  	    return;
  	}
! 	Reply("%d %ld %s %s\r\n", what->ReplyCode, art, av[1], what->Item);
  	if (what->Type != STstat)
  	    ARTsend(qp, what->Type);
  	QIOclose(qp);
diff -Nacr inn-1.7/sample-configs/config.data-DU4.0 inn-1.7.1/sample-configs/config.data-DU4.0
*** inn-1.7/sample-configs/config.data-DU4.0	Tue Oct  7 15:18:15 1997
--- inn-1.7.1/sample-configs/config.data-DU4.0	Fri Dec  5 22:42:12 1997
***************
*** 13,19 ****
  DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			cc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
--- 13,19 ----
  DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
***************
*** 22,28 ****
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
! DBZCFLAGS			$(CFLAGS) -DMMAP
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
  PROF			-pg
--- 22,28 ----
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
! DBZCFLAGS			$(CFLAGS)
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
  PROF			-pg
***************
*** 36,42 ****
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
--- 36,42 ----
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lutil -ldb
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
***************
*** 137,143 ****
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		VARARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
--- 137,143 ----
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		STDARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
***************
*** 185,191 ****
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FLOCK
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
--- 185,191 ----
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FCNTL
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
***************
*** 219,225 ****
  USE_UNION_WAIT		DONT
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
! FORK			fork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
  HAVE_VFORK		DONT
--- 219,225 ----
  USE_UNION_WAIT		DONT
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
! FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
  HAVE_VFORK		DONT
***************
*** 240,250 ****
  NBIO_STYLE		FCNTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
! RES_STYLE		TIMES
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		SYSCONF
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
--- 240,250 ----
  NBIO_STYLE		FCNTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
! RES_STYLE		RUSAGE
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETRLIMIT
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
***************
*** 318,324 ****
  ##  What type of pointer does mmap() manage? Normally ``caddr_t'' or ``void *''
  ##  or ``char *''
  #### =()<MMAP_PTR		@<MMAP_PTR>@>()=
! MMAP_PTR		void *
  ##  Should we msync when using mmap? Pick DO or DONT. Useful
  ##  with some slightly broken mmap implementations. (like HPUX and BSD/OS).
  #### =()<MMAP_SYNC		@<MMAP_SYNC>@>()=
--- 318,324 ----
  ##  What type of pointer does mmap() manage? Normally ``caddr_t'' or ``void *''
  ##  or ``char *''
  #### =()<MMAP_PTR		@<MMAP_PTR>@>()=
! MMAP_PTR		caddr_t
  ##  Should we msync when using mmap? Pick DO or DONT. Useful
  ##  with some slightly broken mmap implementations. (like HPUX and BSD/OS).
  #### =()<MMAP_SYNC		@<MMAP_SYNC>@>()=
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,556 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bin/gzip
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
! _PATH_COMPRESSEXT	.gz
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/local/bin/perl
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
  _PATH_AWK		/usr/bin/awk
--- 535,556 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bin/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
! _PATH_COMPRESSEXT	.Z
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
  _PATH_AWK		/usr/bin/awk
***************
*** 584,601 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
  ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
  #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
! _PATH_GZIP		/usr/bin/gzip
  
  ##
  ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
--- 584,602 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
  ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
  #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
! _PATH_GZIP		/usr/contrib/bin/gzip
  
  ##
  ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
***************
*** 808,814 ****
  ##  How inn (not just innwatch anymore) gets disk space usage 
  ##  (SVR4 machine would probably use /usr/ucb/df)
  #### =()<INNWATCH_DF		@<INNWATCH_DF>@>()=
! INNWATCH_DF		/usr/bin/df
  ##  Field number of INNWATCH_DF (with -i) output that gives free
  ##  inodes (starting at 1).
  #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
--- 809,815 ----
  ##  How inn (not just innwatch anymore) gets disk space usage 
  ##  (SVR4 machine would probably use /usr/ucb/df)
  #### =()<INNWATCH_DF		@<INNWATCH_DF>@>()=
! INNWATCH_DF		/bin/df
  ##  Field number of INNWATCH_DF (with -i) output that gives free
  ##  inodes (starting at 1).
  #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
diff -Nacr inn-1.7/sample-configs/config.data-FreeBSD-2.0 inn-1.7.1/sample-configs/config.data-FreeBSD-2.0
*** inn-1.7/sample-configs/config.data-FreeBSD-2.0	Tue Oct  7 15:18:16 1997
--- inn-1.7.1/sample-configs/config.data-FreeBSD-2.0	Fri Dec  5 22:42:12 1997
***************
*** 10,25 ****
  P			
  ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
! DEFS			-I../include -Wformat -O -pipe
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			cc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS)
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
--- 10,25 ----
  P			
  ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
! DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DUNNO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
***************
*** 36,42 ****
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lgnumalloc
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
--- 36,42 ----
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
***************
*** 169,175 ****
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			int
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
--- 169,175 ----
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			sig_atomic_t
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
***************
*** 185,191 ****
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FLOCK
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
--- 185,191 ----
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FCNTL
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
***************
*** 222,228 ****
  FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
! HAVE_VFORK		DO
  ##  Do you have symbolic links?  Pick DO or DONT.
  #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
  HAVE_SYMLINK		DO
--- 222,228 ----
  FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
! HAVE_VFORK		DONT
  ##  Do you have symbolic links?  Pick DO or DONT.
  #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
  HAVE_SYMLINK		DO
***************
*** 237,250 ****
  CLX_STYLE		IOCTL
  ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
  #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
! NBIO_STYLE		IOCTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
  RES_STYLE		RUSAGE
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		SYSCONF
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
--- 237,250 ----
  CLX_STYLE		IOCTL
  ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
  #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
! NBIO_STYLE		FCNTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
  RES_STYLE		RUSAGE
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETRLIMIT
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
***************
*** 268,274 ****
  GETPIDVAL		pid_t
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
! SLEEPVAL		u_int
  ##  What's the return type of  qsort?  Usually int or void.
  #### =()<QSORTVAL		@<QSORTVAL>@>()=
  QSORTVAL		void
--- 268,274 ----
  GETPIDVAL		pid_t
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
! SLEEPVAL		unsigned int
  ##  What's the return type of  qsort?  Usually int or void.
  #### =()<QSORTVAL		@<QSORTVAL>@>()=
  QSORTVAL		void
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,556 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bin/gzip
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
! _PATH_COMPRESSEXT	.gz
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
  _PATH_AWK		/usr/bin/awk
--- 535,556 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bin/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
! _PATH_COMPRESSEXT	.Z
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
  _PATH_AWK		/usr/bin/awk
***************
*** 584,595 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
--- 584,596 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
diff -Nacr inn-1.7/sample-configs/config.data-OSF1.3a inn-1.7.1/sample-configs/config.data-OSF1.3a
*** inn-1.7/sample-configs/config.data-OSF1.3a	Tue Oct  7 15:18:16 1997
--- inn-1.7.1/sample-configs/config.data-OSF1.3a	Fri Dec  5 22:42:12 1997
***************
*** 13,34 ****
  DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			cc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -g -O2
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
! PROF			-p
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			-g -O2
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
--- 13,34 ----
  DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
! PROF			-pg
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
***************
*** 36,48 ****
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -u -x $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
--- 36,48 ----
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -h -z $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
***************
*** 51,57 ****
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		| sed -n -f ../sedf.sysv
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
--- 51,57 ----
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		| sed -n -f ../sedf.sun
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
***************
*** 137,143 ****
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		VARARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
--- 137,143 ----
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		STDARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
***************
*** 149,175 ****
  OFFSET_T		long
  ##  What is the type of an object size? Usually size_t or unsigned int.
  #### =()<SIZE_T			@<SIZE_T>@>()=
! SIZE_T			unsigned long
  ##  What is the type of a passwd uid and gid, for use in chown(2)?
  #### =()<UID_T			@<UID_T>@>()=
! UID_T			int
  #### =()<GID_T			@<GID_T>@>()=
! GID_T			int
  ##  Type of a pid, for use in kill(2).
  #### =()<PID_T			@<PID_T>@>()=
! PID_T			int
  ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
  #### =()<POINTER			@<POINTER>@>()=
  POINTER			void
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
! ALIGNPTR		int 
  ##  What should a signal handler return?  Usually int or void.
  #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			int
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
--- 149,175 ----
  OFFSET_T		long
  ##  What is the type of an object size? Usually size_t or unsigned int.
  #### =()<SIZE_T			@<SIZE_T>@>()=
! SIZE_T			size_t
  ##  What is the type of a passwd uid and gid, for use in chown(2)?
  #### =()<UID_T			@<UID_T>@>()=
! UID_T			uid_t
  #### =()<GID_T			@<GID_T>@>()=
! GID_T			gid_t
  ##  Type of a pid, for use in kill(2).
  #### =()<PID_T			@<PID_T>@>()=
! PID_T			pid_t
  ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
  #### =()<POINTER			@<POINTER>@>()=
  POINTER			void
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
! ALIGNPTR		int
  ##  What should a signal handler return?  Usually int or void.
  #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			sig_atomic_t
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
***************
*** 185,194 ****
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FLOCK
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
! HAVE_UNISTD		DONT
  ##  Do you have setbuffer?  Pick DO or DONT.
  #### =()<HAVE_SETBUFFER		@<HAVE_SETBUFFER>@>()=
  HAVE_SETBUFFER		DO
--- 185,194 ----
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FCNTL
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
! HAVE_UNISTD		DO
  ##  Do you have setbuffer?  Pick DO or DONT.
  #### =()<HAVE_SETBUFFER		@<HAVE_SETBUFFER>@>()=
  HAVE_SETBUFFER		DO
***************
*** 204,210 ****
  HAVE_FCHMOD		DO
  ##  Do you have setsid()?  Pick DO or DONT.
  #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
! HAVE_SETSID		DONT
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
  HAVE_TM_GMTOFF		DO
--- 204,210 ----
  HAVE_FCHMOD		DO
  ##  Do you have setsid()?  Pick DO or DONT.
  #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
! HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
  HAVE_TM_GMTOFF		DO
***************
*** 213,219 ****
  HAVE_ST_BLKSIZE		DO
  ##  Use waitpid instead of wait3?  Pick DO or DONT.
  #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
! HAVE_WAITPID		DONT
  ##  Use "union wait" instead of int?  Pick DO or DONT.
  #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
  USE_UNION_WAIT		DONT
--- 213,219 ----
  HAVE_ST_BLKSIZE		DO
  ##  Use waitpid instead of wait3?  Pick DO or DONT.
  #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
! HAVE_WAITPID		DO
  ##  Use "union wait" instead of int?  Pick DO or DONT.
  #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
  USE_UNION_WAIT		DONT
***************
*** 222,228 ****
  FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
! HAVE_VFORK		DO
  ##  Do you have symbolic links?  Pick DO or DONT.
  #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
  HAVE_SYMLINK		DO
--- 222,228 ----
  FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
! HAVE_VFORK		DONT
  ##  Do you have symbolic links?  Pick DO or DONT.
  #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
  HAVE_SYMLINK		DO
***************
*** 244,250 ****
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETDTAB
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
--- 244,250 ----
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETRLIMIT
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
***************
*** 259,271 ****
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
  #### =()<ABORTVAL		@<ABORTVAL>@>()=
! ABORTVAL		int
  ##  What's the return type of alarm?  Usually int or unsigned int.
  #### =()<ALARMVAL		@<ALARMVAL>@>()=
  ALARMVAL		unsigned int
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
! GETPIDVAL		int
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
  SLEEPVAL		unsigned int
--- 259,271 ----
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
  #### =()<ABORTVAL		@<ABORTVAL>@>()=
! ABORTVAL		void
  ##  What's the return type of alarm?  Usually int or unsigned int.
  #### =()<ALARMVAL		@<ALARMVAL>@>()=
  ALARMVAL		unsigned int
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
! GETPIDVAL		pid_t
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
  SLEEPVAL		unsigned int
***************
*** 281,290 ****
  ##  What's the return type of exit?  Usually int or void.
  ##  (For gcc (not pedantic ANSI) use "volatile void" in EXITVAL and _EXITVAL.)
  #### =()<EXITVAL			@<EXITVAL>@>()=
! EXITVAL			volatile void
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
! _EXITVAL		volatile void
  
  
  ##
--- 281,290 ----
  ##  What's the return type of exit?  Usually int or void.
  ##  (For gcc (not pedantic ANSI) use "volatile void" in EXITVAL and _EXITVAL.)
  #### =()<EXITVAL			@<EXITVAL>@>()=
! EXITVAL			void
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
! _EXITVAL		void
  
  
  ##
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,562 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/lib/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/local/bin/gzip
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
! _PATH_COMPRESSEXT	.gz
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
! _PATH_EGREP		/usr/local/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
--- 535,562 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bin/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
! _PATH_COMPRESSEXT	.Z
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
! _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		/usr/bin/awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		/usr/bin/sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
***************
*** 584,595 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
--- 584,596 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
diff -Nacr inn-1.7/sample-configs/config.data-OSF3.0 inn-1.7.1/sample-configs/config.data-OSF3.0
*** inn-1.7/sample-configs/config.data-OSF3.0	Tue Oct  7 15:18:16 1997
--- inn-1.7.1/sample-configs/config.data-OSF3.0	Fri Dec  5 22:42:12 1997
***************
*** 13,34 ****
  DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			cc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -g -O2
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
! PROF			-p
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			-g -O2
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
--- 13,34 ----
  DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
! PROF			-pg
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
***************
*** 36,48 ****
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -u -x $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
--- 36,48 ----
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -h -z $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
***************
*** 51,57 ****
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		| sed -n -f ../sedf.sysv
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
--- 51,57 ----
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		| sed -n -f ../sedf.sun
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
***************
*** 137,143 ****
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		VARARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
--- 137,143 ----
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		STDARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
***************
*** 149,175 ****
  OFFSET_T		long
  ##  What is the type of an object size? Usually size_t or unsigned int.
  #### =()<SIZE_T			@<SIZE_T>@>()=
! SIZE_T			unsigned long
  ##  What is the type of a passwd uid and gid, for use in chown(2)?
  #### =()<UID_T			@<UID_T>@>()=
! UID_T			int
  #### =()<GID_T			@<GID_T>@>()=
! GID_T			int
  ##  Type of a pid, for use in kill(2).
  #### =()<PID_T			@<PID_T>@>()=
! PID_T			int
  ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
  #### =()<POINTER			@<POINTER>@>()=
  POINTER			void
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
! ALIGNPTR		int 
  ##  What should a signal handler return?  Usually int or void.
  #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			int
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
--- 149,175 ----
  OFFSET_T		long
  ##  What is the type of an object size? Usually size_t or unsigned int.
  #### =()<SIZE_T			@<SIZE_T>@>()=
! SIZE_T			size_t
  ##  What is the type of a passwd uid and gid, for use in chown(2)?
  #### =()<UID_T			@<UID_T>@>()=
! UID_T			uid_t
  #### =()<GID_T			@<GID_T>@>()=
! GID_T			gid_t
  ##  Type of a pid, for use in kill(2).
  #### =()<PID_T			@<PID_T>@>()=
! PID_T			pid_t
  ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
  #### =()<POINTER			@<POINTER>@>()=
  POINTER			void
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
! ALIGNPTR		int
  ##  What should a signal handler return?  Usually int or void.
  #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			sig_atomic_t
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
***************
*** 185,194 ****
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FLOCK
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
! HAVE_UNISTD		DONT
  ##  Do you have setbuffer?  Pick DO or DONT.
  #### =()<HAVE_SETBUFFER		@<HAVE_SETBUFFER>@>()=
  HAVE_SETBUFFER		DO
--- 185,194 ----
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FCNTL
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
! HAVE_UNISTD		DO
  ##  Do you have setbuffer?  Pick DO or DONT.
  #### =()<HAVE_SETBUFFER		@<HAVE_SETBUFFER>@>()=
  HAVE_SETBUFFER		DO
***************
*** 204,210 ****
  HAVE_FCHMOD		DO
  ##  Do you have setsid()?  Pick DO or DONT.
  #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
! HAVE_SETSID		DONT
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
  HAVE_TM_GMTOFF		DO
--- 204,210 ----
  HAVE_FCHMOD		DO
  ##  Do you have setsid()?  Pick DO or DONT.
  #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
! HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
  HAVE_TM_GMTOFF		DO
***************
*** 213,219 ****
  HAVE_ST_BLKSIZE		DO
  ##  Use waitpid instead of wait3?  Pick DO or DONT.
  #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
! HAVE_WAITPID		DONT
  ##  Use "union wait" instead of int?  Pick DO or DONT.
  #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
  USE_UNION_WAIT		DONT
--- 213,219 ----
  HAVE_ST_BLKSIZE		DO
  ##  Use waitpid instead of wait3?  Pick DO or DONT.
  #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
! HAVE_WAITPID		DO
  ##  Use "union wait" instead of int?  Pick DO or DONT.
  #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
  USE_UNION_WAIT		DONT
***************
*** 222,228 ****
  FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
! HAVE_VFORK		DO
  ##  Do you have symbolic links?  Pick DO or DONT.
  #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
  HAVE_SYMLINK		DO
--- 222,228 ----
  FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
! HAVE_VFORK		DONT
  ##  Do you have symbolic links?  Pick DO or DONT.
  #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
  HAVE_SYMLINK		DO
***************
*** 244,250 ****
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETDTAB
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
--- 244,250 ----
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETRLIMIT
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
***************
*** 259,271 ****
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
  #### =()<ABORTVAL		@<ABORTVAL>@>()=
! ABORTVAL		int
  ##  What's the return type of alarm?  Usually int or unsigned int.
  #### =()<ALARMVAL		@<ALARMVAL>@>()=
  ALARMVAL		unsigned int
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
! GETPIDVAL		int
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
  SLEEPVAL		unsigned int
--- 259,271 ----
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
  #### =()<ABORTVAL		@<ABORTVAL>@>()=
! ABORTVAL		void
  ##  What's the return type of alarm?  Usually int or unsigned int.
  #### =()<ALARMVAL		@<ALARMVAL>@>()=
  ALARMVAL		unsigned int
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
! GETPIDVAL		pid_t
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
  SLEEPVAL		unsigned int
***************
*** 281,290 ****
  ##  What's the return type of exit?  Usually int or void.
  ##  (For gcc (not pedantic ANSI) use "volatile void" in EXITVAL and _EXITVAL.)
  #### =()<EXITVAL			@<EXITVAL>@>()=
! EXITVAL			volatile void
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
! _EXITVAL		volatile void
  
  
  ##
--- 281,290 ----
  ##  What's the return type of exit?  Usually int or void.
  ##  (For gcc (not pedantic ANSI) use "volatile void" in EXITVAL and _EXITVAL.)
  #### =()<EXITVAL			@<EXITVAL>@>()=
! EXITVAL			void
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
! _EXITVAL		void
  
  
  ##
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,562 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/lib/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/local/bin/gzip
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
! _PATH_COMPRESSEXT	.gz
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
! _PATH_EGREP		/usr/local/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
--- 535,562 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bin/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
! _PATH_COMPRESSEXT	.Z
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
! _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		/usr/bin/awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		/usr/bin/sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
***************
*** 584,595 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
--- 584,596 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
diff -Nacr inn-1.7/sample-configs/config.data-aix-4.1.4 inn-1.7.1/sample-configs/config.data-aix-4.1.4
*** inn-1.7/sample-configs/config.data-aix-4.1.4	Tue Oct 14 12:47:39 1997
--- inn-1.7.1/sample-configs/config.data-aix-4.1.4	Fri Dec  5 22:42:12 1997
***************
*** 13,31 ****
  DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			cc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -O2 -qarch=ppc -qtune=604
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
! PROF			
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
  LDFLAGS			
--- 13,31 ----
  DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DUNNO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
! PROF			-pg
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
  LDFLAGS			
***************
*** 36,48 ****
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -h -wkD $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
--- 36,48 ----
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -h -z $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
***************
*** 51,61 ****
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		| sed -n -f ../sedf.aix
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
! MANPAGESTYLE		BSD4.4
  ##  Where various manpages should go
  #### =()<MAN1			@<MAN1>@>()=
  MAN1			/usr/news/man/man1
--- 51,61 ----
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		| sed -n -f ../sedf.sun
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
! MANPAGESTYLE		SOURCE
  ##  Where various manpages should go
  #### =()<MAN1			@<MAN1>@>()=
  MAN1			/usr/news/man/man1
***************
*** 137,143 ****
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		VARARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
--- 137,143 ----
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		STDARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
***************
*** 198,204 ****
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
! HAVE_SETPROCTITLE	DONT
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
--- 198,204 ----
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
! HAVE_SETPROCTITLE	DO
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
***************
*** 207,213 ****
  HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DONT
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
  HAVE_ST_BLKSIZE		DO
--- 207,213 ----
  HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DO
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
  HAVE_ST_BLKSIZE		DO
***************
*** 219,225 ****
  USE_UNION_WAIT		DONT
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
! FORK			fork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
  HAVE_VFORK		DONT
--- 219,225 ----
  USE_UNION_WAIT		DONT
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
! FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
  HAVE_VFORK		DONT
***************
*** 244,260 ****
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		SYSCONF
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
  NOFILE_LIMIT		-1
  ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
  #### =()<NEED_TIME		@<NEED_TIME>@>()=
! NEED_TIME		DO
  ##  What predicate, if any, the <ctype.h> macros need
  #### =()<CTYPE			@<CTYPE>@>()=
! CTYPE			isXXXXX((c))
  #CTYPE			((c) > 0 && isXXXXX((c)))
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
--- 244,260 ----
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETRLIMIT
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
  NOFILE_LIMIT		-1
  ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
  #### =()<NEED_TIME		@<NEED_TIME>@>()=
! NEED_TIME		DONT
  ##  What predicate, if any, the <ctype.h> macros need
  #### =()<CTYPE			@<CTYPE>@>()=
! CTYPE			(isascii((c)) && isXXXXX((c)))
  #CTYPE			((c) > 0 && isXXXXX((c)))
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
***************
*** 318,324 ****
  ##  What type of pointer does mmap() manage? Normally ``caddr_t'' or ``void *''
  ##  or ``char *''
  #### =()<MMAP_PTR		@<MMAP_PTR>@>()=
! MMAP_PTR		void *
  ##  Should we msync when using mmap? Pick DO or DONT. Useful
  ##  with some slightly broken mmap implementations. (like HPUX and BSD/OS).
  #### =()<MMAP_SYNC		@<MMAP_SYNC>@>()=
--- 318,324 ----
  ##  What type of pointer does mmap() manage? Normally ``caddr_t'' or ``void *''
  ##  or ``char *''
  #### =()<MMAP_PTR		@<MMAP_PTR>@>()=
! MMAP_PTR		caddr_t
  ##  Should we msync when using mmap? Pick DO or DONT. Useful
  ##  with some slightly broken mmap implementations. (like HPUX and BSD/OS).
  #### =()<MMAP_SYNC		@<MMAP_SYNC>@>()=
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,556 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
! _PATH_SH		/usr/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/local/bin/gzip
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
! _PATH_COMPRESSEXT	.gz
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/local/bin/perl
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
  _PATH_AWK		/usr/bin/awk
--- 535,556 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
! _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bin/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
! _PATH_COMPRESSEXT	.Z
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
  _PATH_AWK		/usr/bin/awk
***************
*** 584,601 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
  ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
  #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
! _PATH_GZIP		/usr/local/bin/gzip
  
  ##
  ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
--- 584,602 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
  ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
  #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
! _PATH_GZIP		/usr/contrib/bin/gzip
  
  ##
  ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
***************
*** 808,821 ****
  ##  How inn (not just innwatch anymore) gets disk space usage 
  ##  (SVR4 machine would probably use /usr/ucb/df)
  #### =()<INNWATCH_DF		@<INNWATCH_DF>@>()=
! INNWATCH_DF		/bin/df -v
  ##  Field number of INNWATCH_DF (with -i) output that gives free
  ##  inodes (starting at 1).
  #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
  INNWATCH_INODES		7
  ##  Field number of INNWATCH_DF output that gives the free block count.
  ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
! INNWATCH_BLOCKS		3
  
  
  
--- 809,822 ----
  ##  How inn (not just innwatch anymore) gets disk space usage 
  ##  (SVR4 machine would probably use /usr/ucb/df)
  #### =()<INNWATCH_DF		@<INNWATCH_DF>@>()=
! INNWATCH_DF		/bin/df
  ##  Field number of INNWATCH_DF (with -i) output that gives free
  ##  inodes (starting at 1).
  #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
  INNWATCH_INODES		7
  ##  Field number of INNWATCH_DF output that gives the free block count.
  ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
! INNWATCH_BLOCKS		4
  
  
  
diff -Nacr inn-1.7/sample-configs/config.data-aix-4.2.1 inn-1.7.1/sample-configs/config.data-aix-4.2.1
*** inn-1.7/sample-configs/config.data-aix-4.2.1	Tue Oct 14 14:10:54 1997
--- inn-1.7.1/sample-configs/config.data-aix-4.2.1	Thu Jan  1 00:00:00 1970
***************
*** 1,905 ****
- ## Sample config.data for AIX 4.1.4
- 
- ##
- ##  1.  MAKE CONFIG PARAMETERS
- ##  Where the DBZ sources are, from C News.  INN has a (maybe old) copy.
- #### =()<DBZDIR			@<DBZDIR>@>()=
- DBZDIR			../dbz
- ##  If you have a parallel make, set this to "&"
- #### =()<P			@<P>@>()=
- P			
- ##  C pre-processor flags
- #### =()<DEFS			@<DEFS>@>()=
- DEFS			-I../include
- ##  C compiler
- #### =()<CC			@<CC>@>()=
- CC			xlc
- ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
- #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
- USE_CHAR_CONST		DO
- ##  C compiler flags
- #### =()<CFLAGS			@<CFLAGS>@>()=
- CFLAGS			$(DEFS) -O3 -qstrict
- ##  C compiler flags to use when compiling dbz
- #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
- DBZCFLAGS			$(CFLAGS)
- ##  What flags to use if profiling; -p or -pg, e.g.
- #### =()<PROF			@<PROF>@>()=
- PROF			-pg
- ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
- #### =()<LDFLAGS			@<LDFLAGS>@>()=
- LDFLAGS			
- ##  If you use the standard NNTP way of connecting, where is the library?
- #### =()<NNTPLIB		@<NNTPLIB>@>()=
- NNTPLIB		
- ##  If you need to link in other libraries, add them here.
- ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
- ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
- #### =()<LIBS			@<LIBS>@>()=
- LIBS			
- ##  How to make a lint library; pick BSD, SYSV, or NONE.
- #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
- LINTLIBSTYLE		NONE
- ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
- #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
- LINTFLAGS		-b -h -wkD $(DEFS)
- ##  Some lints insist on putting out the filename and other crap.
- ##  Possible values:
- ##	LINTFILTER              | sed -n -f ../sedf.aix
- ##	LINTFILTER              | sed -n -f ../sedf.osx
- ##	LINTFILTER              | sed -n -f ../sedf.sun
- ##	LINTFILTER              | sed -n -f ../sedf.sysv
- ##	LINTFILTER              
- ####  =()<LINTFILTER		@<LINTFILTER>@>()=
- LINTFILTER		| sed -n -f ../sedf.aix
- ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
- ##  BSD4.4 or NONE.
- #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
- MANPAGESTYLE		SOURCE
- ##  Where various manpages should go
- #### =()<MAN1			@<MAN1>@>()=
- MAN1			/usr/news/man/man1
- #### =()<MAN3			@<MAN3>@>()=
- MAN3			/usr/news/man/man3
- #### =()<MAN5			@<MAN5>@>()=
- MAN5			/usr/news/man/man5
- #### =()<MAN8			@<MAN8>@>()=
- MAN8			/usr/news/man/man8
- ##  Ranlib command.  Use echo if you don't need ranlib.
- #### =()<RANLIB			@<RANLIB>@>()=
- RANLIB			ranlib
- ##  YACC (yet another config control?)
- #### =()<YACC			@<YACC>@>()=
- YACC			yacc
- ##  Ctags command.  Use echo if you don't have ctags.
- #### =()<CTAGS			@<CTAGS>@>()=
- CTAGS			ctags -t -w
- 
- 
- ##
- ##  2.  LOGGING LEVELS
- ##  Facility innd should log under.
- #### =()<LOG_INN_SERVER		@<LOG_INN_SERVER>@>()=
- LOG_INN_SERVER		LOG_NEWS
- ##  Facility all other programs should log under.
- #### =()<LOG_INN_PROG		@<LOG_INN_PROG>@>()=
- LOG_INN_PROG		LOG_NEWS
- ##  Flags to use in opening the logs; some programs add LOG_PID.
- #### =()<L_OPENLOG_FLAGS		@<L_OPENLOG_FLAGS>@>()=
- L_OPENLOG_FLAGS		(LOG_CONS | LOG_NDELAY)
- ##  Log a fatal error; program is about to exit.
- #### =()<L_FATAL			@<L_FATAL>@>()=
- L_FATAL			LOG_CRIT
- ##  Log an error that might mean one or more articles get lost.
- #### =()<L_ERROR			@<L_ERROR>@>()=
- L_ERROR			LOG_ERR
- ##  Informational notice, usually not worth caring about.
- #### =()<L_NOTICE		@<L_NOTICE>@>()=
- L_NOTICE		LOG_WARNING
- ##  A protocol trace.
- #### =()<L_TRACE			@<L_TRACE>@>()=
- L_TRACE			LOG_DEBUG
- ##  All incoming control commands (ctlinnd, etc).
- #### =()<L_CC_CMD		@<L_CC_CMD>@>()=
- L_CC_CMD		LOG_INFO
- 
- 
- ##
- ##  3.  OWNERSHIPS AND FILE MODES
- ##  Owner of articles and directories and _PATH_INNDDIR
- #### =()<NEWSUSER			@<NEWSUSER>@>()=
- NEWSUSER			news
- ##  Group, for same purpose
- #### =()<NEWSGROUP		@<NEWSGROUP>@>()=
- NEWSGROUP		news
- ##  Who gets email from news.daily and about control messages.
- #### =()<NEWSMASTER		@<NEWSMASTER>@>()=
- NEWSMASTER		usenet
- ##  Who gets email on the Path line?
- #### =()<PATHMASTER		@<PATHMASTER>@>()=
- PATHMASTER		not-for-mail
- ##  Umask to set.
- #### =()<NEWSUMASK		@<NEWSUMASK>@>()=
- NEWSUMASK		02
- ##  Mode that incoming articles are created under.
- #### =()<ARTFILE_MODE		@<ARTFILE_MODE>@>()=
- ARTFILE_MODE		0664
- ##  Mode that batch files are created under.
- #### =()<BATCHFILE_MODE		@<BATCHFILE_MODE>@>()=
- BATCHFILE_MODE		0664
- ##  Mode that directories are created under.
- #### =()<GROUPDIR_MODE		@<GROUPDIR_MODE>@>()=
- GROUPDIR_MODE		0775
- 
- 
- ##
- ##  4.  C LIBRARY DIFFERENCES
- ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
- ##  You need vfprintf and vfsprintf if not NONE.
- #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
- VAR_STYLE		VARARGS
- ##  If you don't have <string.h>, set this to "mystring.h"
- #### =()<STR_HEADER		@<STR_HEADER>@>()=
- STR_HEADER		<string.h>
- ##  If you don't have <memory.h>, set this to "mymemory.h"
- #### =()<MEM_HEADER		@<MEM_HEADER>@>()=
- MEM_HEADER		<memory.h>
- ##  What is a file offset?  MUST BE LONG FOR NOW.
- #### =()<OFFSET_T		@<OFFSET_T>@>()=
- OFFSET_T		long
- ##  What is the type of an object size? Usually size_t or unsigned int.
- #### =()<SIZE_T			@<SIZE_T>@>()=
- SIZE_T			size_t
- ##  What is the type of a passwd uid and gid, for use in chown(2)?
- #### =()<UID_T			@<UID_T>@>()=
- UID_T			uid_t
- #### =()<GID_T			@<GID_T>@>()=
- GID_T			gid_t
- ##  Type of a pid, for use in kill(2).
- #### =()<PID_T			@<PID_T>@>()=
- PID_T			pid_t
- ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
- #### =()<POINTER			@<POINTER>@>()=
- POINTER			void
- ##  Worst-case alignment, in order to shut lint up
- #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
- ALIGNPTR		int
- ##  What should a signal handler return?  Usually int or void.
- #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
- SIGHANDLER		void
- ##  Type of variables can be modified in a signal handler? sig_atomic_t
- #### =()<SIGVAR			@<SIGVAR>@>()=
- SIGVAR			sig_atomic_t
- ##  Function that returns no value, and a pointer to it.  Pick int or void
- #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
- FUNCTYPE		void
- ##  Type of 32 bit unsigned integer.
- #### =()<U_INT32_T			@<U_INT32_T>@>()=
- U_INT32_T			unsigned int
- ##  Type of 32 bit signed integer.
- #### =()<INT32_T			@<INT32_T>@>()=
- INT32_T			int
- ##  Use BSD4.2 or Posix directory names?  Pick DIRENT or DIRECT.
- #### =()<DIR_STYLE		@<DIR_STYLE>@>()=
- DIR_STYLE		DIRENT
- ##  Use flock, lockf, or nothing to lock files?
- ##  Pick FLOCK, LOCKF, FCNTL, or NONE
- #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
- LOCK_STYLE		FCNTL
- ##  Do you have <unistd.h>?  Pick DO or DONT
- #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
- HAVE_UNISTD		DO
- ##  Do you have setbuffer?  Pick DO or DONT.
- #### =()<HAVE_SETBUFFER		@<HAVE_SETBUFFER>@>()=
- HAVE_SETBUFFER		DO
- ##  Do you have gettimeofday?  Pick DO or DONT.
- #### =()<HAVE_GETTIMEOFDAY	@<HAVE_GETTIMEOFDAY>@>()=
- HAVE_GETTIMEOFDAY	DO
- ##  Do you have setproctitle()?  Pick DO or DONT.
- ##  You may need to adjust LIBS for this.
- #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
- HAVE_SETPROCTITLE	DONT
- ##  Do you have fchmod?  Pick DO or DONT.
- #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
- HAVE_FCHMOD		DO
- ##  Do you have setsid()?  Pick DO or DONT.
- #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
- HAVE_SETSID		DO
- ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
- #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
- HAVE_TM_GMTOFF		DONT
- ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
- #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
- HAVE_ST_BLKSIZE		DO
- ##  Use waitpid instead of wait3?  Pick DO or DONT.
- #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
- HAVE_WAITPID		DO
- ##  Use "union wait" instead of int?  Pick DO or DONT.
- #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
- USE_UNION_WAIT		DONT
- ##  How to fork?  Pick fork or vfork.
- #### =()<FORK			@<FORK>@>()=
- FORK			vfork
- ##  Do you have <vfork.h>?  Pick DO or DONT.
- #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
- HAVE_VFORK		DONT
- ##  Do you have symbolic links?  Pick DO or DONT.
- #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
- HAVE_SYMLINK		DO
- ##  Do you have Unix-domain sockets?  Pick DO or DONT.
- #### =()<HAVE_UNIX_DOMAIN	@<HAVE_UNIX_DOMAIN>@>()=
- HAVE_UNIX_DOMAIN	DO
- ##  Does your AF_UNIX bind use sizeof for the socket size?  Pick DO or DONT.
- #### =()<BIND_USE_SIZEOF		@<BIND_USE_SIZEOF>@>()=
- BIND_USE_SIZEOF		DO
- ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
- #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
- CLX_STYLE		FCNTL
- ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
- #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
- NBIO_STYLE		FCNTL
- ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
- #### =()<RES_STYLE		@<RES_STYLE>@>()=
- RES_STYLE		RUSAGE
- ##  How to get number of available descriptors?
- ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
- ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
- FDCOUNT_STYLE		SYSCONF
- ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
- ##  If -1, then no [gs]etrlimit calls are done.
- #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
- NOFILE_LIMIT		-1
- ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
- #### =()<NEED_TIME		@<NEED_TIME>@>()=
- NEED_TIME		DO
- ##  What predicate, if any, the <ctype.h> macros need
- #### =()<CTYPE			@<CTYPE>@>()=
- CTYPE			isXXXXX((c))
- #CTYPE			((c) > 0 && isXXXXX((c)))
- #CTYPE			isXXXXX((c))
- ##  What's the return type of abort?  Usually int or void.
- #### =()<ABORTVAL		@<ABORTVAL>@>()=
- ABORTVAL		void
- ##  What's the return type of alarm?  Usually int or unsigned int.
- #### =()<ALARMVAL		@<ALARMVAL>@>()=
- ALARMVAL		unsigned int
- ##  What's the return type of getpid?  Usually int or unsigned int.
- #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
- GETPIDVAL		pid_t
- ##  What's the return type of sleep?  Usually int or unsigned int.
- #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
- SLEEPVAL		unsigned int
- ##  What's the return type of  qsort?  Usually int or void.
- #### =()<QSORTVAL		@<QSORTVAL>@>()=
- QSORTVAL		void
- ##  What's the return type of lseek?  Usually long or off_t.
- #### =()<LSEEKVAL		@<LSEEKVAL>@>()=
- LSEEKVAL		off_t
- ##  What's the return type of free?  Usually int or void.
- #### =()<FREEVAL			@<FREEVAL>@>()=
- FREEVAL			void
- ##  What's the return type of exit?  Usually int or void.
- ##  (For gcc (not pedantic ANSI) use "volatile void" in EXITVAL and _EXITVAL.)
- #### =()<EXITVAL			@<EXITVAL>@>()=
- EXITVAL			void
- ##  What's the return type of _exit?  Usually int or void.
- #### =()<_EXITVAL		@<_EXITVAL>@>()=
- _EXITVAL		void
- 
- 
- ##
- ##  5.  C LIBRARY OMISSIONS
- ##  Possible values:
- ##	MISSING_MAN		strcasecmp.3 syslog.3
- ##	MISSING_SRC		strcasecmp.c syslog.c strerror.c getdtab.c
- ##	MISSING_OBJ		strcasecmp.o syslog.o strerror.o getdtab.c
- ##  getdtab has a getdtablesize() routine if you need it; see the lib
- ##  directory and Install.ms for others.
- ##  OSx systems should add $(OSXATTOBJ) to MISSING_OBJ.
- #### =()<MISSING_MAN		@<MISSING_MAN>@>()=
- MISSING_MAN		
- #### =()<MISSING_SRC		@<MISSING_SRC>@>()=
- MISSING_SRC		
- #### =()<MISSING_OBJ		@<MISSING_OBJ>@>()=
- MISSING_OBJ		
- 
- 
- ##
- ##  6.  MISCELLANEOUS CONFIG DATA
- ##
- ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
- #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
- ACT_STYLE		MMAP
- ##  Do you want mail notifications of bad control messages. DO or DONT
- ##  Setting it to do results in a lot of mail with the number of spammers
- ##  out there.
- #### =()<MAIL_BADCONTROLS	@<MAIL_BADCONTROLS>@>()=
- MAIL_BADCONTROLS	DONT
- ##  What type of pointer does mmap() manage? Normally ``caddr_t'' or ``void *''
- ##  or ``char *''
- #### =()<MMAP_PTR		@<MMAP_PTR>@>()=
- MMAP_PTR		void *
- ##  Should we msync when using mmap? Pick DO or DONT. Useful
- ##  with some slightly broken mmap implementations. (like HPUX and BSD/OS).
- #### =()<MMAP_SYNC		@<MMAP_SYNC>@>()=
- MMAP_SYNC		DONT
- ##  Should we call your msync() with 3 args? (addr,len,flags)
- ##  Choose DO or DONT.
- #### =()<MSYNC_3_ARG		@<MSYNC_3_ARG>@>()=
- MSYNC_3_ARG		DO
- ##  Do clients use our NNTP-server-open routine, or the one in NNTP?
- ##  INND is nicer, but you must install inn.conf files everywhere; NNTP
- ##  is better if you already have lots of /usr/lib/news/server files.
- ##  Pick INND or NNTP.
- #### =()<REM_STYLE		@<REM_STYLE>@>()=
- REM_STYLE		INND
- ##  Should rnews save articles that the server rejects?  Pick DO or DONT.
- #### =()<RNEWS_SAVE_BAD		@<RNEWS_SAVE_BAD>@>()=
- RNEWS_SAVE_BAD		DONT
- ##  Should rnews log articles innd already has?  Pick SYSLOG, FILE, OR DONT.
- #### =()<RNEWS_LOG_DUPS		@<RNEWS_LOG_DUPS>@>()=
- RNEWS_LOG_DUPS		DONT
- ##  Look in _PATH_RNEWSPROGS for rnews unpackers?  Pick DO or DONT.
- #### =()<RNEWSPROGS		@<RNEWSPROGS>@>()=
- RNEWSPROGS		DO
- ##  Should rnews try the local host?  Pick DO or DONT.
- #### =()<RNEWSLOCALCONNECT	@<RNEWSLOCALCONNECT>@>()=
- RNEWSLOCALCONNECT	DO
- ##  Environment variable that has remote hostname for rnews.
- #### =()<_ENV_UUCPHOST		@<_ENV_UUCPHOST>@>()=
- _ENV_UUCPHOST		UU_MACHINE
- ##  Require posts to have under 50% inclusion (">") lines?  Pick DO OR DONT.
- ##  (This is only for inews and nnrpd.)
- #### =()<CHECK_INCLUDED_TEXT	@<CHECK_INCLUDED_TEXT>@>()=
- CHECK_INCLUDED_TEXT	DO
- ##  Put hosts in the inews Path header?  Pick DO or DONT.
- #### =()<INEWS_PATH		@<INEWS_PATH>@>()=
- INEWS_PATH		DO
- ##  Munge the gecos field of password entry?  Pick DO or DONT.
- #### =()<MUNGE_GECOS		@<MUNGE_GECOS>@>()=
- MUNGE_GECOS		DO
- ##  How many times to try to fork before giving up
- #### =()<MAX_FORKS		@<MAX_FORKS>@>()=
- MAX_FORKS		10
- ##  Largest acceptable article size; 0 allows any size
- #### =()<MAX_ART_SIZE		@<MAX_ART_SIZE>@>()=
- MAX_ART_SIZE		1000000L
- ##  Value of dbzincore(FLAG) call in innd.  Pick 1 or 0.
- #### =()<INND_DBZINCORE		@<INND_DBZINCORE>@>()=
- INND_DBZINCORE		1
- ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
- #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
- INND_NICE_KIDS		DO
- ##  Value for nice(2) call in innd.
- #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
- INND_NICE_VALUE		4
- ##  Null-terminated list of unknown commands to not log to syslog.
- ##	INND_QUIET_BADLIST	"xstream", "xfoo", NULL
- #### =()<INND_QUIET_BADLIST	@<INND_QUIET_BADLIST>@>()=
- INND_QUIET_BADLIST	NULL
- ##  Null-terminated set of illegal distribution patterns for local postings.
- #### =()<BAD_DISTRIBS		@<BAD_DISTRIBS>@>()=
- BAD_DISTRIBS		"*.*",NULL
- ##  Verify that the poster is the person doing the cancel?  Pick DO or DONT.
- ##  (Can't do this if cancel arrives before the article does, by the way,
- ##  in which case the early cancel will be ignored.)
- #### =()<VERIFY_CANCELS		@<VERIFY_CANCELS>@>()=
- VERIFY_CANCELS		DONT
- ##  Log "ctlinnd cancel" commands to syslog?  Pick DO or DONT.
- #### =()<LOG_CANCEL_COMMANDS	@<LOG_CANCEL_COMMANDS>@>()=
- LOG_CANCEL_COMMANDS	DONT
- ##  File unknown "to.*" groups into the "to" newsgroup?  Pick DO or DONT.
- #### =()<MERGE_TO_GROUPS		@<MERGE_TO_GROUPS>@>()=
- MERGE_TO_GROUPS		DONT
- ##  File articles in unknown newsgroups into junk?  Pick DO or DONT.
- #### =()<WANT_TRASH		@<WANT_TRASH>@>()=
- WANT_TRASH		DONT
- ##  Record rejected articles in history?  Pick DO or DONT.
- #### =()<REMEMBER_TRASH		@<REMEMBER_TRASH>@>()=
- REMEMBER_TRASH		DO
- ##  Check the linecount against the Lines header?  Pick DO or DONT.
- #### =()<CHECK_LINECOUNT		@<CHECK_LINECOUNT>@>()=
- CHECK_LINECOUNT		DONT
- ##  If checking, the error must be within LINECOUNT_FUZZ lines.
- ##  Five is number of .signature lines + 1.
- #### =()<LINECOUNT_FUZZ		@<LINECOUNT_FUZZ>@>()=
- LINECOUNT_FUZZ		5
- ##  Have innd throttle itself after this many I/O errors.
- #### =()<IO_ERROR_COUNT		@<IO_ERROR_COUNT>@>()=
- IO_ERROR_COUNT		50
- ##  Default value for ctlinnd -t flag; use 0 to wait and poll.
- #### =()<CTLINND_TIMEOUT		@<CTLINND_TIMEOUT>@>()=
- CTLINND_TIMEOUT		0
- ##  Flush logs if we go this long with no I/O.
- #### =()<DEFAULT_TIMEOUT		@<DEFAULT_TIMEOUT>@>()=
- DEFAULT_TIMEOUT		300
- ##  INND closes channel if inactive this long (seconds).
- #### =()<PEER_TIMEOUT		@<PEER_TIMEOUT>@>()=
- PEER_TIMEOUT		(1 * 60 * 60)
- ##  NNRP exits if first command doesn't arrive within this time (seconds).
- #### =()<INIT_CLIENT_TIMEOUT	@<INIT_CLIENT_TIMEOUT>@>()=
- INIT_CLIENT_TIMEOUT	30
- ##  NNRP exits if inactive for this long (seconds).
- #### =()<CLIENT_TIMEOUT		@<CLIENT_TIMEOUT>@>()=
- CLIENT_TIMEOUT		(10 * 60)
- ##  Allow nnrpd readers when paused or throttled?  Pick DO or DONT.
- #### =()<ALLOW_READERS		@<ALLOW_READERS>@>()=
- ALLOW_READERS		DO
- ##  Refuse newsreader connections if load is higher then this; -1 disables.
- #### =()<NNRP_LOADLIMIT		@<NNRP_LOADLIMIT>@>()=
- NNRP_LOADLIMIT		16
- ##  Don't readdir() spool dir if same group within this many secs.
- #### =()<NNRP_RESCAN_DELAY	@<NNRP_RESCAN_DELAY>@>()=
- NNRP_RESCAN_DELAY	60
- ##  Do gethostbyaddr on client adresses in nnrp?   Pick DO or DONT.
- ##  (If DONT, then use only IP addresses in hosts.nnrp)
- #### =()<NNRP_GETHOSTBYADDR	@<NNRP_GETHOSTBYADDR>@>()=
- NNRP_GETHOSTBYADDR	DO
- ##  How many Message-ID retrievals until nnrpd does a dbzincore?  Set
- ##  to -1 to never do incore.
- #### =()<NNRP_DBZINCORE_DELAY	@<NNRP_DBZINCORE_DELAY>@>()=
- NNRP_DBZINCORE_DELAY	40
- ##  Strip Sender from posts that didn't authenticate?  Pick DO or DONT.
- #### =()<NNRP_AUTH_SENDER	@<NNRP_AUTH_SENDER>@>()=
- NNRP_AUTH_SENDER	DO
- ##  Do you want to make life easy for peers to pull feeds from you (it's
- ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
- ##  sleep inserted before each ARTICLE command is processed. (With
- ##  apologies to the Australians in the audience).
- #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
- LIKE_PULLERS		DONT
- ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
- ##  (RFC 977 says you should; your server performance may not agree...)
- #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
- ALLOW_NEWNEWS		DONT
- ##  How many read/write failures until channel is put to sleep or closed?
- #### =()<BAD_IO_COUNT		@<BAD_IO_COUNT>@>()=
- BAD_IO_COUNT		5
- ##  Multiplier for sleep in EWOULDBLOCK writes (seconds).
- #### =()<BLOCK_BACKOFF		@<BLOCK_BACKOFF>@>()=
- BLOCK_BACKOFF		(2 * 60)
- ##  How many article-writes between active and history updates?
- #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
- ICD_SYNC_COUNT		10
- ##  Tell resolver _res.options to be fast?  Pick DO or DONT.
- #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
- FAST_RESOLV		DONT
- ##  Drop articles that were posted this many days ago.
- #### =()<DEFAULT_CUTOFF		@<DEFAULT_CUTOFF>@>()=
- DEFAULT_CUTOFF		14
- ##  Maximum number of incoming NNTP connections.
- #### =()<DEFAULT_CONNECTIONS	@<DEFAULT_CONNECTIONS>@>()=
- DEFAULT_CONNECTIONS	50
- ##  Wait this many seconds before channel restarts.
- #### =()<CHANNEL_RETRY_TIME	@<CHANNEL_RETRY_TIME>@>()=
- CHANNEL_RETRY_TIME	(5 * 60)
- ##  Wait this many seconds before seeing if pause is ended.
- #### =()<PAUSE_RETRY_TIME	@<PAUSE_RETRY_TIME>@>()=
- PAUSE_RETRY_TIME	(5 * 60)
- ##  Wait this many seconds between noticing inactive channels.
- #### =()<CHANNEL_INACTIVE_TIME	@<CHANNEL_INACTIVE_TIME>@>()=
- CHANNEL_INACTIVE_TIME	(10 * 60)
- ##  Put nntplink info (filename) into the log?
- #### =()<NNTPLINK_LOG		@<NNTPLINK_LOG>@>()=
- NNTPLINK_LOG		DONT
- ##  Put article size into the log?
- #### =()<LOG_SIZE		@<LOG_SIZE>@>()=
- LOG_SIZE		DO
- ##  Log by host IP address, rather than from Path line?
- #### =()<IPADDR_LOG		@<IPADDR_LOG>@>()=
- IPADDR_LOG		DO
- ##  Log NNTP activity after this many articles.
- #### =()<NNTP_ACTIVITY_SYNC	@<NNTP_ACTIVITY_SYNC>@>()=
- NNTP_ACTIVITY_SYNC	200
- ##  Free buffers bigger than this when we're done with them.
- #### =()<BIG_BUFFER		@<BIG_BUFFER>@>()=
- BIG_BUFFER		(2 * START_BUFF_SIZE)
- ##  A general small buffer.
- #### =()<SMBUF			@<SMBUF>@>()=
- SMBUF			256
- ##  Buffer for a single article name.
- #### =()<MAXARTFNAME		@<MAXARTFNAME>@>()=
- MAXARTFNAME		10
- ##  Buffer for a single pathname in the spool directory.
- #### =()<SPOOLNAMEBUFF		@<SPOOLNAMEBUFF>@>()=
- SPOOLNAMEBUFF		512
- ##  Maximum size of a single header.
- #### =()<MAXHEADERSIZE		@<MAXHEADERSIZE>@>()=
- MAXHEADERSIZE		1024
- ##  Byte limit on locally-posted articles; 0 to disable the check.
- #### =()<LOCAL_MAX_ARTSIZE	@<LOCAL_MAX_ARTSIZE>@>()=
- LOCAL_MAX_ARTSIZE	1000000L
- ##  Default number of bytes to hold in memory when buffered.
- #### =()<SITE_BUFFER_SIZE	@<SITE_BUFFER_SIZE>@>()=
- SITE_BUFFER_SIZE	(16 * 1024)
- ##  Do you have uustat, or just uuq?  Pick DO or DONT
- #### =()<HAVE_UUSTAT		@<HAVE_UUSTAT>@>()=
- HAVE_UUSTAT		DO
- ##  Should INN do some setsockopts on network connections. Pick DO or DONT.
- ##  Some versions of Solaris should set to DONT (pre 2.4 it seems)
- #### =()<SET_SOCKOPT		@<SET_SOCKOPT>@>()=
- SET_SOCKOPT		DO
- 
- 
- ##
- ##  7.  PATHS TO COMMON PROGRAMS
- ##  Where the raison d'etre for this distribution lives.
- #### =()<_PATH_INND		@<_PATH_INND>@>()=
- _PATH_INND		/usr/news/bin/innd
- ##  Where the optional front-end that exec's innd lives.
- #### =()<_PATH_INNDSTART		@<_PATH_INNDSTART>@>()=
- _PATH_INNDSTART		/usr/news/bin/inndstart
- ##  Where news boot-up script should be installed.
- #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
- _PATH_NEWSBOOT		/usr/news/bin/rc.news
- ##  Where sendmail, or a look-alike, lives.
- ##  The -t is optional and says to read message for recipients
- #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
- _PATH_SENDMAIL		/usr/sbin/sendmail -t
- ##  Where the shell is.
- #### =()<_PATH_SH		@<_PATH_SH>@>()=
- _PATH_SH		/usr/bin/sh
- ##  Where the compress program lives.
- #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
- _PATH_COMPRESS		/usr/local/bin/gzip
- ##  What extension your compress appends
- #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
- _PATH_COMPRESSEXT	.gz
- ##  Where egrep lives (you might need the FSF one; see scanlogs)
- #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
- _PATH_EGREP		/usr/bin/egrep
- ##  Where perl lives
- #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
- _PATH_PERL		/usr/local/bin/perl
- ##  Where awk lives
- #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
- _PATH_AWK		/usr/bin/awk
- ##  Where sed lives (you might need the FSF one)
- #### =()<_PATH_SED		@<_PATH_SED>@>()=
- _PATH_SED		/usr/bin/sed
- ##  Where sort lives (you may want the FSF one).
- #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
- _PATH_SORT		/usr/bin/sort
- ##  Where inews lives.
- #### =()<_PATH_INEWS		@<_PATH_INEWS>@>()=
- _PATH_INEWS		/usr/news/bin/inews
- ##  Where rnews lives.
- #### =()<_PATH_RNEWS		@<_PATH_RNEWS>@>()=
- _PATH_RNEWS		/usr/news/bin/rnews
- ##  Where generic authentication programs live.
- #### =()<_PATH_AUTHDIR		@<_PATH_AUTHDIR>@>()=
- _PATH_AUTHDIR		/usr/news/bin/auth
- ##  Where the NNRP server lives.
- #### =()<_PATH_NNRPD		@<_PATH_NNRPD>@>()=
- _PATH_NNRPD		/usr/news/bin/nnrpd
- ##  The path of the process run when an unknown host connects to innd.
- ##  Usually the same as _PATH_NNRPD, but may be, e.g., the path to
- ##  nntpd from the reference implementation.
- #### =()<_PATH_NNTPD		@<_PATH_NNTPD>@>()=
- _PATH_NNTPD		/usr/news/bin/nnrpd
- ##  Where the NNQR server lives.  Make same as _PATH_NNRPD for now
- #### =()<_PATH_NNQRD		@<_PATH_NNRPD>@>()=
- _PATH_NNQRD		/usr/news/bin/nnrpd
- ##  Where most other programs live.
- ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
- #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
- _PATH_NEWSBIN		/usr/news/bin
- ##  Where temporary files live on the server
- #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
- _PATH_TMP		/var/tmp
- ##  Command to send mail (with -s "subject" allowed)
- #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
- _PATH_MAILCMD		/usr/bin/Mail
- ##  Where scripts should have shlock create locks.
- #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
- _PATH_LOCKS		/var/news/locks
- ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
- #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
- _PATH_GZIP		/usr/local/bin/gzip
- 
- ##
- ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
- ##  Spool directory, where articles live.
- #### =()<_PATH_SPOOL		@<_PATH_SPOOL>@>()=
- _PATH_SPOOL		/var/news/spool/articles
- ##  Spool directory where overview data lives.
- #### =()<_PATH_OVERVIEWDIR	@<_PATH_OVERVIEWDIR>@>()=
- _PATH_OVERVIEWDIR	/var/news/spool/over.view
- ##  Name of overview file within its spool directory.
- #### =()<_PATH_OVERVIEW		@<_PATH_OVERVIEW>@>()=
- _PATH_OVERVIEW		.overview
- ##  Where rnews spools its input.
- #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
- _PATH_SPOOLNEWS		/var/news/spool/in.coming
- ##  Where rnews creates temporary files until finished
- #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
- _PATH_SPOOLTEMP		/var/tmp
- ##  Where rnews puts bad input.
- #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
- _PATH_BADNEWS		/var/news/spool/in.coming/bad
- ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
- #### =()<_PATH_RELBAD		@<_PATH_RELBAD>@>()=
- _PATH_RELBAD		bad
- ## Where the XBATCH command should put the batches. Normally same as
- ## _PATH_SPOOLNEWS so that 'rnews -U' can find it.
- #### =()<_PATH_XBATCHES		@<_PATH_XBATCHES>@>()=
- _PATH_XBATCHES		/var/news/spool/in.coming
- 
- 
- ##
- ##  9.  EXECUTION PATHS FOR INND AND RNEWS
- ##  Pathname where dups are logged if RNEWS_LOG_DUPS is FILE.
- #### =()<_PATH_RNEWS_DUP_LOG	@<_PATH_RNEWS_DUP_LOG>@>()=
- _PATH_RNEWS_DUP_LOG	/dev/null
- ##  Rnews may execute any program in this directory; see RNEWSPROGS.
- #### =()<_PATH_RNEWSPROGS	@<_PATH_RNEWSPROGS>@>()=
- _PATH_RNEWSPROGS	/usr/news/bin/rnews.libexec
- ##  Path to control messages scripts.
- #### =()<_PATH_CONTROLPROGS	@<_PATH_CONTROLPROGS>@>()=
- _PATH_CONTROLPROGS	/usr/news/bin/control
- ##  Default "unknown/illegal" control script, within _PATH_CONTROLPROGS.
- #### =()<_PATH_BADCONTROLPROG	@<_PATH_BADCONTROLPROG>@>()=
- _PATH_BADCONTROLPROG	default
- 
- 
- ##
- ##  10.  SOCKETS CREATED BY INND OR CLIENTS
- #### =()<_PATH_INNDDIR		@<_PATH_INNDDIR>@>()=
- _PATH_INNDDIR		/var/news/run
- ##  Unix-domain stream socket that rnews connects to.
- #### =()<_PATH_NNTPCONNECT	@<_PATH_NNTPCONNECT>@>()=
- _PATH_NNTPCONNECT	/var/news/run/nntpin
- ##  Unix-domain datagram socket that ctlinnd to.
- #### =()<_PATH_NEWSCONTROL	@<_PATH_NEWSCONTROL>@>()=
- _PATH_NEWSCONTROL	/var/news/run/control
- ##  Temporary socket created by ctlinnd; run through mktemp
- #### =()<_PATH_TEMPSOCK		@<_PATH_TEMPSOCK>@>()=
- _PATH_TEMPSOCK		/var/news/run/ctlinndXXXXXX
- 
- 
- ##
- ##  11.  LOG AND CONFIG FILES
- ##  Shell script that sets most of these as shell vars
- #### =()<_PATH_SHELLVARS		@<_PATH_SHELLVARS>@>()=
- _PATH_SHELLVARS		/var/news/etc/innshellvars
- ##  Perl script that sets most of these as perl variables
- #### =()<_PATH_PERL_SHELLVARS	@<_PATH_PERL_SHELLVARS>@>()=
- _PATH_PERL_SHELLVARS	/var/news/etc/innshellvars.pl
- ##  TCL script that sets most of these as tcl variables
- #### =()<_PATH_TCL_SHELLVARS	@<_PATH_TCL_SHELLVARS>@>()=
- _PATH_TCL_SHELLVARS	/var/news/etc/innshellvars.tcl
- ##  csh script that sets most of these as csh variables
- #### =()<_PATH_CSH_SHELLVARS	@<_PATH_CSH_SHELLVARS>@>()=
- _PATH_CSH_SHELLVARS	/var/news/etc/innshellvars.csh
- ##  Where most config and data files are usually stored; not required
- ##  to the home directory of NEWSUSER.
- #### =()<_PATH_NEWSLIB		@<_PATH_NEWSLIB>@>()=
- _PATH_NEWSLIB		/var/news/etc
- ## The group owner of the rnews program. Usually uucp.
- #### =()<RNEWS_GROUP		@<RNEWS_GROUP>@>()=
- RNEWS_GROUP		uucp
- ##  The server's log file.
- #### =()<_PATH_LOGFILE		@<_PATH_LOGFILE>@>()=
- _PATH_LOGFILE		/var/log/news/news
- ##  The server's error log file.
- #### =()<_PATH_ERRLOG		@<_PATH_ERRLOG>@>()=
- _PATH_ERRLOG		/var/log/news/errlog
- ##  Where most sylog log files go; see also scanlogs, innstat, etc.
- #### =()<_PATH_MOST_LOGS		@<_PATH_MOST_LOGS>@>()=
- _PATH_MOST_LOGS		/var/log/news
- ##  How many generates of log files to keep.
- #### =()<LOG_CYCLES		@<LOG_CYCLES>@>()=
- LOG_CYCLES		3
- ##  Text value of the server's pid.
- #### =()<_PATH_SERVERPID		@<_PATH_SERVERPID>@>()=
- _PATH_SERVERPID		/var/news/run/innd.pid
- ##  The newsfeeds file, on the server host.
- #### =()<_PATH_NEWSFEEDS		@<_PATH_NEWSFEEDS>@>()=
- _PATH_NEWSFEEDS		/var/news/etc/newsfeeds
- ##  The article history database, on the server host.
- #### =()<_PATH_HISTORY		@<_PATH_HISTORY>@>()=
- _PATH_HISTORY		/var/news/etc/history
- ##  File listing the sites that feed us news.
- #### =()<_PATH_INNDHOSTS		@<_PATH_INNDHOSTS>@>()=
- _PATH_INNDHOSTS		/var/news/etc/hosts.nntp
- ##  The active file, on the server host.
- #### =()<_PATH_ACTIVE		@<_PATH_ACTIVE>@>()=
- _PATH_ACTIVE		/var/news/etc/active
- ##  A temporary active file, for writing on the server host.
- #### =()<_PATH_NEWACTIVE		@<_PATH_NEWACTIVE>@>()=
- _PATH_NEWACTIVE		/var/news/etc/active.tmp
- ##  An old active file on the server host.
- #### =()<_PATH_OLDACTIVE		@<_PATH_OLDACTIVE>@>()=
- _PATH_OLDACTIVE		/var/news/etc/active.old
- ##  The log of when groups are created.
- #### =()<_PATH_ACTIVETIMES	@<_PATH_ACTIVETIMES>@>()=
- _PATH_ACTIVETIMES	/var/news/etc/active.times
- ##  Where batch files are located.
- #### =()<_PATH_BATCHDIR		@<_PATH_BATCHDIR>@>()=
- _PATH_BATCHDIR		/var/news/spool/out.going
- ##  Where archives are kept.
- #### =()<_PATH_ARCHIVEDIR	@<_PATH_ARCHIVEDIR>@>()=
- _PATH_ARCHIVEDIR	/var/news/spool/archive
- ##  Where NNRP distributions file is
- #### =()<_PATH_NNRPDIST		@<_PATH_NNRPDIST>@>()=
- _PATH_NNRPDIST		/var/news/etc/distributions
- ##  Where the NNRP automatic subscriptions file is
- #### =()<_PATH_NNRPSUBS		@<_PATH_NNRPSUBS>@>()=
- _PATH_NNRPSUBS		/var/news/etc/subscriptions
- ##  Where the default Distribution assignments file is
- #### =()<_PATH_DISTPATS		@<_PATH_DISTPATS>@>()=
- _PATH_DISTPATS		/var/news/etc/distrib.pats
- #### =()<_PATH_NEWSGROUPS	@<_PATH_NEWSGROUPS>@>()=
- _PATH_NEWSGROUPS	/var/news/etc/newsgroups
- ##  File where client configuration parameters can be read.
- #### =()<_PATH_CONFIG		@<_PATH_CONFIG>@>()=
- _PATH_CONFIG		/var/news/etc/inn.conf
- ##  The possible active file, on clients (NFS-mounted, e.g.).
- #### =()<_PATH_CLIENTACTIVE	@<_PATH_CLIENTACTIVE>@>()=
- _PATH_CLIENTACTIVE	/var/news/etc/active
- ##  A temporary file, for client inews to use.
- #### =()<_PATH_TEMPACTIVE	@<_PATH_TEMPACTIVE>@>()=
- _PATH_TEMPACTIVE	/var/tmp/activeXXXXXX
- ##  Where to mail to the moderators.
- #### =()<_PATH_MODERATORS	@<_PATH_MODERATORS>@>()=
- _PATH_MODERATORS	/var/news/etc/moderators
- ##  A temporary file, for client inews to use.
- #### =()<_PATH_TEMPMODERATORS	@<_PATH_TEMPMODERATORS>@>()=
- _PATH_TEMPMODERATORS	/var/tmp/moderatorsXXXXXX
- ##  Where NNTP puts the name of the server.
- #### =()<_PATH_SERVER		@<_PATH_SERVER>@>()=
- _PATH_SERVER		/var/news/etc/server
- ##  File with name/password for all remote connections.
- #### =()<_PATH_NNTPPASS		@<_PATH_NNTPPASS>@>()=
- _PATH_NNTPPASS		/var/news/etc/passwd.nntp
- ##  NNRP access file.
- #### =()<_PATH_NNRPACCESS	@<_PATH_NNRPACCESS>@>()=
- _PATH_NNRPACCESS	/var/news/etc/nnrp.access
- ##  Default expire control file.
- #### =()<_PATH_EXPIRECTL		@<_PATH_EXPIRECTL>@>()=
- _PATH_EXPIRECTL		/var/news/etc/expire.ctl
- ##  Prolog to parse control scripts
- #### =()<_PATH_PARSECTL		@<_PATH_PARSECTL>@>()=
- _PATH_PARSECTL		/var/news/etc/parsecontrol
- ##  Access control file for control scripts.
- #### =()<_PATH_CONTROLCTL	@<_PATH_CONTROLCTL>@>()=
- _PATH_CONTROLCTL	/var/news/etc/control.ctl
- ##  Innwatch control file.
- #### =()<_PATH_CTLWATCH		@<_PATH_CTLWATCH>@>()=
- _PATH_CTLWATCH		/var/news/etc/innwatch.ctl
- ##  Where innwatch writes its own pid.
- #### =()<_PATH_WATCHPID		@<_PATH_WATCHPID>@>()=
- _PATH_WATCHPID		/var/news/run/innwatch.pid
- ##  Where innwatch writes status when it gets an interrupt
- #### =()<_PATH_INNWSTATUS	@<_PATH_INNWSTATUS>@>()=
- _PATH_INNWSTATUS	/var/news/run/innwatch.status
- ##  Format of news overview database
- #### =()<_PATH_SCHEMA		@<_PATH_SCHEMA>@>()=
- _PATH_SCHEMA		/var/news/etc/overview.fmt
- 
- 
- ##
- ##  12.  INNWATCH CONFIGURATION
- ##  Load average (* 100) at which innd should be paused.
- #### =()<INNWATCH_PAUSELOAD	@<INNWATCH_PAUSELOAD>@>()=
- INNWATCH_PAUSELOAD	1500
- ##  Load average (* 100) at which innd should be throttled.
- #### =()<INNWATCH_HILOAD		@<INNWATCH_HILOAD>@>()=
- INNWATCH_HILOAD		2000
- ##  Load average (* 100) at which to restart innd (pause/throttle undone).
- #### =()<INNWATCH_LOLOAD		@<INNWATCH_LOLOAD>@>()=
- INNWATCH_LOLOAD		1000
- ##  Space, in df output units, at which to throttle innd on _PATH_SPOOL 
- ##  or _PATH_OVERVIEWDIR.
- #### =()<INNWATCH_SPOOLSPACE	@<INNWATCH_SPOOLSPACE>@>()=
- INNWATCH_SPOOLSPACE	8000
- ##  Space, in df output units, at which to throttle innd on _PATH_BATCHDIR.
- #### =()<INNWATCH_BATCHSPACE	@<INNWATCH_BATCHSPACE>@>()=
- INNWATCH_BATCHSPACE	800
- ##  Space, in df output units, at which to throttle innd on _PATH_NEWSLIB.
- #### =()<INNWATCH_LIBSPACE	@<INNWATCH_LIBSPACE>@>()=
- INNWATCH_LIBSPACE	25000
- ##  Number of inodes at which to throttle innd on _PATH_SPOOL.
- #### =()<INNWATCH_SPOOLNODES	@<INNWATCH_SPOOLNODES>@>()=
- INNWATCH_SPOOLNODES	200
- ##  How long to sleep between innwatch iterations.
- #### =()<INNWATCH_SLEEPTIME	@<INNWATCH_SLEEPTIME>@>()=
- INNWATCH_SLEEPTIME	600
- ##  How inn (not just innwatch anymore) gets disk space usage 
- ##  (SVR4 machine would probably use /usr/ucb/df)
- #### =()<INNWATCH_DF		@<INNWATCH_DF>@>()=
- INNWATCH_DF		/usr/bin/df -v
- ##  Field number of INNWATCH_DF (with -i) output that gives free
- ##  inodes (starting at 1).
- #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
- INNWATCH_INODES		7
- ##  Field number of INNWATCH_DF output that gives the free block count.
- ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
- INNWATCH_BLOCKS		3
- 
- 
- 
- ##
- ##  13.  TCL Configuration
- ##  Do you want TCL support?  Pick DO or DONT
- #### =()<TCL_SUPPORT		@<TCL_SUPPORT>@>()=
- TCL_SUPPORT		DONT
- ##  Where your tcl header file live. Blank if no TCL
- ### =()<TCL_INC		@<TCL_INC>@>()=
- TCL_INC		
- # TCL_INC		-I/usr/local/include
- ##  How do you get the TCL library?  Probably -ltcl -lm, blank if no TCL
- #### =()<TCL_LIB		@<TCL_LIB>@>()=
- TCL_LIB		
- # TCL_LIB		-ltcl -lm
- ##  TCL Startup File. Should probably be prefixed with the same value as
- ##  _PATH_CONTROLPROGS. 
- #### =()<_PATH_TCL_STARTUP	@<_PATH_TCL_STARTUP>@>()=
- _PATH_TCL_STARTUP	/usr/news/bin/control/startup.tcl
- ##  TCL Filter File. Should probably be prefixed with the same value as
- ##  _PATH_CONTROLPROGS.
- #### =()<_PATH_TCL_FILTER	@<_PATH_TCL_FILTER>@>()=
- _PATH_TCL_FILTER	/usr/news/bin/control/filter.tcl
- 
- 
- ##
- ##  14. PGP Configuration
- ##
- 
- ## Do you want PGP verification of control messages? Pick DO or DONT
- ## If you change this then you need to fiddle with control.ctl.
- ## Setting it DONT is a really bad idea with all the miscreants out there...
- #### =()<WANT_PGPVERIFY		@<WANT_PGPVERIFY>@>()=
- WANT_PGPVERIFY		DO
- ##  PGP binary.
- #### =()<_PATH_PGP		@<_PATH_PGP>@>()=
- _PATH_PGP		/usr/local/bin/pgp
- 
- ##
- ##  15. Local Configuration
- ##
- 
- ##  Home of the NEWSUSER
- #### =()<_PATH_NEWSHOME		@<_PATH_NEWSHOME>@>()=
- _PATH_NEWSHOME		/usr/news
- 
- 
- ##
- ## 16. Actsync Configuration.
- ##
- 
- ##  Host to synchoronize active file with (see actsync and actsyncd manpages).
- #### =()<ACTSYNC_HOST		@<ACTSYNC_HOST>@>()=
- ACTSYNC_HOST		news.foo.bar.com
- ##  Flags actsyncd is to pass to actsync.
- #### =()<ACTSYNC_FLAGS		@<ACTSYNC_FLAGS>@>()=
- ACTSYNC_FLAGS		-v 2 -q 2 -b 0 -d 0 -g 7 -s 79 -t 2
- ## Actsyncd config file.
- #### =()<_PATH_ACTSYNC_CFG	@<_PATH_ACTSYNC_CFG>@>()=
- _PATH_ACTSYNC_CFG	/var/news/etc/actsync.cfg
- ## Actsyncd ignore file.
- #### =()<_PATH_ACTSYNC_IGN	@<_PATH_ACTSYNC_IGN>@>()=
- _PATH_ACTSYNC_IGN	/var/news/etc/actsync.ign
- 
- 
- 
- ##  17.  Perl Configuration
- ##  Do you want Perl support?  Pick DO or DONT
- #### =()<PERL_SUPPORT		@<PERL_SUPPORT>@>()=
- PERL_SUPPORT		DONT
- ##  How do you get the PERL libraries?  Probably -lperl -lm, blank if no PERL
- #### =()<PERL_LIB	@<PERL_LIB>@>()=
- PERL_LIB	
- #PERL_LIB	-L/usr/local/gnu/lib/perl5/i386-bsdos/5.003/CORE -lperl -lm
- ##  Core directory (includes, libs). See perlembed(1)
- #### =()<PERL_INC	@<PERL_INC>@>()=
- PERL_INC	
- #PERL_INC		-I/usr/local/gnu/lib/perl5/i386-bsdos/5.003/CORE
- ##  Perl Filter Files. Should probably be prefixed with the same value as
- ##  _PATH_CONTROLPROGS.
- #### =()<_PATH_PERL_STARTUP_INND		@<_PATH_PERL_STARTUP_INND>@>()=
- _PATH_PERL_STARTUP_INND		/usr/news/bin/control/startup_innd.pl
- #### =()<_PATH_PERL_FILTER_INND		@<_PATH_PERL_FILTER_INND>@>()=
- _PATH_PERL_FILTER_INND		/usr/news/bin/control/filter_innd.pl
- #### =()<_PATH_PERL_FILTER_NNRPD		@<_PATH_PERL_FILTER_NNRPD>@>()=
- _PATH_PERL_FILTER_NNRPD		/usr/news/bin/control/filter_nnrpd.pl
--- 0 ----
diff -Nacr inn-1.7/sample-configs/config.data-aix-4.2.1.ooo inn-1.7.1/sample-configs/config.data-aix-4.2.1.ooo
*** inn-1.7/sample-configs/config.data-aix-4.2.1.ooo	Tue Oct 14 12:32:17 1997
--- inn-1.7.1/sample-configs/config.data-aix-4.2.1.ooo	Thu Jan  1 00:00:00 1970
***************
*** 1,1016 ****
- ##  $Revision: 1.73 $
- ##
- ##  InterNetNews configuration file.
- ##  Note that if you leave a field blank, you must have the trailing tab!
- ##
- 
- ##
- ## This config.data file is for INN 1.6b3 on AIX 4.2.1 using xlc (or gcc).
- ## The presence of gzip, pgp, and perl 5.004_03 is assumed.
- ## 19970722	Soren S. Jorvang <soren@t.dk>
- ##
- 
- ##
- ##  1.  MAKE CONFIG PARAMETERS
- ##  Where the DBZ sources are, from C News.  INN has a (maybe old) copy.
- #### =()<DBZDIR			@<DBZDIR>@>()=
- DBZDIR			../dbz
- ##  If you have a parallel make, set this to "&"
- #### =()<P			@<P>@>()=
- P			
- ##  C pre-processor flags.
- #### =()<DEFS			@<DEFS>@>()=
- DEFS			-I../include -DNO_MMAP_ACTIVE
- ##  C compiler
- #### =()<CC			@<CC>@>()=
- CC			xlc
- ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
- #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
- USE_CHAR_CONST		DO
- ##  C compiler flags add a -DUSE_DMALLOC if using the dmalloc package.
- #### =()<CFLAGS			@<CFLAGS>@>()=
- CFLAGS			$(DEFS) -O3 -qstrict
- ##  C compiler flags to use when compiling dbz
- #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
- DBZCFLAGS		$(CFLAGS)
- ##  What flags to use if profiling; -p or -pg, e.g.
- #### =()<PROF			@<PROF>@>()=
- PROF			-pg
- ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
- #### =()<LDFLAGS			@<LDFLAGS>@>()=
- LDFLAGS			
- ##  If you use the standard NNTP way of connecting, where is the library?
- #### =()<NNTPLIB		@<NNTPLIB>@>()=
- NNTPLIB			
- ##  If you DONT have snprintf in your clibrary then set LIBSNPRINTF 
- ##  to  ``../libsnprintf.a''. i.e.
- ##
- ##             LIBSNPRINTF		../libsnprintf.a
- ##
- ##  Also see HAVE_SNPRINTF down below.
- #### =()<LIBSNPRINTF		@<LIBSNPRINTF>@>()=
- LIBSNPRINTF		
- ##
- ## What compiler flags do you need to build the snprintf library. 
- ##
- ## On Solaris 2.5 and 2.5.1 (and maybe higher) with the Sun C compiler.
- ## you want
- ##		-Xc -Dsun -D__svr4__ -DBad_float_h
- ## with gcc
- ##		-Dsnprintf=__snprintf -Dvsnprintf=__vsnprintf
- ## is reported to work (with HAVE_SNPRINTF set to DO and LIBSNPRINT to nothing)
- ##
- #### =()<SNPRINTF_CFLAGS	@<SNPRINTF_CFLAGS>@>()=
- SNPRINTF_CFLAGS			
- ##  If you need to link in other libraries add them here.  On NetBSD and
- ##  FreeBSD, you must add the -lcrypt directive here -lutil on BSD/OS gives
- ##  you setproctitle() see HAVE_SETPROCTITLE.
- #### =()<LIBS			@<LIBS>@>()=
- LIBS			
- ##  How to make a lint library; pick BSD, SYSV, or NONE.
- #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
- LINTLIBSTYLE		NONE
- ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
- #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
- LINTFLAGS		-b -h -wkD $(DEFS)
- ##  Some lints insist on putting out the filename and other crap.
- ##  Possible values:
- ##	LINTFILTER              | sed -n -f ../sedf.aix
- ##	LINTFILTER              | sed -n -f ../sedf.osx
- ##	LINTFILTER              | sed -n -f ../sedf.sun
- ##	LINTFILTER              | sed -n -f ../sedf.sysv
- ##	LINTFILTER              
- ####  =()<LINTFILTER		@<LINTFILTER>@>()=
- LINTFILTER		| sed -n -f ../sedf.aix
- ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
- ##  BSD4.4 or NONE.
- #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
- MANPAGESTYLE		SOURCE
- ##  Where various manpages should go
- #### =()<MAN1			@<MAN1>@>()=
- MAN1			/news/man/man1
- #### =()<MAN3			@<MAN3>@>()=
- MAN3			/news/man/man3
- #### =()<MAN5			@<MAN5>@>()=
- MAN5			/news/man/man5
- #### =()<MAN8			@<MAN8>@>()=
- MAN8			/news/man/man8
- ##  Ranlib command.  Use echo if you don't need ranlib.
- #### =()<RANLIB			@<RANLIB>@>()=
- RANLIB			ranlib
- ##  YACC (yet another config control?)
- #### =()<YACC			@<YACC>@>()=
- YACC			yacc
- ##  Ctags command.  Use echo if you don't have ctags.
- #### =()<CTAGS			@<CTAGS>@>()=
- CTAGS			ctags -t -w
- 
- 
- ##
- ##  2.  LOGGING LEVELS
- ##  Facility innd should log under.
- #### =()<LOG_INN_SERVER		@<LOG_INN_SERVER>@>()=
- LOG_INN_SERVER		LOG_NEWS
- ##  Facility all other programs should log under.
- #### =()<LOG_INN_PROG		@<LOG_INN_PROG>@>()=
- LOG_INN_PROG		LOG_NEWS
- ##  Flags to use in opening the logs; some programs add LOG_PID.
- #### =()<L_OPENLOG_FLAGS		@<L_OPENLOG_FLAGS>@>()=
- L_OPENLOG_FLAGS		(LOG_CONS | LOG_NDELAY)
- ##  Log a fatal error; program is about to exit.
- #### =()<L_FATAL			@<L_FATAL>@>()=
- L_FATAL			LOG_CRIT
- ##  Log an error that might mean one or more articles get lost.
- #### =()<L_ERROR			@<L_ERROR>@>()=
- L_ERROR			LOG_ERR
- ##  Informational notice, usually not worth caring about.
- #### =()<L_NOTICE		@<L_NOTICE>@>()=
- L_NOTICE		LOG_WARNING
- ##  A protocol trace.
- #### =()<L_TRACE			@<L_TRACE>@>()=
- L_TRACE			LOG_DEBUG
- ##  All incoming control commands (ctlinnd, etc).
- #### =()<L_CC_CMD		@<L_CC_CMD>@>()=
- L_CC_CMD		LOG_INFO
- 
- 
- ##
- ##  3.  OWNERSHIPS AND FILE MODES
- ##  Owner of articles and directories and _PATH_INNDDIR
- #### =()<NEWSUSER			@<NEWSUSER>@>()=
- NEWSUSER		news
- ##  Group, for same purpose
- #### =()<NEWSGROUP		@<NEWSGROUP>@>()=
- NEWSGROUP		news
- ##  Who gets email from news.daily and about control messages.
- #### =()<NEWSMASTER		@<NEWSMASTER>@>()=
- NEWSMASTER		usenet
- ##  Who gets email on the Path line?
- #### =()<PATHMASTER		@<PATHMASTER>@>()=
- PATHMASTER		not-for-mail
- ##  Umask to set.
- #### =()<NEWSUMASK		@<NEWSUMASK>@>()=
- NEWSUMASK		02
- ##  Mode that incoming articles are created under.
- #### =()<ARTFILE_MODE		@<ARTFILE_MODE>@>()=
- ARTFILE_MODE		0664
- ##  Mode that batch files are created under.
- #### =()<BATCHFILE_MODE		@<BATCHFILE_MODE>@>()=
- BATCHFILE_MODE		0664
- ##  Mode that directories are created under.
- #### =()<GROUPDIR_MODE		@<GROUPDIR_MODE>@>()=
- GROUPDIR_MODE		0775
- 
- 
- ##
- ##  4.  C LIBRARY DIFFERENCES
- ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
- ##  You need vfprintf and vfsprintf if not NONE.
- #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
- VAR_STYLE		VARARGS
- ##  If you don't have <string.h>, set this to "mystring.h"
- #### =()<STR_HEADER		@<STR_HEADER>@>()=
- STR_HEADER		<string.h>
- ##  If you don't have <memory.h>, set this to "mymemory.h"
- #### =()<MEM_HEADER		@<MEM_HEADER>@>()=
- MEM_HEADER		<memory.h>
- ##  What is a file offset?  MUST BE LONG FOR NOW.
- #### =()<OFFSET_T		@<OFFSET_T>@>()=
- OFFSET_T		long
- ##  What is the type of an object size? Usually size_t or unsigned int.
- #### =()<SIZE_T			@<SIZE_T>@>()=
- SIZE_T			size_t
- ##  What is the type of a passwd uid and gid, for use in chown(2)?
- #### =()<UID_T			@<UID_T>@>()=
- UID_T			uid_t
- #### =()<GID_T			@<GID_T>@>()=
- GID_T			gid_t
- ##  Type of a pid, for use in kill(2).
- #### =()<PID_T			@<PID_T>@>()=
- PID_T			pid_t
- ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
- #### =()<POINTER			@<POINTER>@>()=
- POINTER			void
- ##  Worst-case alignment, in order to shut lint up
- #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
- ALIGNPTR		int
- ##  What should a signal handler return?  Usually int or void.
- #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
- SIGHANDLER		void
- ##  Type of variables can be modified in a signal handler? sig_atomic_t
- #### =()<SIGVAR			@<SIGVAR>@>()=
- SIGVAR			sig_atomic_t
- ##  Function that returns no value, and a pointer to it.  Pick int or void
- #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
- FUNCTYPE		void
- ##  Type of 32 bit unsigned integer.
- #### =()<U_INT32_T			@<U_INT32_T>@>()=
- U_INT32_T		unsigned int
- ##  Type of 32 bit signed integer.
- #### =()<INT32_T			@<INT32_T>@>()=
- INT32_T			int
- ##  Size pointer for socket functions. Most systems use int.
- SOCKLEN			size_t
- ##  Use BSD4.2 or Posix directory names?  Pick DIRENT or DIRECT.
- #### =()<DIR_STYLE		@<DIR_STYLE>@>()=
- DIR_STYLE		DIRENT
- ##  Use flock, lockf, or nothing to lock files?
- ##  Pick FLOCK, LOCKF, FCNTL, or NONE
- #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
- LOCK_STYLE		FCNTL
- ##  Do you have <unistd.h>?  Pick DO or DONT
- #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
- HAVE_UNISTD		DO
- ##  Do you have setbuffer?  Pick DO or DONT.
- #### =()<HAVE_SETBUFFER		@<HAVE_SETBUFFER>@>()=
- HAVE_SETBUFFER		DO
- ##  Do you have gettimeofday?  Pick DO or DONT.
- #### =()<HAVE_GETTIMEOFDAY	@<HAVE_GETTIMEOFDAY>@>()=
- HAVE_GETTIMEOFDAY	DO
- ##  Do you have setproctitle()?  Pick DO or DONT.
- ##  You may need to adjust LIBS for this.
- #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
- HAVE_SETPROCTITLE	DONT
- ## Do you have setpriority()? Pick DO or DONT.
- HAVE_SETPRIORITY	DO
- ##  Do you have fchmod?  Pick DO or DONT.
- #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
- HAVE_FCHMOD		DO
- ##  Do you have setsid()?  Pick DO or DONT.
- #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
- HAVE_SETSID		DO
- ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
- #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
- HAVE_TM_GMTOFF		DONT
- ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
- #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
- HAVE_ST_BLKSIZE		DO
- ##  Use waitpid instead of wait3?  Pick DO or DONT.
- #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
- HAVE_WAITPID		DO
- ##  Use "union wait" instead of int?  Pick DO or DONT.
- #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
- USE_UNION_WAIT		DONT
- ##  How to fork?  Pick fork or vfork.
- #### =()<FORK			@<FORK>@>()=
- FORK			vfork
- ##  Do you have <vfork.h>?  Pick DO or DONT.
- #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
- HAVE_VFORK		DONT
- ##  Do you have symbolic links?  Pick DO or DONT.
- #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
- HAVE_SYMLINK		DO
- ##  Do you have Unix-domain sockets?  Pick DO or DONT.
- #### =()<HAVE_UNIX_DOMAIN	@<HAVE_UNIX_DOMAIN>@>()=
- HAVE_UNIX_DOMAIN	DO
- ##  Does your AF_UNIX bind use sizeof for the socket size?  Pick DO or DONT.
- #### =()<BIND_USE_SIZEOF		@<BIND_USE_SIZEOF>@>()=
- BIND_USE_SIZEOF		DO
- ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
- #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
- CLX_STYLE		FCNTL
- ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
- #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
- NBIO_STYLE		FCNTL
- ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
- #### =()<RES_STYLE		@<RES_STYLE>@>()=
- RES_STYLE		RUSAGE
- ##  How to get number of available descriptors?
- ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
- ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
- FDCOUNT_STYLE		SYSCONF
- ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
- ##  If -1, then no [gs]etrlimit calls are done.
- #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
- NOFILE_LIMIT		-1
- ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
- #### =()<NEED_TIME		@<NEED_TIME>@>()=
- NEED_TIME		DO
- ##  What predicate, if any, the <ctype.h> macros need
- #### =()<CTYPE			@<CTYPE>@>()=
- #CTYPE			(isascii((c)) && isXXXXX((c)))
- #CTYPE			((c) > 0 && isXXXXX((c)))
- CTYPE			isXXXXX((c))
- ##  What's the return type of abort?  Usually int or void.
- #### =()<ABORTVAL		@<ABORTVAL>@>()=
- ABORTVAL		void
- ##  What's the return type of alarm?  Usually int or unsigned int.
- #### =()<ALARMVAL		@<ALARMVAL>@>()=
- ALARMVAL		unsigned int
- ##  What's the return type of getpid?  Usually int or unsigned int.
- #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
- GETPIDVAL		pid_t
- ##  What's the return type of sleep?  Usually int or unsigned int.
- #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
- SLEEPVAL		unsigned int
- ##  What's the return type of  qsort?  Usually int or void.
- #### =()<QSORTVAL		@<QSORTVAL>@>()=
- QSORTVAL		void
- ##  What's the return type of lseek?  Usually long or off_t.
- #### =()<LSEEKVAL		@<LSEEKVAL>@>()=
- LSEEKVAL		off_t
- ##  What's the return type of free?  Usually int or void.
- #### =()<FREEVAL			@<FREEVAL>@>()=
- FREEVAL			void
- ##  What's the return type of exit?  Usually int or void.
- ##  (For gcc (not pedantic ANSI) use "volatile void" in EXITVAL and _EXITVAL.)
- #### =()<EXITVAL			@<EXITVAL>@>()=
- EXITVAL			void
- ##  What's the return type of _exit?  Usually int or void.
- #### =()<_EXITVAL		@<_EXITVAL>@>()=
- _EXITVAL		void
- ## Do you have snprintf() in your c library. Pick DO or DONT. See
- ## LIBSNPRINTF and SNPRINTF_CFLAGS above.
- #### =()<HAVE_SNPRINTF		@<HAVE_SNPRINTF>@>()=
- HAVE_SNPRINTF		DO
- 
- ##
- ##  5.  C LIBRARY OMISSIONS
- ##  Possible values:
- ##	MISSING_MAN		strcasecmp.3 syslog.3
- ##	MISSING_SRC		strcasecmp.c syslog.c strerror.c getdtab.c
- ##	MISSING_OBJ		strcasecmp.o syslog.o strerror.o getdtab.c
- ##  getdtab has a getdtablesize() routine if you need it; see the lib
- ##  directory and Install.ms for others.
- ##  OSx systems should add $(OSXATTOBJ) to MISSING_OBJ.
- #### =()<MISSING_MAN		@<MISSING_MAN>@>()=
- MISSING_MAN		
- #### =()<MISSING_SRC		@<MISSING_SRC>@>()=
- MISSING_SRC		
- #### =()<MISSING_OBJ		@<MISSING_OBJ>@>()=
- MISSING_OBJ		
- 
- 
- ##
- ##  6.  MISCELLANEOUS CONFIG DATA
- ##
- 
- ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
- #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
- ACT_STYLE		MMAP
- ##  Do you want mail notifications of bad control messages. DO or DONT
- ##  Setting it to do results in a lot of mail with the number of spammers
- ##  out there.
- #### =()<MAIL_BADCONTROLS	@<MAIL_BADCONTROLS>@>()=
- MAIL_BADCONTROLS	DONT
- ##  What type of pointer does mmap() manage? Normally ``caddr_t'' or ``void *''
- ##  or ``char *''
- #### =()<MMAP_PTR		@<MMAP_PTR>@>()=
- MMAP_PTR		void *
- ##  Should we msync when using mmap? Pick DO or DONT. Useful
- ##  with some slightly broken mmap implementations. (like HPUX and BSD/OS).
- #### =()<MMAP_SYNC		@<MMAP_SYNC>@>()=
- MMAP_SYNC		DONT
- ##  Should we call your msync() with 3 args? (addr,len,flags)
- ##  Choose DO or DONT.
- #### =()<MSYNC_3_ARG		@<MSYNC_3_ARG>@>()=
- MSYNC_3_ARG		DO
- ##  Do clients use our NNTP-server-open routine, or the one in NNTP?
- ##  INND is nicer, but you must install inn.conf files everywhere; NNTP
- ##  is better if you already have lots of /usr/lib/news/server files.
- ##  Pick INND or NNTP.
- #### =()<REM_STYLE		@<REM_STYLE>@>()=
- REM_STYLE		INND
- ##  Should rnews save articles that the server rejects?  Pick DO or DONT.
- #### =()<RNEWS_SAVE_BAD		@<RNEWS_SAVE_BAD>@>()=
- RNEWS_SAVE_BAD		DO
- ##  Should rnews log articles innd already has?  Pick SYSLOG, FILE, OR DONT.
- #### =()<RNEWS_LOG_DUPS		@<RNEWS_LOG_DUPS>@>()=
- RNEWS_LOG_DUPS		SYSLOG
- ##  Look in _PATH_RNEWSPROGS for rnews unpackers?  Pick DO or DONT.
- #### =()<RNEWSPROGS		@<RNEWSPROGS>@>()=
- RNEWSPROGS		DO
- ##  Should rnews try the local host?  Pick DO or DONT.
- #### =()<RNEWSLOCALCONNECT	@<RNEWSLOCALCONNECT>@>()=
- RNEWSLOCALCONNECT	DO
- ##  Environment variable that has remote hostname for rnews.
- #### =()<_ENV_UUCPHOST		@<_ENV_UUCPHOST>@>()=
- _ENV_UUCPHOST		UU_MACHINE
- ##  Require posts to have under 50% inclusion (">") lines?  Pick DO OR DONT.
- ##  (This is only for inews and nnrpd.)
- #### =()<CHECK_INCLUDED_TEXT	@<CHECK_INCLUDED_TEXT>@>()=
- CHECK_INCLUDED_TEXT	DONT
- ##  Put hosts in the inews Path header?  Pick DO or DONT.
- #### =()<INEWS_PATH		@<INEWS_PATH>@>()=
- INEWS_PATH		DONT
- ##  Munge the gecos field of password entry?  Pick DO or DONT.
- #### =()<MUNGE_GECOS		@<MUNGE_GECOS>@>()=
- MUNGE_GECOS		DO
- ##  How many times to try to fork before giving up
- #### =()<MAX_FORKS		@<MAX_FORKS>@>()=
- MAX_FORKS		10
- ##  Largest acceptable article size; 0 allows any size
- #### =()<MAX_ART_SIZE		@<MAX_ART_SIZE>@>()=
- MAX_ART_SIZE		2097152L
- ##  Value of dbzincore(FLAG) call in innd.  Pick 1 or 0.
- #### =()<INND_DBZINCORE		@<INND_DBZINCORE>@>()=
- INND_DBZINCORE		1
- ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
- #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
- INND_NICE_KIDS		DO
- ##  Value for nice(2) call in innd after forking for a child.
- #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
- INND_NICE_VALUE		4
- ##  Null-terminated list of unknown commands to not log to syslog.
- ##	INND_QUIET_BADLIST	"xstream", "xfoo", NULL
- #### =()<INND_QUIET_BADLIST	@<INND_QUIET_BADLIST>@>()=
- INND_QUIET_BADLIST	NULL
- ##  Null-terminated set of illegal distribution patterns for local postings.
- #### =()<BAD_DISTRIBS		@<BAD_DISTRIBS>@>()=
- BAD_DISTRIBS		"*.*",NULL
- ##  Verify that the poster is the person doing the cancel?  Pick DO or DONT.
- ##  (Can't do this if cancel arrives before the article does, by the way,
- ##  in which case the early cancel will be ignored.)
- #### =()<VERIFY_CANCELS		@<VERIFY_CANCELS>@>()=
- VERIFY_CANCELS		DONT
- ##  Log "ctlinnd cancel" commands to syslog?  Pick DO or DONT.
- #### =()<LOG_CANCEL_COMMANDS	@<LOG_CANCEL_COMMANDS>@>()=
- LOG_CANCEL_COMMANDS	DO
- ##  File unknown "to.*" groups into the "to" newsgroup?  Pick DO or DONT.
- #### =()<MERGE_TO_GROUPS		@<MERGE_TO_GROUPS>@>()=
- MERGE_TO_GROUPS		DONT
- ##  File articles in unknown newsgroups into junk?  Pick DO or DONT.
- #### =()<WANT_TRASH		@<WANT_TRASH>@>()=
- WANT_TRASH		DONT
- ##  Record rejected articles in history?  Pick DO or DONT.
- #### =()<REMEMBER_TRASH		@<REMEMBER_TRASH>@>()=
- REMEMBER_TRASH		DO
- ##  Check the linecount against the Lines header?  Pick DO or DONT.
- #### =()<CHECK_LINECOUNT		@<CHECK_LINECOUNT>@>()=
- CHECK_LINECOUNT		DONT
- ##  If checking, the error must be within LINECOUNT_FUZZ lines.
- ##  Five is number of .signature lines + 1.
- #### =()<LINECOUNT_FUZZ		@<LINECOUNT_FUZZ>@>()=
- LINECOUNT_FUZZ		5
- ##  Have innd throttle itself after this many I/O errors.
- #### =()<IO_ERROR_COUNT		@<IO_ERROR_COUNT>@>()=
- IO_ERROR_COUNT		50
- ##  Default value for ctlinnd -t flag; use 0 to wait and poll.
- #### =()<CTLINND_TIMEOUT		@<CTLINND_TIMEOUT>@>()=
- CTLINND_TIMEOUT		0
- ##  Flush logs if we go this long with no I/O.
- #### =()<DEFAULT_TIMEOUT		@<DEFAULT_TIMEOUT>@>()=
- DEFAULT_TIMEOUT		300
- ##  INND closes channel if inactive this long (seconds).
- #### =()<PEER_TIMEOUT		@<PEER_TIMEOUT>@>()=
- PEER_TIMEOUT		(20 * 60)
- ##  NNRP exits if first command doesn't arrive within this time (seconds).
- #### =()<INIT_CLIENT_TIMEOUT	@<INIT_CLIENT_TIMEOUT>@>()=
- INIT_CLIENT_TIMEOUT	30
- ##  NNRP exits if inactive for this long (seconds).
- #### =()<CLIENT_TIMEOUT		@<CLIENT_TIMEOUT>@>()=
- CLIENT_TIMEOUT		(5 * 60)
- ##  Allow nnrpd readers when paused or throttled?  Pick DO or DONT.
- #### =()<ALLOW_READERS		@<ALLOW_READERS>@>()=
- ALLOW_READERS		DO
- ##  Refuse newsreader connections if load is higher then this; -1 disables.
- #### =()<NNRP_LOADLIMIT		@<NNRP_LOADLIMIT>@>()=
- NNRP_LOADLIMIT		16
- ##  Don't readdir() spool dir if same group within this many secs.
- #### =()<NNRP_RESCAN_DELAY	@<NNRP_RESCAN_DELAY>@>()=
- NNRP_RESCAN_DELAY	(2 * 60)
- ##  Do gethostbyaddr on client adresses in nnrp?   Pick DO or DONT.
- ##  (If DONT, then use only IP addresses in hosts.nnrp)
- #### =()<NNRP_GETHOSTBYADDR	@<NNRP_GETHOSTBYADDR>@>()=
- NNRP_GETHOSTBYADDR	DO
- ##  How many Message-ID retrievals until nnrpd does a dbzincore?  Set
- ##  to -1 to never do incore.
- #### =()<NNRP_DBZINCORE_DELAY	@<NNRP_DBZINCORE_DELAY>@>()=
- NNRP_DBZINCORE_DELAY	40
- ##  Strip Sender from posts that didn't authenticate?  Pick DO or DONT.
- #### =()<NNRP_AUTH_SENDER	@<NNRP_AUTH_SENDER>@>()=
- NNRP_AUTH_SENDER	DO
- ##  Do you want to make life easy for peers to pull feeds from you (it's
- ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
- ##  sleep inserted after each ARTICLE command is processed. (With
- ##  apologies to the Australians in the audience).
- #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
- LIKE_PULLERS		DO
- ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
- ##  (RFC 977 says you should; your server performance may not agree...)
- #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
- ALLOW_NEWNEWS		DONT
- ##  How many read/write failures until channel is put to sleep or closed?
- #### =()<BAD_IO_COUNT		@<BAD_IO_COUNT>@>()=
- BAD_IO_COUNT		5
- ##  Multiplier for sleep in EWOULDBLOCK writes (seconds).
- #### =()<BLOCK_BACKOFF		@<BLOCK_BACKOFF>@>()=
- BLOCK_BACKOFF		(2 * 60)
- ##  How many article-writes between active and history updates?
- #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
- ICD_SYNC_COUNT		100
- ##  We only use FQDN's in the hosts.nntp file. Pick DO or DONT.
- #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
- FAST_RESOLV		DO
- ##  Drop articles that were posted this many days ago.
- #### =()<DEFAULT_CUTOFF		@<DEFAULT_CUTOFF>@>()=
- DEFAULT_CUTOFF		14
- ##  Maximum number of incoming NNTP connections.
- #### =()<DEFAULT_CONNECTIONS	@<DEFAULT_CONNECTIONS>@>()=
- DEFAULT_CONNECTIONS	200
- ##  Wait this many seconds before channel restarts.
- #### =()<CHANNEL_RETRY_TIME	@<CHANNEL_RETRY_TIME>@>()=
- CHANNEL_RETRY_TIME	(5 * 60)
- ##  Wait this many seconds before seeing if pause is ended.
- #### =()<PAUSE_RETRY_TIME	@<PAUSE_RETRY_TIME>@>()=
- PAUSE_RETRY_TIME	(5 * 60)
- ##  Wait this many seconds between noticing inactive channels.
- #### =()<CHANNEL_INACTIVE_TIME	@<CHANNEL_INACTIVE_TIME>@>()=
- CHANNEL_INACTIVE_TIME	(10 * 60)
- ##  Put nntplink info (filename) into the log?
- #### =()<NNTPLINK_LOG		@<NNTPLINK_LOG>@>()=
- NNTPLINK_LOG		DONT
- ##  Put article size into the log?
- #### =()<LOG_SIZE		@<LOG_SIZE>@>()=
- LOG_SIZE		DO
- ##  Log by host IP address, rather than from Path line?
- #### =()<IPADDR_LOG		@<IPADDR_LOG>@>()=
- IPADDR_LOG		DO
- ##  Log NNTP activity after this many articles.
- #### =()<NNTP_ACTIVITY_SYNC	@<NNTP_ACTIVITY_SYNC>@>()=
- NNTP_ACTIVITY_SYNC	200
- ##  Free buffers bigger than this when we're done with them.
- #### =()<BIG_BUFFER		@<BIG_BUFFER>@>()=
- BIG_BUFFER		(2 * START_BUFF_SIZE)
- ##  A general small buffer.
- #### =()<SMBUF			@<SMBUF>@>()=
- SMBUF			256
- ##  Buffer for a single article name.
- #### =()<MAXARTFNAME		@<MAXARTFNAME>@>()=
- MAXARTFNAME		10
- ##  Buffer for a single pathname in the spool directory.
- #### =()<SPOOLNAMEBUFF		@<SPOOLNAMEBUFF>@>()=
- SPOOLNAMEBUFF		512
- ##  Maximum size of a single header.
- #### =()<MAXHEADERSIZE		@<MAXHEADERSIZE>@>()=
- MAXHEADERSIZE		1024
- ##  Byte limit on locally-posted articles; 0 to disable the check.
- #### =()<LOCAL_MAX_ARTSIZE	@<LOCAL_MAX_ARTSIZE>@>()=
- LOCAL_MAX_ARTSIZE	0
- ##  Default number of bytes to hold in memory when buffered.
- #### =()<SITE_BUFFER_SIZE	@<SITE_BUFFER_SIZE>@>()=
- SITE_BUFFER_SIZE	(16 * 1024)
- ##  Do you have uustat, or just uuq?  Pick DO or DONT
- #### =()<HAVE_UUSTAT		@<HAVE_UUSTAT>@>()=
- HAVE_UUSTAT		DO
- ##  Should INN do some setsockopts on network connections. Pick DO or DONT.
- ##  Some versions of Solaris should set to DONT (pre 2.4 it seems)
- #### =()<SET_SOCKOPT		@<SET_SOCKOPT>@>()=
- SET_SOCKOPT		DO
- ## Should INN reject articles that have non-RFC1036 compliant newsgroup
- ## names in them. Pick DO or DONT.
- TOSS_BOGUS_NEWSGROUPS	DONT
- ##  Should INN fabricate Keywords: data for overviews?  Pick DO or DONT.
- #### =()<KEYWORDS	@<KEYWORDS>@>()=
- KEYWORDS		DONT
- ##  Byte limit on addition to an overview.  (1K is very piggish, but complete.)
- #### =()<KEYLIMIT	@<KEYLIMIT>@>()=
- KEYLIMIT		256
- ##  Articles longer than this won't be keyword-analyzed.
- #### =()<ABSURD		@<ABSURD>@>()=
- ABSURD			100000
- ##  Maximum count of interesting words.
- #### =()<MAX_WORDS	@<MAX_WORDS>@>()=
- MAX_WORDS		250
- ## Should nnrpd get ident information from the client to store in the
- ## X-Trace header. Pick DO or DONT.
- NNRPD_USE_IDENT		DONT
- 
- 
- ##
- ##  7.  PATHS TO COMMON PROGRAMS
- ##  Where the raison d'etre for this distribution lives.
- #### =()<_PATH_INND		@<_PATH_INND>@>()=
- _PATH_INND		/news/bin/innd
- ##  Where the optional front-end that exec's innd lives.
- #### =()<_PATH_INNDSTART		@<_PATH_INNDSTART>@>()=
- _PATH_INNDSTART		/news/bin/inndstart
- ##  Where news boot-up script should be installed.
- #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
- _PATH_NEWSBOOT		/news/bin/rc.news
- ## Where sendmail, or a look-alike, lives. Must have a trailing '%s' 
- ## for the recipient address.
- #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
- _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
- ##  Where the shell is.
- #### =()<_PATH_SH		@<_PATH_SH>@>()=
- _PATH_SH		/usr/bin/sh
- ##  Where the compress program lives.
- #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
- _PATH_COMPRESS		/usr/local/bin/gzip
- ##  What extension your compress appends
- #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
- _PATH_COMPRESSEXT	.gz
- ##  Where egrep lives (you might need the FSF one; see scanlogs)
- #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
- _PATH_EGREP		/usr/bin/egrep
- ##  Where perl version 5 lives
- #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
- _PATH_PERL		/usr/local/bin/perl
- ##  Where awk lives
- #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
- _PATH_AWK		/usr/bin/awk
- ##  Where sed lives (you might need the FSF one)
- #### =()<_PATH_SED		@<_PATH_SED>@>()=
- _PATH_SED		/usr/bin/sed
- ##  Where sort lives (you may want the FSF one).
- #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
- _PATH_SORT		/usr/bin/sort
- ##  Where inews lives.
- #### =()<_PATH_INEWS		@<_PATH_INEWS>@>()=
- _PATH_INEWS		/news/bin/inews
- ##  Where rnews lives.
- #### =()<_PATH_RNEWS		@<_PATH_RNEWS>@>()=
- _PATH_RNEWS		/news/bin/rnews
- ##  Where generic authentication programs live.
- #### =()<_PATH_AUTHDIR		@<_PATH_AUTHDIR>@>()=
- _PATH_AUTHDIR		/news/bin/auth
- ##  Where the NNRP server lives.
- #### =()<_PATH_NNRPD		@<_PATH_NNRPD>@>()=
- _PATH_NNRPD		/news/bin/nnrpd
- ##  The path of the process run when an unknown host connects to innd.
- ##  Usually the same as _PATH_NNRPD, but may be, e.g., the path to
- ##  nntpd from the reference implementation.
- #### =()<_PATH_NNTPD		@<_PATH_NNTPD>@>()=
- _PATH_NNTPD		/news/bin/nnrpd
- ##  Where the NNQR server lives.  Make same as _PATH_NNRPD for now
- #### =()<_PATH_NNQRD		@<_PATH_NNRPD>@>()=
- _PATH_NNQRD		/news/bin/nnrpd
- ##  Where most other programs live.
- ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
- #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
- _PATH_NEWSBIN		/news/bin
- ##  Where temporary files live on the server
- #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
- _PATH_TMP		/tmp
- ##  Command to send mail (with -s "subject" allowed)
- ##  I suggest using innmail which is installed in the _PATH_NEWSBIN
- ##  directory. UCB mail has too many security problems to be used safely.
- #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
- _PATH_MAILCMD		/news/bin/innmail
- ##  Where scripts should have shlock create locks.
- #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
- _PATH_LOCKS		/news/run
- ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
- #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
- _PATH_GZIP		/usr/local/bin/gzip
- 
- ##
- ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
- ##  Spool directory, where articles live.
- #### =()<_PATH_SPOOL		@<_PATH_SPOOL>@>()=
- _PATH_SPOOL		/news/spool/art
- ##  Spool directory where overview data lives.
- #### =()<_PATH_OVERVIEWDIR	@<_PATH_OVERVIEWDIR>@>()=
- _PATH_OVERVIEWDIR	/news/spool/nov
- ##  Name of overview file within its spool directory.
- #### =()<_PATH_OVERVIEW		@<_PATH_OVERVIEW>@>()=
- _PATH_OVERVIEW		overview
- ##  Where rnews spools its input.
- #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
- _PATH_SPOOLNEWS		/news/spool/in
- ##  Where rnews creates temporary files until finished. Must be on the same
- ##  partition as _PATH_SPOOLNEWS and _PATH_BADNEWS
- #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
- _PATH_SPOOLTEMP		/news/spool/in/tmp
- ##  Where rnews puts bad input. Put it on the same partition as
- ##  _PATH_SPOOLNEWS and _PATH_SPOOLTEMP.
- #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
- _PATH_BADNEWS		/news/spool/in/bad
- ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
- #### =()<_PATH_RELBAD		@<_PATH_RELBAD>@>()=
- _PATH_RELBAD		bad
- ## Where the XBATCH command should put the batches. Normally same as
- ## _PATH_SPOOLNEWS so that 'rnews -U' can find it.
- #### =()<_PATH_XBATCHES		@<_PATH_XBATCHES>@>()=
- _PATH_XBATCHES		/news/spool/in
- 
- 
- ##
- ##  9.  EXECUTION PATHS FOR INND AND RNEWS
- ##  Pathname where dups are logged if RNEWS_LOG_DUPS is FILE.
- #### =()<_PATH_RNEWS_DUP_LOG	@<_PATH_RNEWS_DUP_LOG>@>()=
- _PATH_RNEWS_DUP_LOG	/dev/null
- ##  Rnews may execute any program in this directory; see RNEWSPROGS.
- #### =()<_PATH_RNEWSPROGS	@<_PATH_RNEWSPROGS>@>()=
- _PATH_RNEWSPROGS	/news/bin/rnews.libexec
- ##  Path to control messages scripts.
- #### =()<_PATH_CONTROLPROGS	@<_PATH_CONTROLPROGS>@>()=
- _PATH_CONTROLPROGS	/news/bin/control
- ##  Default "unknown/illegal" control script, within _PATH_CONTROLPROGS.
- #### =()<_PATH_BADCONTROLPROG	@<_PATH_BADCONTROLPROG>@>()=
- _PATH_BADCONTROLPROG	default
- 
- 
- ##
- ##  10.  SOCKETS CREATED BY INND OR CLIENTS
- #### =()<_PATH_INNDDIR		@<_PATH_INNDDIR>@>()=
- _PATH_INNDDIR		/news/run
- ##  Unix-domain stream socket that rnews connects to.
- #### =()<_PATH_NNTPCONNECT	@<_PATH_NNTPCONNECT>@>()=
- _PATH_NNTPCONNECT	/news/run/nntpin
- ##  Unix-domain datagram socket that ctlinnd to.
- #### =()<_PATH_NEWSCONTROL	@<_PATH_NEWSCONTROL>@>()=
- _PATH_NEWSCONTROL	/news/run/control
- ##  Temporary socket created by ctlinnd; run through mktemp
- #### =()<_PATH_TEMPSOCK		@<_PATH_TEMPSOCK>@>()=
- _PATH_TEMPSOCK		/news/run/ctlinndXXXXXX
- 
- 
- ##
- ##  11.  LOG AND CONFIG FILES
- ##  Shell script that sets most of these as shell vars
- #### =()<_PATH_SHELLVARS		@<_PATH_SHELLVARS>@>()=
- _PATH_SHELLVARS		/news/etc/innshellvars
- ##  Perl script that sets most of these as perl variables
- #### =()<_PATH_PERL_SHELLVARS	@<_PATH_PERL_SHELLVARS>@>()=
- _PATH_PERL_SHELLVARS	/news/etc/innshellvars.pl
- ##  TCL script that sets most of these as tcl variables
- #### =()<_PATH_TCL_SHELLVARS	@<_PATH_TCL_SHELLVARS>@>()=
- _PATH_TCL_SHELLVARS	/news/etc/innshellvars.tcl
- ##  csh script that sets most of these as csh variables
- #### =()<_PATH_CSH_SHELLVARS	@<_PATH_CSH_SHELLVARS>@>()=
- _PATH_CSH_SHELLVARS	/news/etc/innshellvars.csh
- ##  Where most config and data files are usually stored; not required
- ##  to the home directory of NEWSUSER.
- #### =()<_PATH_NEWSLIB		@<_PATH_NEWSLIB>@>()=
- _PATH_NEWSLIB		/news/etc
- ## The group owner of the rnews program. Usually uucp.
- #### =()<RNEWS_GROUP		@<RNEWS_GROUP>@>()=
- RNEWS_GROUP		uucp
- ##  The server's log file.
- #### =()<_PATH_LOGFILE		@<_PATH_LOGFILE>@>()=
- _PATH_LOGFILE		/news/log/news
- ##  The server's error log file.
- #### =()<_PATH_ERRLOG		@<_PATH_ERRLOG>@>()=
- _PATH_ERRLOG		/news/log/errlog
- ##  Where most sylog log files go; see also scanlogs, innstat, etc.
- #### =()<_PATH_MOST_LOGS		@<_PATH_MOST_LOGS>@>()=
- _PATH_MOST_LOGS		/news/log
- ##  How many generates of log files to keep.
- #### =()<LOG_CYCLES		@<LOG_CYCLES>@>()=
- LOG_CYCLES		7
- ##  Text value of the server's pid.
- #### =()<_PATH_SERVERPID		@<_PATH_SERVERPID>@>()=
- _PATH_SERVERPID		/news/run/innd.pid
- ##  The newsfeeds file, on the server host.
- #### =()<_PATH_NEWSFEEDS		@<_PATH_NEWSFEEDS>@>()=
- _PATH_NEWSFEEDS		/news/etc/newsfeeds
- ##  The article history database, on the server host.
- #### =()<_PATH_HISTORY		@<_PATH_HISTORY>@>()=
- _PATH_HISTORY		/news/spool/hist/history
- ##  File listing the sites that feed us news.
- #### =()<_PATH_INNDHOSTS		@<_PATH_INNDHOSTS>@>()=
- _PATH_INNDHOSTS		/news/etc/hosts.nntp
- ##  The active file, on the server host.
- #### =()<_PATH_ACTIVE		@<_PATH_ACTIVE>@>()=
- _PATH_ACTIVE		/news/grp/active
- ##  A temporary active file, for writing on the server host.
- #### =()<_PATH_NEWACTIVE		@<_PATH_NEWACTIVE>@>()=
- _PATH_NEWACTIVE		/news/grp/active.tmp
- ##  An old active file on the server host.
- #### =()<_PATH_OLDACTIVE		@<_PATH_OLDACTIVE>@>()=
- _PATH_OLDACTIVE		/news/grp/active.old
- ##  The log of when groups are created.
- #### =()<_PATH_ACTIVETIMES	@<_PATH_ACTIVETIMES>@>()=
- _PATH_ACTIVETIMES	/news/grp/active.times
- ##  Where batch files are located.
- #### =()<_PATH_BATCHDIR		@<_PATH_BATCHDIR>@>()=
- _PATH_BATCHDIR		/news/spool/out
- ##  Where archives are kept.
- #### =()<_PATH_ARCHIVEDIR	@<_PATH_ARCHIVEDIR>@>()=
- _PATH_ARCHIVEDIR	/news/spool/archive
- ##  Where NNRP distributions file is
- #### =()<_PATH_NNRPDIST		@<_PATH_NNRPDIST>@>()=
- _PATH_NNRPDIST		/news/etc/distributions
- ##  Where the NNRP automatic subscriptions file is
- #### =()<_PATH_NNRPSUBS		@<_PATH_NNRPSUBS>@>()=
- _PATH_NNRPSUBS		/news/etc/subscriptions
- ##  Where the default Distribution assignments file is
- #### =()<_PATH_DISTPATS		@<_PATH_DISTPATS>@>()=
- _PATH_DISTPATS		/news/etc/distrib.pats
- #### =()<_PATH_NEWSGROUPS	@<_PATH_NEWSGROUPS>@>()=
- _PATH_NEWSGROUPS	/news/grp/newsgroups
- ##  File where client configuration parameters can be read.
- #### =()<_PATH_CONFIG		@<_PATH_CONFIG>@>()=
- _PATH_CONFIG		/news/etc/inn.conf
- ##  The possible active file, on clients (NFS-mounted, e.g.).
- #### =()<_PATH_CLIENTACTIVE	@<_PATH_CLIENTACTIVE>@>()=
- _PATH_CLIENTACTIVE	/news/grp/active
- ##  A temporary file, for client inews to use.
- #### =()<_PATH_TEMPACTIVE	@<_PATH_TEMPACTIVE>@>()=
- _PATH_TEMPACTIVE	/tmp/activeXXXXXX
- ##  Where to mail to the moderators.
- #### =()<_PATH_MODERATORS	@<_PATH_MODERATORS>@>()=
- _PATH_MODERATORS	/news/etc/moderators
- ##  A temporary file, for client inews to use.
- #### =()<_PATH_TEMPMODERATORS	@<_PATH_TEMPMODERATORS>@>()=
- _PATH_TEMPMODERATORS	/tmp/moderatorsXXXXXX
- ##  Where NNTP puts the name of the server.
- #### =()<_PATH_SERVER		@<_PATH_SERVER>@>()=
- _PATH_SERVER		/news/etc/server
- ##  File with name/password for all remote connections.
- #### =()<_PATH_NNTPPASS		@<_PATH_NNTPPASS>@>()=
- _PATH_NNTPPASS		/news/etc/passwd.nntp
- ##  NNRP access file.
- #### =()<_PATH_NNRPACCESS	@<_PATH_NNRPACCESS>@>()=
- _PATH_NNRPACCESS	/news/etc/nnrp.access
- ##  Default expire control file.
- #### =()<_PATH_EXPIRECTL		@<_PATH_EXPIRECTL>@>()=
- _PATH_EXPIRECTL		/news/etc/expire.ctl
- ##  Prolog to parse control scripts
- #### =()<_PATH_PARSECTL		@<_PATH_PARSECTL>@>()=
- _PATH_PARSECTL		/news/etc/parsecontrol
- ##  Access control file for control scripts.
- #### =()<_PATH_CONTROLCTL	@<_PATH_CONTROLCTL>@>()=
- _PATH_CONTROLCTL	/news/etc/control.ctl
- ##  Innwatch control file.
- #### =()<_PATH_CTLWATCH		@<_PATH_CTLWATCH>@>()=
- _PATH_CTLWATCH		/news/etc/innwatch.ctl
- ##  Where innwatch writes its own pid.
- #### =()<_PATH_WATCHPID		@<_PATH_WATCHPID>@>()=
- _PATH_WATCHPID		/news/run/innwatch.pid
- ##  Where innwatch writes status when it gets an interrupt
- #### =()<_PATH_INNWSTATUS	@<_PATH_INNWSTATUS>@>()=
- _PATH_INNWSTATUS	/news/run/innwatch.status
- ##  Format of news overview database
- #### =()<_PATH_SCHEMA		@<_PATH_SCHEMA>@>()=
- _PATH_SCHEMA		/news/etc/overview.fmt
- ## Where the MOTD (message of the day) lives (for the "LIST MOTD" nnrpd
- ## command.
- _PATH_MOTD		/news/etc/motd.news
- 
- 
- ##
- ##  12.  INNWATCH CONFIGURATION
- ##  Load average (* 100) at which innd should be paused.
- #### =()<INNWATCH_PAUSELOAD	@<INNWATCH_PAUSELOAD>@>()=
- INNWATCH_PAUSELOAD	1500
- ##  Load average (* 100) at which innd should be throttled.
- #### =()<INNWATCH_HILOAD		@<INNWATCH_HILOAD>@>()=
- INNWATCH_HILOAD		2000
- ##  Load average (* 100) at which to restart innd (pause/throttle undone).
- #### =()<INNWATCH_LOLOAD		@<INNWATCH_LOLOAD>@>()=
- INNWATCH_LOLOAD		1000
- ##  Space, in df output units, at which to throttle innd on _PATH_SPOOL 
- ##  or _PATH_OVERVIEWDIR.
- #### =()<INNWATCH_SPOOLSPACE	@<INNWATCH_SPOOLSPACE>@>()=
- INNWATCH_SPOOLSPACE	2000000
- ##  Space, in df output units, at which to throttle innd on _PATH_MOST_LOGS.
- #### =()<INNWATCH_LOGSPACE	@<INNWATCH_LOGSPACE>@>()=
- INNWATCH_LOGSPACE	200000
- ##  Space, in df output units, at which to throttle innd on _PATH_BATCHDIR.
- #### =()<INNWATCH_BATCHSPACE	@<INNWATCH_BATCHSPACE>@>()=
- INNWATCH_BATCHSPACE	20000
- ##  Space, in df output units, at which to throttle innd on _PATH_NEWSLIB.
- #### =()<INNWATCH_LIBSPACE	@<INNWATCH_LIBSPACE>@>()=
- INNWATCH_LIBSPACE	2000
- ##  Number of inodes at which to throttle innd on _PATH_SPOOL.
- #### =()<INNWATCH_SPOOLNODES	@<INNWATCH_SPOOLNODES>@>()=
- INNWATCH_SPOOLNODES	1000000
- ##  How long to sleep between innwatch iterations.
- #### =()<INNWATCH_SLEEPTIME	@<INNWATCH_SLEEPTIME>@>()=
- INNWATCH_SLEEPTIME	600
- ##  How inn (not just innwatch anymore) gets disk space usage 
- ##  (SVR4 machine would probably use /usr/ucb/df)
- #### =()<INNWATCH_DF		@<INNWATCH_DF>@>()=
- INNWATCH_DF		/usr/bin/df -v
- ##  Field number of INNWATCH_DF (with -i) output that gives free
- ##  inodes (starting at 1).
- #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
- INNWATCH_INODES		7
- ##  Field number of INNWATCH_DF output that gives the free block count.
- ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
- INNWATCH_BLOCKS		3
- 
- 
- 
- ##
- ##  13.  TCL Configuration
- ##  Do you want TCL support?  Pick DO or DONT
- #### =()<TCL_SUPPORT		@<TCL_SUPPORT>@>()=
- TCL_SUPPORT		DONT
- ##  Where your tcl header file live. Blank if no TCL
- ### =()<TCL_INC		@<TCL_INC>@>()=
- TCL_INC		
- # TCL_INC		-I/usr/local/include
- ##  How do you get the TCL library?  Probably -ltcl -lm, blank if no TCL
- #### =()<TCL_LIB		@<TCL_LIB>@>()=
- TCL_LIB		
- # TCL_LIB		-ltcl -lm
- ##  TCL Startup File. Should probably be prefixed with the same value as
- ##  _PATH_CONTROLPROGS. 
- #### =()<_PATH_TCL_STARTUP	@<_PATH_TCL_STARTUP>@>()=
- _PATH_TCL_STARTUP	/news/bin/control/startup.tcl
- ##  TCL Filter File. Should probably be prefixed with the same value as
- ##  _PATH_CONTROLPROGS.
- #### =()<_PATH_TCL_FILTER	@<_PATH_TCL_FILTER>@>()=
- _PATH_TCL_FILTER	/news/bin/control/filter.tcl
- 
- 
- ##
- ##  14. PGP Configuration
- ##
- 
- ## Do you want PGP verification of control messages? Pick DO or DONT
- ## If you change this then you need to fiddle with control.ctl.
- ## Setting it DONT is a really bad idea with all the miscreants out there...
- #### =()<WANT_PGPVERIFY		@<WANT_PGPVERIFY>@>()=
- WANT_PGPVERIFY		DO
- ##  PGP binary.
- #### =()<_PATH_PGP		@<_PATH_PGP>@>()=
- _PATH_PGP		/usr/local/bin/pgp
- 
- ##
- ##  15. Local Configuration
- ##
- 
- ##  Home of the NEWSUSER
- #### =()<_PATH_NEWSHOME		@<_PATH_NEWSHOME>@>()=
- _PATH_NEWSHOME		/news
- ##  Where local programs etc. get stored.
- #### =()<_PATH_NEWSLBIN		@<_PATH_NEWSLBIN>@>()=
- _PATH_NEWSLBIN		/news/local/bin
- 
- 
- 
- ##
- ## 16. Actsync Configuration.
- ##
- 
- ##  Host to synchoronize active file with (see actsync and actsyncd manpages).
- #### =()<ACTSYNC_HOST		@<ACTSYNC_HOST>@>()=
- ACTSYNC_HOST		news
- ##  Flags actsyncd is to pass to actsync.
- #### =()<ACTSYNC_FLAGS		@<ACTSYNC_FLAGS>@>()=
- ACTSYNC_FLAGS		-v 2 -q 2 -b 0 -d 0 -g 7 -s 79 -t 2
- ## Actsyncd config file.
- #### =()<_PATH_ACTSYNC_CFG	@<_PATH_ACTSYNC_CFG>@>()=
- _PATH_ACTSYNC_CFG	/news/etc/actsync.cfg
- ## Actsyncd ignore file.
- #### =()<_PATH_ACTSYNC_IGN	@<_PATH_ACTSYNC_IGN>@>()=
- _PATH_ACTSYNC_IGN	/news/etc/actsync.ign
- 
- 
- 
- ##  17.  Perl Configuration
- ##  Do you want Perl support?  Pick DO or DONT
- #### =()<PERL_SUPPORT		@<PERL_SUPPORT>@>()=
- PERL_SUPPORT		DO
- ##  How do you get the PERL libraries?  Probably -lperl -lm, blank if no PERL
- #### =()<PERL_LIB	@<PERL_LIB>@>()=
- PERL_LIB		-L/usr/local/lib/perl5/aix/5.00403/CORE -lperl -lm -lbsd
- ##  Core directory (includes, libs). See perlembed(1)
- #### =()<PERL_INC	@<PERL_INC>@>()=
- PERL_INC		-I/usr/local/lib/perl5/aix/5.00403/CORE
- ##  Perl Filter Files. Should probably be prefixed with the same value as
- ##  _PATH_CONTROLPROGS.
- #### =()<_PATH_PERL_STARTUP_INND		@<_PATH_PERL_STARTUP_INND>@>()=
- _PATH_PERL_STARTUP_INND	/news/bin/control/startup_innd.pl
- #### =()<_PATH_PERL_FILTER_INND		@<_PATH_PERL_FILTER_INND>@>()=
- _PATH_PERL_FILTER_INND	/news/bin/control/filter_innd.pl
- #### =()<_PATH_PERL_FILTER_NNRPD		@<_PATH_PERL_FILTER_NNRPD>@>()=
- _PATH_PERL_FILTER_NNRPD	/news/bin/control/filter_nnrpd.pl
- 
- 
- 
- 
- 
- ##  18. Priority configuration
- ##
- ## Base priority for innd.  Unlike the XYZ_NICE_VALUEs below, this
- ## sets the initial prioriy.  All other children are deltas off of this value.
- ## Valid range is from -20 to 20.  Lower priorities cause more favorable 
- ## scheduling => get more cpu.
- ##
- ## Note that by default, innd children other than overview, nnrpd and
- ## innfeed get the INND_NICE_VALUE nice increment.  Any processes started
- ## by cron (expire, news.dailt, actsync, etc.) get a 0 default priority.
- #### =()<INND_SETPRIORITY		@<INND_SETPRIORITY>@>()=
- INND_SETPRIORITY		-4
- ## Nice increment for nnrpd (PATH_NNRPD and PATH_NNTPD)
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<NNRPD_NICE_VALUE		@<NNRPD_NICE_VALUE>@>()=
- NNRPD_NICE_VALUE		2
- ## Nice increment for overview channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<OVERCHAN_NICE_VALUE		@<OVERCHAN_NICE_VALUE>@>()=
- OVERCHAN_NICE_VALUE		1
- ## Name of overview program (ignoring leading directory names) for which
- ## OVERCHAN_NICE_VALUE is applied.  This is ignored if INND_NICE_KIDS is
- ## DONT
- #### =()<OVERCHAN_NICE_NAME		@<OVERCHAN_NICE_NAME>@>()=
- OVERCHAN_NICE_NAME		overchan
- ## Nice increment for innfeed channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_VALUE		@<INNFEED_NICE_VALUE>@>()=
- INNFEED_NICE_VALUE		4
- ## Leading part of the name of the innfeed channel.  I.e., apply the
- ## INNFEED_NICE_VALUE to names that start with this string (after striping
- ## off any leading directories).
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_LEADING_NAME	@<INNFEED_NICE_LEADING_NAME>@>()=
- INNFEED_NICE_LEADING_NAME	innfeed
--- 0 ----
diff -Nacr inn-1.7/sample-configs/config.data-aux3.1 inn-1.7.1/sample-configs/config.data-aux3.1
*** inn-1.7/sample-configs/config.data-aux3.1	Tue Oct  7 15:18:16 1997
--- inn-1.7.1/sample-configs/config.data-aux3.1	Fri Dec  5 22:42:12 1997
***************
*** 16,25 ****
  CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -g -O2 -fpcc-struct-return 
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
--- 16,25 ----
  CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DUNNO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
***************
*** 28,34 ****
  PROF			-pg
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			-g -static
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
--- 28,34 ----
  PROF			-pg
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
***************
*** 36,48 ****
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lbsd
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -h $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
--- 36,48 ----
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -h -z $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
***************
*** 67,73 ****
  MAN8			/usr/news/man/man8
  ##  Ranlib command.  Use echo if you don't need ranlib.
  #### =()<RANLIB			@<RANLIB>@>()=
! RANLIB			echo
  ##  YACC (yet another config control?)
  #### =()<YACC			@<YACC>@>()=
  YACC			yacc
--- 67,73 ----
  MAN8			/usr/news/man/man8
  ##  Ranlib command.  Use echo if you don't need ranlib.
  #### =()<RANLIB			@<RANLIB>@>()=
! RANLIB			ranlib
  ##  YACC (yet another config control?)
  #### =()<YACC			@<YACC>@>()=
  YACC			yacc
***************
*** 137,143 ****
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		VARARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
--- 137,143 ----
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		STDARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
***************
*** 149,166 ****
  OFFSET_T		long
  ##  What is the type of an object size? Usually size_t or unsigned int.
  #### =()<SIZE_T			@<SIZE_T>@>()=
! SIZE_T			int
  ##  What is the type of a passwd uid and gid, for use in chown(2)?
  #### =()<UID_T			@<UID_T>@>()=
! UID_T			int
  #### =()<GID_T			@<GID_T>@>()=
! GID_T			int
  ##  Type of a pid, for use in kill(2).
  #### =()<PID_T			@<PID_T>@>()=
! PID_T			int
  ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
  #### =()<POINTER			@<POINTER>@>()=
! POINTER			char
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
  ALIGNPTR		int
--- 149,166 ----
  OFFSET_T		long
  ##  What is the type of an object size? Usually size_t or unsigned int.
  #### =()<SIZE_T			@<SIZE_T>@>()=
! SIZE_T			size_t
  ##  What is the type of a passwd uid and gid, for use in chown(2)?
  #### =()<UID_T			@<UID_T>@>()=
! UID_T			uid_t
  #### =()<GID_T			@<GID_T>@>()=
! GID_T			gid_t
  ##  Type of a pid, for use in kill(2).
  #### =()<PID_T			@<PID_T>@>()=
! PID_T			pid_t
  ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
  #### =()<POINTER			@<POINTER>@>()=
! POINTER			void
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
  ALIGNPTR		int
***************
*** 169,175 ****
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			int
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
--- 169,175 ----
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			sig_atomic_t
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
***************
*** 185,191 ****
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FLOCK
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
--- 185,191 ----
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FCNTL
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
***************
*** 207,225 ****
  HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DONT
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
  HAVE_ST_BLKSIZE		DO
  ##  Use waitpid instead of wait3?  Pick DO or DONT.
  #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
! HAVE_WAITPID		DONT
  ##  Use "union wait" instead of int?  Pick DO or DONT.
  #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
! USE_UNION_WAIT		DO
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
! FORK			fork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
  HAVE_VFORK		DONT
--- 207,225 ----
  HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DO
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
  HAVE_ST_BLKSIZE		DO
  ##  Use waitpid instead of wait3?  Pick DO or DONT.
  #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
! HAVE_WAITPID		DO
  ##  Use "union wait" instead of int?  Pick DO or DONT.
  #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
! USE_UNION_WAIT		DONT
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
! FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
  HAVE_VFORK		DONT
***************
*** 234,257 ****
  BIND_USE_SIZEOF		DO
  ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
! CLX_STYLE		FCNTL
  ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
  #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
  NBIO_STYLE		FCNTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
! RES_STYLE		TIMES
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETDTAB
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
  NOFILE_LIMIT		-1
  ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
  #### =()<NEED_TIME		@<NEED_TIME>@>()=
! NEED_TIME		DO
  ##  What predicate, if any, the <ctype.h> macros need
  #### =()<CTYPE			@<CTYPE>@>()=
  CTYPE			(isascii((c)) && isXXXXX((c)))
--- 234,257 ----
  BIND_USE_SIZEOF		DO
  ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
! CLX_STYLE		IOCTL
  ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
  #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
  NBIO_STYLE		FCNTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
! RES_STYLE		RUSAGE
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETRLIMIT
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
  NOFILE_LIMIT		-1
  ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
  #### =()<NEED_TIME		@<NEED_TIME>@>()=
! NEED_TIME		DONT
  ##  What predicate, if any, the <ctype.h> macros need
  #### =()<CTYPE			@<CTYPE>@>()=
  CTYPE			(isascii((c)) && isXXXXX((c)))
***************
*** 259,290 ****
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
  #### =()<ABORTVAL		@<ABORTVAL>@>()=
! ABORTVAL		int
  ##  What's the return type of alarm?  Usually int or unsigned int.
  #### =()<ALARMVAL		@<ALARMVAL>@>()=
! ALARMVAL		int
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
! GETPIDVAL		int
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
! SLEEPVAL		int
  ##  What's the return type of  qsort?  Usually int or void.
  #### =()<QSORTVAL		@<QSORTVAL>@>()=
! QSORTVAL		int
  ##  What's the return type of lseek?  Usually long or off_t.
  #### =()<LSEEKVAL		@<LSEEKVAL>@>()=
! LSEEKVAL		long
  ##  What's the return type of free?  Usually int or void.
  #### =()<FREEVAL			@<FREEVAL>@>()=
! FREEVAL			int
  ##  What's the return type of exit?  Usually int or void.
  ##  (For gcc (not pedantic ANSI) use "volatile void" in EXITVAL and _EXITVAL.)
  #### =()<EXITVAL			@<EXITVAL>@>()=
! EXITVAL			volatile void
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
! _EXITVAL		volatile void
  
  
  ##
--- 259,290 ----
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
  #### =()<ABORTVAL		@<ABORTVAL>@>()=
! ABORTVAL		void
  ##  What's the return type of alarm?  Usually int or unsigned int.
  #### =()<ALARMVAL		@<ALARMVAL>@>()=
! ALARMVAL		unsigned int
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
! GETPIDVAL		pid_t
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
! SLEEPVAL		unsigned int
  ##  What's the return type of  qsort?  Usually int or void.
  #### =()<QSORTVAL		@<QSORTVAL>@>()=
! QSORTVAL		void
  ##  What's the return type of lseek?  Usually long or off_t.
  #### =()<LSEEKVAL		@<LSEEKVAL>@>()=
! LSEEKVAL		off_t
  ##  What's the return type of free?  Usually int or void.
  #### =()<FREEVAL			@<FREEVAL>@>()=
! FREEVAL			void
  ##  What's the return type of exit?  Usually int or void.
  ##  (For gcc (not pedantic ANSI) use "volatile void" in EXITVAL and _EXITVAL.)
  #### =()<EXITVAL			@<EXITVAL>@>()=
! EXITVAL			void
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
! _EXITVAL		void
  
  
  ##
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,562 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/lib/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/ucb/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
  _PATH_COMPRESSEXT	.Z
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
! _PATH_EGREP		/usr/local/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
--- 535,562 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bin/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
  _PATH_COMPRESSEXT	.Z
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
! _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		/usr/bin/awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		/usr/bin/sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
***************
*** 584,595 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
--- 584,596 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
diff -Nacr inn-1.7/sample-configs/config.data-dynixptx2.1 inn-1.7.1/sample-configs/config.data-dynixptx2.1
*** inn-1.7/sample-configs/config.data-dynixptx2.1	Tue Oct  7 15:18:16 1997
--- inn-1.7.1/sample-configs/config.data-dynixptx2.1	Fri Dec  5 22:42:12 1997
***************
*** 10,22 ****
  P			
  ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
! DEFS			-I../include -D__STDC__
  ##  C compiler
  #### =()<CC			@<CC>@>()=
  CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DONT
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
--- 10,22 ----
  P			
  ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
! DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
  CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DUNNO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
***************
*** 36,48 ****
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lnsl -lsocket -lseq -linet -lnsl
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -h $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
--- 36,48 ----
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -h -z $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
***************
*** 51,61 ****
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		| sed -n -f ../sedf.sysv
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
! MANPAGESTYLE		NONE
  ##  Where various manpages should go
  #### =()<MAN1			@<MAN1>@>()=
  MAN1			/usr/news/man/man1
--- 51,61 ----
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		| sed -n -f ../sedf.sun
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
! MANPAGESTYLE		SOURCE
  ##  Where various manpages should go
  #### =()<MAN1			@<MAN1>@>()=
  MAN1			/usr/news/man/man1
***************
*** 67,73 ****
  MAN8			/usr/news/man/man8
  ##  Ranlib command.  Use echo if you don't need ranlib.
  #### =()<RANLIB			@<RANLIB>@>()=
! RANLIB			echo
  ##  YACC (yet another config control?)
  #### =()<YACC			@<YACC>@>()=
  YACC			yacc
--- 67,73 ----
  MAN8			/usr/news/man/man8
  ##  Ranlib command.  Use echo if you don't need ranlib.
  #### =()<RANLIB			@<RANLIB>@>()=
! RANLIB			ranlib
  ##  YACC (yet another config control?)
  #### =()<YACC			@<YACC>@>()=
  YACC			yacc
***************
*** 137,143 ****
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		VARARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
--- 137,143 ----
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		STDARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
***************
*** 149,163 ****
  OFFSET_T		long
  ##  What is the type of an object size? Usually size_t or unsigned int.
  #### =()<SIZE_T			@<SIZE_T>@>()=
! SIZE_T			unsigned int
  ##  What is the type of a passwd uid and gid, for use in chown(2)?
  #### =()<UID_T			@<UID_T>@>()=
! UID_T			int
  #### =()<GID_T			@<GID_T>@>()=
! GID_T			int
  ##  Type of a pid, for use in kill(2).
  #### =()<PID_T			@<PID_T>@>()=
! PID_T			int
  ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
  #### =()<POINTER			@<POINTER>@>()=
  POINTER			void
--- 149,163 ----
  OFFSET_T		long
  ##  What is the type of an object size? Usually size_t or unsigned int.
  #### =()<SIZE_T			@<SIZE_T>@>()=
! SIZE_T			size_t
  ##  What is the type of a passwd uid and gid, for use in chown(2)?
  #### =()<UID_T			@<UID_T>@>()=
! UID_T			uid_t
  #### =()<GID_T			@<GID_T>@>()=
! GID_T			gid_t
  ##  Type of a pid, for use in kill(2).
  #### =()<PID_T			@<PID_T>@>()=
! PID_T			pid_t
  ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
  #### =()<POINTER			@<POINTER>@>()=
  POINTER			void
***************
*** 169,175 ****
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			int
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
--- 169,175 ----
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			sig_atomic_t
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
***************
*** 188,200 ****
  LOCK_STYLE		FCNTL
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
! HAVE_UNISTD		DONT
  ##  Do you have setbuffer?  Pick DO or DONT.
  #### =()<HAVE_SETBUFFER		@<HAVE_SETBUFFER>@>()=
  HAVE_SETBUFFER		DO
  ##  Do you have gettimeofday?  Pick DO or DONT.
  #### =()<HAVE_GETTIMEOFDAY	@<HAVE_GETTIMEOFDAY>@>()=
! HAVE_GETTIMEOFDAY	DONT
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
--- 188,200 ----
  LOCK_STYLE		FCNTL
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
! HAVE_UNISTD		DO
  ##  Do you have setbuffer?  Pick DO or DONT.
  #### =()<HAVE_SETBUFFER		@<HAVE_SETBUFFER>@>()=
  HAVE_SETBUFFER		DO
  ##  Do you have gettimeofday?  Pick DO or DONT.
  #### =()<HAVE_GETTIMEOFDAY	@<HAVE_GETTIMEOFDAY>@>()=
! HAVE_GETTIMEOFDAY	DO
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
***************
*** 204,216 ****
  HAVE_FCHMOD		DO
  ##  Do you have setsid()?  Pick DO or DONT.
  #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
! HAVE_SETSID		DONT
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DONT
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
! HAVE_ST_BLKSIZE		DONT
  ##  Use waitpid instead of wait3?  Pick DO or DONT.
  #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
  HAVE_WAITPID		DO
--- 204,216 ----
  HAVE_FCHMOD		DO
  ##  Do you have setsid()?  Pick DO or DONT.
  #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
! HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DO
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
! HAVE_ST_BLKSIZE		DO
  ##  Use waitpid instead of wait3?  Pick DO or DONT.
  #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
  HAVE_WAITPID		DO
***************
*** 222,234 ****
  FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
! HAVE_VFORK		DO
  ##  Do you have symbolic links?  Pick DO or DONT.
  #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
  HAVE_SYMLINK		DO
  ##  Do you have Unix-domain sockets?  Pick DO or DONT.
  #### =()<HAVE_UNIX_DOMAIN	@<HAVE_UNIX_DOMAIN>@>()=
! HAVE_UNIX_DOMAIN	DONT
  ##  Does your AF_UNIX bind use sizeof for the socket size?  Pick DO or DONT.
  #### =()<BIND_USE_SIZEOF		@<BIND_USE_SIZEOF>@>()=
  BIND_USE_SIZEOF		DO
--- 222,234 ----
  FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
! HAVE_VFORK		DONT
  ##  Do you have symbolic links?  Pick DO or DONT.
  #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
  HAVE_SYMLINK		DO
  ##  Do you have Unix-domain sockets?  Pick DO or DONT.
  #### =()<HAVE_UNIX_DOMAIN	@<HAVE_UNIX_DOMAIN>@>()=
! HAVE_UNIX_DOMAIN	DO
  ##  Does your AF_UNIX bind use sizeof for the socket size?  Pick DO or DONT.
  #### =()<BIND_USE_SIZEOF		@<BIND_USE_SIZEOF>@>()=
  BIND_USE_SIZEOF		DO
***************
*** 240,257 ****
  NBIO_STYLE		FCNTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
! RES_STYLE		TIMES
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETDTAB
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
  NOFILE_LIMIT		-1
  ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
  #### =()<NEED_TIME		@<NEED_TIME>@>()=
! NEED_TIME		DO
  ##  What predicate, if any, the <ctype.h> macros need
  #### =()<CTYPE			@<CTYPE>@>()=
  CTYPE			(isascii((c)) && isXXXXX((c)))
--- 240,257 ----
  NBIO_STYLE		FCNTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
! RES_STYLE		RUSAGE
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETRLIMIT
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
  NOFILE_LIMIT		-1
  ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
  #### =()<NEED_TIME		@<NEED_TIME>@>()=
! NEED_TIME		DONT
  ##  What predicate, if any, the <ctype.h> macros need
  #### =()<CTYPE			@<CTYPE>@>()=
  CTYPE			(isascii((c)) && isXXXXX((c)))
***************
*** 259,280 ****
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
  #### =()<ABORTVAL		@<ABORTVAL>@>()=
! ABORTVAL		int
  ##  What's the return type of alarm?  Usually int or unsigned int.
  #### =()<ALARMVAL		@<ALARMVAL>@>()=
! ALARMVAL		int
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
! GETPIDVAL		long
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
! SLEEPVAL		int
  ##  What's the return type of  qsort?  Usually int or void.
  #### =()<QSORTVAL		@<QSORTVAL>@>()=
  QSORTVAL		void
  ##  What's the return type of lseek?  Usually long or off_t.
  #### =()<LSEEKVAL		@<LSEEKVAL>@>()=
! LSEEKVAL		long
  ##  What's the return type of free?  Usually int or void.
  #### =()<FREEVAL			@<FREEVAL>@>()=
  FREEVAL			void
--- 259,280 ----
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
  #### =()<ABORTVAL		@<ABORTVAL>@>()=
! ABORTVAL		void
  ##  What's the return type of alarm?  Usually int or unsigned int.
  #### =()<ALARMVAL		@<ALARMVAL>@>()=
! ALARMVAL		unsigned int
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
! GETPIDVAL		pid_t
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
! SLEEPVAL		unsigned int
  ##  What's the return type of  qsort?  Usually int or void.
  #### =()<QSORTVAL		@<QSORTVAL>@>()=
  QSORTVAL		void
  ##  What's the return type of lseek?  Usually long or off_t.
  #### =()<LSEEKVAL		@<LSEEKVAL>@>()=
! LSEEKVAL		off_t
  ##  What's the return type of free?  Usually int or void.
  #### =()<FREEVAL			@<FREEVAL>@>()=
  FREEVAL			void
***************
*** 284,290 ****
  EXITVAL			void
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
! _EXITVAL		int
  
  
  ##
--- 284,290 ----
  EXITVAL			void
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
! _EXITVAL		void
  
  
  ##
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,562 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/lib/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/ucb/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
  _PATH_COMPRESSEXT	.Z
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
! _PATH_EGREP		/usr/local/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
--- 535,562 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bin/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
  _PATH_COMPRESSEXT	.Z
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
! _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		/usr/bin/awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		/usr/bin/sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
***************
*** 584,595 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
--- 584,596 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
diff -Nacr inn-1.7/sample-configs/config.data-hpux-9.05 inn-1.7.1/sample-configs/config.data-hpux-9.05
*** inn-1.7/sample-configs/config.data-hpux-9.05	Wed Oct  8 19:52:03 1997
--- inn-1.7.1/sample-configs/config.data-hpux-9.05	Fri Dec  5 22:42:12 1997
***************
*** 8,14 ****
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags.
  #### =()<DEFS			@<DEFS>@>()=
  DEFS			-I../include
  ##  C compiler
--- 8,14 ----
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
  DEFS			-I../include
  ##  C compiler
***************
*** 17,23 ****
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
! ##  C compiler flags add a -DUSE_DMALLOC if using the dmalloc package.
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
--- 17,23 ----
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
! ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
***************
*** 32,60 ****
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you DONT have snprintf in your clibrary then set LIBSNPRINTF 
! ##  to  ``../libsnprintf.a''. i.e.
! ##
! ##             LIBSNPRINTF		../libsnprintf.a
! ##
! ##  Also see HAVE_SNPRINTF down below.
! #### =()<LIBSNPRINTF		@<LIBSNPRINTF>@>()=
! LIBSNPRINTF		../libsnprintf.a
! ##
! ## What compiler flags do you need to build the snprintf library. 
! ##
! ## On Solaris 2.5 and 2.5.1 (and maybe higher) with the Sun C compiler.
! ## you want
! ##		-Xc -Dsun -D__svr4__ -DBad_float_h
! ## with gcc
! ##		-Dsnprintf=__snprintf -Dvsnprintf=__vsnprintf
! ## is reported to work (with HAVE_SNPRINTF set to DO and LIBSNPRINT to nothing)
! ##
! #### =()<SNPRINTF_CFLAGS	@<SNPRINTF_CFLAGS>@>()=
! SNPRINTF_CFLAGS	
! ##  If you need to link in other libraries add them here.  On NetBSD and
! ##  FreeBSD, you must add the -lcrypt directive here -lutil on BSD/OS gives
! ##  you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
  LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
--- 32,40 ----
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you need to link in other libraries, add them here.
! ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
! ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
  LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
***************
*** 219,226 ****
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
  HAVE_SETPROCTITLE	DO
- ## Do you have setpriority()? Pick DO or DONT.
- HAVE_SETPRIORITY	DO
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
--- 199,204 ----
***************
*** 307,316 ****
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! ## Do you have snprintf() in your c library. Pick DO or DONT. See
! ## LIBSNPRINTF and SNPRINTF_CFLAGS above.
! #### =()<HAVE_SNPRINTF		@<HAVE_SNPRINTF>@>()=
! HAVE_SNPRINTF		DONT
  
  ##
  ##  5.  C LIBRARY OMISSIONS
--- 285,291 ----
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! 
  
  ##
  ##  5.  C LIBRARY OMISSIONS
***************
*** 332,338 ****
  ##
  ##  6.  MISCELLANEOUS CONFIG DATA
  ##
- 
  ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
  #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
  ACT_STYLE		READ
--- 307,312 ----
***************
*** 396,402 ****
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd after forking for a child.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
--- 370,376 ----
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
***************
*** 470,476 ****
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted after each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
--- 444,450 ----
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
***************
*** 487,493 ****
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  We only use FQDN's in the hosts.nntp file. Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
--- 461,467 ----
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  Tell resolver _res.options to be fast?  Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
***************
*** 545,568 ****
  ##  Some versions of Solaris should set to DONT (pre 2.4 it seems)
  #### =()<SET_SOCKOPT		@<SET_SOCKOPT>@>()=
  SET_SOCKOPT		DO
- ## Should INN reject articles that have non-RFC1036 compliant newsgroup
- ## names in them. Pick DO or DONT.
- TOSS_BOGUS_NEWSGROUPS	DO
- ##  Should INN fabricate Keywords: data for overviews?  Pick DO or DONT.
- #### =()<KEYWORDS	@<KEYWORDS>@>()=
- KEYWORDS	DONT
- ##  Byte limit on addition to an overview.  (1K is very piggish, but complete.)
- #### =()<KEYLIMIT	@<KEYLIMIT>@>()=
- KEYLIMIT	256
- ##  Articles longer than this won't be keyword-analyzed.
- #### =()<ABSURD		@<ABSURD>@>()=
- ABSURD		100000
- ##  Maximum count of interesting words.
- #### =()<MAX_WORDS	@<MAX_WORDS>@>()=
- MAX_WORDS	250
- ## Should nnrpd get ident information from the client to store in the
- ## X-Trace header. Pick DO or DONT.
- NNRPD_USE_IDENT		DONT
  
  
  ##
--- 519,524 ----
***************
*** 576,583 ****
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ## Where sendmail, or a look-alike, lives. Must have a trailing '%s' 
! ## for the recipient address.
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
  _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
--- 532,539 ----
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ##  Where sendmail, or a look-alike, lives.
! ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
  _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
***************
*** 592,598 ****
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl version 5 lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
--- 548,554 ----
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
***************
*** 628,639 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
- ##  I suggest using innmail which is installed in the _PATH_NEWSBIN
- ##  directory. UCB mail has too many security problems to be used safely.
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
--- 584,594 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
***************
*** 657,668 ****
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished. Must be on the same
! ##  partition as _PATH_SPOOLNEWS and _PATH_BADNEWS
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input. Put it on the same partition as
! ##  _PATH_SPOOLNEWS and _PATH_SPOOLTEMP.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
--- 612,621 ----
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
***************
*** 824,832 ****
  ##  Format of news overview database
  #### =()<_PATH_SCHEMA		@<_PATH_SCHEMA>@>()=
  _PATH_SCHEMA		/var/news/etc/overview.fmt
- ## Where the MOTD (message of the day) lives (for the "LIST MOTD" nnrpd
- ## command.
- _PATH_MOTD		/var/news/etc/motd.news
  
  
  ##
--- 777,782 ----
***************
*** 844,852 ****
  ##  or _PATH_OVERVIEWDIR.
  #### =()<INNWATCH_SPOOLSPACE	@<INNWATCH_SPOOLSPACE>@>()=
  INNWATCH_SPOOLSPACE	8000
- ##  Space, in df output units, at which to throttle innd on _PATH_MOST_LOGS.
- #### =()<INNWATCH_LOGSPACE	@<INNWATCH_LOGSPACE>@>()=
- INNWATCH_LOGSPACE	800
  ##  Space, in df output units, at which to throttle innd on _PATH_BATCHDIR.
  #### =()<INNWATCH_BATCHSPACE	@<INNWATCH_BATCHSPACE>@>()=
  INNWATCH_BATCHSPACE	800
--- 794,799 ----
***************
*** 916,925 ****
  ##  Home of the NEWSUSER
  #### =()<_PATH_NEWSHOME		@<_PATH_NEWSHOME>@>()=
  _PATH_NEWSHOME		/usr/news
- ##  Where local programs etc. get stored.
- #### =()<_PATH_NEWSLBIN		@<_PATH_NEWSLBIN>@>()=
- _PATH_NEWSLBIN		/usr/news/local
- 
  
  
  ##
--- 863,868 ----
***************
*** 961,1006 ****
  _PATH_PERL_FILTER_INND		/usr/news/bin/control/filter_innd.pl
  #### =()<_PATH_PERL_FILTER_NNRPD		@<_PATH_PERL_FILTER_NNRPD>@>()=
  _PATH_PERL_FILTER_NNRPD		/usr/news/bin/control/filter_nnrpd.pl
- 
- 
- 
- 
- 
- ##  18. Priority configuration
- ##
- ## Base priority for innd.  Unlike the XYZ_NICE_VALUEs below, this
- ## sets the initial prioriy.  All other children are deltas off of this value.
- ## Valid range is from -20 to 20.  Lower priorities cause more favorable 
- ## scheduling => get more cpu.
- ##
- ## Note that by default, innd children other than overview, nnrpd and
- ## innfeed get the INND_NICE_VALUE nice increment.  Any processes started
- ## by cron (expire, news.dailt, actsync, etc.) get a 0 default priority.
- #### =()<INND_SETPRIORITY		@<INND_SETPRIORITY>@>()=
- INND_SETPRIORITY		-4
- ## Nice increment for nnrpd (PATH_NNRPD and PATH_NNTPD)
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<NNRPD_NICE_VALUE		@<NNRPD_NICE_VALUE>@>()=
- NNRPD_NICE_VALUE		2
- ## Nice increment for overview channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<OVERCHAN_NICE_VALUE		@<OVERCHAN_NICE_VALUE>@>()=
- OVERCHAN_NICE_VALUE		1
- ## Name of overview program (ignoring leading directory names) for which
- ## OVERCHAN_NICE_VALUE is applied.  This is ignored if INND_NICE_KIDS is
- ## DONT
- #### =()<OVERCHAN_NICE_NAME		@<OVERCHAN_NICE_NAME>@>()=
- OVERCHAN_NICE_NAME		overchan
- ## Nice increment for innfeed channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_VALUE		@<INNFEED_NICE_VALUE>@>()=
- INNFEED_NICE_VALUE		4
- ## Leading part of the name of the innfeed channel.  I.e., apply the
- ## INNFEED_NICE_VALUE to names that start with this string (after striping
- ## off any leading directories).
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_LEADING_NAME	@<INNFEED_NICE_LEADING_NAME>@>()=
- INNFEED_NICE_LEADING_NAME	innfeed
--- 904,906 ----
diff -Nacr inn-1.7/sample-configs/config.data-hpux-9.07 inn-1.7.1/sample-configs/config.data-hpux-9.07
*** inn-1.7/sample-configs/config.data-hpux-9.07	Thu Jan  1 00:00:00 1970
--- inn-1.7.1/sample-configs/config.data-hpux-9.07	Fri Dec  5 22:42:12 1997
***************
*** 0 ****
--- 1,906 ----
+ ## Sample config.data for HPUX 9.07
+ 
+ ##
+ ##  1.  MAKE CONFIG PARAMETERS
+ ##  Where the DBZ sources are, from C News.  INN has a (maybe old) copy.
+ #### =()<DBZDIR			@<DBZDIR>@>()=
+ DBZDIR			../dbz
+ ##  If you have a parallel make, set this to "&"
+ #### =()<P			@<P>@>()=
+ P			
+ ##  C pre-processor flags
+ #### =()<DEFS			@<DEFS>@>()=
+ DEFS			-I../include
+ ##  C compiler
+ #### =()<CC			@<CC>@>()=
+ CC			gcc
+ ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
+ #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
+ USE_CHAR_CONST		DUNNO
+ ##  C compiler flags
+ #### =()<CFLAGS			@<CFLAGS>@>()=
+ CFLAGS			$(DEFS) -g
+ ##  C compiler flags to use when compiling dbz
+ #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
+ DBZCFLAGS			$(CFLAGS)
+ ##  What flags to use if profiling; -p or -pg, e.g.
+ #### =()<PROF			@<PROF>@>()=
+ PROF			-pg
+ ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
+ #### =()<LDFLAGS			@<LDFLAGS>@>()=
+ LDFLAGS			
+ ##  If you use the standard NNTP way of connecting, where is the library?
+ #### =()<NNTPLIB		@<NNTPLIB>@>()=
+ NNTPLIB		
+ ##  If you need to link in other libraries, add them here.
+ ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
+ ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
+ #### =()<LIBS			@<LIBS>@>()=
+ LIBS			-lutil
+ ##  How to make a lint library; pick BSD, SYSV, or NONE.
+ #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
+ LINTLIBSTYLE		NONE
+ ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
+ #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
+ LINTFLAGS		-b -h -z $(DEFS)
+ ##  Some lints insist on putting out the filename and other crap.
+ ##  Possible values:
+ ##	LINTFILTER              | sed -n -f ../sedf.aix
+ ##	LINTFILTER              | sed -n -f ../sedf.osx
+ ##	LINTFILTER              | sed -n -f ../sedf.sun
+ ##	LINTFILTER              | sed -n -f ../sedf.sysv
+ ##	LINTFILTER              
+ ####  =()<LINTFILTER		@<LINTFILTER>@>()=
+ LINTFILTER		| sed -n -f ../sedf.sun
+ ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
+ ##  BSD4.4 or NONE.
+ #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
+ MANPAGESTYLE		SOURCE
+ ##  Where various manpages should go
+ #### =()<MAN1			@<MAN1>@>()=
+ MAN1			/usr/news/man/man1
+ #### =()<MAN3			@<MAN3>@>()=
+ MAN3			/usr/news/man/man3
+ #### =()<MAN5			@<MAN5>@>()=
+ MAN5			/usr/news/man/man5
+ #### =()<MAN8			@<MAN8>@>()=
+ MAN8			/usr/news/man/man8
+ ##  Ranlib command.  Use echo if you don't need ranlib.
+ #### =()<RANLIB			@<RANLIB>@>()=
+ RANLIB			ranlib
+ ##  YACC (yet another config control?)
+ #### =()<YACC			@<YACC>@>()=
+ YACC			yacc
+ ##  Ctags command.  Use echo if you don't have ctags.
+ #### =()<CTAGS			@<CTAGS>@>()=
+ CTAGS			ctags -t -w
+ 
+ 
+ ##
+ ##  2.  LOGGING LEVELS
+ ##  Facility innd should log under.
+ #### =()<LOG_INN_SERVER		@<LOG_INN_SERVER>@>()=
+ LOG_INN_SERVER		LOG_NEWS
+ ##  Facility all other programs should log under.
+ #### =()<LOG_INN_PROG		@<LOG_INN_PROG>@>()=
+ LOG_INN_PROG		LOG_NEWS
+ ##  Flags to use in opening the logs; some programs add LOG_PID.
+ #### =()<L_OPENLOG_FLAGS		@<L_OPENLOG_FLAGS>@>()=
+ L_OPENLOG_FLAGS		(LOG_CONS | LOG_NDELAY)
+ ##  Log a fatal error; program is about to exit.
+ #### =()<L_FATAL			@<L_FATAL>@>()=
+ L_FATAL			LOG_CRIT
+ ##  Log an error that might mean one or more articles get lost.
+ #### =()<L_ERROR			@<L_ERROR>@>()=
+ L_ERROR			LOG_ERR
+ ##  Informational notice, usually not worth caring about.
+ #### =()<L_NOTICE		@<L_NOTICE>@>()=
+ L_NOTICE		LOG_WARNING
+ ##  A protocol trace.
+ #### =()<L_TRACE			@<L_TRACE>@>()=
+ L_TRACE			LOG_DEBUG
+ ##  All incoming control commands (ctlinnd, etc).
+ #### =()<L_CC_CMD		@<L_CC_CMD>@>()=
+ L_CC_CMD		LOG_INFO
+ 
+ 
+ ##
+ ##  3.  OWNERSHIPS AND FILE MODES
+ ##  Owner of articles and directories and _PATH_INNDDIR
+ #### =()<NEWSUSER			@<NEWSUSER>@>()=
+ NEWSUSER			news
+ ##  Group, for same purpose
+ #### =()<NEWSGROUP		@<NEWSGROUP>@>()=
+ NEWSGROUP		news
+ ##  Who gets email from news.daily and about control messages.
+ #### =()<NEWSMASTER		@<NEWSMASTER>@>()=
+ NEWSMASTER		usenet
+ ##  Who gets email on the Path line?
+ #### =()<PATHMASTER		@<PATHMASTER>@>()=
+ PATHMASTER		not-for-mail
+ ##  Umask to set.
+ #### =()<NEWSUMASK		@<NEWSUMASK>@>()=
+ NEWSUMASK		02
+ ##  Mode that incoming articles are created under.
+ #### =()<ARTFILE_MODE		@<ARTFILE_MODE>@>()=
+ ARTFILE_MODE		0664
+ ##  Mode that batch files are created under.
+ #### =()<BATCHFILE_MODE		@<BATCHFILE_MODE>@>()=
+ BATCHFILE_MODE		0664
+ ##  Mode that directories are created under.
+ #### =()<GROUPDIR_MODE		@<GROUPDIR_MODE>@>()=
+ GROUPDIR_MODE		0775
+ 
+ 
+ ##
+ ##  4.  C LIBRARY DIFFERENCES
+ ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
+ ##  You need vfprintf and vfsprintf if not NONE.
+ #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
+ VAR_STYLE		STDARGS
+ ##  If you don't have <string.h>, set this to "mystring.h"
+ #### =()<STR_HEADER		@<STR_HEADER>@>()=
+ STR_HEADER		<string.h>
+ ##  If you don't have <memory.h>, set this to "mymemory.h"
+ #### =()<MEM_HEADER		@<MEM_HEADER>@>()=
+ MEM_HEADER		<memory.h>
+ ##  What is a file offset?  MUST BE LONG FOR NOW.
+ #### =()<OFFSET_T		@<OFFSET_T>@>()=
+ OFFSET_T		long
+ ##  What is the type of an object size? Usually size_t or unsigned int.
+ #### =()<SIZE_T			@<SIZE_T>@>()=
+ SIZE_T			size_t
+ ##  What is the type of a passwd uid and gid, for use in chown(2)?
+ #### =()<UID_T			@<UID_T>@>()=
+ UID_T			uid_t
+ #### =()<GID_T			@<GID_T>@>()=
+ GID_T			gid_t
+ ##  Type of a pid, for use in kill(2).
+ #### =()<PID_T			@<PID_T>@>()=
+ PID_T			pid_t
+ ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
+ #### =()<POINTER			@<POINTER>@>()=
+ POINTER			void
+ ##  Worst-case alignment, in order to shut lint up
+ #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
+ ALIGNPTR		int
+ ##  What should a signal handler return?  Usually int or void.
+ #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
+ SIGHANDLER		void
+ ##  Type of variables can be modified in a signal handler? sig_atomic_t
+ #### =()<SIGVAR			@<SIGVAR>@>()=
+ SIGVAR			sig_atomic_t
+ ##  Function that returns no value, and a pointer to it.  Pick int or void
+ #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
+ FUNCTYPE		void
+ ##  Type of 32 bit unsigned integer.
+ #### =()<U_INT32_T			@<U_INT32_T>@>()=
+ U_INT32_T			unsigned int
+ ##  Type of 32 bit signed integer.
+ #### =()<INT32_T			@<INT32_T>@>()=
+ INT32_T			int
+ ##  Use BSD4.2 or Posix directory names?  Pick DIRENT or DIRECT.
+ #### =()<DIR_STYLE		@<DIR_STYLE>@>()=
+ DIR_STYLE		DIRENT
+ ##  Use flock, lockf, or nothing to lock files?
+ ##  Pick FLOCK, LOCKF, FCNTL, or NONE
+ #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
+ LOCK_STYLE		FCNTL
+ ##  Do you have <unistd.h>?  Pick DO or DONT
+ #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
+ HAVE_UNISTD		DO
+ ##  Do you have setbuffer?  Pick DO or DONT.
+ #### =()<HAVE_SETBUFFER		@<HAVE_SETBUFFER>@>()=
+ HAVE_SETBUFFER		DO
+ ##  Do you have gettimeofday?  Pick DO or DONT.
+ #### =()<HAVE_GETTIMEOFDAY	@<HAVE_GETTIMEOFDAY>@>()=
+ HAVE_GETTIMEOFDAY	DO
+ ##  Do you have setproctitle()?  Pick DO or DONT.
+ ##  You may need to adjust LIBS for this.
+ #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
+ HAVE_SETPROCTITLE	DO
+ ##  Do you have fchmod?  Pick DO or DONT.
+ #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
+ HAVE_FCHMOD		DO
+ ##  Do you have setsid()?  Pick DO or DONT.
+ #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
+ HAVE_SETSID		DO
+ ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
+ #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
+ HAVE_TM_GMTOFF		DO
+ ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
+ #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
+ HAVE_ST_BLKSIZE		DO
+ ##  Use waitpid instead of wait3?  Pick DO or DONT.
+ #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
+ HAVE_WAITPID		DO
+ ##  Use "union wait" instead of int?  Pick DO or DONT.
+ #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
+ USE_UNION_WAIT		DONT
+ ##  How to fork?  Pick fork or vfork.
+ #### =()<FORK			@<FORK>@>()=
+ FORK			vfork
+ ##  Do you have <vfork.h>?  Pick DO or DONT.
+ #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
+ HAVE_VFORK		DONT
+ ##  Do you have symbolic links?  Pick DO or DONT.
+ #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
+ HAVE_SYMLINK		DO
+ ##  Do you have Unix-domain sockets?  Pick DO or DONT.
+ #### =()<HAVE_UNIX_DOMAIN	@<HAVE_UNIX_DOMAIN>@>()=
+ HAVE_UNIX_DOMAIN	DO
+ ##  Does your AF_UNIX bind use sizeof for the socket size?  Pick DO or DONT.
+ #### =()<BIND_USE_SIZEOF		@<BIND_USE_SIZEOF>@>()=
+ BIND_USE_SIZEOF		DO
+ ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
+ #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
+ CLX_STYLE		IOCTL
+ ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
+ #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
+ NBIO_STYLE		FCNTL
+ ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
+ #### =()<RES_STYLE		@<RES_STYLE>@>()=
+ RES_STYLE		RUSAGE
+ ##  How to get number of available descriptors?
+ ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
+ ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
+ FDCOUNT_STYLE		GETRLIMIT
+ ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
+ ##  If -1, then no [gs]etrlimit calls are done.
+ #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
+ NOFILE_LIMIT		-1
+ ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
+ #### =()<NEED_TIME		@<NEED_TIME>@>()=
+ NEED_TIME		DONT
+ ##  What predicate, if any, the <ctype.h> macros need
+ #### =()<CTYPE			@<CTYPE>@>()=
+ CTYPE			(isascii((c)) && isXXXXX((c)))
+ #CTYPE			((c) > 0 && isXXXXX((c)))
+ #CTYPE			isXXXXX((c))
+ ##  What's the return type of abort?  Usually int or void.
+ #### =()<ABORTVAL		@<ABORTVAL>@>()=
+ ABORTVAL		void
+ ##  What's the return type of alarm?  Usually int or unsigned int.
+ #### =()<ALARMVAL		@<ALARMVAL>@>()=
+ ALARMVAL		unsigned int
+ ##  What's the return type of getpid?  Usually int or unsigned int.
+ #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
+ GETPIDVAL		pid_t
+ ##  What's the return type of sleep?  Usually int or unsigned int.
+ #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
+ SLEEPVAL		unsigned int
+ ##  What's the return type of  qsort?  Usually int or void.
+ #### =()<QSORTVAL		@<QSORTVAL>@>()=
+ QSORTVAL		void
+ ##  What's the return type of lseek?  Usually long or off_t.
+ #### =()<LSEEKVAL		@<LSEEKVAL>@>()=
+ LSEEKVAL		off_t
+ ##  What's the return type of free?  Usually int or void.
+ #### =()<FREEVAL			@<FREEVAL>@>()=
+ FREEVAL			void
+ ##  What's the return type of exit?  Usually int or void.
+ ##  (For gcc (not pedantic ANSI) use "volatile void" in EXITVAL and _EXITVAL.)
+ #### =()<EXITVAL			@<EXITVAL>@>()=
+ EXITVAL			void
+ ##  What's the return type of _exit?  Usually int or void.
+ #### =()<_EXITVAL		@<_EXITVAL>@>()=
+ _EXITVAL		void
+ 
+ 
+ ##
+ ##  5.  C LIBRARY OMISSIONS
+ ##  Possible values:
+ ##	MISSING_MAN		strcasecmp.3 syslog.3
+ ##	MISSING_SRC		strcasecmp.c syslog.c strerror.c getdtab.c
+ ##	MISSING_OBJ		strcasecmp.o syslog.o strerror.o getdtab.c
+ ##  getdtab has a getdtablesize() routine if you need it; see the lib
+ ##  directory and Install.ms for others.
+ ##  OSx systems should add $(OSXATTOBJ) to MISSING_OBJ.
+ #### =()<MISSING_MAN		@<MISSING_MAN>@>()=
+ MISSING_MAN		
+ #### =()<MISSING_SRC		@<MISSING_SRC>@>()=
+ MISSING_SRC		
+ #### =()<MISSING_OBJ		@<MISSING_OBJ>@>()=
+ MISSING_OBJ		
+ 
+ 
+ ##
+ ##  6.  MISCELLANEOUS CONFIG DATA
+ ##
+ ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
+ #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
+ ACT_STYLE		READ
+ ##  Do you want mail notifications of bad control messages. DO or DONT
+ ##  Setting it to do results in a lot of mail with the number of spammers
+ ##  out there.
+ #### =()<MAIL_BADCONTROLS	@<MAIL_BADCONTROLS>@>()=
+ MAIL_BADCONTROLS	DONT
+ ##  What type of pointer does mmap() manage? Normally ``caddr_t'' or ``void *''
+ ##  or ``char *''
+ #### =()<MMAP_PTR		@<MMAP_PTR>@>()=
+ MMAP_PTR		caddr_t
+ ##  Should we msync when using mmap? Pick DO or DONT. Useful
+ ##  with some slightly broken mmap implementations. (like HPUX and BSD/OS).
+ #### =()<MMAP_SYNC		@<MMAP_SYNC>@>()=
+ MMAP_SYNC		DONT
+ ##  Should we call your msync() with 3 args? (addr,len,flags)
+ ##  Choose DO or DONT.
+ #### =()<MSYNC_3_ARG		@<MSYNC_3_ARG>@>()=
+ MSYNC_3_ARG		DONT
+ ##  Do clients use our NNTP-server-open routine, or the one in NNTP?
+ ##  INND is nicer, but you must install inn.conf files everywhere; NNTP
+ ##  is better if you already have lots of /usr/lib/news/server files.
+ ##  Pick INND or NNTP.
+ #### =()<REM_STYLE		@<REM_STYLE>@>()=
+ REM_STYLE		INND
+ ##  Should rnews save articles that the server rejects?  Pick DO or DONT.
+ #### =()<RNEWS_SAVE_BAD		@<RNEWS_SAVE_BAD>@>()=
+ RNEWS_SAVE_BAD		DONT
+ ##  Should rnews log articles innd already has?  Pick SYSLOG, FILE, OR DONT.
+ #### =()<RNEWS_LOG_DUPS		@<RNEWS_LOG_DUPS>@>()=
+ RNEWS_LOG_DUPS		DONT
+ ##  Look in _PATH_RNEWSPROGS for rnews unpackers?  Pick DO or DONT.
+ #### =()<RNEWSPROGS		@<RNEWSPROGS>@>()=
+ RNEWSPROGS		DO
+ ##  Should rnews try the local host?  Pick DO or DONT.
+ #### =()<RNEWSLOCALCONNECT	@<RNEWSLOCALCONNECT>@>()=
+ RNEWSLOCALCONNECT	DO
+ ##  Environment variable that has remote hostname for rnews.
+ #### =()<_ENV_UUCPHOST		@<_ENV_UUCPHOST>@>()=
+ _ENV_UUCPHOST		UU_MACHINE
+ ##  Require posts to have under 50% inclusion (">") lines?  Pick DO OR DONT.
+ ##  (This is only for inews and nnrpd.)
+ #### =()<CHECK_INCLUDED_TEXT	@<CHECK_INCLUDED_TEXT>@>()=
+ CHECK_INCLUDED_TEXT	DO
+ ##  Put hosts in the inews Path header?  Pick DO or DONT.
+ #### =()<INEWS_PATH		@<INEWS_PATH>@>()=
+ INEWS_PATH		DO
+ ##  Munge the gecos field of password entry?  Pick DO or DONT.
+ #### =()<MUNGE_GECOS		@<MUNGE_GECOS>@>()=
+ MUNGE_GECOS		DO
+ ##  How many times to try to fork before giving up
+ #### =()<MAX_FORKS		@<MAX_FORKS>@>()=
+ MAX_FORKS		10
+ ##  Largest acceptable article size; 0 allows any size
+ #### =()<MAX_ART_SIZE		@<MAX_ART_SIZE>@>()=
+ MAX_ART_SIZE		1000000L
+ ##  Value of dbzincore(FLAG) call in innd.  Pick 1 or 0.
+ #### =()<INND_DBZINCORE		@<INND_DBZINCORE>@>()=
+ INND_DBZINCORE		1
+ ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
+ #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
+ INND_NICE_KIDS		DO
+ ##  Value for nice(2) call in innd.
+ #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
+ INND_NICE_VALUE		4
+ ##  Null-terminated list of unknown commands to not log to syslog.
+ ##	INND_QUIET_BADLIST	"xstream", "xfoo", NULL
+ #### =()<INND_QUIET_BADLIST	@<INND_QUIET_BADLIST>@>()=
+ INND_QUIET_BADLIST	NULL
+ ##  Null-terminated set of illegal distribution patterns for local postings.
+ #### =()<BAD_DISTRIBS		@<BAD_DISTRIBS>@>()=
+ BAD_DISTRIBS		"*.*",NULL
+ ##  Verify that the poster is the person doing the cancel?  Pick DO or DONT.
+ ##  (Can't do this if cancel arrives before the article does, by the way,
+ ##  in which case the early cancel will be ignored.)
+ #### =()<VERIFY_CANCELS		@<VERIFY_CANCELS>@>()=
+ VERIFY_CANCELS		DONT
+ ##  Log "ctlinnd cancel" commands to syslog?  Pick DO or DONT.
+ #### =()<LOG_CANCEL_COMMANDS	@<LOG_CANCEL_COMMANDS>@>()=
+ LOG_CANCEL_COMMANDS	DONT
+ ##  File unknown "to.*" groups into the "to" newsgroup?  Pick DO or DONT.
+ #### =()<MERGE_TO_GROUPS		@<MERGE_TO_GROUPS>@>()=
+ MERGE_TO_GROUPS		DONT
+ ##  File articles in unknown newsgroups into junk?  Pick DO or DONT.
+ #### =()<WANT_TRASH		@<WANT_TRASH>@>()=
+ WANT_TRASH		DONT
+ ##  Record rejected articles in history?  Pick DO or DONT.
+ #### =()<REMEMBER_TRASH		@<REMEMBER_TRASH>@>()=
+ REMEMBER_TRASH		DO
+ ##  Check the linecount against the Lines header?  Pick DO or DONT.
+ #### =()<CHECK_LINECOUNT		@<CHECK_LINECOUNT>@>()=
+ CHECK_LINECOUNT		DONT
+ ##  If checking, the error must be within LINECOUNT_FUZZ lines.
+ ##  Five is number of .signature lines + 1.
+ #### =()<LINECOUNT_FUZZ		@<LINECOUNT_FUZZ>@>()=
+ LINECOUNT_FUZZ		5
+ ##  Have innd throttle itself after this many I/O errors.
+ #### =()<IO_ERROR_COUNT		@<IO_ERROR_COUNT>@>()=
+ IO_ERROR_COUNT		50
+ ##  Default value for ctlinnd -t flag; use 0 to wait and poll.
+ #### =()<CTLINND_TIMEOUT		@<CTLINND_TIMEOUT>@>()=
+ CTLINND_TIMEOUT		0
+ ##  Flush logs if we go this long with no I/O.
+ #### =()<DEFAULT_TIMEOUT		@<DEFAULT_TIMEOUT>@>()=
+ DEFAULT_TIMEOUT		300
+ ##  INND closes channel if inactive this long (seconds).
+ #### =()<PEER_TIMEOUT		@<PEER_TIMEOUT>@>()=
+ PEER_TIMEOUT		(1 * 60 * 60)
+ ##  NNRP exits if first command doesn't arrive within this time (seconds).
+ #### =()<INIT_CLIENT_TIMEOUT	@<INIT_CLIENT_TIMEOUT>@>()=
+ INIT_CLIENT_TIMEOUT	30
+ ##  NNRP exits if inactive for this long (seconds).
+ #### =()<CLIENT_TIMEOUT		@<CLIENT_TIMEOUT>@>()=
+ CLIENT_TIMEOUT		(10 * 60)
+ ##  Allow nnrpd readers when paused or throttled?  Pick DO or DONT.
+ #### =()<ALLOW_READERS		@<ALLOW_READERS>@>()=
+ ALLOW_READERS		DO
+ ##  Refuse newsreader connections if load is higher then this; -1 disables.
+ #### =()<NNRP_LOADLIMIT		@<NNRP_LOADLIMIT>@>()=
+ NNRP_LOADLIMIT		16
+ ##  Don't readdir() spool dir if same group within this many secs.
+ #### =()<NNRP_RESCAN_DELAY	@<NNRP_RESCAN_DELAY>@>()=
+ NNRP_RESCAN_DELAY	60
+ ##  Do gethostbyaddr on client adresses in nnrp?   Pick DO or DONT.
+ ##  (If DONT, then use only IP addresses in hosts.nnrp)
+ #### =()<NNRP_GETHOSTBYADDR	@<NNRP_GETHOSTBYADDR>@>()=
+ NNRP_GETHOSTBYADDR	DO
+ ##  How many Message-ID retrievals until nnrpd does a dbzincore?  Set
+ ##  to -1 to never do incore.
+ #### =()<NNRP_DBZINCORE_DELAY	@<NNRP_DBZINCORE_DELAY>@>()=
+ NNRP_DBZINCORE_DELAY	40
+ ##  Strip Sender from posts that didn't authenticate?  Pick DO or DONT.
+ #### =()<NNRP_AUTH_SENDER	@<NNRP_AUTH_SENDER>@>()=
+ NNRP_AUTH_SENDER	DO
+ ##  Do you want to make life easy for peers to pull feeds from you (it's
+ ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
+ ##  sleep inserted before each ARTICLE command is processed. (With
+ ##  apologies to the Australians in the audience).
+ #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
+ LIKE_PULLERS		DO
+ ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
+ ##  (RFC 977 says you should; your server performance may not agree...)
+ #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
+ ALLOW_NEWNEWS		DONT
+ ##  How many read/write failures until channel is put to sleep or closed?
+ #### =()<BAD_IO_COUNT		@<BAD_IO_COUNT>@>()=
+ BAD_IO_COUNT		5
+ ##  Multiplier for sleep in EWOULDBLOCK writes (seconds).
+ #### =()<BLOCK_BACKOFF		@<BLOCK_BACKOFF>@>()=
+ BLOCK_BACKOFF		(2 * 60)
+ ##  How many article-writes between active and history updates?
+ #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
+ ICD_SYNC_COUNT		10
+ ##  Tell resolver _res.options to be fast?  Pick DO or DONT.
+ #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
+ FAST_RESOLV		DONT
+ ##  Drop articles that were posted this many days ago.
+ #### =()<DEFAULT_CUTOFF		@<DEFAULT_CUTOFF>@>()=
+ DEFAULT_CUTOFF		14
+ ##  Maximum number of incoming NNTP connections.
+ #### =()<DEFAULT_CONNECTIONS	@<DEFAULT_CONNECTIONS>@>()=
+ DEFAULT_CONNECTIONS	50
+ ##  Wait this many seconds before channel restarts.
+ #### =()<CHANNEL_RETRY_TIME	@<CHANNEL_RETRY_TIME>@>()=
+ CHANNEL_RETRY_TIME	(5 * 60)
+ ##  Wait this many seconds before seeing if pause is ended.
+ #### =()<PAUSE_RETRY_TIME	@<PAUSE_RETRY_TIME>@>()=
+ PAUSE_RETRY_TIME	(5 * 60)
+ ##  Wait this many seconds between noticing inactive channels.
+ #### =()<CHANNEL_INACTIVE_TIME	@<CHANNEL_INACTIVE_TIME>@>()=
+ CHANNEL_INACTIVE_TIME	(10 * 60)
+ ##  Put nntplink info (filename) into the log?
+ #### =()<NNTPLINK_LOG		@<NNTPLINK_LOG>@>()=
+ NNTPLINK_LOG		DONT
+ ##  Put article size into the log?
+ #### =()<LOG_SIZE		@<LOG_SIZE>@>()=
+ LOG_SIZE		DO
+ ##  Log by host IP address, rather than from Path line?
+ #### =()<IPADDR_LOG		@<IPADDR_LOG>@>()=
+ IPADDR_LOG		DO
+ ##  Log NNTP activity after this many articles.
+ #### =()<NNTP_ACTIVITY_SYNC	@<NNTP_ACTIVITY_SYNC>@>()=
+ NNTP_ACTIVITY_SYNC	200
+ ##  Free buffers bigger than this when we're done with them.
+ #### =()<BIG_BUFFER		@<BIG_BUFFER>@>()=
+ BIG_BUFFER		(2 * START_BUFF_SIZE)
+ ##  A general small buffer.
+ #### =()<SMBUF			@<SMBUF>@>()=
+ SMBUF			256
+ ##  Buffer for a single article name.
+ #### =()<MAXARTFNAME		@<MAXARTFNAME>@>()=
+ MAXARTFNAME		10
+ ##  Buffer for a single pathname in the spool directory.
+ #### =()<SPOOLNAMEBUFF		@<SPOOLNAMEBUFF>@>()=
+ SPOOLNAMEBUFF		512
+ ##  Maximum size of a single header.
+ #### =()<MAXHEADERSIZE		@<MAXHEADERSIZE>@>()=
+ MAXHEADERSIZE		1024
+ ##  Byte limit on locally-posted articles; 0 to disable the check.
+ #### =()<LOCAL_MAX_ARTSIZE	@<LOCAL_MAX_ARTSIZE>@>()=
+ LOCAL_MAX_ARTSIZE	1000000L
+ ##  Default number of bytes to hold in memory when buffered.
+ #### =()<SITE_BUFFER_SIZE	@<SITE_BUFFER_SIZE>@>()=
+ SITE_BUFFER_SIZE	(16 * 1024)
+ ##  Do you have uustat, or just uuq?  Pick DO or DONT
+ #### =()<HAVE_UUSTAT		@<HAVE_UUSTAT>@>()=
+ HAVE_UUSTAT		DO
+ ##  Should INN do some setsockopts on network connections. Pick DO or DONT.
+ ##  Some versions of Solaris should set to DONT (pre 2.4 it seems)
+ #### =()<SET_SOCKOPT		@<SET_SOCKOPT>@>()=
+ SET_SOCKOPT		DO
+ 
+ 
+ ##
+ ##  7.  PATHS TO COMMON PROGRAMS
+ ##  Where the raison d'etre for this distribution lives.
+ #### =()<_PATH_INND		@<_PATH_INND>@>()=
+ _PATH_INND		/usr/news/bin/innd
+ ##  Where the optional front-end that exec's innd lives.
+ #### =()<_PATH_INNDSTART		@<_PATH_INNDSTART>@>()=
+ _PATH_INNDSTART		/usr/news/bin/inndstart
+ ##  Where news boot-up script should be installed.
+ #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
+ _PATH_NEWSBOOT		/usr/news/bin/rc.news
+ ##  Where sendmail, or a look-alike, lives.
+ ##  The -t is optional and says to read message for recipients
+ #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
+ _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
+ ##  Where the shell is.
+ #### =()<_PATH_SH		@<_PATH_SH>@>()=
+ _PATH_SH		/bin/sh
+ ##  Where the compress program lives.
+ #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
+ _PATH_COMPRESS		/usr/bin/compress
+ ##  What extension your compress appends
+ #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
+ _PATH_COMPRESSEXT	.Z
+ ##  Where egrep lives (you might need the FSF one; see scanlogs)
+ #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
+ _PATH_EGREP		/usr/bin/egrep
+ ##  Where perl lives
+ #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
+ _PATH_PERL		/usr/bin/perl5
+ ##  Where awk lives
+ #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
+ _PATH_AWK		/usr/bin/awk
+ ##  Where sed lives (you might need the FSF one)
+ #### =()<_PATH_SED		@<_PATH_SED>@>()=
+ _PATH_SED		/usr/bin/sed
+ ##  Where sort lives (you may want the FSF one).
+ #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
+ _PATH_SORT		/usr/bin/sort
+ ##  Where inews lives.
+ #### =()<_PATH_INEWS		@<_PATH_INEWS>@>()=
+ _PATH_INEWS		/usr/news/bin/inews
+ ##  Where rnews lives.
+ #### =()<_PATH_RNEWS		@<_PATH_RNEWS>@>()=
+ _PATH_RNEWS		/usr/news/bin/rnews
+ ##  Where generic authentication programs live.
+ #### =()<_PATH_AUTHDIR		@<_PATH_AUTHDIR>@>()=
+ _PATH_AUTHDIR		/usr/news/bin/auth
+ ##  Where the NNRP server lives.
+ #### =()<_PATH_NNRPD		@<_PATH_NNRPD>@>()=
+ _PATH_NNRPD		/usr/news/bin/nnrpd
+ ##  The path of the process run when an unknown host connects to innd.
+ ##  Usually the same as _PATH_NNRPD, but may be, e.g., the path to
+ ##  nntpd from the reference implementation.
+ #### =()<_PATH_NNTPD		@<_PATH_NNTPD>@>()=
+ _PATH_NNTPD		/usr/news/bin/nnrpd
+ ##  Where the NNQR server lives.  Make same as _PATH_NNRPD for now
+ #### =()<_PATH_NNQRD		@<_PATH_NNRPD>@>()=
+ _PATH_NNQRD		/usr/news/bin/nnrpd
+ ##  Where most other programs live.
+ ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
+ #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
+ _PATH_NEWSBIN		/usr/news/bin
+ ##  Where temporary files live on the server. Probably shouldn't be world
+ ##  writable.
+ #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
+ _PATH_TMP		/var/tmp
+ ##  Command to send mail (with -s "subject" allowed)
+ #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
+ _PATH_MAILCMD		/usr/news/bin/innmail
+ ##  Where scripts should have shlock create locks.
+ #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
+ _PATH_LOCKS		/var/news/locks
+ ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
+ #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
+ _PATH_GZIP		/usr/contrib/bin/gzip
+ 
+ ##
+ ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
+ ##  Spool directory, where articles live.
+ #### =()<_PATH_SPOOL		@<_PATH_SPOOL>@>()=
+ _PATH_SPOOL		/var/news/spool/articles
+ ##  Spool directory where overview data lives.
+ #### =()<_PATH_OVERVIEWDIR	@<_PATH_OVERVIEWDIR>@>()=
+ _PATH_OVERVIEWDIR	/var/news/spool/over.view
+ ##  Name of overview file within its spool directory.
+ #### =()<_PATH_OVERVIEW		@<_PATH_OVERVIEW>@>()=
+ _PATH_OVERVIEW		.overview
+ ##  Where rnews spools its input.
+ #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
+ _PATH_SPOOLNEWS		/var/news/spool/in.coming
+ ##  Where rnews creates temporary files until finished
+ #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
+ _PATH_SPOOLTEMP		/var/news/spool/tmp
+ ##  Where rnews puts bad input.
+ #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
+ _PATH_BADNEWS		/var/news/spool/in.coming/bad
+ ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
+ #### =()<_PATH_RELBAD		@<_PATH_RELBAD>@>()=
+ _PATH_RELBAD		bad
+ ## Where the XBATCH command should put the batches. Normally same as
+ ## _PATH_SPOOLNEWS so that 'rnews -U' can find it.
+ #### =()<_PATH_XBATCHES		@<_PATH_XBATCHES>@>()=
+ _PATH_XBATCHES		/var/news/spool/in.coming
+ 
+ 
+ ##
+ ##  9.  EXECUTION PATHS FOR INND AND RNEWS
+ ##  Pathname where dups are logged if RNEWS_LOG_DUPS is FILE.
+ #### =()<_PATH_RNEWS_DUP_LOG	@<_PATH_RNEWS_DUP_LOG>@>()=
+ _PATH_RNEWS_DUP_LOG	/dev/null
+ ##  Rnews may execute any program in this directory; see RNEWSPROGS.
+ #### =()<_PATH_RNEWSPROGS	@<_PATH_RNEWSPROGS>@>()=
+ _PATH_RNEWSPROGS	/usr/news/bin/rnews.libexec
+ ##  Path to control messages scripts.
+ #### =()<_PATH_CONTROLPROGS	@<_PATH_CONTROLPROGS>@>()=
+ _PATH_CONTROLPROGS	/usr/news/bin/control
+ ##  Default "unknown/illegal" control script, within _PATH_CONTROLPROGS.
+ #### =()<_PATH_BADCONTROLPROG	@<_PATH_BADCONTROLPROG>@>()=
+ _PATH_BADCONTROLPROG	default
+ 
+ 
+ ##
+ ##  10.  SOCKETS CREATED BY INND OR CLIENTS
+ #### =()<_PATH_INNDDIR		@<_PATH_INNDDIR>@>()=
+ _PATH_INNDDIR		/var/news/run
+ ##  Unix-domain stream socket that rnews connects to.
+ #### =()<_PATH_NNTPCONNECT	@<_PATH_NNTPCONNECT>@>()=
+ _PATH_NNTPCONNECT	/var/news/run/nntpin
+ ##  Unix-domain datagram socket that ctlinnd to.
+ #### =()<_PATH_NEWSCONTROL	@<_PATH_NEWSCONTROL>@>()=
+ _PATH_NEWSCONTROL	/var/news/run/control
+ ##  Temporary socket created by ctlinnd; run through mktemp
+ #### =()<_PATH_TEMPSOCK		@<_PATH_TEMPSOCK>@>()=
+ _PATH_TEMPSOCK		/var/news/run/ctlinndXXXXXX
+ 
+ 
+ ##
+ ##  11.  LOG AND CONFIG FILES
+ ##  Shell script that sets most of these as shell vars
+ #### =()<_PATH_SHELLVARS		@<_PATH_SHELLVARS>@>()=
+ _PATH_SHELLVARS		/var/news/etc/innshellvars
+ ##  Perl script that sets most of these as perl variables
+ #### =()<_PATH_PERL_SHELLVARS	@<_PATH_PERL_SHELLVARS>@>()=
+ _PATH_PERL_SHELLVARS	/var/news/etc/innshellvars.pl
+ ##  TCL script that sets most of these as tcl variables
+ #### =()<_PATH_TCL_SHELLVARS	@<_PATH_TCL_SHELLVARS>@>()=
+ _PATH_TCL_SHELLVARS	/var/news/etc/innshellvars.tcl
+ ##  csh script that sets most of these as csh variables
+ #### =()<_PATH_CSH_SHELLVARS	@<_PATH_CSH_SHELLVARS>@>()=
+ _PATH_CSH_SHELLVARS	/var/news/etc/innshellvars.csh
+ ##  Where most config and data files are usually stored; not required
+ ##  to the home directory of NEWSUSER.
+ #### =()<_PATH_NEWSLIB		@<_PATH_NEWSLIB>@>()=
+ _PATH_NEWSLIB		/var/news/etc
+ ## The group owner of the rnews program. Usually uucp.
+ #### =()<RNEWS_GROUP		@<RNEWS_GROUP>@>()=
+ RNEWS_GROUP		uucp
+ ##  The server's log file.
+ #### =()<_PATH_LOGFILE		@<_PATH_LOGFILE>@>()=
+ _PATH_LOGFILE		/var/log/news/news
+ ##  The server's error log file.
+ #### =()<_PATH_ERRLOG		@<_PATH_ERRLOG>@>()=
+ _PATH_ERRLOG		/var/log/news/errlog
+ ##  Where most sylog log files go; see also scanlogs, innstat, etc.
+ #### =()<_PATH_MOST_LOGS		@<_PATH_MOST_LOGS>@>()=
+ _PATH_MOST_LOGS		/var/log/news
+ ##  How many generates of log files to keep.
+ #### =()<LOG_CYCLES		@<LOG_CYCLES>@>()=
+ LOG_CYCLES		3
+ ##  Text value of the server's pid.
+ #### =()<_PATH_SERVERPID		@<_PATH_SERVERPID>@>()=
+ _PATH_SERVERPID		/var/news/run/innd.pid
+ ##  The newsfeeds file, on the server host.
+ #### =()<_PATH_NEWSFEEDS		@<_PATH_NEWSFEEDS>@>()=
+ _PATH_NEWSFEEDS		/var/news/etc/newsfeeds
+ ##  The article history database, on the server host.
+ #### =()<_PATH_HISTORY		@<_PATH_HISTORY>@>()=
+ _PATH_HISTORY		/var/news/etc/history
+ ##  File listing the sites that feed us news.
+ #### =()<_PATH_INNDHOSTS		@<_PATH_INNDHOSTS>@>()=
+ _PATH_INNDHOSTS		/var/news/etc/hosts.nntp
+ ##  The active file, on the server host.
+ #### =()<_PATH_ACTIVE		@<_PATH_ACTIVE>@>()=
+ _PATH_ACTIVE		/var/news/etc/active
+ ##  A temporary active file, for writing on the server host.
+ #### =()<_PATH_NEWACTIVE		@<_PATH_NEWACTIVE>@>()=
+ _PATH_NEWACTIVE		/var/news/etc/active.tmp
+ ##  An old active file on the server host.
+ #### =()<_PATH_OLDACTIVE		@<_PATH_OLDACTIVE>@>()=
+ _PATH_OLDACTIVE		/var/news/etc/active.old
+ ##  The log of when groups are created.
+ #### =()<_PATH_ACTIVETIMES	@<_PATH_ACTIVETIMES>@>()=
+ _PATH_ACTIVETIMES	/var/news/etc/active.times
+ ##  Where batch files are located.
+ #### =()<_PATH_BATCHDIR		@<_PATH_BATCHDIR>@>()=
+ _PATH_BATCHDIR		/var/news/spool/out.going
+ ##  Where archives are kept.
+ #### =()<_PATH_ARCHIVEDIR	@<_PATH_ARCHIVEDIR>@>()=
+ _PATH_ARCHIVEDIR	/var/news/spool/archive
+ ##  Where NNRP distributions file is
+ #### =()<_PATH_NNRPDIST		@<_PATH_NNRPDIST>@>()=
+ _PATH_NNRPDIST		/var/news/etc/distributions
+ ##  Where the NNRP automatic subscriptions file is
+ #### =()<_PATH_NNRPSUBS		@<_PATH_NNRPSUBS>@>()=
+ _PATH_NNRPSUBS		/var/news/etc/subscriptions
+ ##  Where the default Distribution assignments file is
+ #### =()<_PATH_DISTPATS		@<_PATH_DISTPATS>@>()=
+ _PATH_DISTPATS		/var/news/etc/distrib.pats
+ #### =()<_PATH_NEWSGROUPS	@<_PATH_NEWSGROUPS>@>()=
+ _PATH_NEWSGROUPS	/var/news/etc/newsgroups
+ ##  File where client configuration parameters can be read.
+ #### =()<_PATH_CONFIG		@<_PATH_CONFIG>@>()=
+ _PATH_CONFIG		/var/news/etc/inn.conf
+ ##  The possible active file, on clients (NFS-mounted, e.g.).
+ #### =()<_PATH_CLIENTACTIVE	@<_PATH_CLIENTACTIVE>@>()=
+ _PATH_CLIENTACTIVE	/var/news/etc/active
+ ##  A temporary file, for client inews to use.
+ #### =()<_PATH_TEMPACTIVE	@<_PATH_TEMPACTIVE>@>()=
+ _PATH_TEMPACTIVE	/var/tmp/activeXXXXXX
+ ##  Where to mail to the moderators.
+ #### =()<_PATH_MODERATORS	@<_PATH_MODERATORS>@>()=
+ _PATH_MODERATORS	/var/news/etc/moderators
+ ##  A temporary file, for client inews to use.
+ #### =()<_PATH_TEMPMODERATORS	@<_PATH_TEMPMODERATORS>@>()=
+ _PATH_TEMPMODERATORS	/var/tmp/moderatorsXXXXXX
+ ##  Where NNTP puts the name of the server.
+ #### =()<_PATH_SERVER		@<_PATH_SERVER>@>()=
+ _PATH_SERVER		/var/news/etc/server
+ ##  File with name/password for all remote connections.
+ #### =()<_PATH_NNTPPASS		@<_PATH_NNTPPASS>@>()=
+ _PATH_NNTPPASS		/var/news/etc/passwd.nntp
+ ##  NNRP access file.
+ #### =()<_PATH_NNRPACCESS	@<_PATH_NNRPACCESS>@>()=
+ _PATH_NNRPACCESS	/var/news/etc/nnrp.access
+ ##  Default expire control file.
+ #### =()<_PATH_EXPIRECTL		@<_PATH_EXPIRECTL>@>()=
+ _PATH_EXPIRECTL		/var/news/etc/expire.ctl
+ ##  Prolog to parse control scripts
+ #### =()<_PATH_PARSECTL		@<_PATH_PARSECTL>@>()=
+ _PATH_PARSECTL		/var/news/etc/parsecontrol
+ ##  Access control file for control scripts.
+ #### =()<_PATH_CONTROLCTL	@<_PATH_CONTROLCTL>@>()=
+ _PATH_CONTROLCTL	/var/news/etc/control.ctl
+ ##  Innwatch control file.
+ #### =()<_PATH_CTLWATCH		@<_PATH_CTLWATCH>@>()=
+ _PATH_CTLWATCH		/var/news/etc/innwatch.ctl
+ ##  Where innwatch writes its own pid.
+ #### =()<_PATH_WATCHPID		@<_PATH_WATCHPID>@>()=
+ _PATH_WATCHPID		/var/news/run/innwatch.pid
+ ##  Where innwatch writes status when it gets an interrupt
+ #### =()<_PATH_INNWSTATUS	@<_PATH_INNWSTATUS>@>()=
+ _PATH_INNWSTATUS	/var/news/run/innwatch.status
+ ##  Format of news overview database
+ #### =()<_PATH_SCHEMA		@<_PATH_SCHEMA>@>()=
+ _PATH_SCHEMA		/var/news/etc/overview.fmt
+ 
+ 
+ ##
+ ##  12.  INNWATCH CONFIGURATION
+ ##  Load average (* 100) at which innd should be paused.
+ #### =()<INNWATCH_PAUSELOAD	@<INNWATCH_PAUSELOAD>@>()=
+ INNWATCH_PAUSELOAD	1500
+ ##  Load average (* 100) at which innd should be throttled.
+ #### =()<INNWATCH_HILOAD		@<INNWATCH_HILOAD>@>()=
+ INNWATCH_HILOAD		2000
+ ##  Load average (* 100) at which to restart innd (pause/throttle undone).
+ #### =()<INNWATCH_LOLOAD		@<INNWATCH_LOLOAD>@>()=
+ INNWATCH_LOLOAD		1000
+ ##  Space, in df output units, at which to throttle innd on _PATH_SPOOL 
+ ##  or _PATH_OVERVIEWDIR.
+ #### =()<INNWATCH_SPOOLSPACE	@<INNWATCH_SPOOLSPACE>@>()=
+ INNWATCH_SPOOLSPACE	8000
+ ##  Space, in df output units, at which to throttle innd on _PATH_BATCHDIR.
+ #### =()<INNWATCH_BATCHSPACE	@<INNWATCH_BATCHSPACE>@>()=
+ INNWATCH_BATCHSPACE	800
+ ##  Space, in df output units, at which to throttle innd on _PATH_NEWSLIB.
+ #### =()<INNWATCH_LIBSPACE	@<INNWATCH_LIBSPACE>@>()=
+ INNWATCH_LIBSPACE	25000
+ ##  Number of inodes at which to throttle innd on _PATH_SPOOL.
+ #### =()<INNWATCH_SPOOLNODES	@<INNWATCH_SPOOLNODES>@>()=
+ INNWATCH_SPOOLNODES	200
+ ##  How long to sleep between innwatch iterations.
+ #### =()<INNWATCH_SLEEPTIME	@<INNWATCH_SLEEPTIME>@>()=
+ INNWATCH_SLEEPTIME	600
+ ##  How inn (not just innwatch anymore) gets disk space usage 
+ ##  (SVR4 machine would probably use /usr/ucb/df)
+ #### =()<INNWATCH_DF		@<INNWATCH_DF>@>()=
+ INNWATCH_DF		/bin/df
+ ##  Field number of INNWATCH_DF (with -i) output that gives free
+ ##  inodes (starting at 1).
+ #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
+ INNWATCH_INODES		7
+ ##  Field number of INNWATCH_DF output that gives the free block count.
+ ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
+ INNWATCH_BLOCKS		4
+ 
+ 
+ 
+ ##
+ ##  13.  TCL Configuration
+ ##  Do you want TCL support?  Pick DO or DONT
+ #### =()<TCL_SUPPORT		@<TCL_SUPPORT>@>()=
+ TCL_SUPPORT		DONT
+ ##  Where your tcl header file live. Blank if no TCL
+ ### =()<TCL_INC		@<TCL_INC>@>()=
+ TCL_INC		
+ # TCL_INC		-I/usr/local/include
+ ##  How do you get the TCL library?  Probably -ltcl -lm, blank if no TCL
+ #### =()<TCL_LIB		@<TCL_LIB>@>()=
+ TCL_LIB		
+ # TCL_LIB		-ltcl -lm
+ ##  TCL Startup File. Should probably be prefixed with the same value as
+ ##  _PATH_CONTROLPROGS. 
+ #### =()<_PATH_TCL_STARTUP	@<_PATH_TCL_STARTUP>@>()=
+ _PATH_TCL_STARTUP	/usr/news/bin/control/startup.tcl
+ ##  TCL Filter File. Should probably be prefixed with the same value as
+ ##  _PATH_CONTROLPROGS.
+ #### =()<_PATH_TCL_FILTER	@<_PATH_TCL_FILTER>@>()=
+ _PATH_TCL_FILTER	/usr/news/bin/control/filter.tcl
+ 
+ 
+ ##
+ ##  14. PGP Configuration
+ ##
+ 
+ ## Do you want PGP verification of control messages? Pick DO or DONT
+ ## If you change this then you need to fiddle with control.ctl.
+ ## Setting it DONT is a really bad idea with all the miscreants out there...
+ #### =()<WANT_PGPVERIFY		@<WANT_PGPVERIFY>@>()=
+ WANT_PGPVERIFY		DO
+ ##  PGP binary.
+ #### =()<_PATH_PGP		@<_PATH_PGP>@>()=
+ _PATH_PGP		/usr/local/bin/pgp
+ 
+ ##
+ ##  15. Local Configuration
+ ##
+ 
+ ##  Home of the NEWSUSER
+ #### =()<_PATH_NEWSHOME		@<_PATH_NEWSHOME>@>()=
+ _PATH_NEWSHOME		/usr/news
+ 
+ 
+ ##
+ ## 16. Actsync Configuration.
+ ##
+ 
+ ##  Host to synchoronize active file with (see actsync and actsyncd manpages).
+ #### =()<ACTSYNC_HOST		@<ACTSYNC_HOST>@>()=
+ ACTSYNC_HOST		news.foo.bar.com
+ ##  Flags actsyncd is to pass to actsync.
+ #### =()<ACTSYNC_FLAGS		@<ACTSYNC_FLAGS>@>()=
+ ACTSYNC_FLAGS		-v 2 -q 2 -b 0 -d 0 -g 7 -s 79 -t 2
+ ## Actsyncd config file.
+ #### =()<_PATH_ACTSYNC_CFG	@<_PATH_ACTSYNC_CFG>@>()=
+ _PATH_ACTSYNC_CFG	/var/news/etc/actsync.cfg
+ ## Actsyncd ignore file.
+ #### =()<_PATH_ACTSYNC_IGN	@<_PATH_ACTSYNC_IGN>@>()=
+ _PATH_ACTSYNC_IGN	/var/news/etc/actsync.ign
+ 
+ 
+ 
+ ##  17.  Perl Configuration
+ ##  Do you want Perl support?  Pick DO or DONT
+ #### =()<PERL_SUPPORT		@<PERL_SUPPORT>@>()=
+ PERL_SUPPORT		DONT
+ ##  How do you get the PERL libraries?  Probably -lperl -lm, blank if no PERL
+ #### =()<PERL_LIB	@<PERL_LIB>@>()=
+ PERL_LIB	
+ #PERL_LIB	-L/usr/local/gnu/lib/perl5/i386-bsdos/5.003/CORE -lperl -lm
+ ##  Core directory (includes, libs). See perlembed(1)
+ #### =()<PERL_INC	@<PERL_INC>@>()=
+ PERL_INC	
+ #PERL_INC		-I/usr/local/gnu/lib/perl5/i386-bsdos/5.003/CORE
+ ##  Perl Filter Files. Should probably be prefixed with the same value as
+ ##  _PATH_CONTROLPROGS.
+ #### =()<_PATH_PERL_STARTUP_INND		@<_PATH_PERL_STARTUP_INND>@>()=
+ _PATH_PERL_STARTUP_INND		/usr/news/bin/control/startup_innd.pl
+ #### =()<_PATH_PERL_FILTER_INND		@<_PATH_PERL_FILTER_INND>@>()=
+ _PATH_PERL_FILTER_INND		/usr/news/bin/control/filter_innd.pl
+ #### =()<_PATH_PERL_FILTER_NNRPD		@<_PATH_PERL_FILTER_NNRPD>@>()=
+ _PATH_PERL_FILTER_NNRPD		/usr/news/bin/control/filter_nnrpd.pl
diff -Nacr inn-1.7/sample-configs/config.data-irix-5.2 inn-1.7.1/sample-configs/config.data-irix-5.2
*** inn-1.7/sample-configs/config.data-irix-5.2	Tue Oct  7 15:18:16 1997
--- inn-1.7.1/sample-configs/config.data-irix-5.2	Fri Dec  5 22:42:12 1997
***************
*** 13,28 ****
  DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			cc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
! DBZCFLAGS			$(CFLAGS) -DMMAP
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
  PROF			-pg
--- 13,28 ----
  DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DUNNO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
! DBZCFLAGS			$(CFLAGS)
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
  PROF			-pg
***************
*** 36,48 ****
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lelf
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		$(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
--- 36,48 ----
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -h -z $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
***************
*** 51,57 ****
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		| sed -n -f ../sedf.sysv
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
--- 51,57 ----
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		| sed -n -f ../sedf.sun
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
***************
*** 67,73 ****
  MAN8			/usr/news/man/man8
  ##  Ranlib command.  Use echo if you don't need ranlib.
  #### =()<RANLIB			@<RANLIB>@>()=
! RANLIB			echo
  ##  YACC (yet another config control?)
  #### =()<YACC			@<YACC>@>()=
  YACC			yacc
--- 67,73 ----
  MAN8			/usr/news/man/man8
  ##  Ranlib command.  Use echo if you don't need ranlib.
  #### =()<RANLIB			@<RANLIB>@>()=
! RANLIB			ranlib
  ##  YACC (yet another config control?)
  #### =()<YACC			@<YACC>@>()=
  YACC			yacc
***************
*** 146,152 ****
  MEM_HEADER		<memory.h>
  ##  What is a file offset?  MUST BE LONG FOR NOW.
  #### =()<OFFSET_T		@<OFFSET_T>@>()=
! OFFSET_T		off_t
  ##  What is the type of an object size? Usually size_t or unsigned int.
  #### =()<SIZE_T			@<SIZE_T>@>()=
  SIZE_T			size_t
--- 146,152 ----
  MEM_HEADER		<memory.h>
  ##  What is a file offset?  MUST BE LONG FOR NOW.
  #### =()<OFFSET_T		@<OFFSET_T>@>()=
! OFFSET_T		long
  ##  What is the type of an object size? Usually size_t or unsigned int.
  #### =()<SIZE_T			@<SIZE_T>@>()=
  SIZE_T			size_t
***************
*** 175,184 ****
  FUNCTYPE		void
  ##  Type of 32 bit unsigned integer.
  #### =()<U_INT32_T			@<U_INT32_T>@>()=
! U_INT32_T			__uint32_t
  ##  Type of 32 bit signed integer.
  #### =()<INT32_T			@<INT32_T>@>()=
! INT32_T			__int32_t
  ##  Use BSD4.2 or Posix directory names?  Pick DIRENT or DIRECT.
  #### =()<DIR_STYLE		@<DIR_STYLE>@>()=
  DIR_STYLE		DIRENT
--- 175,184 ----
  FUNCTYPE		void
  ##  Type of 32 bit unsigned integer.
  #### =()<U_INT32_T			@<U_INT32_T>@>()=
! U_INT32_T			unsigned int
  ##  Type of 32 bit signed integer.
  #### =()<INT32_T			@<INT32_T>@>()=
! INT32_T			int
  ##  Use BSD4.2 or Posix directory names?  Pick DIRENT or DIRECT.
  #### =()<DIR_STYLE		@<DIR_STYLE>@>()=
  DIR_STYLE		DIRENT
***************
*** 198,204 ****
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
! HAVE_SETPROCTITLE	DONT
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
--- 198,204 ----
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
! HAVE_SETPROCTITLE	DO
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
***************
*** 207,213 ****
  HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DONT
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
  HAVE_ST_BLKSIZE		DO
--- 207,213 ----
  HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DO
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
  HAVE_ST_BLKSIZE		DO
***************
*** 219,225 ****
  USE_UNION_WAIT		DONT
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
! FORK			fork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
  HAVE_VFORK		DONT
--- 219,225 ----
  USE_UNION_WAIT		DONT
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
! FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
  HAVE_VFORK		DONT
***************
*** 234,240 ****
  BIND_USE_SIZEOF		DO
  ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
! CLX_STYLE		FCNTL
  ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
  #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
  NBIO_STYLE		FCNTL
--- 234,240 ----
  BIND_USE_SIZEOF		DO
  ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
! CLX_STYLE		IOCTL
  ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
  #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
  NBIO_STYLE		FCNTL
***************
*** 318,324 ****
  ##  What type of pointer does mmap() manage? Normally ``caddr_t'' or ``void *''
  ##  or ``char *''
  #### =()<MMAP_PTR		@<MMAP_PTR>@>()=
! MMAP_PTR		void *
  ##  Should we msync when using mmap? Pick DO or DONT. Useful
  ##  with some slightly broken mmap implementations. (like HPUX and BSD/OS).
  #### =()<MMAP_SYNC		@<MMAP_SYNC>@>()=
--- 318,324 ----
  ##  What type of pointer does mmap() manage? Normally ``caddr_t'' or ``void *''
  ##  or ``char *''
  #### =()<MMAP_PTR		@<MMAP_PTR>@>()=
! MMAP_PTR		caddr_t
  ##  Should we msync when using mmap? Pick DO or DONT. Useful
  ##  with some slightly broken mmap implementations. (like HPUX and BSD/OS).
  #### =()<MMAP_SYNC		@<MMAP_SYNC>@>()=
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,547 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/lib/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bsd/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
  _PATH_COMPRESSEXT	.Z
--- 535,547 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bin/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
  _PATH_COMPRESSEXT	.Z
***************
*** 550,556 ****
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
  _PATH_AWK		/usr/bin/awk
--- 550,556 ----
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
  _PATH_AWK		/usr/bin/awk
***************
*** 584,601 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
  ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
  #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
! _PATH_GZIP		/usr/sbin/gzip
  
  ##
  ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
--- 584,602 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
  ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
  #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
! _PATH_GZIP		/usr/contrib/bin/gzip
  
  ##
  ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
diff -Nacr inn-1.7/sample-configs/config.data-irix-5.3 inn-1.7.1/sample-configs/config.data-irix-5.3
*** inn-1.7/sample-configs/config.data-irix-5.3	Thu Jan  1 00:00:00 1970
--- inn-1.7.1/sample-configs/config.data-irix-5.3	Fri Dec  5 22:42:12 1997
***************
*** 0 ****
--- 1,906 ----
+ ## Sample config.data for IRIX 5.2
+ 
+ ##
+ ##  1.  MAKE CONFIG PARAMETERS
+ ##  Where the DBZ sources are, from C News.  INN has a (maybe old) copy.
+ #### =()<DBZDIR			@<DBZDIR>@>()=
+ DBZDIR			../dbz
+ ##  If you have a parallel make, set this to "&"
+ #### =()<P			@<P>@>()=
+ P			
+ ##  C pre-processor flags
+ #### =()<DEFS			@<DEFS>@>()=
+ DEFS			-I../include
+ ##  C compiler
+ #### =()<CC			@<CC>@>()=
+ CC			cc
+ ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
+ #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
+ USE_CHAR_CONST		DO
+ ##  C compiler flags
+ #### =()<CFLAGS			@<CFLAGS>@>()=
+ CFLAGS			$(DEFS) -g
+ ##  C compiler flags to use when compiling dbz
+ #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
+ DBZCFLAGS			$(CFLAGS)
+ ##  What flags to use if profiling; -p or -pg, e.g.
+ #### =()<PROF			@<PROF>@>()=
+ PROF			-pg
+ ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
+ #### =()<LDFLAGS			@<LDFLAGS>@>()=
+ LDFLAGS			
+ ##  If you use the standard NNTP way of connecting, where is the library?
+ #### =()<NNTPLIB		@<NNTPLIB>@>()=
+ NNTPLIB		
+ ##  If you need to link in other libraries, add them here.
+ ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
+ ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
+ #### =()<LIBS			@<LIBS>@>()=
+ LIBS			-lmalloc -lmld
+ ##  How to make a lint library; pick BSD, SYSV, or NONE.
+ #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
+ LINTLIBSTYLE		NONE
+ ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
+ #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
+ LINTFLAGS		-b -h -z $(DEFS)
+ ##  Some lints insist on putting out the filename and other crap.
+ ##  Possible values:
+ ##	LINTFILTER              | sed -n -f ../sedf.aix
+ ##	LINTFILTER              | sed -n -f ../sedf.osx
+ ##	LINTFILTER              | sed -n -f ../sedf.sun
+ ##	LINTFILTER              | sed -n -f ../sedf.sysv
+ ##	LINTFILTER              
+ ####  =()<LINTFILTER		@<LINTFILTER>@>()=
+ LINTFILTER		| sed -n -f ../sedf.sun
+ ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
+ ##  BSD4.4 or NONE.
+ #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
+ MANPAGESTYLE		SOURCE
+ ##  Where various manpages should go
+ #### =()<MAN1			@<MAN1>@>()=
+ MAN1			/usr/news/man/man1
+ #### =()<MAN3			@<MAN3>@>()=
+ MAN3			/usr/news/man/man3
+ #### =()<MAN5			@<MAN5>@>()=
+ MAN5			/usr/news/man/man5
+ #### =()<MAN8			@<MAN8>@>()=
+ MAN8			/usr/news/man/man8
+ ##  Ranlib command.  Use echo if you don't need ranlib.
+ #### =()<RANLIB			@<RANLIB>@>()=
+ RANLIB			echo
+ ##  YACC (yet another config control?)
+ #### =()<YACC			@<YACC>@>()=
+ YACC			yacc
+ ##  Ctags command.  Use echo if you don't have ctags.
+ #### =()<CTAGS			@<CTAGS>@>()=
+ CTAGS			ctags -t -w
+ 
+ 
+ ##
+ ##  2.  LOGGING LEVELS
+ ##  Facility innd should log under.
+ #### =()<LOG_INN_SERVER		@<LOG_INN_SERVER>@>()=
+ LOG_INN_SERVER		LOG_NEWS
+ ##  Facility all other programs should log under.
+ #### =()<LOG_INN_PROG		@<LOG_INN_PROG>@>()=
+ LOG_INN_PROG		LOG_NEWS
+ ##  Flags to use in opening the logs; some programs add LOG_PID.
+ #### =()<L_OPENLOG_FLAGS		@<L_OPENLOG_FLAGS>@>()=
+ L_OPENLOG_FLAGS		(LOG_CONS | LOG_NDELAY)
+ ##  Log a fatal error; program is about to exit.
+ #### =()<L_FATAL			@<L_FATAL>@>()=
+ L_FATAL			LOG_CRIT
+ ##  Log an error that might mean one or more articles get lost.
+ #### =()<L_ERROR			@<L_ERROR>@>()=
+ L_ERROR			LOG_ERR
+ ##  Informational notice, usually not worth caring about.
+ #### =()<L_NOTICE		@<L_NOTICE>@>()=
+ L_NOTICE		LOG_WARNING
+ ##  A protocol trace.
+ #### =()<L_TRACE			@<L_TRACE>@>()=
+ L_TRACE			LOG_DEBUG
+ ##  All incoming control commands (ctlinnd, etc).
+ #### =()<L_CC_CMD		@<L_CC_CMD>@>()=
+ L_CC_CMD		LOG_INFO
+ 
+ 
+ ##
+ ##  3.  OWNERSHIPS AND FILE MODES
+ ##  Owner of articles and directories and _PATH_INNDDIR
+ #### =()<NEWSUSER			@<NEWSUSER>@>()=
+ NEWSUSER			news
+ ##  Group, for same purpose
+ #### =()<NEWSGROUP		@<NEWSGROUP>@>()=
+ NEWSGROUP		news
+ ##  Who gets email from news.daily and about control messages.
+ #### =()<NEWSMASTER		@<NEWSMASTER>@>()=
+ NEWSMASTER		usenet
+ ##  Who gets email on the Path line?
+ #### =()<PATHMASTER		@<PATHMASTER>@>()=
+ PATHMASTER		not-for-mail
+ ##  Umask to set.
+ #### =()<NEWSUMASK		@<NEWSUMASK>@>()=
+ NEWSUMASK		02
+ ##  Mode that incoming articles are created under.
+ #### =()<ARTFILE_MODE		@<ARTFILE_MODE>@>()=
+ ARTFILE_MODE		0664
+ ##  Mode that batch files are created under.
+ #### =()<BATCHFILE_MODE		@<BATCHFILE_MODE>@>()=
+ BATCHFILE_MODE		0664
+ ##  Mode that directories are created under.
+ #### =()<GROUPDIR_MODE		@<GROUPDIR_MODE>@>()=
+ GROUPDIR_MODE		0775
+ 
+ 
+ ##
+ ##  4.  C LIBRARY DIFFERENCES
+ ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
+ ##  You need vfprintf and vfsprintf if not NONE.
+ #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
+ VAR_STYLE		STDARGS
+ ##  If you don't have <string.h>, set this to "mystring.h"
+ #### =()<STR_HEADER		@<STR_HEADER>@>()=
+ STR_HEADER		<string.h>
+ ##  If you don't have <memory.h>, set this to "mymemory.h"
+ #### =()<MEM_HEADER		@<MEM_HEADER>@>()=
+ MEM_HEADER		<memory.h>
+ ##  What is a file offset?  MUST BE LONG FOR NOW.
+ #### =()<OFFSET_T		@<OFFSET_T>@>()=
+ OFFSET_T		long
+ ##  What is the type of an object size? Usually size_t or unsigned int.
+ #### =()<SIZE_T			@<SIZE_T>@>()=
+ SIZE_T			size_t
+ ##  What is the type of a passwd uid and gid, for use in chown(2)?
+ #### =()<UID_T			@<UID_T>@>()=
+ UID_T			uid_t
+ #### =()<GID_T			@<GID_T>@>()=
+ GID_T			gid_t
+ ##  Type of a pid, for use in kill(2).
+ #### =()<PID_T			@<PID_T>@>()=
+ PID_T			pid_t
+ ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
+ #### =()<POINTER			@<POINTER>@>()=
+ POINTER			void
+ ##  Worst-case alignment, in order to shut lint up
+ #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
+ ALIGNPTR		int
+ ##  What should a signal handler return?  Usually int or void.
+ #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
+ SIGHANDLER		void
+ ##  Type of variables can be modified in a signal handler? sig_atomic_t
+ #### =()<SIGVAR			@<SIGVAR>@>()=
+ SIGVAR			sig_atomic_t
+ ##  Function that returns no value, and a pointer to it.  Pick int or void
+ #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
+ FUNCTYPE		void
+ ##  Type of 32 bit unsigned integer.
+ #### =()<U_INT32_T			@<U_INT32_T>@>()=
+ U_INT32_T			unsigned int
+ ##  Type of 32 bit signed integer.
+ #### =()<INT32_T			@<INT32_T>@>()=
+ INT32_T			int
+ ##  Use BSD4.2 or Posix directory names?  Pick DIRENT or DIRECT.
+ #### =()<DIR_STYLE		@<DIR_STYLE>@>()=
+ DIR_STYLE		DIRENT
+ ##  Use flock, lockf, or nothing to lock files?
+ ##  Pick FLOCK, LOCKF, FCNTL, or NONE
+ #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
+ LOCK_STYLE		FCNTL
+ ##  Do you have <unistd.h>?  Pick DO or DONT
+ #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
+ HAVE_UNISTD		DO
+ ##  Do you have setbuffer?  Pick DO or DONT.
+ #### =()<HAVE_SETBUFFER		@<HAVE_SETBUFFER>@>()=
+ HAVE_SETBUFFER		DO
+ ##  Do you have gettimeofday?  Pick DO or DONT.
+ #### =()<HAVE_GETTIMEOFDAY	@<HAVE_GETTIMEOFDAY>@>()=
+ HAVE_GETTIMEOFDAY	DO
+ ##  Do you have setproctitle()?  Pick DO or DONT.
+ ##  You may need to adjust LIBS for this.
+ #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
+ HAVE_SETPROCTITLE	DONT
+ ##  Do you have fchmod?  Pick DO or DONT.
+ #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
+ HAVE_FCHMOD		DO
+ ##  Do you have setsid()?  Pick DO or DONT.
+ #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
+ HAVE_SETSID		DO
+ ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
+ #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
+ HAVE_TM_GMTOFF		DONT
+ ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
+ #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
+ HAVE_ST_BLKSIZE		DO
+ ##  Use waitpid instead of wait3?  Pick DO or DONT.
+ #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
+ HAVE_WAITPID		DO
+ ##  Use "union wait" instead of int?  Pick DO or DONT.
+ #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
+ USE_UNION_WAIT		DONT
+ ##  How to fork?  Pick fork or vfork.
+ #### =()<FORK			@<FORK>@>()=
+ FORK			fork
+ ##  Do you have <vfork.h>?  Pick DO or DONT.
+ #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
+ HAVE_VFORK		DONT
+ ##  Do you have symbolic links?  Pick DO or DONT.
+ #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
+ HAVE_SYMLINK		DO
+ ##  Do you have Unix-domain sockets?  Pick DO or DONT.
+ #### =()<HAVE_UNIX_DOMAIN	@<HAVE_UNIX_DOMAIN>@>()=
+ HAVE_UNIX_DOMAIN	DO
+ ##  Does your AF_UNIX bind use sizeof for the socket size?  Pick DO or DONT.
+ #### =()<BIND_USE_SIZEOF		@<BIND_USE_SIZEOF>@>()=
+ BIND_USE_SIZEOF		DO
+ ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
+ #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
+ CLX_STYLE		FCNTL
+ ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
+ #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
+ NBIO_STYLE		FCNTL
+ ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
+ #### =()<RES_STYLE		@<RES_STYLE>@>()=
+ RES_STYLE		RUSAGE
+ ##  How to get number of available descriptors?
+ ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
+ ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
+ FDCOUNT_STYLE		GETRLIMIT
+ ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
+ ##  If -1, then no [gs]etrlimit calls are done.
+ #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
+ NOFILE_LIMIT		-1
+ ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
+ #### =()<NEED_TIME		@<NEED_TIME>@>()=
+ NEED_TIME		DONT
+ ##  What predicate, if any, the <ctype.h> macros need
+ #### =()<CTYPE			@<CTYPE>@>()=
+ CTYPE			(isascii((c)) && isXXXXX((c)))
+ #CTYPE			((c) > 0 && isXXXXX((c)))
+ #CTYPE			isXXXXX((c))
+ ##  What's the return type of abort?  Usually int or void.
+ #### =()<ABORTVAL		@<ABORTVAL>@>()=
+ ABORTVAL		void
+ ##  What's the return type of alarm?  Usually int or unsigned int.
+ #### =()<ALARMVAL		@<ALARMVAL>@>()=
+ ALARMVAL		unsigned int
+ ##  What's the return type of getpid?  Usually int or unsigned int.
+ #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
+ GETPIDVAL		pid_t
+ ##  What's the return type of sleep?  Usually int or unsigned int.
+ #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
+ SLEEPVAL		unsigned int
+ ##  What's the return type of  qsort?  Usually int or void.
+ #### =()<QSORTVAL		@<QSORTVAL>@>()=
+ QSORTVAL		void
+ ##  What's the return type of lseek?  Usually long or off_t.
+ #### =()<LSEEKVAL		@<LSEEKVAL>@>()=
+ LSEEKVAL		off_t
+ ##  What's the return type of free?  Usually int or void.
+ #### =()<FREEVAL			@<FREEVAL>@>()=
+ FREEVAL			void
+ ##  What's the return type of exit?  Usually int or void.
+ ##  (For gcc (not pedantic ANSI) use "volatile void" in EXITVAL and _EXITVAL.)
+ #### =()<EXITVAL			@<EXITVAL>@>()=
+ EXITVAL			void
+ ##  What's the return type of _exit?  Usually int or void.
+ #### =()<_EXITVAL		@<_EXITVAL>@>()=
+ _EXITVAL		void
+ 
+ 
+ ##
+ ##  5.  C LIBRARY OMISSIONS
+ ##  Possible values:
+ ##	MISSING_MAN		strcasecmp.3 syslog.3
+ ##	MISSING_SRC		strcasecmp.c syslog.c strerror.c getdtab.c
+ ##	MISSING_OBJ		strcasecmp.o syslog.o strerror.o getdtab.c
+ ##  getdtab has a getdtablesize() routine if you need it; see the lib
+ ##  directory and Install.ms for others.
+ ##  OSx systems should add $(OSXATTOBJ) to MISSING_OBJ.
+ #### =()<MISSING_MAN		@<MISSING_MAN>@>()=
+ MISSING_MAN		
+ #### =()<MISSING_SRC		@<MISSING_SRC>@>()=
+ MISSING_SRC		
+ #### =()<MISSING_OBJ		@<MISSING_OBJ>@>()=
+ MISSING_OBJ		
+ 
+ 
+ ##
+ ##  6.  MISCELLANEOUS CONFIG DATA
+ ##
+ ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
+ #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
+ ACT_STYLE		MMAP
+ ##  Do you want mail notifications of bad control messages. DO or DONT
+ ##  Setting it to do results in a lot of mail with the number of spammers
+ ##  out there.
+ #### =()<MAIL_BADCONTROLS	@<MAIL_BADCONTROLS>@>()=
+ MAIL_BADCONTROLS	DONT
+ ##  What type of pointer does mmap() manage? Normally ``caddr_t'' or ``void *''
+ ##  or ``char *''
+ #### =()<MMAP_PTR		@<MMAP_PTR>@>()=
+ MMAP_PTR		void *
+ ##  Should we msync when using mmap? Pick DO or DONT. Useful
+ ##  with some slightly broken mmap implementations. (like HPUX and BSD/OS).
+ #### =()<MMAP_SYNC		@<MMAP_SYNC>@>()=
+ MMAP_SYNC		DONT
+ ##  Should we call your msync() with 3 args? (addr,len,flags)
+ ##  Choose DO or DONT.
+ #### =()<MSYNC_3_ARG		@<MSYNC_3_ARG>@>()=
+ MSYNC_3_ARG		DONT
+ ##  Do clients use our NNTP-server-open routine, or the one in NNTP?
+ ##  INND is nicer, but you must install inn.conf files everywhere; NNTP
+ ##  is better if you already have lots of /usr/lib/news/server files.
+ ##  Pick INND or NNTP.
+ #### =()<REM_STYLE		@<REM_STYLE>@>()=
+ REM_STYLE		INND
+ ##  Should rnews save articles that the server rejects?  Pick DO or DONT.
+ #### =()<RNEWS_SAVE_BAD		@<RNEWS_SAVE_BAD>@>()=
+ RNEWS_SAVE_BAD		DONT
+ ##  Should rnews log articles innd already has?  Pick SYSLOG, FILE, OR DONT.
+ #### =()<RNEWS_LOG_DUPS		@<RNEWS_LOG_DUPS>@>()=
+ RNEWS_LOG_DUPS		DONT
+ ##  Look in _PATH_RNEWSPROGS for rnews unpackers?  Pick DO or DONT.
+ #### =()<RNEWSPROGS		@<RNEWSPROGS>@>()=
+ RNEWSPROGS		DO
+ ##  Should rnews try the local host?  Pick DO or DONT.
+ #### =()<RNEWSLOCALCONNECT	@<RNEWSLOCALCONNECT>@>()=
+ RNEWSLOCALCONNECT	DO
+ ##  Environment variable that has remote hostname for rnews.
+ #### =()<_ENV_UUCPHOST		@<_ENV_UUCPHOST>@>()=
+ _ENV_UUCPHOST		UU_MACHINE
+ ##  Require posts to have under 50% inclusion (">") lines?  Pick DO OR DONT.
+ ##  (This is only for inews and nnrpd.)
+ #### =()<CHECK_INCLUDED_TEXT	@<CHECK_INCLUDED_TEXT>@>()=
+ CHECK_INCLUDED_TEXT	DO
+ ##  Put hosts in the inews Path header?  Pick DO or DONT.
+ #### =()<INEWS_PATH		@<INEWS_PATH>@>()=
+ INEWS_PATH		DO
+ ##  Munge the gecos field of password entry?  Pick DO or DONT.
+ #### =()<MUNGE_GECOS		@<MUNGE_GECOS>@>()=
+ MUNGE_GECOS		DO
+ ##  How many times to try to fork before giving up
+ #### =()<MAX_FORKS		@<MAX_FORKS>@>()=
+ MAX_FORKS		10
+ ##  Largest acceptable article size; 0 allows any size
+ #### =()<MAX_ART_SIZE		@<MAX_ART_SIZE>@>()=
+ MAX_ART_SIZE		1000000L
+ ##  Value of dbzincore(FLAG) call in innd.  Pick 1 or 0.
+ #### =()<INND_DBZINCORE		@<INND_DBZINCORE>@>()=
+ INND_DBZINCORE		1
+ ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
+ #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
+ INND_NICE_KIDS		DO
+ ##  Value for nice(2) call in innd.
+ #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
+ INND_NICE_VALUE		4
+ ##  Null-terminated list of unknown commands to not log to syslog.
+ ##	INND_QUIET_BADLIST	"xstream", "xfoo", NULL
+ #### =()<INND_QUIET_BADLIST	@<INND_QUIET_BADLIST>@>()=
+ INND_QUIET_BADLIST	NULL
+ ##  Null-terminated set of illegal distribution patterns for local postings.
+ #### =()<BAD_DISTRIBS		@<BAD_DISTRIBS>@>()=
+ BAD_DISTRIBS		"*.*",NULL
+ ##  Verify that the poster is the person doing the cancel?  Pick DO or DONT.
+ ##  (Can't do this if cancel arrives before the article does, by the way,
+ ##  in which case the early cancel will be ignored.)
+ #### =()<VERIFY_CANCELS		@<VERIFY_CANCELS>@>()=
+ VERIFY_CANCELS		DONT
+ ##  Log "ctlinnd cancel" commands to syslog?  Pick DO or DONT.
+ #### =()<LOG_CANCEL_COMMANDS	@<LOG_CANCEL_COMMANDS>@>()=
+ LOG_CANCEL_COMMANDS	DONT
+ ##  File unknown "to.*" groups into the "to" newsgroup?  Pick DO or DONT.
+ #### =()<MERGE_TO_GROUPS		@<MERGE_TO_GROUPS>@>()=
+ MERGE_TO_GROUPS		DONT
+ ##  File articles in unknown newsgroups into junk?  Pick DO or DONT.
+ #### =()<WANT_TRASH		@<WANT_TRASH>@>()=
+ WANT_TRASH		DONT
+ ##  Record rejected articles in history?  Pick DO or DONT.
+ #### =()<REMEMBER_TRASH		@<REMEMBER_TRASH>@>()=
+ REMEMBER_TRASH		DO
+ ##  Check the linecount against the Lines header?  Pick DO or DONT.
+ #### =()<CHECK_LINECOUNT		@<CHECK_LINECOUNT>@>()=
+ CHECK_LINECOUNT		DONT
+ ##  If checking, the error must be within LINECOUNT_FUZZ lines.
+ ##  Five is number of .signature lines + 1.
+ #### =()<LINECOUNT_FUZZ		@<LINECOUNT_FUZZ>@>()=
+ LINECOUNT_FUZZ		5
+ ##  Have innd throttle itself after this many I/O errors.
+ #### =()<IO_ERROR_COUNT		@<IO_ERROR_COUNT>@>()=
+ IO_ERROR_COUNT		50
+ ##  Default value for ctlinnd -t flag; use 0 to wait and poll.
+ #### =()<CTLINND_TIMEOUT		@<CTLINND_TIMEOUT>@>()=
+ CTLINND_TIMEOUT		0
+ ##  Flush logs if we go this long with no I/O.
+ #### =()<DEFAULT_TIMEOUT		@<DEFAULT_TIMEOUT>@>()=
+ DEFAULT_TIMEOUT		300
+ ##  INND closes channel if inactive this long (seconds).
+ #### =()<PEER_TIMEOUT		@<PEER_TIMEOUT>@>()=
+ PEER_TIMEOUT		(1 * 60 * 60)
+ ##  NNRP exits if first command doesn't arrive within this time (seconds).
+ #### =()<INIT_CLIENT_TIMEOUT	@<INIT_CLIENT_TIMEOUT>@>()=
+ INIT_CLIENT_TIMEOUT	30
+ ##  NNRP exits if inactive for this long (seconds).
+ #### =()<CLIENT_TIMEOUT		@<CLIENT_TIMEOUT>@>()=
+ CLIENT_TIMEOUT		(10 * 60)
+ ##  Allow nnrpd readers when paused or throttled?  Pick DO or DONT.
+ #### =()<ALLOW_READERS		@<ALLOW_READERS>@>()=
+ ALLOW_READERS		DO
+ ##  Refuse newsreader connections if load is higher then this; -1 disables.
+ #### =()<NNRP_LOADLIMIT		@<NNRP_LOADLIMIT>@>()=
+ NNRP_LOADLIMIT		16
+ ##  Don't readdir() spool dir if same group within this many secs.
+ #### =()<NNRP_RESCAN_DELAY	@<NNRP_RESCAN_DELAY>@>()=
+ NNRP_RESCAN_DELAY	60
+ ##  Do gethostbyaddr on client adresses in nnrp?   Pick DO or DONT.
+ ##  (If DONT, then use only IP addresses in hosts.nnrp)
+ #### =()<NNRP_GETHOSTBYADDR	@<NNRP_GETHOSTBYADDR>@>()=
+ NNRP_GETHOSTBYADDR	DO
+ ##  How many Message-ID retrievals until nnrpd does a dbzincore?  Set
+ ##  to -1 to never do incore.
+ #### =()<NNRP_DBZINCORE_DELAY	@<NNRP_DBZINCORE_DELAY>@>()=
+ NNRP_DBZINCORE_DELAY	40
+ ##  Strip Sender from posts that didn't authenticate?  Pick DO or DONT.
+ #### =()<NNRP_AUTH_SENDER	@<NNRP_AUTH_SENDER>@>()=
+ NNRP_AUTH_SENDER	DO
+ ##  Do you want to make life easy for peers to pull feeds from you (it's
+ ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
+ ##  sleep inserted before each ARTICLE command is processed. (With
+ ##  apologies to the Australians in the audience).
+ #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
+ LIKE_PULLERS		DO
+ ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
+ ##  (RFC 977 says you should; your server performance may not agree...)
+ #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
+ ALLOW_NEWNEWS		DONT
+ ##  How many read/write failures until channel is put to sleep or closed?
+ #### =()<BAD_IO_COUNT		@<BAD_IO_COUNT>@>()=
+ BAD_IO_COUNT		5
+ ##  Multiplier for sleep in EWOULDBLOCK writes (seconds).
+ #### =()<BLOCK_BACKOFF		@<BLOCK_BACKOFF>@>()=
+ BLOCK_BACKOFF		(2 * 60)
+ ##  How many article-writes between active and history updates?
+ #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
+ ICD_SYNC_COUNT		10
+ ##  Tell resolver _res.options to be fast?  Pick DO or DONT.
+ #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
+ FAST_RESOLV		DONT
+ ##  Drop articles that were posted this many days ago.
+ #### =()<DEFAULT_CUTOFF		@<DEFAULT_CUTOFF>@>()=
+ DEFAULT_CUTOFF		14
+ ##  Maximum number of incoming NNTP connections.
+ #### =()<DEFAULT_CONNECTIONS	@<DEFAULT_CONNECTIONS>@>()=
+ DEFAULT_CONNECTIONS	50
+ ##  Wait this many seconds before channel restarts.
+ #### =()<CHANNEL_RETRY_TIME	@<CHANNEL_RETRY_TIME>@>()=
+ CHANNEL_RETRY_TIME	(5 * 60)
+ ##  Wait this many seconds before seeing if pause is ended.
+ #### =()<PAUSE_RETRY_TIME	@<PAUSE_RETRY_TIME>@>()=
+ PAUSE_RETRY_TIME	(5 * 60)
+ ##  Wait this many seconds between noticing inactive channels.
+ #### =()<CHANNEL_INACTIVE_TIME	@<CHANNEL_INACTIVE_TIME>@>()=
+ CHANNEL_INACTIVE_TIME	(10 * 60)
+ ##  Put nntplink info (filename) into the log?
+ #### =()<NNTPLINK_LOG		@<NNTPLINK_LOG>@>()=
+ NNTPLINK_LOG		DONT
+ ##  Put article size into the log?
+ #### =()<LOG_SIZE		@<LOG_SIZE>@>()=
+ LOG_SIZE		DO
+ ##  Log by host IP address, rather than from Path line?
+ #### =()<IPADDR_LOG		@<IPADDR_LOG>@>()=
+ IPADDR_LOG		DO
+ ##  Log NNTP activity after this many articles.
+ #### =()<NNTP_ACTIVITY_SYNC	@<NNTP_ACTIVITY_SYNC>@>()=
+ NNTP_ACTIVITY_SYNC	200
+ ##  Free buffers bigger than this when we're done with them.
+ #### =()<BIG_BUFFER		@<BIG_BUFFER>@>()=
+ BIG_BUFFER		(2 * START_BUFF_SIZE)
+ ##  A general small buffer.
+ #### =()<SMBUF			@<SMBUF>@>()=
+ SMBUF			256
+ ##  Buffer for a single article name.
+ #### =()<MAXARTFNAME		@<MAXARTFNAME>@>()=
+ MAXARTFNAME		10
+ ##  Buffer for a single pathname in the spool directory.
+ #### =()<SPOOLNAMEBUFF		@<SPOOLNAMEBUFF>@>()=
+ SPOOLNAMEBUFF		512
+ ##  Maximum size of a single header.
+ #### =()<MAXHEADERSIZE		@<MAXHEADERSIZE>@>()=
+ MAXHEADERSIZE		1024
+ ##  Byte limit on locally-posted articles; 0 to disable the check.
+ #### =()<LOCAL_MAX_ARTSIZE	@<LOCAL_MAX_ARTSIZE>@>()=
+ LOCAL_MAX_ARTSIZE	1000000L
+ ##  Default number of bytes to hold in memory when buffered.
+ #### =()<SITE_BUFFER_SIZE	@<SITE_BUFFER_SIZE>@>()=
+ SITE_BUFFER_SIZE	(16 * 1024)
+ ##  Do you have uustat, or just uuq?  Pick DO or DONT
+ #### =()<HAVE_UUSTAT		@<HAVE_UUSTAT>@>()=
+ HAVE_UUSTAT		DO
+ ##  Should INN do some setsockopts on network connections. Pick DO or DONT.
+ ##  Some versions of Solaris should set to DONT (pre 2.4 it seems)
+ #### =()<SET_SOCKOPT		@<SET_SOCKOPT>@>()=
+ SET_SOCKOPT		DO
+ 
+ 
+ ##
+ ##  7.  PATHS TO COMMON PROGRAMS
+ ##  Where the raison d'etre for this distribution lives.
+ #### =()<_PATH_INND		@<_PATH_INND>@>()=
+ _PATH_INND		/usr/news/bin/innd
+ ##  Where the optional front-end that exec's innd lives.
+ #### =()<_PATH_INNDSTART		@<_PATH_INNDSTART>@>()=
+ _PATH_INNDSTART		/usr/news/bin/inndstart
+ ##  Where news boot-up script should be installed.
+ #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
+ _PATH_NEWSBOOT		/usr/news/bin/rc.news
+ ##  Where sendmail, or a look-alike, lives.
+ ##  The -t is optional and says to read message for recipients
+ #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
+ _PATH_SENDMAIL		/usr/lib/sendmail -oi %s
+ ##  Where the shell is.
+ #### =()<_PATH_SH		@<_PATH_SH>@>()=
+ _PATH_SH		/bin/sh
+ ##  Where the compress program lives.
+ #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
+ _PATH_COMPRESS		/usr/bsd/compress
+ ##  What extension your compress appends
+ #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
+ _PATH_COMPRESSEXT	.Z
+ ##  Where egrep lives (you might need the FSF one; see scanlogs)
+ #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
+ _PATH_EGREP		/usr/bin/egrep
+ ##  Where perl lives
+ #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
+ _PATH_PERL		/usr/bin/perl5
+ ##  Where awk lives
+ #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
+ _PATH_AWK		/usr/bin/awk
+ ##  Where sed lives (you might need the FSF one)
+ #### =()<_PATH_SED		@<_PATH_SED>@>()=
+ _PATH_SED		/usr/bin/sed
+ ##  Where sort lives (you may want the FSF one).
+ #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
+ _PATH_SORT		/usr/bin/sort
+ ##  Where inews lives.
+ #### =()<_PATH_INEWS		@<_PATH_INEWS>@>()=
+ _PATH_INEWS		/usr/news/bin/inews
+ ##  Where rnews lives.
+ #### =()<_PATH_RNEWS		@<_PATH_RNEWS>@>()=
+ _PATH_RNEWS		/usr/news/bin/rnews
+ ##  Where generic authentication programs live.
+ #### =()<_PATH_AUTHDIR		@<_PATH_AUTHDIR>@>()=
+ _PATH_AUTHDIR		/usr/news/bin/auth
+ ##  Where the NNRP server lives.
+ #### =()<_PATH_NNRPD		@<_PATH_NNRPD>@>()=
+ _PATH_NNRPD		/usr/news/bin/nnrpd
+ ##  The path of the process run when an unknown host connects to innd.
+ ##  Usually the same as _PATH_NNRPD, but may be, e.g., the path to
+ ##  nntpd from the reference implementation.
+ #### =()<_PATH_NNTPD		@<_PATH_NNTPD>@>()=
+ _PATH_NNTPD		/usr/news/bin/nnrpd
+ ##  Where the NNQR server lives.  Make same as _PATH_NNRPD for now
+ #### =()<_PATH_NNQRD		@<_PATH_NNRPD>@>()=
+ _PATH_NNQRD		/usr/news/bin/nnrpd
+ ##  Where most other programs live.
+ ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
+ #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
+ _PATH_NEWSBIN		/usr/news/bin
+ ##  Where temporary files live on the server. Probably shouldn't be world
+ ##  writable.
+ #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
+ _PATH_TMP		/var/tmp
+ ##  Command to send mail (with -s "subject" allowed)
+ #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
+ _PATH_MAILCMD		/usr/news/bin/innmail
+ ##  Where scripts should have shlock create locks.
+ #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
+ _PATH_LOCKS		/var/news/locks
+ ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
+ #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
+ _PATH_GZIP		/usr/contrib/bin/gzip
+ 
+ ##
+ ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
+ ##  Spool directory, where articles live.
+ #### =()<_PATH_SPOOL		@<_PATH_SPOOL>@>()=
+ _PATH_SPOOL		/var/news/spool/articles
+ ##  Spool directory where overview data lives.
+ #### =()<_PATH_OVERVIEWDIR	@<_PATH_OVERVIEWDIR>@>()=
+ _PATH_OVERVIEWDIR	/var/news/spool/over.view
+ ##  Name of overview file within its spool directory.
+ #### =()<_PATH_OVERVIEW		@<_PATH_OVERVIEW>@>()=
+ _PATH_OVERVIEW		.overview
+ ##  Where rnews spools its input.
+ #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
+ _PATH_SPOOLNEWS		/var/news/spool/in.coming
+ ##  Where rnews creates temporary files until finished
+ #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
+ _PATH_SPOOLTEMP		/var/news/spool/tmp
+ ##  Where rnews puts bad input.
+ #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
+ _PATH_BADNEWS		/var/news/spool/in.coming/bad
+ ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
+ #### =()<_PATH_RELBAD		@<_PATH_RELBAD>@>()=
+ _PATH_RELBAD		bad
+ ## Where the XBATCH command should put the batches. Normally same as
+ ## _PATH_SPOOLNEWS so that 'rnews -U' can find it.
+ #### =()<_PATH_XBATCHES		@<_PATH_XBATCHES>@>()=
+ _PATH_XBATCHES		/var/news/spool/in.coming
+ 
+ 
+ ##
+ ##  9.  EXECUTION PATHS FOR INND AND RNEWS
+ ##  Pathname where dups are logged if RNEWS_LOG_DUPS is FILE.
+ #### =()<_PATH_RNEWS_DUP_LOG	@<_PATH_RNEWS_DUP_LOG>@>()=
+ _PATH_RNEWS_DUP_LOG	/dev/null
+ ##  Rnews may execute any program in this directory; see RNEWSPROGS.
+ #### =()<_PATH_RNEWSPROGS	@<_PATH_RNEWSPROGS>@>()=
+ _PATH_RNEWSPROGS	/usr/news/bin/rnews.libexec
+ ##  Path to control messages scripts.
+ #### =()<_PATH_CONTROLPROGS	@<_PATH_CONTROLPROGS>@>()=
+ _PATH_CONTROLPROGS	/usr/news/bin/control
+ ##  Default "unknown/illegal" control script, within _PATH_CONTROLPROGS.
+ #### =()<_PATH_BADCONTROLPROG	@<_PATH_BADCONTROLPROG>@>()=
+ _PATH_BADCONTROLPROG	default
+ 
+ 
+ ##
+ ##  10.  SOCKETS CREATED BY INND OR CLIENTS
+ #### =()<_PATH_INNDDIR		@<_PATH_INNDDIR>@>()=
+ _PATH_INNDDIR		/var/news/run
+ ##  Unix-domain stream socket that rnews connects to.
+ #### =()<_PATH_NNTPCONNECT	@<_PATH_NNTPCONNECT>@>()=
+ _PATH_NNTPCONNECT	/var/news/run/nntpin
+ ##  Unix-domain datagram socket that ctlinnd to.
+ #### =()<_PATH_NEWSCONTROL	@<_PATH_NEWSCONTROL>@>()=
+ _PATH_NEWSCONTROL	/var/news/run/control
+ ##  Temporary socket created by ctlinnd; run through mktemp
+ #### =()<_PATH_TEMPSOCK		@<_PATH_TEMPSOCK>@>()=
+ _PATH_TEMPSOCK		/var/news/run/ctlinndXXXXXX
+ 
+ 
+ ##
+ ##  11.  LOG AND CONFIG FILES
+ ##  Shell script that sets most of these as shell vars
+ #### =()<_PATH_SHELLVARS		@<_PATH_SHELLVARS>@>()=
+ _PATH_SHELLVARS		/var/news/etc/innshellvars
+ ##  Perl script that sets most of these as perl variables
+ #### =()<_PATH_PERL_SHELLVARS	@<_PATH_PERL_SHELLVARS>@>()=
+ _PATH_PERL_SHELLVARS	/var/news/etc/innshellvars.pl
+ ##  TCL script that sets most of these as tcl variables
+ #### =()<_PATH_TCL_SHELLVARS	@<_PATH_TCL_SHELLVARS>@>()=
+ _PATH_TCL_SHELLVARS	/var/news/etc/innshellvars.tcl
+ ##  csh script that sets most of these as csh variables
+ #### =()<_PATH_CSH_SHELLVARS	@<_PATH_CSH_SHELLVARS>@>()=
+ _PATH_CSH_SHELLVARS	/var/news/etc/innshellvars.csh
+ ##  Where most config and data files are usually stored; not required
+ ##  to the home directory of NEWSUSER.
+ #### =()<_PATH_NEWSLIB		@<_PATH_NEWSLIB>@>()=
+ _PATH_NEWSLIB		/var/news/etc
+ ## The group owner of the rnews program. Usually uucp.
+ #### =()<RNEWS_GROUP		@<RNEWS_GROUP>@>()=
+ RNEWS_GROUP		uucp
+ ##  The server's log file.
+ #### =()<_PATH_LOGFILE		@<_PATH_LOGFILE>@>()=
+ _PATH_LOGFILE		/var/log/news/news
+ ##  The server's error log file.
+ #### =()<_PATH_ERRLOG		@<_PATH_ERRLOG>@>()=
+ _PATH_ERRLOG		/var/log/news/errlog
+ ##  Where most sylog log files go; see also scanlogs, innstat, etc.
+ #### =()<_PATH_MOST_LOGS		@<_PATH_MOST_LOGS>@>()=
+ _PATH_MOST_LOGS		/var/log/news
+ ##  How many generates of log files to keep.
+ #### =()<LOG_CYCLES		@<LOG_CYCLES>@>()=
+ LOG_CYCLES		3
+ ##  Text value of the server's pid.
+ #### =()<_PATH_SERVERPID		@<_PATH_SERVERPID>@>()=
+ _PATH_SERVERPID		/var/news/run/innd.pid
+ ##  The newsfeeds file, on the server host.
+ #### =()<_PATH_NEWSFEEDS		@<_PATH_NEWSFEEDS>@>()=
+ _PATH_NEWSFEEDS		/var/news/etc/newsfeeds
+ ##  The article history database, on the server host.
+ #### =()<_PATH_HISTORY		@<_PATH_HISTORY>@>()=
+ _PATH_HISTORY		/var/news/etc/history
+ ##  File listing the sites that feed us news.
+ #### =()<_PATH_INNDHOSTS		@<_PATH_INNDHOSTS>@>()=
+ _PATH_INNDHOSTS		/var/news/etc/hosts.nntp
+ ##  The active file, on the server host.
+ #### =()<_PATH_ACTIVE		@<_PATH_ACTIVE>@>()=
+ _PATH_ACTIVE		/var/news/etc/active
+ ##  A temporary active file, for writing on the server host.
+ #### =()<_PATH_NEWACTIVE		@<_PATH_NEWACTIVE>@>()=
+ _PATH_NEWACTIVE		/var/news/etc/active.tmp
+ ##  An old active file on the server host.
+ #### =()<_PATH_OLDACTIVE		@<_PATH_OLDACTIVE>@>()=
+ _PATH_OLDACTIVE		/var/news/etc/active.old
+ ##  The log of when groups are created.
+ #### =()<_PATH_ACTIVETIMES	@<_PATH_ACTIVETIMES>@>()=
+ _PATH_ACTIVETIMES	/var/news/etc/active.times
+ ##  Where batch files are located.
+ #### =()<_PATH_BATCHDIR		@<_PATH_BATCHDIR>@>()=
+ _PATH_BATCHDIR		/var/news/spool/out.going
+ ##  Where archives are kept.
+ #### =()<_PATH_ARCHIVEDIR	@<_PATH_ARCHIVEDIR>@>()=
+ _PATH_ARCHIVEDIR	/var/news/spool/archive
+ ##  Where NNRP distributions file is
+ #### =()<_PATH_NNRPDIST		@<_PATH_NNRPDIST>@>()=
+ _PATH_NNRPDIST		/var/news/etc/distributions
+ ##  Where the NNRP automatic subscriptions file is
+ #### =()<_PATH_NNRPSUBS		@<_PATH_NNRPSUBS>@>()=
+ _PATH_NNRPSUBS		/var/news/etc/subscriptions
+ ##  Where the default Distribution assignments file is
+ #### =()<_PATH_DISTPATS		@<_PATH_DISTPATS>@>()=
+ _PATH_DISTPATS		/var/news/etc/distrib.pats
+ #### =()<_PATH_NEWSGROUPS	@<_PATH_NEWSGROUPS>@>()=
+ _PATH_NEWSGROUPS	/var/news/etc/newsgroups
+ ##  File where client configuration parameters can be read.
+ #### =()<_PATH_CONFIG		@<_PATH_CONFIG>@>()=
+ _PATH_CONFIG		/var/news/etc/inn.conf
+ ##  The possible active file, on clients (NFS-mounted, e.g.).
+ #### =()<_PATH_CLIENTACTIVE	@<_PATH_CLIENTACTIVE>@>()=
+ _PATH_CLIENTACTIVE	/var/news/etc/active
+ ##  A temporary file, for client inews to use.
+ #### =()<_PATH_TEMPACTIVE	@<_PATH_TEMPACTIVE>@>()=
+ _PATH_TEMPACTIVE	/var/tmp/activeXXXXXX
+ ##  Where to mail to the moderators.
+ #### =()<_PATH_MODERATORS	@<_PATH_MODERATORS>@>()=
+ _PATH_MODERATORS	/var/news/etc/moderators
+ ##  A temporary file, for client inews to use.
+ #### =()<_PATH_TEMPMODERATORS	@<_PATH_TEMPMODERATORS>@>()=
+ _PATH_TEMPMODERATORS	/var/tmp/moderatorsXXXXXX
+ ##  Where NNTP puts the name of the server.
+ #### =()<_PATH_SERVER		@<_PATH_SERVER>@>()=
+ _PATH_SERVER		/var/news/etc/server
+ ##  File with name/password for all remote connections.
+ #### =()<_PATH_NNTPPASS		@<_PATH_NNTPPASS>@>()=
+ _PATH_NNTPPASS		/var/news/etc/passwd.nntp
+ ##  NNRP access file.
+ #### =()<_PATH_NNRPACCESS	@<_PATH_NNRPACCESS>@>()=
+ _PATH_NNRPACCESS	/var/news/etc/nnrp.access
+ ##  Default expire control file.
+ #### =()<_PATH_EXPIRECTL		@<_PATH_EXPIRECTL>@>()=
+ _PATH_EXPIRECTL		/var/news/etc/expire.ctl
+ ##  Prolog to parse control scripts
+ #### =()<_PATH_PARSECTL		@<_PATH_PARSECTL>@>()=
+ _PATH_PARSECTL		/var/news/etc/parsecontrol
+ ##  Access control file for control scripts.
+ #### =()<_PATH_CONTROLCTL	@<_PATH_CONTROLCTL>@>()=
+ _PATH_CONTROLCTL	/var/news/etc/control.ctl
+ ##  Innwatch control file.
+ #### =()<_PATH_CTLWATCH		@<_PATH_CTLWATCH>@>()=
+ _PATH_CTLWATCH		/var/news/etc/innwatch.ctl
+ ##  Where innwatch writes its own pid.
+ #### =()<_PATH_WATCHPID		@<_PATH_WATCHPID>@>()=
+ _PATH_WATCHPID		/var/news/run/innwatch.pid
+ ##  Where innwatch writes status when it gets an interrupt
+ #### =()<_PATH_INNWSTATUS	@<_PATH_INNWSTATUS>@>()=
+ _PATH_INNWSTATUS	/var/news/run/innwatch.status
+ ##  Format of news overview database
+ #### =()<_PATH_SCHEMA		@<_PATH_SCHEMA>@>()=
+ _PATH_SCHEMA		/var/news/etc/overview.fmt
+ 
+ 
+ ##
+ ##  12.  INNWATCH CONFIGURATION
+ ##  Load average (* 100) at which innd should be paused.
+ #### =()<INNWATCH_PAUSELOAD	@<INNWATCH_PAUSELOAD>@>()=
+ INNWATCH_PAUSELOAD	1500
+ ##  Load average (* 100) at which innd should be throttled.
+ #### =()<INNWATCH_HILOAD		@<INNWATCH_HILOAD>@>()=
+ INNWATCH_HILOAD		2000
+ ##  Load average (* 100) at which to restart innd (pause/throttle undone).
+ #### =()<INNWATCH_LOLOAD		@<INNWATCH_LOLOAD>@>()=
+ INNWATCH_LOLOAD		1000
+ ##  Space, in df output units, at which to throttle innd on _PATH_SPOOL 
+ ##  or _PATH_OVERVIEWDIR.
+ #### =()<INNWATCH_SPOOLSPACE	@<INNWATCH_SPOOLSPACE>@>()=
+ INNWATCH_SPOOLSPACE	8000
+ ##  Space, in df output units, at which to throttle innd on _PATH_BATCHDIR.
+ #### =()<INNWATCH_BATCHSPACE	@<INNWATCH_BATCHSPACE>@>()=
+ INNWATCH_BATCHSPACE	800
+ ##  Space, in df output units, at which to throttle innd on _PATH_NEWSLIB.
+ #### =()<INNWATCH_LIBSPACE	@<INNWATCH_LIBSPACE>@>()=
+ INNWATCH_LIBSPACE	25000
+ ##  Number of inodes at which to throttle innd on _PATH_SPOOL.
+ #### =()<INNWATCH_SPOOLNODES	@<INNWATCH_SPOOLNODES>@>()=
+ INNWATCH_SPOOLNODES	200
+ ##  How long to sleep between innwatch iterations.
+ #### =()<INNWATCH_SLEEPTIME	@<INNWATCH_SLEEPTIME>@>()=
+ INNWATCH_SLEEPTIME	600
+ ##  How inn (not just innwatch anymore) gets disk space usage 
+ ##  (SVR4 machine would probably use /usr/ucb/df)
+ #### =()<INNWATCH_DF		@<INNWATCH_DF>@>()=
+ INNWATCH_DF		/bin/df
+ ##  Field number of INNWATCH_DF (with -i) output that gives free
+ ##  inodes (starting at 1).
+ #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
+ INNWATCH_INODES		7
+ ##  Field number of INNWATCH_DF output that gives the free block count.
+ ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
+ INNWATCH_BLOCKS		4
+ 
+ 
+ 
+ ##
+ ##  13.  TCL Configuration
+ ##  Do you want TCL support?  Pick DO or DONT
+ #### =()<TCL_SUPPORT		@<TCL_SUPPORT>@>()=
+ TCL_SUPPORT		DONT
+ ##  Where your tcl header file live. Blank if no TCL
+ ### =()<TCL_INC		@<TCL_INC>@>()=
+ TCL_INC		
+ # TCL_INC		-I/usr/local/include
+ ##  How do you get the TCL library?  Probably -ltcl -lm, blank if no TCL
+ #### =()<TCL_LIB		@<TCL_LIB>@>()=
+ TCL_LIB		
+ # TCL_LIB		-ltcl -lm
+ ##  TCL Startup File. Should probably be prefixed with the same value as
+ ##  _PATH_CONTROLPROGS. 
+ #### =()<_PATH_TCL_STARTUP	@<_PATH_TCL_STARTUP>@>()=
+ _PATH_TCL_STARTUP	/usr/news/bin/control/startup.tcl
+ ##  TCL Filter File. Should probably be prefixed with the same value as
+ ##  _PATH_CONTROLPROGS.
+ #### =()<_PATH_TCL_FILTER	@<_PATH_TCL_FILTER>@>()=
+ _PATH_TCL_FILTER	/usr/news/bin/control/filter.tcl
+ 
+ 
+ ##
+ ##  14. PGP Configuration
+ ##
+ 
+ ## Do you want PGP verification of control messages? Pick DO or DONT
+ ## If you change this then you need to fiddle with control.ctl.
+ ## Setting it DONT is a really bad idea with all the miscreants out there...
+ #### =()<WANT_PGPVERIFY		@<WANT_PGPVERIFY>@>()=
+ WANT_PGPVERIFY		DO
+ ##  PGP binary.
+ #### =()<_PATH_PGP		@<_PATH_PGP>@>()=
+ _PATH_PGP		/usr/local/bin/pgp
+ 
+ ##
+ ##  15. Local Configuration
+ ##
+ 
+ ##  Home of the NEWSUSER
+ #### =()<_PATH_NEWSHOME		@<_PATH_NEWSHOME>@>()=
+ _PATH_NEWSHOME		/usr/news
+ 
+ 
+ ##
+ ## 16. Actsync Configuration.
+ ##
+ 
+ ##  Host to synchoronize active file with (see actsync and actsyncd manpages).
+ #### =()<ACTSYNC_HOST		@<ACTSYNC_HOST>@>()=
+ ACTSYNC_HOST		news.foo.bar.com
+ ##  Flags actsyncd is to pass to actsync.
+ #### =()<ACTSYNC_FLAGS		@<ACTSYNC_FLAGS>@>()=
+ ACTSYNC_FLAGS		-v 2 -q 2 -b 0 -d 0 -g 7 -s 79 -t 2
+ ## Actsyncd config file.
+ #### =()<_PATH_ACTSYNC_CFG	@<_PATH_ACTSYNC_CFG>@>()=
+ _PATH_ACTSYNC_CFG	/var/news/etc/actsync.cfg
+ ## Actsyncd ignore file.
+ #### =()<_PATH_ACTSYNC_IGN	@<_PATH_ACTSYNC_IGN>@>()=
+ _PATH_ACTSYNC_IGN	/var/news/etc/actsync.ign
+ 
+ 
+ 
+ ##  17.  Perl Configuration
+ ##  Do you want Perl support?  Pick DO or DONT
+ #### =()<PERL_SUPPORT		@<PERL_SUPPORT>@>()=
+ PERL_SUPPORT		DONT
+ ##  How do you get the PERL libraries?  Probably -lperl -lm, blank if no PERL
+ #### =()<PERL_LIB	@<PERL_LIB>@>()=
+ PERL_LIB	
+ #PERL_LIB	-L/usr/local/gnu/lib/perl5/i386-bsdos/5.003/CORE -lperl -lm
+ ##  Core directory (includes, libs). See perlembed(1)
+ #### =()<PERL_INC	@<PERL_INC>@>()=
+ PERL_INC	
+ #PERL_INC		-I/usr/local/gnu/lib/perl5/i386-bsdos/5.003/CORE
+ ##  Perl Filter Files. Should probably be prefixed with the same value as
+ ##  _PATH_CONTROLPROGS.
+ #### =()<_PATH_PERL_STARTUP_INND		@<_PATH_PERL_STARTUP_INND>@>()=
+ _PATH_PERL_STARTUP_INND		/usr/news/bin/control/startup_innd.pl
+ #### =()<_PATH_PERL_FILTER_INND		@<_PATH_PERL_FILTER_INND>@>()=
+ _PATH_PERL_FILTER_INND		/usr/news/bin/control/filter_innd.pl
+ #### =()<_PATH_PERL_FILTER_NNRPD		@<_PATH_PERL_FILTER_NNRPD>@>()=
+ _PATH_PERL_FILTER_NNRPD		/usr/news/bin/control/filter_nnrpd.pl
diff -Nacr inn-1.7/sample-configs/config.data-irix-6.2 inn-1.7.1/sample-configs/config.data-irix-6.2
*** inn-1.7/sample-configs/config.data-irix-6.2	Wed Oct  8 19:52:03 1997
--- inn-1.7.1/sample-configs/config.data-irix-6.2	Fri Dec  5 22:42:12 1997
***************
*** 8,14 ****
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags.
  #### =()<DEFS			@<DEFS>@>()=
  DEFS			-I../include
  ##  C compiler
--- 8,14 ----
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
  DEFS			-I../include
  ##  C compiler
***************
*** 17,23 ****
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
! ##  C compiler flags add a -DUSE_DMALLOC if using the dmalloc package.
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
--- 17,23 ----
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
! ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
***************
*** 32,60 ****
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you DONT have snprintf in your clibrary then set LIBSNPRINTF 
! ##  to  ``../libsnprintf.a''. i.e.
! ##
! ##             LIBSNPRINTF		../libsnprintf.a
! ##
! ##  Also see HAVE_SNPRINTF down below.
! #### =()<LIBSNPRINTF		@<LIBSNPRINTF>@>()=
! LIBSNPRINTF		../libsnprintf.a
! ##
! ## What compiler flags do you need to build the snprintf library. 
! ##
! ## On Solaris 2.5 and 2.5.1 (and maybe higher) with the Sun C compiler.
! ## you want
! ##		-Xc -Dsun -D__svr4__ -DBad_float_h
! ## with gcc
! ##		-Dsnprintf=__snprintf -Dvsnprintf=__vsnprintf
! ## is reported to work (with HAVE_SNPRINTF set to DO and LIBSNPRINT to nothing)
! ##
! #### =()<SNPRINTF_CFLAGS	@<SNPRINTF_CFLAGS>@>()=
! SNPRINTF_CFLAGS	
! ##  If you need to link in other libraries add them here.  On NetBSD and
! ##  FreeBSD, you must add the -lcrypt directive here -lutil on BSD/OS gives
! ##  you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
  LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
--- 32,40 ----
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you need to link in other libraries, add them here.
! ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
! ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
  LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
***************
*** 219,226 ****
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
  HAVE_SETPROCTITLE	DO
- ## Do you have setpriority()? Pick DO or DONT.
- HAVE_SETPRIORITY	DO
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
--- 199,204 ----
***************
*** 307,316 ****
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! ## Do you have snprintf() in your c library. Pick DO or DONT. See
! ## LIBSNPRINTF and SNPRINTF_CFLAGS above.
! #### =()<HAVE_SNPRINTF		@<HAVE_SNPRINTF>@>()=
! HAVE_SNPRINTF		DONT
  
  ##
  ##  5.  C LIBRARY OMISSIONS
--- 285,291 ----
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! 
  
  ##
  ##  5.  C LIBRARY OMISSIONS
***************
*** 332,338 ****
  ##
  ##  6.  MISCELLANEOUS CONFIG DATA
  ##
- 
  ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
  #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
  ACT_STYLE		READ
--- 307,312 ----
***************
*** 396,402 ****
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd after forking for a child.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
--- 370,376 ----
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
***************
*** 470,476 ****
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted after each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
--- 444,450 ----
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
***************
*** 487,493 ****
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  We only use FQDN's in the hosts.nntp file. Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
--- 461,467 ----
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  Tell resolver _res.options to be fast?  Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
***************
*** 545,568 ****
  ##  Some versions of Solaris should set to DONT (pre 2.4 it seems)
  #### =()<SET_SOCKOPT		@<SET_SOCKOPT>@>()=
  SET_SOCKOPT		DO
- ## Should INN reject articles that have non-RFC1036 compliant newsgroup
- ## names in them. Pick DO or DONT.
- TOSS_BOGUS_NEWSGROUPS	DO
- ##  Should INN fabricate Keywords: data for overviews?  Pick DO or DONT.
- #### =()<KEYWORDS	@<KEYWORDS>@>()=
- KEYWORDS	DONT
- ##  Byte limit on addition to an overview.  (1K is very piggish, but complete.)
- #### =()<KEYLIMIT	@<KEYLIMIT>@>()=
- KEYLIMIT	256
- ##  Articles longer than this won't be keyword-analyzed.
- #### =()<ABSURD		@<ABSURD>@>()=
- ABSURD		100000
- ##  Maximum count of interesting words.
- #### =()<MAX_WORDS	@<MAX_WORDS>@>()=
- MAX_WORDS	250
- ## Should nnrpd get ident information from the client to store in the
- ## X-Trace header. Pick DO or DONT.
- NNRPD_USE_IDENT		DONT
  
  
  ##
--- 519,524 ----
***************
*** 576,583 ****
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ## Where sendmail, or a look-alike, lives. Must have a trailing '%s' 
! ## for the recipient address.
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
  _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
--- 532,539 ----
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ##  Where sendmail, or a look-alike, lives.
! ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
  _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
***************
*** 592,598 ****
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl version 5 lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
--- 548,554 ----
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
***************
*** 628,639 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
- ##  I suggest using innmail which is installed in the _PATH_NEWSBIN
- ##  directory. UCB mail has too many security problems to be used safely.
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
--- 584,594 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
***************
*** 657,668 ****
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished. Must be on the same
! ##  partition as _PATH_SPOOLNEWS and _PATH_BADNEWS
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input. Put it on the same partition as
! ##  _PATH_SPOOLNEWS and _PATH_SPOOLTEMP.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
--- 612,621 ----
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
***************
*** 824,832 ****
  ##  Format of news overview database
  #### =()<_PATH_SCHEMA		@<_PATH_SCHEMA>@>()=
  _PATH_SCHEMA		/var/news/etc/overview.fmt
- ## Where the MOTD (message of the day) lives (for the "LIST MOTD" nnrpd
- ## command.
- _PATH_MOTD		/var/news/etc/motd.news
  
  
  ##
--- 777,782 ----
***************
*** 844,852 ****
  ##  or _PATH_OVERVIEWDIR.
  #### =()<INNWATCH_SPOOLSPACE	@<INNWATCH_SPOOLSPACE>@>()=
  INNWATCH_SPOOLSPACE	8000
- ##  Space, in df output units, at which to throttle innd on _PATH_MOST_LOGS.
- #### =()<INNWATCH_LOGSPACE	@<INNWATCH_LOGSPACE>@>()=
- INNWATCH_LOGSPACE	800
  ##  Space, in df output units, at which to throttle innd on _PATH_BATCHDIR.
  #### =()<INNWATCH_BATCHSPACE	@<INNWATCH_BATCHSPACE>@>()=
  INNWATCH_BATCHSPACE	800
--- 794,799 ----
***************
*** 916,925 ****
  ##  Home of the NEWSUSER
  #### =()<_PATH_NEWSHOME		@<_PATH_NEWSHOME>@>()=
  _PATH_NEWSHOME		/usr/news
- ##  Where local programs etc. get stored.
- #### =()<_PATH_NEWSLBIN		@<_PATH_NEWSLBIN>@>()=
- _PATH_NEWSLBIN		/usr/news/local
- 
  
  
  ##
--- 863,868 ----
***************
*** 961,1006 ****
  _PATH_PERL_FILTER_INND		/usr/news/bin/control/filter_innd.pl
  #### =()<_PATH_PERL_FILTER_NNRPD		@<_PATH_PERL_FILTER_NNRPD>@>()=
  _PATH_PERL_FILTER_NNRPD		/usr/news/bin/control/filter_nnrpd.pl
- 
- 
- 
- 
- 
- ##  18. Priority configuration
- ##
- ## Base priority for innd.  Unlike the XYZ_NICE_VALUEs below, this
- ## sets the initial prioriy.  All other children are deltas off of this value.
- ## Valid range is from -20 to 20.  Lower priorities cause more favorable 
- ## scheduling => get more cpu.
- ##
- ## Note that by default, innd children other than overview, nnrpd and
- ## innfeed get the INND_NICE_VALUE nice increment.  Any processes started
- ## by cron (expire, news.dailt, actsync, etc.) get a 0 default priority.
- #### =()<INND_SETPRIORITY		@<INND_SETPRIORITY>@>()=
- INND_SETPRIORITY		-4
- ## Nice increment for nnrpd (PATH_NNRPD and PATH_NNTPD)
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<NNRPD_NICE_VALUE		@<NNRPD_NICE_VALUE>@>()=
- NNRPD_NICE_VALUE		2
- ## Nice increment for overview channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<OVERCHAN_NICE_VALUE		@<OVERCHAN_NICE_VALUE>@>()=
- OVERCHAN_NICE_VALUE		1
- ## Name of overview program (ignoring leading directory names) for which
- ## OVERCHAN_NICE_VALUE is applied.  This is ignored if INND_NICE_KIDS is
- ## DONT
- #### =()<OVERCHAN_NICE_NAME		@<OVERCHAN_NICE_NAME>@>()=
- OVERCHAN_NICE_NAME		overchan
- ## Nice increment for innfeed channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_VALUE		@<INNFEED_NICE_VALUE>@>()=
- INNFEED_NICE_VALUE		4
- ## Leading part of the name of the innfeed channel.  I.e., apply the
- ## INNFEED_NICE_VALUE to names that start with this string (after striping
- ## off any leading directories).
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_LEADING_NAME	@<INNFEED_NICE_LEADING_NAME>@>()=
- INNFEED_NICE_LEADING_NAME	innfeed
--- 904,906 ----
diff -Nacr inn-1.7/sample-configs/config.data-linux-2.0.18 inn-1.7.1/sample-configs/config.data-linux-2.0.18
*** inn-1.7/sample-configs/config.data-linux-2.0.18	Tue Oct  7 15:18:16 1997
--- inn-1.7.1/sample-configs/config.data-linux-2.0.18	Fri Dec  5 22:42:12 1997
***************
*** 16,34 ****
  CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -O
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
! PROF			-p
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			-O
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
--- 16,34 ----
  CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DUNNO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
! PROF			-pg
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
***************
*** 36,48 ****
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
--- 36,48 ----
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -h -z $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
***************
*** 51,57 ****
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
--- 51,57 ----
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		| sed -n -f ../sedf.sun
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
***************
*** 185,191 ****
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FLOCK
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
--- 185,191 ----
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FCNTL
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
***************
*** 198,204 ****
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
! HAVE_SETPROCTITLE	DONT
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
--- 198,204 ----
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
! HAVE_SETPROCTITLE	DO
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
***************
*** 207,213 ****
  HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DONT
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
  HAVE_ST_BLKSIZE		DO
--- 207,213 ----
  HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DO
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
  HAVE_ST_BLKSIZE		DO
***************
*** 219,225 ****
  USE_UNION_WAIT		DONT
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
! FORK			fork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
  HAVE_VFORK		DONT
--- 219,225 ----
  USE_UNION_WAIT		DONT
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
! FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
  HAVE_VFORK		DONT
***************
*** 231,250 ****
  HAVE_UNIX_DOMAIN	DO
  ##  Does your AF_UNIX bind use sizeof for the socket size?  Pick DO or DONT.
  #### =()<BIND_USE_SIZEOF		@<BIND_USE_SIZEOF>@>()=
! BIND_USE_SIZEOF		DONT
  ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
! CLX_STYLE		FCNTL
  ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
  #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
! NBIO_STYLE		IOCTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
  RES_STYLE		RUSAGE
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		SYSCONF
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
--- 231,250 ----
  HAVE_UNIX_DOMAIN	DO
  ##  Does your AF_UNIX bind use sizeof for the socket size?  Pick DO or DONT.
  #### =()<BIND_USE_SIZEOF		@<BIND_USE_SIZEOF>@>()=
! BIND_USE_SIZEOF		DO
  ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
! CLX_STYLE		IOCTL
  ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
  #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
! NBIO_STYLE		FCNTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
  RES_STYLE		RUSAGE
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETRLIMIT
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
***************
*** 254,260 ****
  NEED_TIME		DONT
  ##  What predicate, if any, the <ctype.h> macros need
  #### =()<CTYPE			@<CTYPE>@>()=
! CTYPE			isXXXXX((c))
  #CTYPE			((c) > 0 && isXXXXX((c)))
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
--- 254,260 ----
  NEED_TIME		DONT
  ##  What predicate, if any, the <ctype.h> macros need
  #### =()<CTYPE			@<CTYPE>@>()=
! CTYPE			(isascii((c)) && isXXXXX((c)))
  #CTYPE			((c) > 0 && isXXXXX((c)))
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,541 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
--- 535,541 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
***************
*** 550,562 ****
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		/bin/awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		/bin/sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
--- 550,562 ----
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		/usr/bin/awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		/usr/bin/sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
***************
*** 584,601 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
  ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
  #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
! _PATH_GZIP		/bin/gzip
  
  ##
  ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
--- 584,602 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
  ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
  #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
! _PATH_GZIP		/usr/contrib/bin/gzip
  
  ##
  ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
***************
*** 812,818 ****
  ##  Field number of INNWATCH_DF (with -i) output that gives free
  ##  inodes (starting at 1).
  #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
! INNWATCH_INODES		4
  ##  Field number of INNWATCH_DF output that gives the free block count.
  ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
  INNWATCH_BLOCKS		4
--- 813,819 ----
  ##  Field number of INNWATCH_DF (with -i) output that gives free
  ##  inodes (starting at 1).
  #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
! INNWATCH_INODES		7
  ##  Field number of INNWATCH_DF output that gives the free block count.
  ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
  INNWATCH_BLOCKS		4
diff -Nacr inn-1.7/sample-configs/config.data-netbsd-1.2 inn-1.7.1/sample-configs/config.data-netbsd-1.2
*** inn-1.7/sample-configs/config.data-netbsd-1.2	Wed Oct  8 19:52:03 1997
--- inn-1.7.1/sample-configs/config.data-netbsd-1.2	Fri Dec  5 22:42:12 1997
***************
*** 8,14 ****
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags.
  #### =()<DEFS			@<DEFS>@>()=
  DEFS			-I../include
  ##  C compiler
--- 8,14 ----
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
  DEFS			-I../include
  ##  C compiler
***************
*** 17,23 ****
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
! ##  C compiler flags add a -DUSE_DMALLOC if using the dmalloc package.
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
--- 17,23 ----
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
! ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
***************
*** 32,60 ****
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you DONT have snprintf in your clibrary then set LIBSNPRINTF 
! ##  to  ``../libsnprintf.a''. i.e.
! ##
! ##             LIBSNPRINTF		../libsnprintf.a
! ##
! ##  Also see HAVE_SNPRINTF down below.
! #### =()<LIBSNPRINTF		@<LIBSNPRINTF>@>()=
! LIBSNPRINTF		../libsnprintf.a
! ##
! ## What compiler flags do you need to build the snprintf library. 
! ##
! ## On Solaris 2.5 and 2.5.1 (and maybe higher) with the Sun C compiler.
! ## you want
! ##		-Xc -Dsun -D__svr4__ -DBad_float_h
! ## with gcc
! ##		-Dsnprintf=__snprintf -Dvsnprintf=__vsnprintf
! ## is reported to work (with HAVE_SNPRINTF set to DO and LIBSNPRINT to nothing)
! ##
! #### =()<SNPRINTF_CFLAGS	@<SNPRINTF_CFLAGS>@>()=
! SNPRINTF_CFLAGS	
! ##  If you need to link in other libraries add them here.  On NetBSD and
! ##  FreeBSD, you must add the -lcrypt directive here -lutil on BSD/OS gives
! ##  you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
  LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
--- 32,40 ----
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you need to link in other libraries, add them here.
! ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
! ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
  LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
***************
*** 219,226 ****
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
  HAVE_SETPROCTITLE	DO
- ## Do you have setpriority()? Pick DO or DONT.
- HAVE_SETPRIORITY	DO
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
--- 199,204 ----
***************
*** 307,316 ****
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! ## Do you have snprintf() in your c library. Pick DO or DONT. See
! ## LIBSNPRINTF and SNPRINTF_CFLAGS above.
! #### =()<HAVE_SNPRINTF		@<HAVE_SNPRINTF>@>()=
! HAVE_SNPRINTF		DONT
  
  ##
  ##  5.  C LIBRARY OMISSIONS
--- 285,291 ----
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! 
  
  ##
  ##  5.  C LIBRARY OMISSIONS
***************
*** 332,338 ****
  ##
  ##  6.  MISCELLANEOUS CONFIG DATA
  ##
- 
  ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
  #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
  ACT_STYLE		READ
--- 307,312 ----
***************
*** 396,402 ****
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd after forking for a child.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
--- 370,376 ----
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
***************
*** 470,476 ****
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted after each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
--- 444,450 ----
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
***************
*** 487,493 ****
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  We only use FQDN's in the hosts.nntp file. Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
--- 461,467 ----
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  Tell resolver _res.options to be fast?  Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
***************
*** 545,568 ****
  ##  Some versions of Solaris should set to DONT (pre 2.4 it seems)
  #### =()<SET_SOCKOPT		@<SET_SOCKOPT>@>()=
  SET_SOCKOPT		DO
- ## Should INN reject articles that have non-RFC1036 compliant newsgroup
- ## names in them. Pick DO or DONT.
- TOSS_BOGUS_NEWSGROUPS	DO
- ##  Should INN fabricate Keywords: data for overviews?  Pick DO or DONT.
- #### =()<KEYWORDS	@<KEYWORDS>@>()=
- KEYWORDS	DONT
- ##  Byte limit on addition to an overview.  (1K is very piggish, but complete.)
- #### =()<KEYLIMIT	@<KEYLIMIT>@>()=
- KEYLIMIT	256
- ##  Articles longer than this won't be keyword-analyzed.
- #### =()<ABSURD		@<ABSURD>@>()=
- ABSURD		100000
- ##  Maximum count of interesting words.
- #### =()<MAX_WORDS	@<MAX_WORDS>@>()=
- MAX_WORDS	250
- ## Should nnrpd get ident information from the client to store in the
- ## X-Trace header. Pick DO or DONT.
- NNRPD_USE_IDENT		DONT
  
  
  ##
--- 519,524 ----
***************
*** 576,583 ****
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ## Where sendmail, or a look-alike, lives. Must have a trailing '%s' 
! ## for the recipient address.
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
  _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
--- 532,539 ----
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ##  Where sendmail, or a look-alike, lives.
! ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
  _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
***************
*** 592,598 ****
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl version 5 lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
--- 548,554 ----
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
***************
*** 628,639 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
- ##  I suggest using innmail which is installed in the _PATH_NEWSBIN
- ##  directory. UCB mail has too many security problems to be used safely.
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
--- 584,594 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
***************
*** 657,668 ****
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished. Must be on the same
! ##  partition as _PATH_SPOOLNEWS and _PATH_BADNEWS
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input. Put it on the same partition as
! ##  _PATH_SPOOLNEWS and _PATH_SPOOLTEMP.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
--- 612,621 ----
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
***************
*** 824,832 ****
  ##  Format of news overview database
  #### =()<_PATH_SCHEMA		@<_PATH_SCHEMA>@>()=
  _PATH_SCHEMA		/var/news/etc/overview.fmt
- ## Where the MOTD (message of the day) lives (for the "LIST MOTD" nnrpd
- ## command.
- _PATH_MOTD		/var/news/etc/motd.news
  
  
  ##
--- 777,782 ----
***************
*** 844,852 ****
  ##  or _PATH_OVERVIEWDIR.
  #### =()<INNWATCH_SPOOLSPACE	@<INNWATCH_SPOOLSPACE>@>()=
  INNWATCH_SPOOLSPACE	8000
- ##  Space, in df output units, at which to throttle innd on _PATH_MOST_LOGS.
- #### =()<INNWATCH_LOGSPACE	@<INNWATCH_LOGSPACE>@>()=
- INNWATCH_LOGSPACE	800
  ##  Space, in df output units, at which to throttle innd on _PATH_BATCHDIR.
  #### =()<INNWATCH_BATCHSPACE	@<INNWATCH_BATCHSPACE>@>()=
  INNWATCH_BATCHSPACE	800
--- 794,799 ----
***************
*** 916,925 ****
  ##  Home of the NEWSUSER
  #### =()<_PATH_NEWSHOME		@<_PATH_NEWSHOME>@>()=
  _PATH_NEWSHOME		/usr/news
- ##  Where local programs etc. get stored.
- #### =()<_PATH_NEWSLBIN		@<_PATH_NEWSLBIN>@>()=
- _PATH_NEWSLBIN		/usr/news/local
- 
  
  
  ##
--- 863,868 ----
***************
*** 961,1006 ****
  _PATH_PERL_FILTER_INND		/usr/news/bin/control/filter_innd.pl
  #### =()<_PATH_PERL_FILTER_NNRPD		@<_PATH_PERL_FILTER_NNRPD>@>()=
  _PATH_PERL_FILTER_NNRPD		/usr/news/bin/control/filter_nnrpd.pl
- 
- 
- 
- 
- 
- ##  18. Priority configuration
- ##
- ## Base priority for innd.  Unlike the XYZ_NICE_VALUEs below, this
- ## sets the initial prioriy.  All other children are deltas off of this value.
- ## Valid range is from -20 to 20.  Lower priorities cause more favorable 
- ## scheduling => get more cpu.
- ##
- ## Note that by default, innd children other than overview, nnrpd and
- ## innfeed get the INND_NICE_VALUE nice increment.  Any processes started
- ## by cron (expire, news.dailt, actsync, etc.) get a 0 default priority.
- #### =()<INND_SETPRIORITY		@<INND_SETPRIORITY>@>()=
- INND_SETPRIORITY		-4
- ## Nice increment for nnrpd (PATH_NNRPD and PATH_NNTPD)
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<NNRPD_NICE_VALUE		@<NNRPD_NICE_VALUE>@>()=
- NNRPD_NICE_VALUE		2
- ## Nice increment for overview channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<OVERCHAN_NICE_VALUE		@<OVERCHAN_NICE_VALUE>@>()=
- OVERCHAN_NICE_VALUE		1
- ## Name of overview program (ignoring leading directory names) for which
- ## OVERCHAN_NICE_VALUE is applied.  This is ignored if INND_NICE_KIDS is
- ## DONT
- #### =()<OVERCHAN_NICE_NAME		@<OVERCHAN_NICE_NAME>@>()=
- OVERCHAN_NICE_NAME		overchan
- ## Nice increment for innfeed channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_VALUE		@<INNFEED_NICE_VALUE>@>()=
- INNFEED_NICE_VALUE		4
- ## Leading part of the name of the innfeed channel.  I.e., apply the
- ## INNFEED_NICE_VALUE to names that start with this string (after striping
- ## off any leading directories).
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_LEADING_NAME	@<INNFEED_NICE_LEADING_NAME>@>()=
- INNFEED_NICE_LEADING_NAME	innfeed
--- 904,906 ----
diff -Nacr inn-1.7/sample-configs/config.data-newsos-4.2.1 inn-1.7.1/sample-configs/config.data-newsos-4.2.1
*** inn-1.7/sample-configs/config.data-newsos-4.2.1	Tue Oct  7 15:18:16 1997
--- inn-1.7.1/sample-configs/config.data-newsos-4.2.1	Fri Dec  5 22:42:12 1997
***************
*** 16,25 ****
  CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -O2
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
--- 16,25 ----
  CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DUNNO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
***************
*** 28,34 ****
  PROF			-pg
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			-s
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
--- 28,34 ----
  PROF			-pg
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
***************
*** 36,42 ****
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lmld
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
--- 36,42 ----
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
***************
*** 137,143 ****
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		VARARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
--- 137,143 ----
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		STDARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
***************
*** 146,152 ****
  MEM_HEADER		<memory.h>
  ##  What is a file offset?  MUST BE LONG FOR NOW.
  #### =()<OFFSET_T		@<OFFSET_T>@>()=
! OFFSET_T		off_t
  ##  What is the type of an object size? Usually size_t or unsigned int.
  #### =()<SIZE_T			@<SIZE_T>@>()=
  SIZE_T			size_t
--- 146,152 ----
  MEM_HEADER		<memory.h>
  ##  What is a file offset?  MUST BE LONG FOR NOW.
  #### =()<OFFSET_T		@<OFFSET_T>@>()=
! OFFSET_T		long
  ##  What is the type of an object size? Usually size_t or unsigned int.
  #### =()<SIZE_T			@<SIZE_T>@>()=
  SIZE_T			size_t
***************
*** 157,166 ****
  GID_T			gid_t
  ##  Type of a pid, for use in kill(2).
  #### =()<PID_T			@<PID_T>@>()=
! PID_T			int
  ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
  #### =()<POINTER			@<POINTER>@>()=
! POINTER			char
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
  ALIGNPTR		int
--- 157,166 ----
  GID_T			gid_t
  ##  Type of a pid, for use in kill(2).
  #### =()<PID_T			@<PID_T>@>()=
! PID_T			pid_t
  ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
  #### =()<POINTER			@<POINTER>@>()=
! POINTER			void
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
  ALIGNPTR		int
***************
*** 169,175 ****
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			int
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
--- 169,175 ----
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			sig_atomic_t
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
***************
*** 185,191 ****
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FLOCK
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
--- 185,191 ----
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FCNTL
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
***************
*** 198,210 ****
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
! HAVE_SETPROCTITLE	DONT
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
  ##  Do you have setsid()?  Pick DO or DONT.
  #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
! HAVE_SETSID		DONT
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
  HAVE_TM_GMTOFF		DO
--- 198,210 ----
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
! HAVE_SETPROCTITLE	DO
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
  ##  Do you have setsid()?  Pick DO or DONT.
  #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
! HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
  HAVE_TM_GMTOFF		DO
***************
*** 213,222 ****
  HAVE_ST_BLKSIZE		DO
  ##  Use waitpid instead of wait3?  Pick DO or DONT.
  #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
! HAVE_WAITPID		DONT
  ##  Use "union wait" instead of int?  Pick DO or DONT.
  #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
! USE_UNION_WAIT		DO
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
  FORK			vfork
--- 213,222 ----
  HAVE_ST_BLKSIZE		DO
  ##  Use waitpid instead of wait3?  Pick DO or DONT.
  #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
! HAVE_WAITPID		DO
  ##  Use "union wait" instead of int?  Pick DO or DONT.
  #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
! USE_UNION_WAIT		DONT
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
  FORK			vfork
***************
*** 251,257 ****
  NOFILE_LIMIT		-1
  ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
  #### =()<NEED_TIME		@<NEED_TIME>@>()=
! NEED_TIME		DO
  ##  What predicate, if any, the <ctype.h> macros need
  #### =()<CTYPE			@<CTYPE>@>()=
  CTYPE			(isascii((c)) && isXXXXX((c)))
--- 251,257 ----
  NOFILE_LIMIT		-1
  ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
  #### =()<NEED_TIME		@<NEED_TIME>@>()=
! NEED_TIME		DONT
  ##  What predicate, if any, the <ctype.h> macros need
  #### =()<CTYPE			@<CTYPE>@>()=
  CTYPE			(isascii((c)) && isXXXXX((c)))
***************
*** 265,271 ****
  ALARMVAL		unsigned int
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
! GETPIDVAL		int
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
  SLEEPVAL		unsigned int
--- 265,271 ----
  ALARMVAL		unsigned int
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
! GETPIDVAL		pid_t
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
  SLEEPVAL		unsigned int
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,562 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/lib/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/local/bin/gzip
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
! _PATH_COMPRESSEXT	.gz
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
! _PATH_EGREP		/usr/local/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/local/bin/perl
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		/usr/local/bin/gawk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		/usr/local/bin/sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
--- 535,562 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bin/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
! _PATH_COMPRESSEXT	.Z
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
! _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		/usr/bin/awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		/usr/bin/sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
***************
*** 584,601 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
  ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
  #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
! _PATH_GZIP		/usr/local/bin/gzip
  
  ##
  ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
--- 584,602 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
  ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
  #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
! _PATH_GZIP		/usr/contrib/bin/gzip
  
  ##
  ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
***************
*** 812,818 ****
  ##  Field number of INNWATCH_DF (with -i) output that gives free
  ##  inodes (starting at 1).
  #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
! INNWATCH_INODES		3
  ##  Field number of INNWATCH_DF output that gives the free block count.
  ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
  INNWATCH_BLOCKS		4
--- 813,819 ----
  ##  Field number of INNWATCH_DF (with -i) output that gives free
  ##  inodes (starting at 1).
  #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
! INNWATCH_INODES		7
  ##  Field number of INNWATCH_DF output that gives the free block count.
  ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
  INNWATCH_BLOCKS		4
diff -Nacr inn-1.7/sample-configs/config.data-next3.2 inn-1.7.1/sample-configs/config.data-next3.2
*** inn-1.7/sample-configs/config.data-next3.2	Tue Oct  7 15:18:16 1997
--- inn-1.7.1/sample-configs/config.data-next3.2	Fri Dec  5 22:42:12 1997
***************
*** 10,22 ****
  P			
  ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
! DEFS			-I../include -I/usr/include/bsd
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			cc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
--- 10,22 ----
  P			
  ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
! DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
! CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DUNNO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
***************
*** 36,42 ****
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
--- 36,42 ----
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
***************
*** 80,89 ****
  ##  2.  LOGGING LEVELS
  ##  Facility innd should log under.
  #### =()<LOG_INN_SERVER		@<LOG_INN_SERVER>@>()=
! LOG_INN_SERVER		LOG_LOCAL2
  ##  Facility all other programs should log under.
  #### =()<LOG_INN_PROG		@<LOG_INN_PROG>@>()=
! LOG_INN_PROG		LOG_LOCAL2
  ##  Flags to use in opening the logs; some programs add LOG_PID.
  #### =()<L_OPENLOG_FLAGS		@<L_OPENLOG_FLAGS>@>()=
  L_OPENLOG_FLAGS		(LOG_CONS | LOG_NDELAY)
--- 80,89 ----
  ##  2.  LOGGING LEVELS
  ##  Facility innd should log under.
  #### =()<LOG_INN_SERVER		@<LOG_INN_SERVER>@>()=
! LOG_INN_SERVER		LOG_NEWS
  ##  Facility all other programs should log under.
  #### =()<LOG_INN_PROG		@<LOG_INN_PROG>@>()=
! LOG_INN_PROG		LOG_NEWS
  ##  Flags to use in opening the logs; some programs add LOG_PID.
  #### =()<L_OPENLOG_FLAGS		@<L_OPENLOG_FLAGS>@>()=
  L_OPENLOG_FLAGS		(LOG_CONS | LOG_NDELAY)
***************
*** 137,143 ****
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		VARARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
--- 137,143 ----
  ##  Use stdargs, varargs, or neither?  Pick VARARGS STDARGS or NONE.
  ##  You need vfprintf and vfsprintf if not NONE.
  #### =()<VAR_STYLE		@<VAR_STYLE>@>()=
! VAR_STYLE		STDARGS
  ##  If you don't have <string.h>, set this to "mystring.h"
  #### =()<STR_HEADER		@<STR_HEADER>@>()=
  STR_HEADER		<string.h>
***************
*** 157,175 ****
  GID_T			gid_t
  ##  Type of a pid, for use in kill(2).
  #### =()<PID_T			@<PID_T>@>()=
! PID_T			int
  ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
  #### =()<POINTER			@<POINTER>@>()=
  POINTER			void
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
! ALIGNPTR		double
  ##  What should a signal handler return?  Usually int or void.
  #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			int
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
--- 157,175 ----
  GID_T			gid_t
  ##  Type of a pid, for use in kill(2).
  #### =()<PID_T			@<PID_T>@>()=
! PID_T			pid_t
  ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
  #### =()<POINTER			@<POINTER>@>()=
  POINTER			void
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
! ALIGNPTR		int
  ##  What should a signal handler return?  Usually int or void.
  #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			sig_atomic_t
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
***************
*** 181,191 ****
  INT32_T			int
  ##  Use BSD4.2 or Posix directory names?  Pick DIRENT or DIRECT.
  #### =()<DIR_STYLE		@<DIR_STYLE>@>()=
! DIR_STYLE		DIRECT
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FLOCK
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
--- 181,191 ----
  INT32_T			int
  ##  Use BSD4.2 or Posix directory names?  Pick DIRENT or DIRECT.
  #### =()<DIR_STYLE		@<DIR_STYLE>@>()=
! DIR_STYLE		DIRENT
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FCNTL
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
***************
*** 204,210 ****
  HAVE_FCHMOD		DO
  ##  Do you have setsid()?  Pick DO or DONT.
  #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
! HAVE_SETSID		DONT
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
  HAVE_TM_GMTOFF		DO
--- 204,210 ----
  HAVE_FCHMOD		DO
  ##  Do you have setsid()?  Pick DO or DONT.
  #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
! HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
  HAVE_TM_GMTOFF		DO
***************
*** 213,228 ****
  HAVE_ST_BLKSIZE		DO
  ##  Use waitpid instead of wait3?  Pick DO or DONT.
  #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
! HAVE_WAITPID		DONT
  ##  Use "union wait" instead of int?  Pick DO or DONT.
  #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
! USE_UNION_WAIT		DO
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
  FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
! HAVE_VFORK		DO
  ##  Do you have symbolic links?  Pick DO or DONT.
  #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
  HAVE_SYMLINK		DO
--- 213,228 ----
  HAVE_ST_BLKSIZE		DO
  ##  Use waitpid instead of wait3?  Pick DO or DONT.
  #### =()<HAVE_WAITPID		@<HAVE_WAITPID>@>()=
! HAVE_WAITPID		DO
  ##  Use "union wait" instead of int?  Pick DO or DONT.
  #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
! USE_UNION_WAIT		DONT
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
  FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
! HAVE_VFORK		DONT
  ##  Do you have symbolic links?  Pick DO or DONT.
  #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
  HAVE_SYMLINK		DO
***************
*** 244,250 ****
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETDTAB
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
--- 244,250 ----
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETRLIMIT
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
***************
*** 254,260 ****
  NEED_TIME		DONT
  ##  What predicate, if any, the <ctype.h> macros need
  #### =()<CTYPE			@<CTYPE>@>()=
! CTYPE			isXXXXX((c))
  #CTYPE			((c) > 0 && isXXXXX((c)))
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
--- 254,260 ----
  NEED_TIME		DONT
  ##  What predicate, if any, the <ctype.h> macros need
  #### =()<CTYPE			@<CTYPE>@>()=
! CTYPE			(isascii((c)) && isXXXXX((c)))
  #CTYPE			((c) > 0 && isXXXXX((c)))
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
***************
*** 265,274 ****
  ALARMVAL		unsigned int
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
! GETPIDVAL		int
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
! SLEEPVAL		int
  ##  What's the return type of  qsort?  Usually int or void.
  #### =()<QSORTVAL		@<QSORTVAL>@>()=
  QSORTVAL		void
--- 265,274 ----
  ALARMVAL		unsigned int
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
! GETPIDVAL		pid_t
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
! SLEEPVAL		unsigned int
  ##  What's the return type of  qsort?  Usually int or void.
  #### =()<QSORTVAL		@<QSORTVAL>@>()=
  QSORTVAL		void
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,547 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/lib/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/ucb/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
  _PATH_COMPRESSEXT	.Z
--- 535,547 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bin/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
  _PATH_COMPRESSEXT	.Z
***************
*** 550,562 ****
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
--- 550,562 ----
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		/usr/bin/awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		/usr/bin/sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
***************
*** 584,595 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
--- 584,596 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
diff -Nacr inn-1.7/sample-configs/config.data-next4.1 inn-1.7.1/sample-configs/config.data-next4.1
*** inn-1.7/sample-configs/config.data-next4.1	Wed Oct  8 19:52:03 1997
--- inn-1.7.1/sample-configs/config.data-next4.1	Fri Dec  5 22:42:12 1997
***************
*** 8,14 ****
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags.
  #### =()<DEFS			@<DEFS>@>()=
  DEFS			-I../include
  ##  C compiler
--- 8,14 ----
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
  DEFS			-I../include
  ##  C compiler
***************
*** 17,23 ****
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
! ##  C compiler flags add a -DUSE_DMALLOC if using the dmalloc package.
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
--- 17,23 ----
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
! ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
***************
*** 32,60 ****
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you DONT have snprintf in your clibrary then set LIBSNPRINTF 
! ##  to  ``../libsnprintf.a''. i.e.
! ##
! ##             LIBSNPRINTF		../libsnprintf.a
! ##
! ##  Also see HAVE_SNPRINTF down below.
! #### =()<LIBSNPRINTF		@<LIBSNPRINTF>@>()=
! LIBSNPRINTF		../libsnprintf.a
! ##
! ## What compiler flags do you need to build the snprintf library. 
! ##
! ## On Solaris 2.5 and 2.5.1 (and maybe higher) with the Sun C compiler.
! ## you want
! ##		-Xc -Dsun -D__svr4__ -DBad_float_h
! ## with gcc
! ##		-Dsnprintf=__snprintf -Dvsnprintf=__vsnprintf
! ## is reported to work (with HAVE_SNPRINTF set to DO and LIBSNPRINT to nothing)
! ##
! #### =()<SNPRINTF_CFLAGS	@<SNPRINTF_CFLAGS>@>()=
! SNPRINTF_CFLAGS	
! ##  If you need to link in other libraries add them here.  On NetBSD and
! ##  FreeBSD, you must add the -lcrypt directive here -lutil on BSD/OS gives
! ##  you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
  LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
--- 32,40 ----
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you need to link in other libraries, add them here.
! ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
! ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
  LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
***************
*** 219,226 ****
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
  HAVE_SETPROCTITLE	DO
- ## Do you have setpriority()? Pick DO or DONT.
- HAVE_SETPRIORITY	DO
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
--- 199,204 ----
***************
*** 307,316 ****
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! ## Do you have snprintf() in your c library. Pick DO or DONT. See
! ## LIBSNPRINTF and SNPRINTF_CFLAGS above.
! #### =()<HAVE_SNPRINTF		@<HAVE_SNPRINTF>@>()=
! HAVE_SNPRINTF		DONT
  
  ##
  ##  5.  C LIBRARY OMISSIONS
--- 285,291 ----
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! 
  
  ##
  ##  5.  C LIBRARY OMISSIONS
***************
*** 332,338 ****
  ##
  ##  6.  MISCELLANEOUS CONFIG DATA
  ##
- 
  ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
  #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
  ACT_STYLE		READ
--- 307,312 ----
***************
*** 396,402 ****
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd after forking for a child.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
--- 370,376 ----
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
***************
*** 470,476 ****
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted after each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
--- 444,450 ----
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
***************
*** 487,493 ****
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  We only use FQDN's in the hosts.nntp file. Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
--- 461,467 ----
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  Tell resolver _res.options to be fast?  Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
***************
*** 545,568 ****
  ##  Some versions of Solaris should set to DONT (pre 2.4 it seems)
  #### =()<SET_SOCKOPT		@<SET_SOCKOPT>@>()=
  SET_SOCKOPT		DO
- ## Should INN reject articles that have non-RFC1036 compliant newsgroup
- ## names in them. Pick DO or DONT.
- TOSS_BOGUS_NEWSGROUPS	DO
- ##  Should INN fabricate Keywords: data for overviews?  Pick DO or DONT.
- #### =()<KEYWORDS	@<KEYWORDS>@>()=
- KEYWORDS	DONT
- ##  Byte limit on addition to an overview.  (1K is very piggish, but complete.)
- #### =()<KEYLIMIT	@<KEYLIMIT>@>()=
- KEYLIMIT	256
- ##  Articles longer than this won't be keyword-analyzed.
- #### =()<ABSURD		@<ABSURD>@>()=
- ABSURD		100000
- ##  Maximum count of interesting words.
- #### =()<MAX_WORDS	@<MAX_WORDS>@>()=
- MAX_WORDS	250
- ## Should nnrpd get ident information from the client to store in the
- ## X-Trace header. Pick DO or DONT.
- NNRPD_USE_IDENT		DONT
  
  
  ##
--- 519,524 ----
***************
*** 576,583 ****
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ## Where sendmail, or a look-alike, lives. Must have a trailing '%s' 
! ## for the recipient address.
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
  _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
--- 532,539 ----
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ##  Where sendmail, or a look-alike, lives.
! ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
  _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
***************
*** 592,598 ****
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl version 5 lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
--- 548,554 ----
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
***************
*** 628,639 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
- ##  I suggest using innmail which is installed in the _PATH_NEWSBIN
- ##  directory. UCB mail has too many security problems to be used safely.
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
--- 584,594 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
***************
*** 657,668 ****
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished. Must be on the same
! ##  partition as _PATH_SPOOLNEWS and _PATH_BADNEWS
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input. Put it on the same partition as
! ##  _PATH_SPOOLNEWS and _PATH_SPOOLTEMP.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
--- 612,621 ----
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
***************
*** 824,832 ****
  ##  Format of news overview database
  #### =()<_PATH_SCHEMA		@<_PATH_SCHEMA>@>()=
  _PATH_SCHEMA		/var/news/etc/overview.fmt
- ## Where the MOTD (message of the day) lives (for the "LIST MOTD" nnrpd
- ## command.
- _PATH_MOTD		/var/news/etc/motd.news
  
  
  ##
--- 777,782 ----
***************
*** 844,852 ****
  ##  or _PATH_OVERVIEWDIR.
  #### =()<INNWATCH_SPOOLSPACE	@<INNWATCH_SPOOLSPACE>@>()=
  INNWATCH_SPOOLSPACE	8000
- ##  Space, in df output units, at which to throttle innd on _PATH_MOST_LOGS.
- #### =()<INNWATCH_LOGSPACE	@<INNWATCH_LOGSPACE>@>()=
- INNWATCH_LOGSPACE	800
  ##  Space, in df output units, at which to throttle innd on _PATH_BATCHDIR.
  #### =()<INNWATCH_BATCHSPACE	@<INNWATCH_BATCHSPACE>@>()=
  INNWATCH_BATCHSPACE	800
--- 794,799 ----
***************
*** 916,925 ****
  ##  Home of the NEWSUSER
  #### =()<_PATH_NEWSHOME		@<_PATH_NEWSHOME>@>()=
  _PATH_NEWSHOME		/usr/news
- ##  Where local programs etc. get stored.
- #### =()<_PATH_NEWSLBIN		@<_PATH_NEWSLBIN>@>()=
- _PATH_NEWSLBIN		/usr/news/local
- 
  
  
  ##
--- 863,868 ----
***************
*** 961,1006 ****
  _PATH_PERL_FILTER_INND		/usr/news/bin/control/filter_innd.pl
  #### =()<_PATH_PERL_FILTER_NNRPD		@<_PATH_PERL_FILTER_NNRPD>@>()=
  _PATH_PERL_FILTER_NNRPD		/usr/news/bin/control/filter_nnrpd.pl
- 
- 
- 
- 
- 
- ##  18. Priority configuration
- ##
- ## Base priority for innd.  Unlike the XYZ_NICE_VALUEs below, this
- ## sets the initial prioriy.  All other children are deltas off of this value.
- ## Valid range is from -20 to 20.  Lower priorities cause more favorable 
- ## scheduling => get more cpu.
- ##
- ## Note that by default, innd children other than overview, nnrpd and
- ## innfeed get the INND_NICE_VALUE nice increment.  Any processes started
- ## by cron (expire, news.dailt, actsync, etc.) get a 0 default priority.
- #### =()<INND_SETPRIORITY		@<INND_SETPRIORITY>@>()=
- INND_SETPRIORITY		-4
- ## Nice increment for nnrpd (PATH_NNRPD and PATH_NNTPD)
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<NNRPD_NICE_VALUE		@<NNRPD_NICE_VALUE>@>()=
- NNRPD_NICE_VALUE		2
- ## Nice increment for overview channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<OVERCHAN_NICE_VALUE		@<OVERCHAN_NICE_VALUE>@>()=
- OVERCHAN_NICE_VALUE		1
- ## Name of overview program (ignoring leading directory names) for which
- ## OVERCHAN_NICE_VALUE is applied.  This is ignored if INND_NICE_KIDS is
- ## DONT
- #### =()<OVERCHAN_NICE_NAME		@<OVERCHAN_NICE_NAME>@>()=
- OVERCHAN_NICE_NAME		overchan
- ## Nice increment for innfeed channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_VALUE		@<INNFEED_NICE_VALUE>@>()=
- INNFEED_NICE_VALUE		4
- ## Leading part of the name of the innfeed channel.  I.e., apply the
- ## INNFEED_NICE_VALUE to names that start with this string (after striping
- ## off any leading directories).
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_LEADING_NAME	@<INNFEED_NICE_LEADING_NAME>@>()=
- INNFEED_NICE_LEADING_NAME	innfeed
--- 904,906 ----
diff -Nacr inn-1.7/sample-configs/config.data-sco-3.2.2 inn-1.7.1/sample-configs/config.data-sco-3.2.2
*** inn-1.7/sample-configs/config.data-sco-3.2.2	Wed Oct  8 19:52:04 1997
--- inn-1.7.1/sample-configs/config.data-sco-3.2.2	Fri Dec  5 22:42:12 1997
***************
*** 8,14 ****
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags.
  #### =()<DEFS			@<DEFS>@>()=
  DEFS			-I../include
  ##  C compiler
--- 8,14 ----
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
  DEFS			-I../include
  ##  C compiler
***************
*** 17,23 ****
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
! ##  C compiler flags add a -DUSE_DMALLOC if using the dmalloc package.
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
--- 17,23 ----
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
! ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
***************
*** 32,60 ****
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you DONT have snprintf in your clibrary then set LIBSNPRINTF 
! ##  to  ``../libsnprintf.a''. i.e.
! ##
! ##             LIBSNPRINTF		../libsnprintf.a
! ##
! ##  Also see HAVE_SNPRINTF down below.
! #### =()<LIBSNPRINTF		@<LIBSNPRINTF>@>()=
! LIBSNPRINTF		../libsnprintf.a
! ##
! ## What compiler flags do you need to build the snprintf library. 
! ##
! ## On Solaris 2.5 and 2.5.1 (and maybe higher) with the Sun C compiler.
! ## you want
! ##		-Xc -Dsun -D__svr4__ -DBad_float_h
! ## with gcc
! ##		-Dsnprintf=__snprintf -Dvsnprintf=__vsnprintf
! ## is reported to work (with HAVE_SNPRINTF set to DO and LIBSNPRINT to nothing)
! ##
! #### =()<SNPRINTF_CFLAGS	@<SNPRINTF_CFLAGS>@>()=
! SNPRINTF_CFLAGS	
! ##  If you need to link in other libraries add them here.  On NetBSD and
! ##  FreeBSD, you must add the -lcrypt directive here -lutil on BSD/OS gives
! ##  you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
  LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
--- 32,40 ----
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you need to link in other libraries, add them here.
! ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
! ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
  LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
***************
*** 219,226 ****
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
  HAVE_SETPROCTITLE	DO
- ## Do you have setpriority()? Pick DO or DONT.
- HAVE_SETPRIORITY	DO
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
--- 199,204 ----
***************
*** 307,316 ****
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! ## Do you have snprintf() in your c library. Pick DO or DONT. See
! ## LIBSNPRINTF and SNPRINTF_CFLAGS above.
! #### =()<HAVE_SNPRINTF		@<HAVE_SNPRINTF>@>()=
! HAVE_SNPRINTF		DONT
  
  ##
  ##  5.  C LIBRARY OMISSIONS
--- 285,291 ----
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! 
  
  ##
  ##  5.  C LIBRARY OMISSIONS
***************
*** 332,338 ****
  ##
  ##  6.  MISCELLANEOUS CONFIG DATA
  ##
- 
  ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
  #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
  ACT_STYLE		READ
--- 307,312 ----
***************
*** 396,402 ****
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd after forking for a child.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
--- 370,376 ----
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
***************
*** 470,476 ****
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted after each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
--- 444,450 ----
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
***************
*** 487,493 ****
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  We only use FQDN's in the hosts.nntp file. Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
--- 461,467 ----
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  Tell resolver _res.options to be fast?  Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
***************
*** 545,568 ****
  ##  Some versions of Solaris should set to DONT (pre 2.4 it seems)
  #### =()<SET_SOCKOPT		@<SET_SOCKOPT>@>()=
  SET_SOCKOPT		DO
- ## Should INN reject articles that have non-RFC1036 compliant newsgroup
- ## names in them. Pick DO or DONT.
- TOSS_BOGUS_NEWSGROUPS	DO
- ##  Should INN fabricate Keywords: data for overviews?  Pick DO or DONT.
- #### =()<KEYWORDS	@<KEYWORDS>@>()=
- KEYWORDS	DONT
- ##  Byte limit on addition to an overview.  (1K is very piggish, but complete.)
- #### =()<KEYLIMIT	@<KEYLIMIT>@>()=
- KEYLIMIT	256
- ##  Articles longer than this won't be keyword-analyzed.
- #### =()<ABSURD		@<ABSURD>@>()=
- ABSURD		100000
- ##  Maximum count of interesting words.
- #### =()<MAX_WORDS	@<MAX_WORDS>@>()=
- MAX_WORDS	250
- ## Should nnrpd get ident information from the client to store in the
- ## X-Trace header. Pick DO or DONT.
- NNRPD_USE_IDENT		DONT
  
  
  ##
--- 519,524 ----
***************
*** 576,583 ****
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ## Where sendmail, or a look-alike, lives. Must have a trailing '%s' 
! ## for the recipient address.
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
  _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
--- 532,539 ----
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ##  Where sendmail, or a look-alike, lives.
! ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
  _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
***************
*** 592,598 ****
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl version 5 lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
--- 548,554 ----
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
***************
*** 628,639 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
- ##  I suggest using innmail which is installed in the _PATH_NEWSBIN
- ##  directory. UCB mail has too many security problems to be used safely.
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
--- 584,594 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
***************
*** 657,668 ****
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished. Must be on the same
! ##  partition as _PATH_SPOOLNEWS and _PATH_BADNEWS
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input. Put it on the same partition as
! ##  _PATH_SPOOLNEWS and _PATH_SPOOLTEMP.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
--- 612,621 ----
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
***************
*** 824,832 ****
  ##  Format of news overview database
  #### =()<_PATH_SCHEMA		@<_PATH_SCHEMA>@>()=
  _PATH_SCHEMA		/var/news/etc/overview.fmt
- ## Where the MOTD (message of the day) lives (for the "LIST MOTD" nnrpd
- ## command.
- _PATH_MOTD		/var/news/etc/motd.news
  
  
  ##
--- 777,782 ----
***************
*** 844,852 ****
  ##  or _PATH_OVERVIEWDIR.
  #### =()<INNWATCH_SPOOLSPACE	@<INNWATCH_SPOOLSPACE>@>()=
  INNWATCH_SPOOLSPACE	8000
- ##  Space, in df output units, at which to throttle innd on _PATH_MOST_LOGS.
- #### =()<INNWATCH_LOGSPACE	@<INNWATCH_LOGSPACE>@>()=
- INNWATCH_LOGSPACE	800
  ##  Space, in df output units, at which to throttle innd on _PATH_BATCHDIR.
  #### =()<INNWATCH_BATCHSPACE	@<INNWATCH_BATCHSPACE>@>()=
  INNWATCH_BATCHSPACE	800
--- 794,799 ----
***************
*** 916,925 ****
  ##  Home of the NEWSUSER
  #### =()<_PATH_NEWSHOME		@<_PATH_NEWSHOME>@>()=
  _PATH_NEWSHOME		/usr/news
- ##  Where local programs etc. get stored.
- #### =()<_PATH_NEWSLBIN		@<_PATH_NEWSLBIN>@>()=
- _PATH_NEWSLBIN		/usr/news/local
- 
  
  
  ##
--- 863,868 ----
***************
*** 961,1006 ****
  _PATH_PERL_FILTER_INND		/usr/news/bin/control/filter_innd.pl
  #### =()<_PATH_PERL_FILTER_NNRPD		@<_PATH_PERL_FILTER_NNRPD>@>()=
  _PATH_PERL_FILTER_NNRPD		/usr/news/bin/control/filter_nnrpd.pl
- 
- 
- 
- 
- 
- ##  18. Priority configuration
- ##
- ## Base priority for innd.  Unlike the XYZ_NICE_VALUEs below, this
- ## sets the initial prioriy.  All other children are deltas off of this value.
- ## Valid range is from -20 to 20.  Lower priorities cause more favorable 
- ## scheduling => get more cpu.
- ##
- ## Note that by default, innd children other than overview, nnrpd and
- ## innfeed get the INND_NICE_VALUE nice increment.  Any processes started
- ## by cron (expire, news.dailt, actsync, etc.) get a 0 default priority.
- #### =()<INND_SETPRIORITY		@<INND_SETPRIORITY>@>()=
- INND_SETPRIORITY		-4
- ## Nice increment for nnrpd (PATH_NNRPD and PATH_NNTPD)
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<NNRPD_NICE_VALUE		@<NNRPD_NICE_VALUE>@>()=
- NNRPD_NICE_VALUE		2
- ## Nice increment for overview channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<OVERCHAN_NICE_VALUE		@<OVERCHAN_NICE_VALUE>@>()=
- OVERCHAN_NICE_VALUE		1
- ## Name of overview program (ignoring leading directory names) for which
- ## OVERCHAN_NICE_VALUE is applied.  This is ignored if INND_NICE_KIDS is
- ## DONT
- #### =()<OVERCHAN_NICE_NAME		@<OVERCHAN_NICE_NAME>@>()=
- OVERCHAN_NICE_NAME		overchan
- ## Nice increment for innfeed channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_VALUE		@<INNFEED_NICE_VALUE>@>()=
- INNFEED_NICE_VALUE		4
- ## Leading part of the name of the innfeed channel.  I.e., apply the
- ## INNFEED_NICE_VALUE to names that start with this string (after striping
- ## off any leading directories).
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_LEADING_NAME	@<INNFEED_NICE_LEADING_NAME>@>()=
- INNFEED_NICE_LEADING_NAME	innfeed
--- 904,906 ----
diff -Nacr inn-1.7/sample-configs/config.data-sco-5.0 inn-1.7.1/sample-configs/config.data-sco-5.0
*** inn-1.7/sample-configs/config.data-sco-5.0	Wed Oct  8 19:52:04 1997
--- inn-1.7.1/sample-configs/config.data-sco-5.0	Fri Dec  5 22:42:12 1997
***************
*** 8,14 ****
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags.
  #### =()<DEFS			@<DEFS>@>()=
  DEFS			-I../include
  ##  C compiler
--- 8,14 ----
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
  DEFS			-I../include
  ##  C compiler
***************
*** 17,23 ****
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
! ##  C compiler flags add a -DUSE_DMALLOC if using the dmalloc package.
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
--- 17,23 ----
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
  USE_CHAR_CONST		DUNNO
! ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
***************
*** 32,60 ****
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you DONT have snprintf in your clibrary then set LIBSNPRINTF 
! ##  to  ``../libsnprintf.a''. i.e.
! ##
! ##             LIBSNPRINTF		../libsnprintf.a
! ##
! ##  Also see HAVE_SNPRINTF down below.
! #### =()<LIBSNPRINTF		@<LIBSNPRINTF>@>()=
! LIBSNPRINTF		../libsnprintf.a
! ##
! ## What compiler flags do you need to build the snprintf library. 
! ##
! ## On Solaris 2.5 and 2.5.1 (and maybe higher) with the Sun C compiler.
! ## you want
! ##		-Xc -Dsun -D__svr4__ -DBad_float_h
! ## with gcc
! ##		-Dsnprintf=__snprintf -Dvsnprintf=__vsnprintf
! ## is reported to work (with HAVE_SNPRINTF set to DO and LIBSNPRINT to nothing)
! ##
! #### =()<SNPRINTF_CFLAGS	@<SNPRINTF_CFLAGS>@>()=
! SNPRINTF_CFLAGS	
! ##  If you need to link in other libraries add them here.  On NetBSD and
! ##  FreeBSD, you must add the -lcrypt directive here -lutil on BSD/OS gives
! ##  you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
  LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
--- 32,40 ----
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you need to link in other libraries, add them here.
! ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
! ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
  LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
***************
*** 219,226 ****
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
  HAVE_SETPROCTITLE	DO
- ## Do you have setpriority()? Pick DO or DONT.
- HAVE_SETPRIORITY	DO
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
--- 199,204 ----
***************
*** 307,316 ****
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! ## Do you have snprintf() in your c library. Pick DO or DONT. See
! ## LIBSNPRINTF and SNPRINTF_CFLAGS above.
! #### =()<HAVE_SNPRINTF		@<HAVE_SNPRINTF>@>()=
! HAVE_SNPRINTF		DONT
  
  ##
  ##  5.  C LIBRARY OMISSIONS
--- 285,291 ----
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! 
  
  ##
  ##  5.  C LIBRARY OMISSIONS
***************
*** 332,338 ****
  ##
  ##  6.  MISCELLANEOUS CONFIG DATA
  ##
- 
  ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
  #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
  ACT_STYLE		READ
--- 307,312 ----
***************
*** 396,402 ****
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd after forking for a child.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
--- 370,376 ----
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
***************
*** 470,476 ****
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted after each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
--- 444,450 ----
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
***************
*** 487,493 ****
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  We only use FQDN's in the hosts.nntp file. Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
--- 461,467 ----
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  Tell resolver _res.options to be fast?  Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
***************
*** 545,568 ****
  ##  Some versions of Solaris should set to DONT (pre 2.4 it seems)
  #### =()<SET_SOCKOPT		@<SET_SOCKOPT>@>()=
  SET_SOCKOPT		DO
- ## Should INN reject articles that have non-RFC1036 compliant newsgroup
- ## names in them. Pick DO or DONT.
- TOSS_BOGUS_NEWSGROUPS	DO
- ##  Should INN fabricate Keywords: data for overviews?  Pick DO or DONT.
- #### =()<KEYWORDS	@<KEYWORDS>@>()=
- KEYWORDS	DONT
- ##  Byte limit on addition to an overview.  (1K is very piggish, but complete.)
- #### =()<KEYLIMIT	@<KEYLIMIT>@>()=
- KEYLIMIT	256
- ##  Articles longer than this won't be keyword-analyzed.
- #### =()<ABSURD		@<ABSURD>@>()=
- ABSURD		100000
- ##  Maximum count of interesting words.
- #### =()<MAX_WORDS	@<MAX_WORDS>@>()=
- MAX_WORDS	250
- ## Should nnrpd get ident information from the client to store in the
- ## X-Trace header. Pick DO or DONT.
- NNRPD_USE_IDENT		DONT
  
  
  ##
--- 519,524 ----
***************
*** 576,583 ****
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ## Where sendmail, or a look-alike, lives. Must have a trailing '%s' 
! ## for the recipient address.
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
  _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
--- 532,539 ----
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ##  Where sendmail, or a look-alike, lives.
! ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
  _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
***************
*** 592,598 ****
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl version 5 lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
--- 548,554 ----
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
***************
*** 628,639 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
- ##  I suggest using innmail which is installed in the _PATH_NEWSBIN
- ##  directory. UCB mail has too many security problems to be used safely.
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
--- 584,594 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
***************
*** 657,668 ****
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished. Must be on the same
! ##  partition as _PATH_SPOOLNEWS and _PATH_BADNEWS
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input. Put it on the same partition as
! ##  _PATH_SPOOLNEWS and _PATH_SPOOLTEMP.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
--- 612,621 ----
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
***************
*** 824,832 ****
  ##  Format of news overview database
  #### =()<_PATH_SCHEMA		@<_PATH_SCHEMA>@>()=
  _PATH_SCHEMA		/var/news/etc/overview.fmt
- ## Where the MOTD (message of the day) lives (for the "LIST MOTD" nnrpd
- ## command.
- _PATH_MOTD		/var/news/etc/motd.news
  
  
  ##
--- 777,782 ----
***************
*** 844,852 ****
  ##  or _PATH_OVERVIEWDIR.
  #### =()<INNWATCH_SPOOLSPACE	@<INNWATCH_SPOOLSPACE>@>()=
  INNWATCH_SPOOLSPACE	8000
- ##  Space, in df output units, at which to throttle innd on _PATH_MOST_LOGS.
- #### =()<INNWATCH_LOGSPACE	@<INNWATCH_LOGSPACE>@>()=
- INNWATCH_LOGSPACE	800
  ##  Space, in df output units, at which to throttle innd on _PATH_BATCHDIR.
  #### =()<INNWATCH_BATCHSPACE	@<INNWATCH_BATCHSPACE>@>()=
  INNWATCH_BATCHSPACE	800
--- 794,799 ----
***************
*** 916,925 ****
  ##  Home of the NEWSUSER
  #### =()<_PATH_NEWSHOME		@<_PATH_NEWSHOME>@>()=
  _PATH_NEWSHOME		/usr/news
- ##  Where local programs etc. get stored.
- #### =()<_PATH_NEWSLBIN		@<_PATH_NEWSLBIN>@>()=
- _PATH_NEWSLBIN		/usr/news/local
- 
  
  
  ##
--- 863,868 ----
***************
*** 961,1006 ****
  _PATH_PERL_FILTER_INND		/usr/news/bin/control/filter_innd.pl
  #### =()<_PATH_PERL_FILTER_NNRPD		@<_PATH_PERL_FILTER_NNRPD>@>()=
  _PATH_PERL_FILTER_NNRPD		/usr/news/bin/control/filter_nnrpd.pl
- 
- 
- 
- 
- 
- ##  18. Priority configuration
- ##
- ## Base priority for innd.  Unlike the XYZ_NICE_VALUEs below, this
- ## sets the initial prioriy.  All other children are deltas off of this value.
- ## Valid range is from -20 to 20.  Lower priorities cause more favorable 
- ## scheduling => get more cpu.
- ##
- ## Note that by default, innd children other than overview, nnrpd and
- ## innfeed get the INND_NICE_VALUE nice increment.  Any processes started
- ## by cron (expire, news.dailt, actsync, etc.) get a 0 default priority.
- #### =()<INND_SETPRIORITY		@<INND_SETPRIORITY>@>()=
- INND_SETPRIORITY		-4
- ## Nice increment for nnrpd (PATH_NNRPD and PATH_NNTPD)
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<NNRPD_NICE_VALUE		@<NNRPD_NICE_VALUE>@>()=
- NNRPD_NICE_VALUE		2
- ## Nice increment for overview channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<OVERCHAN_NICE_VALUE		@<OVERCHAN_NICE_VALUE>@>()=
- OVERCHAN_NICE_VALUE		1
- ## Name of overview program (ignoring leading directory names) for which
- ## OVERCHAN_NICE_VALUE is applied.  This is ignored if INND_NICE_KIDS is
- ## DONT
- #### =()<OVERCHAN_NICE_NAME		@<OVERCHAN_NICE_NAME>@>()=
- OVERCHAN_NICE_NAME		overchan
- ## Nice increment for innfeed channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_VALUE		@<INNFEED_NICE_VALUE>@>()=
- INNFEED_NICE_VALUE		4
- ## Leading part of the name of the innfeed channel.  I.e., apply the
- ## INNFEED_NICE_VALUE to names that start with this string (after striping
- ## off any leading directories).
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_LEADING_NAME	@<INNFEED_NICE_LEADING_NAME>@>()=
- INNFEED_NICE_LEADING_NAME	innfeed
--- 904,906 ----
diff -Nacr inn-1.7/sample-configs/config.data-solaris2.3-4 inn-1.7.1/sample-configs/config.data-solaris2.3-4
*** inn-1.7/sample-configs/config.data-solaris2.3-4	Tue Oct  7 15:18:17 1997
--- inn-1.7.1/sample-configs/config.data-solaris2.3-4	Fri Dec  5 22:42:12 1997
***************
*** 10,25 ****
  P			
  ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
! DEFS			-I../include -DSUNOS5
  ##  C compiler
  #### =()<CC			@<CC>@>()=
  CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -O
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
--- 10,25 ----
  P			
  ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
! DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
  CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DUNNO
  ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
! CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
  DBZCFLAGS			$(CFLAGS)
***************
*** 28,34 ****
  PROF			-pg
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			-g
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
--- 28,34 ----
  PROF			-pg
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
***************
*** 36,48 ****
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lnsl -lsocket -lelf -lresolv
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -h $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
--- 36,48 ----
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
  ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
  #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
! LINTFLAGS		-b -h -z $(DEFS)
  ##  Some lints insist on putting out the filename and other crap.
  ##  Possible values:
  ##	LINTFILTER              | sed -n -f ../sedf.aix
***************
*** 51,57 ****
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		| sed -n -f ../sedf.sysv
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
--- 51,57 ----
  ##	LINTFILTER              | sed -n -f ../sedf.sysv
  ##	LINTFILTER              
  ####  =()<LINTFILTER		@<LINTFILTER>@>()=
! LINTFILTER		| sed -n -f ../sedf.sun
  ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO,
  ##  BSD4.4 or NONE.
  #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
***************
*** 67,73 ****
  MAN8			/usr/news/man/man8
  ##  Ranlib command.  Use echo if you don't need ranlib.
  #### =()<RANLIB			@<RANLIB>@>()=
! RANLIB			echo
  ##  YACC (yet another config control?)
  #### =()<YACC			@<YACC>@>()=
  YACC			yacc
--- 67,73 ----
  MAN8			/usr/news/man/man8
  ##  Ranlib command.  Use echo if you don't need ranlib.
  #### =()<RANLIB			@<RANLIB>@>()=
! RANLIB			ranlib
  ##  YACC (yet another config control?)
  #### =()<YACC			@<YACC>@>()=
  YACC			yacc
***************
*** 163,175 ****
  POINTER			void
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
! ALIGNPTR		long
  ##  What should a signal handler return?  Usually int or void.
  #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			int
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
--- 163,175 ----
  POINTER			void
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
! ALIGNPTR		int
  ##  What should a signal handler return?  Usually int or void.
  #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
  SIGHANDLER		void
  ##  Type of variables can be modified in a signal handler? sig_atomic_t
  #### =()<SIGVAR			@<SIGVAR>@>()=
! SIGVAR			sig_atomic_t
  ##  Function that returns no value, and a pointer to it.  Pick int or void
  #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
  FUNCTYPE		void
***************
*** 185,191 ****
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		LOCKF
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
--- 185,191 ----
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FCNTL
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
***************
*** 198,204 ****
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
! HAVE_SETPROCTITLE	DONT
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
--- 198,204 ----
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
! HAVE_SETPROCTITLE	DO
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
***************
*** 207,213 ****
  HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DONT
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
  HAVE_ST_BLKSIZE		DO
--- 207,213 ----
  HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DO
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
  HAVE_ST_BLKSIZE		DO
***************
*** 234,250 ****
  BIND_USE_SIZEOF		DO
  ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
! CLX_STYLE		FCNTL
  ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
  #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
  NBIO_STYLE		FCNTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
! RES_STYLE		TIMES
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		SYSCONF
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
--- 234,250 ----
  BIND_USE_SIZEOF		DO
  ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
! CLX_STYLE		IOCTL
  ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
  #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
  NBIO_STYLE		FCNTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
! RES_STYLE		RUSAGE
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETRLIMIT
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
***************
*** 262,274 ****
  ABORTVAL		void
  ##  What's the return type of alarm?  Usually int or unsigned int.
  #### =()<ALARMVAL		@<ALARMVAL>@>()=
! ALARMVAL		unsigned
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
  GETPIDVAL		pid_t
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
! SLEEPVAL		unsigned
  ##  What's the return type of  qsort?  Usually int or void.
  #### =()<QSORTVAL		@<QSORTVAL>@>()=
  QSORTVAL		void
--- 262,274 ----
  ABORTVAL		void
  ##  What's the return type of alarm?  Usually int or unsigned int.
  #### =()<ALARMVAL		@<ALARMVAL>@>()=
! ALARMVAL		unsigned int
  ##  What's the return type of getpid?  Usually int or unsigned int.
  #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
  GETPIDVAL		pid_t
  ##  What's the return type of sleep?  Usually int or unsigned int.
  #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
! SLEEPVAL		unsigned int
  ##  What's the return type of  qsort?  Usually int or void.
  #### =()<QSORTVAL		@<QSORTVAL>@>()=
  QSORTVAL		void
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,547 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/lib/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/bin/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
  _PATH_COMPRESSEXT	.Z
--- 535,547 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
  ##  Where the compress program lives.
  #### =()<_PATH_COMPRESS		@<_PATH_COMPRESS>@>()=
! _PATH_COMPRESS		/usr/bin/compress
  ##  What extension your compress appends
  #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
  _PATH_COMPRESSEXT	.Z
***************
*** 550,562 ****
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
--- 550,562 ----
  _PATH_EGREP		/usr/bin/egrep
  ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
! _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
  #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
! _PATH_AWK		/usr/bin/awk
  ##  Where sed lives (you might need the FSF one)
  #### =()<_PATH_SED		@<_PATH_SED>@>()=
! _PATH_SED		/usr/bin/sed
  ##  Where sort lives (you may want the FSF one).
  #### =()<_PATH_SORT		@<_PATH_SORT>@>()=
  _PATH_SORT		/usr/bin/sort
***************
*** 584,595 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
--- 584,596 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
diff -Nacr inn-1.7/sample-configs/config.data-solaris2.5 inn-1.7.1/sample-configs/config.data-solaris2.5
*** inn-1.7/sample-configs/config.data-solaris2.5	Wed Oct  8 19:52:04 1997
--- inn-1.7.1/sample-configs/config.data-solaris2.5	Fri Dec  5 22:42:12 1997
***************
*** 8,62 ****
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags.
  #### =()<DEFS			@<DEFS>@>()=
! DEFS			-I../include
  ##  C compiler
  #### =()<CC			@<CC>@>()=
  CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DUNNO
! ##  C compiler flags add a -DUSE_DMALLOC if using the dmalloc package.
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
! DBZCFLAGS			$(CFLAGS)
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
  PROF			-pg
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you DONT have snprintf in your clibrary then set LIBSNPRINTF 
! ##  to  ``../libsnprintf.a''. i.e.
! ##
! ##             LIBSNPRINTF		../libsnprintf.a
! ##
! ##  Also see HAVE_SNPRINTF down below.
! #### =()<LIBSNPRINTF		@<LIBSNPRINTF>@>()=
! LIBSNPRINTF		
! ##
! ## What compiler flags do you need to build the snprintf library. 
! ##
! ## On Solaris 2.5 and 2.5.1 (and maybe higher) with the Sun C compiler.
! ## you want
! ##		-Xc -Dsun -D__svr4__ -DBad_float_h
! ## with gcc
! ##		-Dsnprintf=__snprintf -Dvsnprintf=__vsnprintf
! ## is reported to work (with HAVE_SNPRINTF set to DO and LIBSNPRINT to nothing)
! ##
! #### =()<SNPRINTF_CFLAGS	@<SNPRINTF_CFLAGS>@>()=
! SNPRINTF_CFLAGS		-Dsnprintf=__snprintf -Dvsnprintf=__vsnprintf
! ##  If you need to link in other libraries add them here.  On NetBSD and
! ##  FreeBSD, you must add the -lcrypt directive here -lutil on BSD/OS gives
! ##  you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lutil
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
--- 8,42 ----
  ##  If you have a parallel make, set this to "&"
  #### =()<P			@<P>@>()=
  P			
! ##  C pre-processor flags
  #### =()<DEFS			@<DEFS>@>()=
! DEFS			-I../include -DSUNOS5 -DPOLL_BUG
  ##  C compiler
  #### =()<CC			@<CC>@>()=
  CC			gcc
  ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
  #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
! USE_CHAR_CONST		DO
! ##  C compiler flags
  #### =()<CFLAGS			@<CFLAGS>@>()=
  CFLAGS			$(DEFS) -g
  ##  C compiler flags to use when compiling dbz
  #### =()<DBZCFLAGS			@<DBZCFLAGS>@>()=
! DBZCFLAGS			$(CFLAGS) -DMMAP
  ##  What flags to use if profiling; -p or -pg, e.g.
  #### =()<PROF			@<PROF>@>()=
  PROF			-pg
  ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
  #### =()<LDFLAGS			@<LDFLAGS>@>()=
! LDFLAGS			-g
  ##  If you use the standard NNTP way of connecting, where is the library?
  #### =()<NNTPLIB		@<NNTPLIB>@>()=
  NNTPLIB		
! ##  If you need to link in other libraries, add them here.
! ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
! ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lnsl -lsocket -lelf -lresolv
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
***************
*** 183,189 ****
  POINTER			void
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
! ALIGNPTR		int
  ##  What should a signal handler return?  Usually int or void.
  #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
  SIGHANDLER		void
--- 163,169 ----
  POINTER			void
  ##  Worst-case alignment, in order to shut lint up
  #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
! ALIGNPTR		long
  ##  What should a signal handler return?  Usually int or void.
  #### =()<SIGHANDLER		@<SIGHANDLER>@>()=
  SIGHANDLER		void
***************
*** 205,211 ****
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		FCNTL
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
--- 185,191 ----
  ##  Use flock, lockf, or nothing to lock files?
  ##  Pick FLOCK, LOCKF, FCNTL, or NONE
  #### =()<LOCK_STYLE		@<LOCK_STYLE>@>()=
! LOCK_STYLE		LOCKF
  ##  Do you have <unistd.h>?  Pick DO or DONT
  #### =()<HAVE_UNISTD		@<HAVE_UNISTD>@>()=
  HAVE_UNISTD		DO
***************
*** 218,226 ****
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
! HAVE_SETPROCTITLE	DO
! ## Do you have setpriority()? Pick DO or DONT.
! HAVE_SETPRIORITY	DO
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
--- 198,204 ----
  ##  Do you have setproctitle()?  Pick DO or DONT.
  ##  You may need to adjust LIBS for this.
  #### =()<HAVE_SETPROCTITLE	@<HAVE_SETPROCTITLE>@>()=
! HAVE_SETPROCTITLE	DONT
  ##  Do you have fchmod?  Pick DO or DONT.
  #### =()<HAVE_FCHMOD		@<HAVE_FCHMOD>@>()=
  HAVE_FCHMOD		DO
***************
*** 229,235 ****
  HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DO
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
  HAVE_ST_BLKSIZE		DO
--- 207,213 ----
  HAVE_SETSID		DO
  ##  Does your (struct tm) have a tm_gmtoff field?  Pick DO or DONT.
  #### =()<HAVE_TM_GMTOFF		@<HAVE_TM_GMTOFF>@>()=
! HAVE_TM_GMTOFF		DONT
  ##  Does your (struct stat) have a st_blksize field?  Pick DO or DONT.
  #### =()<HAVE_ST_BLKSIZE		@<HAVE_ST_BLKSIZE>@>()=
  HAVE_ST_BLKSIZE		DO
***************
*** 256,276 ****
  BIND_USE_SIZEOF		DO
  ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
! CLX_STYLE		IOCTL
  ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
  #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
  NBIO_STYLE		FCNTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
! RES_STYLE		RUSAGE
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		GETRLIMIT
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
! NOFILE_LIMIT		-1
  ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
  #### =()<NEED_TIME		@<NEED_TIME>@>()=
  NEED_TIME		DONT
--- 234,254 ----
  BIND_USE_SIZEOF		DO
  ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
! CLX_STYLE		FCNTL
  ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
  #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
  NBIO_STYLE		FCNTL
  ##  How should resource-totalling be done?  Pick RUSAGE or TIMES
  #### =()<RES_STYLE		@<RES_STYLE>@>()=
! RES_STYLE		TIMES
  ##  How to get number of available descriptors?
  ##  Pick GETDTAB, GETRLIMIT, SYSCONF, ULIMIT, or CONSTANT.
  ####  =()<FDCOUNT_STYLE		@<FDCOUNT_STYLE>@>()=
! FDCOUNT_STYLE		SYSCONF
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
! NOFILE_LIMIT		1024
  ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
  #### =()<NEED_TIME		@<NEED_TIME>@>()=
  NEED_TIME		DONT
***************
*** 307,316 ****
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! ## Do you have snprintf() in your c library. Pick DO or DONT. See
! ## LIBSNPRINTF and SNPRINTF_CFLAGS above.
! #### =()<HAVE_SNPRINTF		@<HAVE_SNPRINTF>@>()=
! HAVE_SNPRINTF		DO
  
  ##
  ##  5.  C LIBRARY OMISSIONS
--- 285,291 ----
  ##  What's the return type of _exit?  Usually int or void.
  #### =()<_EXITVAL		@<_EXITVAL>@>()=
  _EXITVAL		void
! 
  
  ##
  ##  5.  C LIBRARY OMISSIONS
***************
*** 332,341 ****
  ##
  ##  6.  MISCELLANEOUS CONFIG DATA
  ##
- 
  ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
  #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
! ACT_STYLE		READ
  ##  Do you want mail notifications of bad control messages. DO or DONT
  ##  Setting it to do results in a lot of mail with the number of spammers
  ##  out there.
--- 307,315 ----
  ##
  ##  6.  MISCELLANEOUS CONFIG DATA
  ##
  ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
  #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
! ACT_STYLE		MMAP
  ##  Do you want mail notifications of bad control messages. DO or DONT
  ##  Setting it to do results in a lot of mail with the number of spammers
  ##  out there.
***************
*** 396,402 ****
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd after forking for a child.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
--- 370,376 ----
  ##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
  #### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
  INND_NICE_KIDS		DO
! ##  Value for nice(2) call in innd.
  #### =()<INND_NICE_VALUE		@<INND_NICE_VALUE>@>()=
  INND_NICE_VALUE		4
  ##  Null-terminated list of unknown commands to not log to syslog.
***************
*** 470,476 ****
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted after each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
--- 444,450 ----
  NNRP_AUTH_SENDER	DO
  ##  Do you want to make life easy for peers to pull feeds from you (it's
  ##  harder on your machine). Pick DO or DONT. With DONT, you get a small
! ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
  LIKE_PULLERS		DO
***************
*** 487,493 ****
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  We only use FQDN's in the hosts.nntp file. Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
--- 461,467 ----
  ##  How many article-writes between active and history updates?
  #### =()<ICD_SYNC_COUNT		@<ICD_SYNC_COUNT>@>()=
  ICD_SYNC_COUNT		10
! ##  Tell resolver _res.options to be fast?  Pick DO or DONT.
  #### =()<FAST_RESOLV		@<FAST_RESOLV>@>()=
  FAST_RESOLV		DONT
  ##  Drop articles that were posted this many days ago.
***************
*** 545,568 ****
  ##  Some versions of Solaris should set to DONT (pre 2.4 it seems)
  #### =()<SET_SOCKOPT		@<SET_SOCKOPT>@>()=
  SET_SOCKOPT		DO
- ## Should INN reject articles that have non-RFC1036 compliant newsgroup
- ## names in them. Pick DO or DONT.
- TOSS_BOGUS_NEWSGROUPS	DO
- ##  Should INN fabricate Keywords: data for overviews?  Pick DO or DONT.
- #### =()<KEYWORDS	@<KEYWORDS>@>()=
- KEYWORDS	DONT
- ##  Byte limit on addition to an overview.  (1K is very piggish, but complete.)
- #### =()<KEYLIMIT	@<KEYLIMIT>@>()=
- KEYLIMIT	256
- ##  Articles longer than this won't be keyword-analyzed.
- #### =()<ABSURD		@<ABSURD>@>()=
- ABSURD		100000
- ##  Maximum count of interesting words.
- #### =()<MAX_WORDS	@<MAX_WORDS>@>()=
- MAX_WORDS	250
- ## Should nnrpd get ident information from the client to store in the
- ## X-Trace header. Pick DO or DONT.
- NNRPD_USE_IDENT		DONT
  
  
  ##
--- 519,524 ----
***************
*** 576,585 ****
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ## Where sendmail, or a look-alike, lives. Must have a trailing '%s' 
! ## for the recipient address.
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/sbin/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
--- 532,541 ----
  ##  Where news boot-up script should be installed.
  #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
  _PATH_NEWSBOOT		/usr/news/bin/rc.news
! ##  Where sendmail, or a look-alike, lives.
! ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/lib/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
***************
*** 592,598 ****
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl version 5 lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
--- 548,554 ----
  ##  Where egrep lives (you might need the FSF one; see scanlogs)
  #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
  _PATH_EGREP		/usr/bin/egrep
! ##  Where perl lives
  #### =()<_PATH_PERL		@<_PATH_PERL>@>()=
  _PATH_PERL		/usr/bin/perl5
  ##  Where awk lives
***************
*** 628,639 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
- ##  I suggest using innmail which is installed in the _PATH_NEWSBIN
- ##  directory. UCB mail has too many security problems to be used safely.
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
--- 584,594 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
  _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
***************
*** 641,647 ****
  _PATH_LOCKS		/var/news/locks
  ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
  #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
! _PATH_GZIP		/usr/contrib/bin/gzip
  
  ##
  ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
--- 596,602 ----
  _PATH_LOCKS		/var/news/locks
  ##  Where your GNU gzip binary is (for rnews to run on gzipped batches).
  #### =()<_PATH_GZIP		@<_PATH_GZIP>@>()=
! _PATH_GZIP		/usr/local/bin/gzip
  
  ##
  ##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
***************
*** 657,668 ****
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished. Must be on the same
! ##  partition as _PATH_SPOOLNEWS and _PATH_BADNEWS
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input. Put it on the same partition as
! ##  _PATH_SPOOLNEWS and _PATH_SPOOLTEMP.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
--- 612,621 ----
  ##  Where rnews spools its input.
  #### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
! ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
  _PATH_SPOOLTEMP		/var/news/spool/tmp
! ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
  ##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
***************
*** 824,832 ****
  ##  Format of news overview database
  #### =()<_PATH_SCHEMA		@<_PATH_SCHEMA>@>()=
  _PATH_SCHEMA		/var/news/etc/overview.fmt
- ## Where the MOTD (message of the day) lives (for the "LIST MOTD" nnrpd
- ## command.
- _PATH_MOTD		/var/news/etc/motd.news
  
  
  ##
--- 777,782 ----
***************
*** 844,852 ****
  ##  or _PATH_OVERVIEWDIR.
  #### =()<INNWATCH_SPOOLSPACE	@<INNWATCH_SPOOLSPACE>@>()=
  INNWATCH_SPOOLSPACE	8000
- ##  Space, in df output units, at which to throttle innd on _PATH_MOST_LOGS.
- #### =()<INNWATCH_LOGSPACE	@<INNWATCH_LOGSPACE>@>()=
- INNWATCH_LOGSPACE	800
  ##  Space, in df output units, at which to throttle innd on _PATH_BATCHDIR.
  #### =()<INNWATCH_BATCHSPACE	@<INNWATCH_BATCHSPACE>@>()=
  INNWATCH_BATCHSPACE	800
--- 794,799 ----
***************
*** 862,872 ****
  ##  How inn (not just innwatch anymore) gets disk space usage 
  ##  (SVR4 machine would probably use /usr/ucb/df)
  #### =()<INNWATCH_DF		@<INNWATCH_DF>@>()=
! INNWATCH_DF		/bin/df
  ##  Field number of INNWATCH_DF (with -i) output that gives free
  ##  inodes (starting at 1).
  #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
! INNWATCH_INODES		7
  ##  Field number of INNWATCH_DF output that gives the free block count.
  ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
  INNWATCH_BLOCKS		4
--- 809,819 ----
  ##  How inn (not just innwatch anymore) gets disk space usage 
  ##  (SVR4 machine would probably use /usr/ucb/df)
  #### =()<INNWATCH_DF		@<INNWATCH_DF>@>()=
! INNWATCH_DF		/usr/ucb/df
  ##  Field number of INNWATCH_DF (with -i) output that gives free
  ##  inodes (starting at 1).
  #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
! INNWATCH_INODES		3
  ##  Field number of INNWATCH_DF output that gives the free block count.
  ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
  INNWATCH_BLOCKS		4
***************
*** 916,925 ****
  ##  Home of the NEWSUSER
  #### =()<_PATH_NEWSHOME		@<_PATH_NEWSHOME>@>()=
  _PATH_NEWSHOME		/usr/news
- ##  Where local programs etc. get stored.
- #### =()<_PATH_NEWSLBIN		@<_PATH_NEWSLBIN>@>()=
- _PATH_NEWSLBIN		/usr/news/local
- 
  
  
  ##
--- 863,868 ----
***************
*** 961,1006 ****
  _PATH_PERL_FILTER_INND		/usr/news/bin/control/filter_innd.pl
  #### =()<_PATH_PERL_FILTER_NNRPD		@<_PATH_PERL_FILTER_NNRPD>@>()=
  _PATH_PERL_FILTER_NNRPD		/usr/news/bin/control/filter_nnrpd.pl
- 
- 
- 
- 
- 
- ##  18. Priority configuration
- ##
- ## Base priority for innd.  Unlike the XYZ_NICE_VALUEs below, this
- ## sets the initial prioriy.  All other children are deltas off of this value.
- ## Valid range is from -20 to 20.  Lower priorities cause more favorable 
- ## scheduling => get more cpu.
- ##
- ## Note that by default, innd children other than overview, nnrpd and
- ## innfeed get the INND_NICE_VALUE nice increment.  Any processes started
- ## by cron (expire, news.dailt, actsync, etc.) get a 0 default priority.
- #### =()<INND_SETPRIORITY		@<INND_SETPRIORITY>@>()=
- INND_SETPRIORITY		-4
- ## Nice increment for nnrpd (PATH_NNRPD and PATH_NNTPD)
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<NNRPD_NICE_VALUE		@<NNRPD_NICE_VALUE>@>()=
- NNRPD_NICE_VALUE		2
- ## Nice increment for overview channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<OVERCHAN_NICE_VALUE		@<OVERCHAN_NICE_VALUE>@>()=
- OVERCHAN_NICE_VALUE		1
- ## Name of overview program (ignoring leading directory names) for which
- ## OVERCHAN_NICE_VALUE is applied.  This is ignored if INND_NICE_KIDS is
- ## DONT
- #### =()<OVERCHAN_NICE_NAME		@<OVERCHAN_NICE_NAME>@>()=
- OVERCHAN_NICE_NAME		overchan
- ## Nice increment for innfeed channel.
- ## Unlike INND_SETPRIORITY, >0 values ==> lower cpu priorty ==> get less cpu
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_VALUE		@<INNFEED_NICE_VALUE>@>()=
- INNFEED_NICE_VALUE		4
- ## Leading part of the name of the innfeed channel.  I.e., apply the
- ## INNFEED_NICE_VALUE to names that start with this string (after striping
- ## off any leading directories).
- ## This is ignored if INND_NICE_KIDS is DONT
- #### =()<INNFEED_NICE_LEADING_NAME	@<INNFEED_NICE_LEADING_NAME>@>()=
- INNFEED_NICE_LEADING_NAME	innfeed
--- 904,906 ----
diff -Nacr inn-1.7/sample-configs/config.data-sunos-4.1.x inn-1.7.1/sample-configs/config.data-sunos-4.1.x
*** inn-1.7/sample-configs/config.data-sunos-4.1.x	Tue Oct  7 15:18:17 1997
--- inn-1.7.1/sample-configs/config.data-sunos-4.1.x	Fri Dec  5 22:42:12 1997
***************
*** 219,228 ****
  USE_UNION_WAIT		DONT
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
! FORK			fork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
! HAVE_VFORK		DONT
  ##  Do you have symbolic links?  Pick DO or DONT.
  #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
  HAVE_SYMLINK		DO
--- 219,228 ----
  USE_UNION_WAIT		DONT
  ##  How to fork?  Pick fork or vfork.
  #### =()<FORK			@<FORK>@>()=
! FORK			vfork
  ##  Do you have <vfork.h>?  Pick DO or DONT.
  #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
! HAVE_VFORK		DO
  ##  Do you have symbolic links?  Pick DO or DONT.
  #### =()<HAVE_SYMLINK		@<HAVE_SYMLINK>@>()=
  HAVE_SYMLINK		DO
***************
*** 231,237 ****
  HAVE_UNIX_DOMAIN	DO
  ##  Does your AF_UNIX bind use sizeof for the socket size?  Pick DO or DONT.
  #### =()<BIND_USE_SIZEOF		@<BIND_USE_SIZEOF>@>()=
! BIND_USE_SIZEOF		DO
  ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
  CLX_STYLE		IOCTL
--- 231,237 ----
  HAVE_UNIX_DOMAIN	DO
  ##  Does your AF_UNIX bind use sizeof for the socket size?  Pick DO or DONT.
  #### =()<BIND_USE_SIZEOF		@<BIND_USE_SIZEOF>@>()=
! BIND_USE_SIZEOF		DONT
  ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
  #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
  CLX_STYLE		IOCTL
***************
*** 248,254 ****
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
! NOFILE_LIMIT		126
  ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
  #### =()<NEED_TIME		@<NEED_TIME>@>()=
  NEED_TIME		DONT
--- 248,254 ----
  ##  If greater than -1, then use [gs]etrlimit to set that many descriptors.
  ##  If -1, then no [gs]etrlimit calls are done.
  #### =()<NOFILE_LIMIT		@<NOFILE_LIMIT>@>()=
! NOFILE_LIMIT		-1
  ##  Do you need <time.h> as well as <sys/time.h>?  Pick DO or DONT.
  #### =()<NEED_TIME		@<NEED_TIME>@>()=
  NEED_TIME		DONT
***************
*** 259,265 ****
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
  #### =()<ABORTVAL		@<ABORTVAL>@>()=
! ABORTVAL		int
  ##  What's the return type of alarm?  Usually int or unsigned int.
  #### =()<ALARMVAL		@<ALARMVAL>@>()=
  ALARMVAL		unsigned int
--- 259,265 ----
  #CTYPE			isXXXXX((c))
  ##  What's the return type of abort?  Usually int or void.
  #### =()<ABORTVAL		@<ABORTVAL>@>()=
! ABORTVAL		void
  ##  What's the return type of alarm?  Usually int or unsigned int.
  #### =()<ALARMVAL		@<ALARMVAL>@>()=
  ALARMVAL		unsigned int
***************
*** 277,283 ****
  LSEEKVAL		off_t
  ##  What's the return type of free?  Usually int or void.
  #### =()<FREEVAL			@<FREEVAL>@>()=
! FREEVAL			int
  ##  What's the return type of exit?  Usually int or void.
  ##  (For gcc (not pedantic ANSI) use "volatile void" in EXITVAL and _EXITVAL.)
  #### =()<EXITVAL			@<EXITVAL>@>()=
--- 277,283 ----
  LSEEKVAL		off_t
  ##  What's the return type of free?  Usually int or void.
  #### =()<FREEVAL			@<FREEVAL>@>()=
! FREEVAL			void
  ##  What's the return type of exit?  Usually int or void.
  ##  (For gcc (not pedantic ANSI) use "volatile void" in EXITVAL and _EXITVAL.)
  #### =()<EXITVAL			@<EXITVAL>@>()=
***************
*** 299,307 ****
  #### =()<MISSING_MAN		@<MISSING_MAN>@>()=
  MISSING_MAN		
  #### =()<MISSING_SRC		@<MISSING_SRC>@>()=
! MISSING_SRC		strerror.c mktemp.c memmove.c
  #### =()<MISSING_OBJ		@<MISSING_OBJ>@>()=
! MISSING_OBJ		strerror.o mktemp.o memmove.o
  
  
  ##
--- 299,307 ----
  #### =()<MISSING_MAN		@<MISSING_MAN>@>()=
  MISSING_MAN		
  #### =()<MISSING_SRC		@<MISSING_SRC>@>()=
! MISSING_SRC		strerror.c memmove.c
  #### =()<MISSING_OBJ		@<MISSING_OBJ>@>()=
! MISSING_OBJ		strerror.o memmove.o
  
  
  ##
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,541 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/lib/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
--- 535,541 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/lib/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
***************
*** 584,595 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
--- 584,596 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
***************
*** 812,818 ****
  ##  Field number of INNWATCH_DF (with -i) output that gives free
  ##  inodes (starting at 1).
  #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
! INNWATCH_INODES		7
  ##  Field number of INNWATCH_DF output that gives the free block count.
  ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
  INNWATCH_BLOCKS		4
--- 813,819 ----
  ##  Field number of INNWATCH_DF (with -i) output that gives free
  ##  inodes (starting at 1).
  #### =()<INNWATCH_INODES		@<INNWATCH_INODES>@>()=
! INNWATCH_INODES		3
  ##  Field number of INNWATCH_DF output that gives the free block count.
  ##### =()<INNWATCH_BLOCKS		@<INNWATCH_BLOCKS>@>()=
  INNWATCH_BLOCKS		4
diff -Nacr inn-1.7/sample-configs/config.data-ultrix4.3 inn-1.7.1/sample-configs/config.data-ultrix4.3
*** inn-1.7/sample-configs/config.data-ultrix4.3	Tue Oct  7 15:18:17 1997
--- inn-1.7.1/sample-configs/config.data-ultrix4.3	Fri Dec  5 22:42:12 1997
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,541 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/lib/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
--- 535,541 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/lib/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
***************
*** 584,595 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
--- 584,596 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
diff -Nacr inn-1.7/sample-configs/config.data-ux4800 inn-1.7.1/sample-configs/config.data-ux4800
*** inn-1.7/sample-configs/config.data-ux4800	Tue Oct  7 15:18:17 1997
--- inn-1.7.1/sample-configs/config.data-ux4800	Fri Dec  5 22:42:12 1997
***************
*** 36,42 ****
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lelf -lnsl -lsocket
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
--- 36,42 ----
  ##  On NetBSD and FreeBSD, you must add the -lcrypt directive here
  ##  -lutil on BSD/OS gives you setproctitle() see HAVE_SETPROCTITLE.
  #### =()<LIBS			@<LIBS>@>()=
! LIBS			-lelf -lsocket -lnsl
  ##  How to make a lint library; pick BSD, SYSV, or NONE.
  #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
  LINTLIBSTYLE		NONE
***************
*** 191,197 ****
  HAVE_UNISTD		DO
  ##  Do you have setbuffer?  Pick DO or DONT.
  #### =()<HAVE_SETBUFFER		@<HAVE_SETBUFFER>@>()=
! HAVE_SETBUFFER		DO
  ##  Do you have gettimeofday?  Pick DO or DONT.
  #### =()<HAVE_GETTIMEOFDAY	@<HAVE_GETTIMEOFDAY>@>()=
  HAVE_GETTIMEOFDAY	DO
--- 191,197 ----
  HAVE_UNISTD		DO
  ##  Do you have setbuffer?  Pick DO or DONT.
  #### =()<HAVE_SETBUFFER		@<HAVE_SETBUFFER>@>()=
! HAVE_SETBUFFER		DONT
  ##  Do you have gettimeofday?  Pick DO or DONT.
  #### =()<HAVE_GETTIMEOFDAY	@<HAVE_GETTIMEOFDAY>@>()=
  HAVE_GETTIMEOFDAY	DO
***************
*** 309,315 ****
  ##
  ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
  #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
! ACT_STYLE		READ
  ##  Do you want mail notifications of bad control messages. DO or DONT
  ##  Setting it to do results in a lot of mail with the number of spammers
  ##  out there.
--- 309,315 ----
  ##
  ##  Use read/write to update the active file, or mmap?  Pick READ or MMAP.
  #### =()<ACT_STYLE		@<ACT_STYLE>@>()=
! ACT_STYLE		MMAP
  ##  Do you want mail notifications of bad control messages. DO or DONT
  ##  Setting it to do results in a lot of mail with the number of spammers
  ##  out there.
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,541 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/ucblib/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/sbin/sh
--- 535,541 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/ucblib/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/sbin/sh
***************
*** 584,595 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
--- 584,596 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
diff -Nacr inn-1.7/sample-configs/config.data-uxpds inn-1.7.1/sample-configs/config.data-uxpds
*** inn-1.7/sample-configs/config.data-uxpds	Tue Oct  7 15:18:17 1997
--- inn-1.7.1/sample-configs/config.data-uxpds	Fri Dec  5 22:42:12 1997
***************
*** 447,453 ****
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DONT
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
--- 447,453 ----
  ##  sleep inserted before each ARTICLE command is processed. (With
  ##  apologies to the Australians in the audience).
  #### =()<LIKE_PULLERS		@<LIKE_PULLERS>@>()=
! LIKE_PULLERS		DO
  ##  Allow the NEWNEWS NNTP command?   Pick DO or DONT.
  ##  (RFC 977 says you should; your server performance may not agree...)
  #### =()<ALLOW_NEWNEWS		@<ALLOW_NEWNEWS>@>()=
***************
*** 535,541 ****
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/ucblib/sendmail -t
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
--- 535,541 ----
  ##  Where sendmail, or a look-alike, lives.
  ##  The -t is optional and says to read message for recipients
  #### =()<_PATH_SENDMAIL		@<_PATH_SENDMAIL>@>()=
! _PATH_SENDMAIL		/usr/ucblib/sendmail -oi %s
  ##  Where the shell is.
  #### =()<_PATH_SH		@<_PATH_SH>@>()=
  _PATH_SH		/bin/sh
***************
*** 584,595 ****
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/bin/Mail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
--- 584,596 ----
  ##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
  #### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
  _PATH_NEWSBIN		/usr/news/bin
! ##  Where temporary files live on the server. Probably shouldn't be world
! ##  writable.
  #### =()<_PATH_TMP		@<_PATH_TMP>@>()=
  _PATH_TMP		/var/tmp
  ##  Command to send mail (with -s "subject" allowed)
  #### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
! _PATH_MAILCMD		/usr/news/bin/innmail
  ##  Where scripts should have shlock create locks.
  #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
  _PATH_LOCKS		/var/news/locks
***************
*** 613,619 ****
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
--- 614,620 ----
  _PATH_SPOOLNEWS		/var/news/spool/in.coming
  ##  Where rnews creates temporary files until finished
  #### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
! _PATH_SPOOLTEMP		/var/news/spool/tmp
  ##  Where rnews puts bad input.
  #### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
  _PATH_BADNEWS		/var/news/spool/in.coming/bad
diff -Nacr inn-1.7/samples/innmail inn-1.7.1/samples/innmail
*** inn-1.7/samples/innmail	Thu Jan  1 00:00:00 1970
--- inn-1.7.1/samples/innmail	Fri Dec  5 22:42:12 1997
***************
*** 0 ****
--- 1,61 ----
+ #!/usr/bin/perl5
+ # 
+ # Author:       James Brister <brister@vix.com> -- berkeley-unix --
+ # Start Date:   Fri, 25 Apr 1997 14:11:23 +0200
+ # Project:      INN
+ # File:         innmail.pl
+ # RCSId:        $Id: innmail,v 1.2 1997/07/23 14:13:28 brister Exp $
+ # Description:  A simple replacement for UCB Mail to avoid nasty security
+ #		problems. 
+ # 
+ 
+ $0 =~ s!.*/!! ;
+ 
+ require 5.001 ;
+ require 'getopts.pl' ;
+ 
+ # =()<require "@<_PATH_PERL_SHELLVARS>@" ;>()=
+ require "/var/news/etc/innshellvars.pl" ;
+ 
+ $sm = $inn::sendmail ;
+ 
+ die "Sendmail path is not absolute\n" unless ($sm =~ m!^/!) ;
+ 
+ $usage = "usage: $0 -s subject addresses\n\n" .
+     "Reads stdin for message body\n" ;
+ 
+ &Getopts ("s:h") || die $usage ;
+ 
+ die $usage if $opt_h ;
+ 
+ if ( !$opt_s ) {
+     warn "No subject given. Hope that's ok\n" ;
+     $opt_s = "NO SUBJECT" ;
+ }
+ 
+ # fix up any addresses.
+ foreach ( @ARGV ) {
+     s![^-a-zA-Z0-9+_.@%]!!g ;
+ 
+     push (@addrs,$_) if ($_ ne "") ;
+ }
+ 
+ die "No addresses specified\n\n$usage" unless @addrs ;
+ 
+ 
+ # startup sendmail without using the shell
+ $pid = open (SENDMAIL,"|-") ;
+ if ($pid == 0) {
+     exec ($sm,@addrs) || die "exec of $sm failed: $!\n" ;
+ } elsif ($pid < 0) {
+     die "Fork failed: $!\n" ;
+ }
+ 
+ print SENDMAIL "To:\t", join (",\n\t",@addrs), "\n" ;
+ print SENDMAIL "Subject: $opt_s\n" ;
+ print SENDMAIL "\n" ;
+ while (<STDIN>) {
+     print SENDMAIL $_ ;
+ }
+ close (SENDMAIL) ;
+ exit ;
diff -Nacr inn-1.7/samples/parsecontrol inn-1.7.1/samples/parsecontrol
*** inn-1.7/samples/parsecontrol	Tue Oct  7 15:18:22 1997
--- inn-1.7.1/samples/parsecontrol	Fri Dec  5 22:42:12 1997
***************
*** 168,185 ****
      ;;
  esac
  
- case "${LOGFILE}" in
- "")
-     LOGFILE=/dev/null
-     ;;
- mail|/*)
-     ;;
- *)
-     LOGFILE=${MOST_LOGS}/${LOGFILE}.log
-     ;;
- esac
- export LOGFILE
- 
  if $PGPVERIFY; then
      PGPSENDER=`pgpverify < ${ARTICLE}`;
      PGP_STATUS=$?
--- 168,173 ----
***************
*** 202,213 ****
      # code 255 is failure to run pgp.
      verify:255)
  	ACTION=logit
! 	LOGFILE=failedpgp.log
  	;;
      # pgp ran, but failed to verify message.
      verify:*)
         ACTION=logit
!        LOGFILE=badpgp.log
         ;;
      esac
  fi
--- 190,213 ----
      # code 255 is failure to run pgp.
      verify:255)
  	ACTION=logit
! 	LOGFILE=failedpgp
  	;;
      # pgp ran, but failed to verify message.
      verify:*)
         ACTION=logit
!        LOGFILE=badpgp
         ;;
      esac
  fi
+ 
+ case "${LOGFILE}" in
+ "")
+     LOGFILE=/dev/null
+     ;;
+ mail|/*)
+     ;;
+ *)
+     LOGFILE=${MOST_LOGS}/${LOGFILE}.log
+     ;;
+ esac
+ export LOGFILE
diff -Nacr inn-1.7/samples/rc.news inn-1.7.1/samples/rc.news
*** inn-1.7/samples/rc.news	Tue Oct  7 15:18:21 1997
--- inn-1.7.1/samples/rc.news	Fri Dec  5 22:42:12 1997
***************
*** 82,85 ****
  	) | eval ${MAIL}
  	${NEWSBIN}/expirerm ${F}
      fi
! done
--- 82,85 ----
  	) | eval ${MAIL}
  	${NEWSBIN}/expirerm ${F}
      fi
! done &
diff -Nacr inn-1.7/samples/sendbatch inn-1.7.1/samples/sendbatch
*** inn-1.7/samples/sendbatch	Tue Oct  7 15:18:23 1997
--- inn-1.7.1/samples/sendbatch	Fri Dec  5 22:42:12 1997
***************
*** 159,167 ****
      ##  Check the host's queue size?
      QUEUE=0
      if [ -n "${BYTESQUEUED}" ] ; then
! 	if [ -d /usr/spool/uucp/${SITE} ] ; then
  	    # Get queue size from directory size
! 	    QUEUE=`du -s "/usr/spool/uucp/${SITE}" \
  		    | ${AWK} '{ printf("%s000\n", $1); }'`
  
  	else
--- 159,167 ----
      ##  Check the host's queue size?
      QUEUE=0
      if [ -n "${BYTESQUEUED}" ] ; then
! 	if [ -d ${UUSPOOL}/${SITE} ] ; then
  	    # Get queue size from directory size
! 	    QUEUE=`du -s "${UUSPOOL}/${SITE}" \
  		    | ${AWK} '{ printf("%s000\n", $1); }'`
  
  	else
diff -Nacr inn-1.7/samples/version inn-1.7.1/samples/version
*** inn-1.7/samples/version	Thu Oct 16 20:05:59 1997
--- inn-1.7.1/samples/version	Fri Dec  5 22:42:12 1997
***************
*** 7,13 ****
  ##  =()<. @<_PATH_PARSECTL>@ "$@">()=
  . /var/news/etc/parsecontrol "$@"
  
! VERSION="INN 1.7"
  
  WHERE=`innconfval pathhost`
  
--- 7,13 ----
  ##  =()<. @<_PATH_PARSECTL>@ "$@">()=
  . /var/news/etc/parsecontrol "$@"
  
! VERSION="INN 1.7.1"
  
  WHERE=`innconfval pathhost`
  
diff -Nacr inn-1.7/site/Makefile inn-1.7.1/site/Makefile
*** inn-1.7/site/Makefile	Tue Oct  7 15:18:27 1997
--- inn-1.7.1/site/Makefile	Fri Dec  5 22:42:12 1997
***************
*** 88,94 ****
  	    tally.control tally.unwanted \
  	nntpsend send-ihave \
  	    send-nntp send-uucp sendbatch \
! 	inncheck innstat pgpverify \
  	    innwatch innlog.pl innshellvars innshellvars.pl innshellvars.csh \
  	    innshellvars.tcl filter.tcl startup.tcl startup_innd.pl \
  	    filter_innd.pl filter_nnrpd.pl \
--- 88,94 ----
  	    tally.control tally.unwanted \
  	nntpsend send-ihave \
  	    send-nntp send-uucp sendbatch \
! 	inncheck innstat pgpverify innmail \
  	    innwatch innlog.pl innshellvars innshellvars.pl innshellvars.csh \
  	    innshellvars.tcl filter.tcl startup.tcl startup_innd.pl \
  	    filter_innd.pl filter_nnrpd.pl \
***************
*** 100,105 ****
--- 100,106 ----
  	    $D$(CTLBIN)/newgroup $D$(CTLBIN)/rmgroup $D$(CTLBIN)/sendme \
  	    $D$(CTLBIN)/sendsys $D$(CTLBIN)/senduuname $D$(CTLBIN)/version \
  	    $D$(PATH_PARSECTL) $D$(NEWSBIN)/writelog $D$(CTLBIN)/docheckgroups \
+ 	    $D$(NEWSBIN)/innmail \
  	$D$(NEWSBIN)/news.daily $D$(NEWSBIN)/scanlogs $D$(NEWSBIN)/expirerm \
  	    $D$(NEWSBIN)/tally.control $D$(NEWSBIN)/tally.unwanted \
  	$D$(NEWSBIN)/nntpsend $D$(NEWSLIB)/send-ihave \
***************
*** 233,238 ****
--- 234,240 ----
  $D$(NEWSLIB)/send-uucp:	send-uucp	; $(COPY_XPRI) $? $@
  $D$(NEWSBIN)/inncheck:	inncheck	; $(COPY_XPRI) $? $@
  $D$(NEWSBIN)/innstat:	innstat		; $(COPY_XPRI) $? $@
+ $D$(NEWSBIN)/innmail:	innmail		; $(COPY_XPRI) $? $@
  $D$(NEWSBIN)/pgpverify:	pgpverify	; $(COPY_XPRI) $? $@
  $D$(NEWSBIN)/innwatch:	innwatch	; $(COPY_XPRI) $? $@
  $D$(PATH_SHELLVARS):	innshellvars	; $(COPY_RPRI) $? $@
***************
*** 281,286 ****
--- 283,289 ----
  inn.conf:	../samples/inn.conf		; $(COPY) $? $@
  inncheck:	../samples/inncheck		; $(COPY) $? $@
  innlog.pl:	../samples/innlog.pl		; $(COPY) $? $@
+ innmail:	../samples/innmail		; $(COPY) $? $@
  innstat:	../samples/innstat		; $(COPY) $? $@
  innwatch:	../samples/innwatch		; $(COPY) $? $@
  innwatch.ctl:	../samples/innwatch.ctl		; $(COPY) $? $@
