From: michael@wft.stack.urc.tue.nl (Michael Brouwer)
Newsgroups: comp.sys.next.misc
Subject: Re: INN on the NeXT
Date: 13 Dec 92 04:44:13 GMT
Organization: WayForward Technologies
NNTP-Posting-Host: tar.wft.stack.urc.tue.nl
In-reply-to: zeke@esosun.UUCP's message of 10 Dec 92 21:08:18 GMT

Here's my config.data file for the NeXT.  This let's inn do a clean compile
on NeXTSTEP 3.0.  I have some fixes for nntpget.c, but you only need this if
you want to poll for news by nntp. (As opposed to have a newsfeed offerd to
you.)

##  $Revision: 1.38 $
##
##  InterNetNews configuration file.
##  Note that if you leave a field blank, you must have the trailing tab!
##


##
##  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) -O2
##  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			-s
##  If you use the standard NNTP way of connecting, where is the library?
#NNTPLIB		/usr/local/lib/clientlib.o
#### =()<NNTPLIB		@<NNTPLIB>@>()=
NNTPLIB		
##  If you need to link in other libraries, add them here
#### =()<LIBS		@<LIBS>@>()=
LIBS		
##  How to make a lint library; pick BSD, SYSV, or NONE.
#### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
LINTLIBSTYLE		BSD
##  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, or NONE.
#### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
MANPAGESTYLE		SOURCE
##  Where various manpages should go
#### =()<MAN1			@<MAN1>@>()=
MAN1			/usr/local/man/man1
#### =()<MAN3			@<MAN3>@>()=
MAN3			/usr/local/man/man3
#### =()<MAN5			@<MAN5>@>()=
MAN5			/usr/local/man/man5
#### =()<MAN8			@<MAN8>@>()=
MAN8			/usr/local/man/man8
##  Ranlib command.  Use echo if you don't need ranlib.
#### =()<RANLIB			@<RANLIB>@>()=
RANLIB			ranlib
##  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_LOCAL0
##  Facility all other programs should log under.
#### =()<LOG_INN_PROG		@<LOG_INN_PROG>@>()=
LOG_INN_PROG		LOG_LOCAL0
##  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 about control messages? (Usually same as NEWSUSER)
#### =()<NEWSMASTER		@<NEWSMASTER>@>()=
NEWSMASTER		usenet
##  Who gets email on the Path line?
#### =()<PATHMASTER		@<PATHMASTER>@>()=
PATHMASTER		not-for-mail
##  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?  Usually long or off_t.  *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			long
##  What is the type of a passwd uid and gid, for use in chown(2)?
#### =()<UID_T			@<UID_T>@>()=
UID_T			short
#### =()<GID_T			@<GID_T>@>()=
GID_T			short
##  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
##  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
##  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	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	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		DONT
##  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		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
##  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		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)))
#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		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 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 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
##  Look in _PATH_RNEWSPROGS for rnews unpackers?  Pick DO or DONT.
#### =()<RNEWSPROGS		@<RNEWSPROGS>@>()=
RNEWSPROGS		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
##  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		1000000
##  Should sub-processes get a nice(2) value?  Pick DO or DONT.
#### =()<INND_NICE_KIDS		@<INND_NICE_KIDS>@>()=
INND_NICE_KIDS		DONT
##  Value for nice(2) call in innd.
#### =()<INND_NICE_VALUE	@<INND_NICE_VALUE>@>()=
INND_NICE_VALUE	10
##  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.
#### =()<BAD_DISTRIBS	@<BAD_DISTRIBS>@>()=
BAD_DISTRIBS	"*.*",NULL
##  Verify that the poster is the person doing the cancel?  Pick DO or DONT.
#### =()<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		DONT
##  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 inactive this long (seconds).
#### =()<CLIENT_TIMEOUT		@<CLIENT_TIMEOUT>@>()=
CLIENT_TIMEOUT		(2 * 60 * 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
##  Should nnrpd do a dbzincore?  Pick DO or DONT.
##  RRN doesn't need it, but some newsreaders fetch everything by Message-ID
##  and would benefit by it.
#### =()<NNRP_DBZINCORE		@<NNRP_DBZINCORE>@>()=
NNRP_DBZINCORE		DO
##  Strip Sender from posts that didn't authenticate?  Pick DO or DONT.
#### =()<NNRP_AUTH_SENDER	@<NNRP_AUTH_SENDER>@>()=
NNRP_AUTH_SENDER	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
##  Log by host IP address, rather than from Path line?
#### =()<IPADDR_LOG	@<IPADDR_LOG>@>()=
IPADDR_LOG	DONT
##  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
##  Do you have uustat, or just uuq?  Pick DO or DONT
#### =()<HAVE_UUSTAT		@<HAVE_UUSTAT>@>()=
HAVE_UUSTAT		DO


##
##  7.  PATHS TO COMMON PROGRAMS
##  Where the raison d'etre for this distribution lives.
#### =()<_PATH_INND		@<_PATH_INND>@>()=
_PATH_INND		/usr/local/etc/innd
##  Where the optional front-end that exec's innd lives.
#### =()<_PATH_INNDSTART		@<_PATH_INNDSTART>@>()=
_PATH_INNDSTART		/usr/local/etc/inndstart
##  Where news boot-up script should be installed.
#### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
_PATH_NEWSBOOT		/usr/local/etc/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 -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/bin/egrep
##  Where awk lives (you might need the FSF one; see scanlogs)
#### =()<_PATH_AWK		@<_PATH_AWK>@>()=
_PATH_AWK		awk
##  Where sed lives (you might need the FSF one)
#### =()<_PATH_SED		@<_PATH_SED>@>()=
_PATH_SED		sed
##  Where inews lives.
#### =()<_PATH_INEWS		@<_PATH_INEWS>@>()=
_PATH_INEWS		/usr/local/news/inews
##  Where relaynews lives.
#### =()<_PATH_RELAYNEWS		@<_PATH_RELAYNEWS>@>()=
_PATH_RELAYNEWS		/usr/local/news/relaynews
##  Where rnews lives.
#### =()<_PATH_RNEWS		@<_PATH_RNEWS>@>()=
_PATH_RNEWS		/bin/rnews
##  Where the NNRP server lives.
#### =()<_PATH_NNRPD		@<_PATH_NNRPD>@>()=
_PATH_NNRPD		/usr/local/etc/in.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/local/etc/in.nnrpd
##  Where the NNQR server lives.  Make same as _PATH_NNRPD for now
#### =()<_PATH_NNQRD		@<_PATH_NNRPD>@>()=
_PATH_NNQRD		/usr/local/etc/in.nnrpd
##  Where most other programs live.
##  See also _PATH_RNEWSPROGS and _PATH_CONTROLPROGS, below.
#### =()<_PATH_NEWSBIN		@<_PATH_NEWSBIN>@>()=
_PATH_NEWSBIN		/usr/local/news/bin
##  Where temporary files live on the server
#### =()<_PATH_TMP		@<_PATH_TMP>@>()=
_PATH_TMP		/tmp
##  Command to send mail (with -s "subject" allowed)
#### =()<_PATH_MAILCMD		@<_PATH_MAILCMD>@>()=
_PATH_MAILCMD		/usr/ucb/Mail
##  Where scripts should have shlock create locks.
#### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
_PATH_LOCKS		/usr/local/news


##
##  8.  PATHS RELATED TO THE SPOOL DIRECTORY
##  Spool directory, where articles live.
#### =()<_PATH_SPOOL		@<_PATH_SPOOL>@>()=
_PATH_SPOOL		/usr/spool/news
##  Where rnews spools its input.
#### =()<_PATH_SPOOLNEWS		@<_PATH_SPOOLNEWS>@>()=
_PATH_SPOOLNEWS		/usr/spool/news/in.coming
##  Where rnews creates temporary files until finished
#### =()<_PATH_SPOOLTEMP		@<_PATH_SPOOLTEMP>@>()=
_PATH_SPOOLTEMP		/usr/spool/news/in.coming/tmp
##  Where rnews puts bad input.
#### =()<_PATH_BADNEWS		@<_PATH_BADNEWS>@>()=
_PATH_BADNEWS		/usr/spool/news/in.coming/bad
##  Where rnews puts bad input, relative to _PATH_SPOOLNEWS.
#### =()<_PATH_RELBAD		@<_PATH_RELBAD>@>()=
_PATH_RELBAD		bad


##
##  9.  EXECUTION PATHS FOR INND AND RNEWS
##  Rnews may execute any program in this directory; see RNEWSPROGS.
#### =()<_PATH_RNEWSPROGS	@<_PATH_RNEWSPROGS>@>()=
_PATH_RNEWSPROGS	/usr/local/news/bin/rnews
##  Path to control messages scripts.
#### =()<_PATH_CONTROLPROGS	@<_PATH_CONTROLPROGS>@>()=
_PATH_CONTROLPROGS	/usr/local/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		/usr/local/news/innd
##  Unix-domain stream socket that rnews connects to.
#### =()<_PATH_NNTPCONNECT	@<_PATH_NNTPCONNECT>@>()=
_PATH_NNTPCONNECT	/usr/local/news/innd/nntpin
##  Unix-domain datagram socket that ctlinnd to.
#### =()<_PATH_NEWSCONTROL	@<_PATH_NEWSCONTROL>@>()=
_PATH_NEWSCONTROL	/usr/local/news/innd/control
##  Temporary socket created by ctlinnd; run through mktemp
#### =()<_PATH_TEMPSOCK		@<_PATH_TEMPSOCK>@>()=
_PATH_TEMPSOCK		/usr/local/news/innd/ctlinndXXXXXX


##
##  11.  LOG AND CONFIG FILES
#### =()<_PATH_NEWSLIB		@<_PATH_NEWSLIB>@>()=
_PATH_NEWSLIB		/usr/local/news
##  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	5
##  Text value of the server's pid.
#### =()<_PATH_SERVERPID		@<_PATH_SERVERPID>@>()=
_PATH_SERVERPID		/usr/local/news/innd/innd.pid
##  The newsfeeds file, on the server host.
#### =()<_PATH_NEWSFEEDS	@<_PATH_NEWSFEEDS>@>()=
_PATH_NEWSFEEDS	/usr/local/news/newsfeeds
##  The article history database, on the server host.
#### =()<_PATH_HISTORY	@<_PATH_HISTORY>@>()=
_PATH_HISTORY	/usr/local/news/history
##  File listing the sites that feed us news.
#### =()<_PATH_INNDHOSTS		@<_PATH_INNDHOSTS>@>()=
_PATH_INNDHOSTS		/usr/local/news/hosts.nntp
##  The active file, on the server host.
#### =()<_PATH_ACTIVE	@<_PATH_ACTIVE>@>()=
_PATH_ACTIVE	/usr/local/news/active
##  A temporary active file, for writing on the server host.
#### =()<_PATH_NEWACTIVE		@<_PATH_NEWACTIVE>@>()=
_PATH_NEWACTIVE		/usr/local/news/active.tmp
##  An old active file on the server host.
#### =()<_PATH_OLDACTIVE		@<_PATH_OLDACTIVE>@>()=
_PATH_OLDACTIVE		/usr/local/news/active.old
##  The log of when groups are created.
#### =()<_PATH_ACTIVETIMES	@<_PATH_ACTIVETIMES>@>()=
_PATH_ACTIVETIMES	/usr/local/news/active.times
##  Where batch files are located.
#### =()<_PATH_BATCHDIR		@<_PATH_BATCHDIR>@>()=
_PATH_BATCHDIR		/usr/spool/news/out.going
##  Where archives are kept.
#### =()<_PATH_ARCHIVEDIR	@<_PATH_ARCHIVEDIR>@>()=
_PATH_ARCHIVEDIR	/usr/spool/news/news.archive
##  Where NNRP distributions file is
#### =()<_PATH_NNRPDIST		@<_PATH_NNRPDIST>@>()=
_PATH_NNRPDIST		/usr/local/news/distributions
##  Where the default Distribution assignments file is
#### =()<_PATH_DISTPATS		@<_PATH_DISTPATS>@>()=
_PATH_DISTPATS		/usr/local/news/distrib.pats
#### =()<_PATH_NEWSGROUPS	@<_PATH_NEWSGROUPS>@>()=
_PATH_NEWSGROUPS	/usr/local/news/newsgroups
##  File where client configuration parameters can be read.
#### =()<_PATH_CONFIG	@<_PATH_CONFIG>@>()=
_PATH_CONFIG	/usr/local/news/inn.conf
##  The possible active file, on clients (NFS-mounted, e.g.).
#### =()<_PATH_CLIENTACTIVE	@<_PATH_CLIENTACTIVE>@>()=
_PATH_CLIENTACTIVE	/usr/local/news/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	/usr/local/news/moderators
##  Where NNTP puts the name of the server.
#### =()<_PATH_SERVER	@<_PATH_SERVER>@>()=
_PATH_SERVER	/usr/local/news/server
##  File with name/password for all remote connections.
#### =()<_PATH_NNTPPASS		@<_PATH_NNTPPASS>@>()=
_PATH_NNTPPASS		/usr/local/news/passwd.nntp
##  NNRP access file.
#### =()<_PATH_NNRPACCESS		@<_PATH_NNRPACCESS>@>()=
_PATH_NNRPACCESS		/usr/local/news/nnrp.access
##  Default expire control file.
#### =()<_PATH_EXPIRECTL		@<_PATH_EXPIRECTL>@>()=
_PATH_EXPIRECTL		/usr/local/news/expire.ctl
##  Prolog to parse control scripts
#### =()<_PATH_PARSECTL		@<_PATH_PARSECTL>@>()=
_PATH_PARSECTL		/usr/local/news/parsecontrol
##  Access control file for control scripts.
#### =()<_PATH_CONTROLCTL		@<_PATH_CONTROLCTL>@>()=
_PATH_CONTROLCTL		/usr/local/news/control.ctl
##  Innwatch control file.
#### =()<_PATH_CTLWATCH			@<_PATH_CTLWATCH>@>()=
_PATH_CTLWATCH			/usr/local/news/innwatch.ctl
##  Where innwatch writes its own pid.
#### =()<_PATH_WATCHPID		@<_PATH_WATCHPID>@>()=
_PATH_WATCHPID		/usr/local/news/innwatch.pid
##  Where innwatch writes status when it gets an interrupt
#### =()<_PATH_INNWSTATUS		@<_PATH_INNWSTATUS>@>()=
_PATH_INNWSTATUS		/usr/local/news/innwatch.status


##
##  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.
#### =()<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
Newsgroups: comp.sys.next.misc