--- Makefile.Linux
+++ Makefile.Linux	1994/05/21 21:57:57
@@ -0,0 +1,9 @@
+config/config.data:  config.config.dist
+	cp config/config.dist config/data
+
+compile: config/config.data
+	make all
+
+install: compile
+	make install
+
--- README.linux
+++ README.linux	1994/05/21 21:57:57
@@ -0,0 +1,60 @@
+I am using /bin/bash as my shell. Be carefull, if you use tcsh.
+
+Installing your own news feed:
+==============================
+
+- fetch the INN FAQ, inn-1.4sec.tar.gz, inn-1.4sec.dif, nov.tar.gz,
+  nov.dif
+
+Preparing the system:
+- remove any nntp entries in your /etc/inetd.conf
+- create a new group "news"
+- create a new user named "news" and home directory "/usr/lib/news"
+  group-id is "news"
+- maybe add a mail alias to /etc/aliases, if you want to have someone
+  else than "news" get all mail about your news system
+  (run newaliases after it)
+
+Compile and install inn-1.4sec and nov:
+- as any user do the following:
+- untar the sources: "tar xzf inn-1.4sec.tar.gz"
+  "tar xzf nov.tar.gz"
+- patch the sources: "cd nov; patch -s -p0 < ../nov.dif; cd .."
+  "cd inn-1.4sec; patch -s -p0 < ../inn-1.4sec.dif"
+- cd inn-1.4sec; make Install.ms
+- nroff -ms Install.ms | less
+- cp config/config.dist config/config.data
+- vi config/config.data      (should be ok for you, look at sendmail entry)
+- make all 2>&1 | less       (should be no errors)
+- cd ../nov
+- make
+- su root
+- (cd nov;) make install
+- cd ../inn-1.4sec; make install 2>&1 | less
+- maybe symlink /usr/bin/inews to /usr/lib/news/inews
+- maybe symlink /usr/bin/rnews to /usr/lib/news/rnews
+
+Configuring your own system:
+- do all administration as user "news"
+- copy /usr/lib/news/active from your news provider (see also getlist(1)),
+  or create your own active file
+- if you like, copy /usr/lib/news/newsgroups from your news provider
+- execute "makehistory -o"
+- edit the following files: innd.conf, control.ctl, expire.ctl, hosts.nntp,
+  newsfeeds, nnrp.access, overview.fmt
+- To test your news system, execute as root "/usr/lib/news/etc/rc.news".
+  If everything works ok, you can start that script from one of the /etc/rc*
+  files at boot time.
+
+- Here is a sample crontab for the user "news":
+	# news crontab
+	#
+	# min hour day month dayofweek (1=Mo,7=Su) command
+	SHELL=/bin/sh
+	PATH=/bin:/usr/bin:/usr/local/bin:/usr/lib/news/bin
+
+	10 23 * * * /usr/lib/news/rnews -U
+	15 23 * * * /usr/lib/news/bin/news.daily expireover delayrm
+
+- /usr/lib/news/send-uucp uucphost
+
--- config/config.dist
+++ config/config.dist	1994/05/21 22:05:48
@@ -21,19 +21,19 @@
 CC			cc
 ##  Does your compiler properly do "char const *"? Pick DO DONT or DUNNO
 #### =()<USE_CHAR_CONST		@<USE_CHAR_CONST>@>()=
-USE_CHAR_CONST		DUNNO
+USE_CHAR_CONST		DO
 ##  C compiler flags
 #### =()<CFLAGS			@<CFLAGS>@>()=
-CFLAGS			$(DEFS) -g
+CFLAGS			$(DEFS) -O2 -fomit-frame-pointer
 ##  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
+PROF			-p
 ##  Flags for the "cc -o" line; e.g., -Bstatic on SunOS4.x while debugging.
 #### =()<LDFLAGS			@<LDFLAGS>@>()=
-LDFLAGS			-g
+LDFLAGS			-s -O2
 ##  If you use the standard NNTP way of connecting, where is the library?
 #### =()<NNTPLIB		@<NNTPLIB>@>()=
 NNTPLIB		
@@ -42,10 +42,10 @@
 LIBS		
 ##  How to make a lint library; pick BSD, SYSV, or NONE.
 #### =()<LINTLIBSTYLE		@<LINTLIBSTYLE>@>()=
-LINTLIBSTYLE		BSD
+LINTLIBSTYLE		NONE
 ##  Flags for lint.  AIX wants "-wkD"; it and others don't want "-z".
 #### =()<LINTFLAGS		@<LINTFLAGS>@>()=
-LINTFLAGS		-b -h -z $(DEFS)
+LINTFLAGS		
 ##  Some lints insist on putting out the filename and other crap.
 ##  Possible values:
 ##	LINTFILTER              | sed -n -f ../sedf.aix
@@ -54,19 +54,19 @@
 ##	LINTFILTER              | sed -n -f ../sedf.sysv
 ##	LINTFILTER              
 ####  =()<LINTFILTER		@<LINTFILTER>@>()=
-LINTFILTER		| sed -n -f ../sedf.sun
+LINTFILTER		
 ##  How to install manpages; pick SOURCE, NROFF-PACK, NROFF-PACK-SCO, or NONE.
 #### =()<MANPAGESTYLE		@<MANPAGESTYLE>@>()=
 MANPAGESTYLE		SOURCE
 ##  Where various manpages should go
 #### =()<MAN1			@<MAN1>@>()=
-MAN1			/usr/local/man/man1
+MAN1			/usr/man/man1
 #### =()<MAN3			@<MAN3>@>()=
-MAN3			/usr/local/man/man3
+MAN3			/usr/man/man3
 #### =()<MAN5			@<MAN5>@>()=
-MAN5			/usr/local/man/man5
+MAN5			/usr/man/man5
 #### =()<MAN8			@<MAN8>@>()=
-MAN8			/usr/local/man/man8
+MAN8			/usr/man/man8
 ##  Ranlib command.  Use echo if you don't need ranlib.
 #### =()<RANLIB			@<RANLIB>@>()=
 RANLIB			ranlib
@@ -97,13 +97,13 @@
 L_ERROR			LOG_ERR
 ##  Informational notice, usually not worth caring about.
 #### =()<L_NOTICE		@<L_NOTICE>@>()=
-L_NOTICE		LOG_WARNING
+L_NOTICE		LOG_INFO
 ##  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
+L_CC_CMD		LOG_WARNING
 
 
 ##
@@ -116,7 +116,7 @@
 NEWSGROUP		news
 ##  Who gets email about control messages? (Usually same as NEWSUSER)
 #### =()<NEWSMASTER		@<NEWSMASTER>@>()=
-NEWSMASTER		usenet
+NEWSMASTER		news
 ##  Who gets email on the Path line?
 #### =()<PATHMASTER		@<PATHMASTER>@>()=
 PATHMASTER		not-for-mail
@@ -139,7 +139,7 @@
 ##  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
+VAR_STYLE		STDARGS
 ##  If you don't have <string.h>, set this to "mystring.h"
 #### =()<STR_HEADER		@<STR_HEADER>@>()=
 STR_HEADER		<string.h>
@@ -151,18 +151,18 @@
 OFFSET_T			long
 ##  What is the type of an object size? Usually size_t or unsigned int.
 #### =()<SIZE_T			@<SIZE_T>@>()=
-SIZE_T			int
+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			int
+UID_T			uid_t
 #### =()<GID_T			@<GID_T>@>()=
-GID_T			int
+GID_T			gid_t
 ##  Type of a pid, for use in kill(2).
 #### =()<PID_T			@<PID_T>@>()=
-PID_T			int
+PID_T			pid_t
 ##  Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
 #### =()<POINTER			@<POINTER>@>()=
-POINTER			char
+POINTER			void
 ##  Worst-case alignment, in order to shut lint up
 #### =()<ALIGNPTR		@<ALIGNPTR>@>()=
 ALIGNPTR		int
@@ -171,7 +171,7 @@
 SIGHANDLER		void
 ##  Type of variables can be modified in a signal handler? sig_atomic_t
 #### =()<SIGVAR		@<SIGVAR>@>()=
-SIGVAR		int
+SIGVAR		sig_atomic_t
 ##  Function that returns no value, and a pointer to it.  Pick int or void
 #### =()<FUNCTYPE		@<FUNCTYPE>@>()=
 FUNCTYPE		void
@@ -184,7 +184,7 @@
 LOCK_STYLE		FLOCK
 ##  Do you have <unistd.h>?  Pick DO or DONT
 #### =()<HAVE_UNISTD	@<HAVE_UNISTD>@>()=
-HAVE_UNISTD	DONT
+HAVE_UNISTD	DO
 ##  Do you have setbuffer?  Pick DO or DONT.
 #### =()<HAVE_SETBUFFER		@<HAVE_SETBUFFER>@>()=
 HAVE_SETBUFFER		DO
@@ -196,47 +196,47 @@
 HAVE_FCHMOD		DO
 ##  Do you have setsid()?  Pick DO or DONT.
 #### =()<HAVE_SETSID		@<HAVE_SETSID>@>()=
-HAVE_SETSID		DONT
+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
+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
+HAVE_WAITPID		DO
 ##  Use "union wait" instead of int?  Pick DO or DONT.
 #### =()<USE_UNION_WAIT		@<USE_UNION_WAIT>@>()=
-USE_UNION_WAIT		DO
+USE_UNION_WAIT		DONT
 ##  How to fork?  Pick fork or vfork.
 #### =()<FORK			@<FORK>@>()=
-FORK			vfork
+FORK			fork
 ##  Do you have <vfork.h>?  Pick DO or DONT.
 #### =()<HAVE_VFORK		@<HAVE_VFORK>@>()=
-HAVE_VFORK		DO
+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
+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
+BIND_USE_SIZEOF		DONT
 ##  How should close-on-exec be done?  Pick IOCTL or FCNTL.
 #### =()<CLX_STYLE		@<CLX_STYLE>@>()=
-CLX_STYLE		IOCTL
+CLX_STYLE		FCNTL
 ##  How should non-blocking I/O be done?  Pick IOCTL or FCNTL.
 #### =()<NBIO_STYLE		@<NBIO_STYLE>@>()=
-NBIO_STYLE		FCNTL
+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		GETDTAB
+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>@>()=
@@ -246,37 +246,37 @@
 NEED_TIME		DONT
 ##  What predicate, if any, the <ctype.h> macros need
 #### =()<CTYPE			@<CTYPE>@>()=
-CTYPE			(isascii((c)) && isXXXXX((c)))
+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		int
+ABORTVAL		void
 ##  What's the return type of alarm?  Usually int or unsigned int.
 #### =()<ALARMVAL		@<ALARMVAL>@>()=
-ALARMVAL		int
+ALARMVAL		unsigned int
 ##  What's the return type of getpid?  Usually int or unsigned int.
 #### =()<GETPIDVAL		@<GETPIDVAL>@>()=
-GETPIDVAL		int
+GETPIDVAL		pid_t
 ##  What's the return type of sleep?  Usually int or unsigned int.
 #### =()<SLEEPVAL		@<SLEEPVAL>@>()=
-SLEEPVAL		int
+SLEEPVAL		unsigned int
 ##  What's the return type of  qsort?  Usually int or void.
 #### =()<QSORTVAL		@<QSORTVAL>@>()=
-QSORTVAL		int
+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			int
+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
+EXITVAL			volatile void
 ##  What's the return type of _exit?  Usually int or void.
 #### =()<_EXITVAL		@<_EXITVAL>@>()=
-_EXITVAL		int
+_EXITVAL		void
 
 
 ##
@@ -291,9 +291,9 @@
 #### =()<MISSING_MAN		@<MISSING_MAN>@>()=
 MISSING_MAN		
 #### =()<MISSING_SRC		@<MISSING_SRC>@>()=
-MISSING_SRC		strerror.c
+MISSING_SRC		
 #### =()<MISSING_OBJ		@<MISSING_OBJ>@>()=
-MISSING_OBJ		strerror.o
+MISSING_OBJ		
 
 
 ##
@@ -309,10 +309,10 @@
 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
+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		DONT
+RNEWS_LOG_DUPS		FILE
 ##  Look in _PATH_RNEWSPROGS for rnews unpackers?  Pick DO or DONT.
 #### =()<RNEWSPROGS		@<RNEWSPROGS>@>()=
 RNEWSPROGS		DO
@@ -321,11 +321,11 @@
 RNEWSLOCALCONNECT		DO
 ##  Environment variable that has remote hostname for rnews.
 #### =()<_ENV_UUCPHOST		@<_ENV_UUCPHOST>@>()=
-_ENV_UUCPHOST		UU_MACHINE
+_ENV_UUCPHOST		HOST
 ##  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
+CHECK_INCLUDED_TEXT		DONT
 ##  Put hosts in the inews Path header?  Pick DO or DONT.
 #### =()<INEWS_PATH		@<INEWS_PATH>@>()=
 INEWS_PATH		DO
@@ -346,7 +346,7 @@
 INND_NICE_KIDS		DONT
 ##  Value for nice(2) call in innd.
 #### =()<INND_NICE_VALUE	@<INND_NICE_VALUE>@>()=
-INND_NICE_VALUE	10
+INND_NICE_VALUE	0
 ##  Null-terminated list of unknown commands to not log to syslog.
 ##	INND_QUIET_BADLIST	"xstream", "xfoo", NULL
 #### =()<INND_QUIET_BADLIST	@<INND_QUIET_BADLIST>@>()=
@@ -359,13 +359,13 @@
 VERIFY_CANCELS		DONT
 ##  Log "ctlinnd cancel" commands to syslog?  Pick DO or DONT.
 #### =()<LOG_CANCEL_COMMANDS	@<LOG_CANCEL_COMMANDS>@>()=
-LOG_CANCEL_COMMANDS	DONT
+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
+WANT_TRASH		DO
 ##  Record rejected articles in history?  Pick DO or DONT.
 #### =()<REMEMBER_TRASH		@<REMEMBER_TRASH>@>()=
 REMEMBER_TRASH		DONT
@@ -384,7 +384,7 @@
 CTLINND_TIMEOUT		0
 ##  Flush logs if we go this long with no I/O.
 #### =()<DEFAULT_TIMEOUT		@<DEFAULT_TIMEOUT>@>()=
-DEFAULT_TIMEOUT		300
+DEFAULT_TIMEOUT		30
 ##  INND closes channel if inactive this long (seconds).
 #### =()<PEER_TIMEOUT		@<PEER_TIMEOUT>@>()=
 PEER_TIMEOUT		(1 * 60 * 60)
@@ -396,7 +396,7 @@
 ALLOW_READERS		DO
 ##  Refuse newsreader connections if load is higher then this; -1 disables.
 #### =()<NNRP_LOADLIMIT		@<NNRP_LOADLIMIT>@>()=
-NNRP_LOADLIMIT		16
+NNRP_LOADLIMIT		-1
 ##  Don't readdir() spool dir if same group within this many secs.
 #### =()<NNRP_RESCAN_DELAY		@<NNRP_RESCAN_DELAY>@>()=
 NNRP_RESCAN_DELAY		60
@@ -407,7 +407,7 @@
 ##  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
+NNRP_DBZINCORE_DELAY	20
 ##  Strip Sender from posts that didn't authenticate?  Pick DO or DONT.
 #### =()<NNRP_AUTH_SENDER	@<NNRP_AUTH_SENDER>@>()=
 NNRP_AUTH_SENDER	DONT
@@ -428,7 +428,7 @@
 DEFAULT_CUTOFF		14
 ##  Maximum number of incoming NNTP connections.
 #### =()<DEFAULT_CONNECTIONS	@<DEFAULT_CONNECTIONS>@>()=
-DEFAULT_CONNECTIONS	50
+DEFAULT_CONNECTIONS	16
 ##  Wait this many seconds before channel restarts.
 #### =()<CHANNEL_RETRY_TIME	@<CHANNEL_RETRY_TIME>@>()=
 CHANNEL_RETRY_TIME	(5 * 60)
@@ -446,7 +446,7 @@
 IPADDR_LOG	DONT
 ##  Log NNTP activity after this many articles.
 #### =()<NNTP_ACTIVITY_SYNC	@<NNTP_ACTIVITY_SYNC>@>()=
-NNTP_ACTIVITY_SYNC	200
+NNTP_ACTIVITY_SYNC	50
 ##  Free buffers bigger than this when we're done with them.
 #### =()<BIG_BUFFER		@<BIG_BUFFER>@>()=
 BIG_BUFFER		(2 * START_BUFF_SIZE)
@@ -474,29 +474,29 @@
 ##  7.  PATHS TO COMMON PROGRAMS
 ##  Where the raison d'etre for this distribution lives.
 #### =()<_PATH_INND		@<_PATH_INND>@>()=
-_PATH_INND		/usr/local/etc/innd
+_PATH_INND		/usr/lib/news/etc/innd
 ##  Where the optional front-end that exec's innd lives.
 #### =()<_PATH_INNDSTART		@<_PATH_INNDSTART>@>()=
-_PATH_INNDSTART		/usr/local/etc/inndstart
+_PATH_INNDSTART		/usr/lib/news/etc/inndstart
 ##  Where news boot-up script should be installed.
 #### =()<_PATH_NEWSBOOT		@<_PATH_NEWSBOOT>@>()=
-_PATH_NEWSBOOT		/usr/local/etc/rc.news
+_PATH_NEWSBOOT		/usr/lib/news/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
+_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/ucb/compress
+_PATH_COMPRESS		/usr/bin/gzip
 ##  What extension your compress appends
 #### =()<_PATH_COMPRESSEXT	@<_PATH_COMPRESSEXT>@>()=
-_PATH_COMPRESSEXT	.Z
+_PATH_COMPRESSEXT	.gz
 ##  Where egrep lives (you might need the FSF one; see scanlogs)
 #### =()<_PATH_EGREP		@<_PATH_EGREP>@>()=
-_PATH_EGREP		/usr/local/bin/egnugrep
+_PATH_EGREP		/usr/bin/egrep
 ##  Where awk lives
 #### =()<_PATH_AWK		@<_PATH_AWK>@>()=
 _PATH_AWK		awk
@@ -505,34 +505,34 @@
 _PATH_SED		sed
 ##  Where inews lives.
 #### =()<_PATH_INEWS		@<_PATH_INEWS>@>()=
-_PATH_INEWS		/usr/local/news/inews
+_PATH_INEWS		/usr/lib/news/inews
 ##  Where rnews lives.
 #### =()<_PATH_RNEWS		@<_PATH_RNEWS>@>()=
-_PATH_RNEWS		/bin/rnews
+_PATH_RNEWS		/usr/lib/news/rnews
 ##  Where the NNRP server lives.
 #### =()<_PATH_NNRPD		@<_PATH_NNRPD>@>()=
-_PATH_NNRPD		/usr/local/etc/in.nnrpd
+_PATH_NNRPD		/usr/lib/news/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
+_PATH_NNTPD		/usr/lib/news/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
+_PATH_NNQRD		/usr/lib/news/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
+_PATH_NEWSBIN		/usr/lib/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
+_PATH_MAILCMD		/bin/mail
 ##  Where scripts should have shlock create locks.
 #### =()<_PATH_LOCKS		@<_PATH_LOCKS>@>()=
-_PATH_LOCKS		/usr/local/news
+_PATH_LOCKS		/usr/lib/news
 
 
 ##
@@ -567,10 +567,10 @@
 _PATH_RNEWS_DUP_LOG		/dev/null
 ##  Rnews may execute any program in this directory; see RNEWSPROGS.
 #### =()<_PATH_RNEWSPROGS	@<_PATH_RNEWSPROGS>@>()=
-_PATH_RNEWSPROGS	/usr/local/news/bin/rnews
+_PATH_RNEWSPROGS	/usr/lib/news/bin/rnews
 ##  Path to control messages scripts.
 #### =()<_PATH_CONTROLPROGS	@<_PATH_CONTROLPROGS>@>()=
-_PATH_CONTROLPROGS	/usr/local/news/bin/control
+_PATH_CONTROLPROGS	/usr/lib/news/bin/control
 ##  Default "unknown/illegal" control script, within _PATH_CONTROLPROGS.
 #### =()<_PATH_BADCONTROLPROG	@<_PATH_BADCONTROLPROG>@>()=
 _PATH_BADCONTROLPROG	default
@@ -579,33 +579,33 @@
 ##
 ##  10.  SOCKETS CREATED BY INND OR CLIENTS
 #### =()<_PATH_INNDDIR		@<_PATH_INNDDIR>@>()=
-_PATH_INNDDIR		/usr/local/news/innd
+_PATH_INNDDIR		/usr/lib/news/innd
 ##  Unix-domain stream socket that rnews connects to.
 #### =()<_PATH_NNTPCONNECT	@<_PATH_NNTPCONNECT>@>()=
-_PATH_NNTPCONNECT	/usr/local/news/innd/nntpin
+_PATH_NNTPCONNECT	/usr/lib/news/innd/nntpin
 ##  Unix-domain datagram socket that ctlinnd to.
 #### =()<_PATH_NEWSCONTROL	@<_PATH_NEWSCONTROL>@>()=
-_PATH_NEWSCONTROL	/usr/local/news/innd/control
+_PATH_NEWSCONTROL	/usr/lib/news/innd/control
 ##  Temporary socket created by ctlinnd; run through mktemp
 #### =()<_PATH_TEMPSOCK		@<_PATH_TEMPSOCK>@>()=
-_PATH_TEMPSOCK		/usr/local/news/innd/ctlinndXXXXXX
+_PATH_TEMPSOCK		/usr/lib/news/innd/ctlinndXXXXXX
 
 
 ##
 ##  11.  LOG AND CONFIG FILES
 ##  Shell script that sets most of these as shell vars
 #### =()<_PATH_SHELLVARS		@<_PATH_SHELLVARS>@>()=
-_PATH_SHELLVARS		/usr/local/news/innshellvars
+_PATH_SHELLVARS		/usr/lib/news/innshellvars
 ##  Where most config and data files are usually stored; not required
 ##  to the home directory of NEWSUSER.
 #### =()<_PATH_NEWSLIB		@<_PATH_NEWSLIB>@>()=
-_PATH_NEWSLIB		/usr/local/news
+_PATH_NEWSLIB		/usr/lib/news
 ##  The server's log file.
 #### =()<_PATH_LOGFILE		@<_PATH_LOGFILE>@>()=
-_PATH_LOGFILE		/var/log/news/news
+_PATH_LOGFILE		/usr/lib/news/log
 ##  The server's error log file.
 #### =()<_PATH_ERRLOG		@<_PATH_ERRLOG>@>()=
-_PATH_ERRLOG		/var/log/news/errlog
+_PATH_ERRLOG		/usr/lib/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
@@ -614,28 +614,28 @@
 LOG_CYCLES	7
 ##  Text value of the server's pid.
 #### =()<_PATH_SERVERPID		@<_PATH_SERVERPID>@>()=
-_PATH_SERVERPID		/usr/local/news/innd/innd.pid
+_PATH_SERVERPID		/usr/lib/news/innd/innd.pid
 ##  The newsfeeds file, on the server host.
 #### =()<_PATH_NEWSFEEDS	@<_PATH_NEWSFEEDS>@>()=
-_PATH_NEWSFEEDS	/usr/local/news/newsfeeds
+_PATH_NEWSFEEDS	/usr/lib/news/newsfeeds
 ##  The article history database, on the server host.
 #### =()<_PATH_HISTORY	@<_PATH_HISTORY>@>()=
-_PATH_HISTORY	/usr/local/news/history
+_PATH_HISTORY	/usr/lib/news/history
 ##  File listing the sites that feed us news.
 #### =()<_PATH_INNDHOSTS		@<_PATH_INNDHOSTS>@>()=
-_PATH_INNDHOSTS		/usr/local/news/hosts.nntp
+_PATH_INNDHOSTS		/usr/lib/news/hosts.nntp
 ##  The active file, on the server host.
 #### =()<_PATH_ACTIVE	@<_PATH_ACTIVE>@>()=
-_PATH_ACTIVE	/usr/local/news/active
+_PATH_ACTIVE	/usr/lib/news/active
 ##  A temporary active file, for writing on the server host.
 #### =()<_PATH_NEWACTIVE		@<_PATH_NEWACTIVE>@>()=
-_PATH_NEWACTIVE		/usr/local/news/active.tmp
+_PATH_NEWACTIVE		/usr/lib/news/active.tmp
 ##  An old active file on the server host.
 #### =()<_PATH_OLDACTIVE		@<_PATH_OLDACTIVE>@>()=
-_PATH_OLDACTIVE		/usr/local/news/active.old
+_PATH_OLDACTIVE		/usr/lib/news/active.old
 ##  The log of when groups are created.
 #### =()<_PATH_ACTIVETIMES	@<_PATH_ACTIVETIMES>@>()=
-_PATH_ACTIVETIMES	/usr/local/news/active.times
+_PATH_ACTIVETIMES	/usr/lib/news/active.times
 ##  Where batch files are located.
 #### =()<_PATH_BATCHDIR		@<_PATH_BATCHDIR>@>()=
 _PATH_BATCHDIR		/var/spool/news/out.going
@@ -644,54 +644,54 @@
 _PATH_ARCHIVEDIR	/var/spool/news/news.archive
 ##  Where NNRP distributions file is
 #### =()<_PATH_NNRPDIST		@<_PATH_NNRPDIST>@>()=
-_PATH_NNRPDIST		/usr/local/news/distributions
+_PATH_NNRPDIST		/usr/lib/news/distributions
 ##  Where the default Distribution assignments file is
 #### =()<_PATH_DISTPATS		@<_PATH_DISTPATS>@>()=
-_PATH_DISTPATS		/usr/local/news/distrib.pats
+_PATH_DISTPATS		/usr/lib/news/distrib.pats
 #### =()<_PATH_NEWSGROUPS	@<_PATH_NEWSGROUPS>@>()=
-_PATH_NEWSGROUPS	/usr/local/news/newsgroups
+_PATH_NEWSGROUPS	/usr/lib/news/newsgroups
 ##  File where client configuration parameters can be read.
 #### =()<_PATH_CONFIG	@<_PATH_CONFIG>@>()=
-_PATH_CONFIG	/usr/local/news/inn.conf
+_PATH_CONFIG	/usr/lib/news/inn.conf
 ##  The possible active file, on clients (NFS-mounted, e.g.).
 #### =()<_PATH_CLIENTACTIVE	@<_PATH_CLIENTACTIVE>@>()=
-_PATH_CLIENTACTIVE	/usr/local/news/active
+_PATH_CLIENTACTIVE	/usr/lib/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
+_PATH_MODERATORS	/usr/lib/news/moderators
 ##  Where NNTP puts the name of the server.
 #### =()<_PATH_SERVER	@<_PATH_SERVER>@>()=
-_PATH_SERVER	/usr/local/news/server
+_PATH_SERVER	/usr/lib/news/server
 ##  File with name/password for all remote connections.
 #### =()<_PATH_NNTPPASS		@<_PATH_NNTPPASS>@>()=
-_PATH_NNTPPASS		/usr/local/news/passwd.nntp
+_PATH_NNTPPASS		/usr/lib/news/passwd.nntp
 ##  NNRP access file.
 #### =()<_PATH_NNRPACCESS		@<_PATH_NNRPACCESS>@>()=
-_PATH_NNRPACCESS		/usr/local/news/nnrp.access
+_PATH_NNRPACCESS		/usr/lib/news/nnrp.access
 ##  Default expire control file.
 #### =()<_PATH_EXPIRECTL		@<_PATH_EXPIRECTL>@>()=
-_PATH_EXPIRECTL		/usr/local/news/expire.ctl
+_PATH_EXPIRECTL		/usr/lib/news/expire.ctl
 ##  Prolog to parse control scripts
 #### =()<_PATH_PARSECTL		@<_PATH_PARSECTL>@>()=
-_PATH_PARSECTL		/usr/local/news/parsecontrol
+_PATH_PARSECTL		/usr/lib/news/parsecontrol
 ##  Access control file for control scripts.
 #### =()<_PATH_CONTROLCTL		@<_PATH_CONTROLCTL>@>()=
-_PATH_CONTROLCTL		/usr/local/news/control.ctl
+_PATH_CONTROLCTL		/usr/lib/news/control.ctl
 ##  Innwatch control file.
 #### =()<_PATH_CTLWATCH			@<_PATH_CTLWATCH>@>()=
-_PATH_CTLWATCH			/usr/local/news/innwatch.ctl
+_PATH_CTLWATCH			/usr/lib/news/innwatch.ctl
 ##  Where innwatch writes its own pid.
 #### =()<_PATH_WATCHPID		@<_PATH_WATCHPID>@>()=
-_PATH_WATCHPID		/usr/local/news/innwatch.pid
+_PATH_WATCHPID		/usr/lib/news/innwatch.pid
 ##  Where innwatch writes status when it gets an interrupt
 #### =()<_PATH_INNWSTATUS		@<_PATH_INNWSTATUS>@>()=
-_PATH_INNWSTATUS		/usr/local/news/innwatch.status
+_PATH_INNWSTATUS		/usr/lib/news/innwatch.status
 ##  Format of news overview database
 #### =()<_PATH_SCHEMA		@<_PATH_SCHEMA>@>()=
-_PATH_SCHEMA	/usr/local/news/overview.fmt
+_PATH_SCHEMA	/usr/lib/news/overview.fmt
 
 
 ##
--- include/clibrary.h
+++ include/clibrary.h	1994/05/21 21:57:57
@@ -12,6 +12,8 @@
 #include <vfork.h>
 #endif	/* defined(DO_HAVE_VFORK) */
 
+#include <sys/time.h>
+
     /* Generic pointer, used by memcpy, malloc, etc. */
     /* =()<typedef @<POINTER>@ *POINTER;>()= */
 typedef char *POINTER;
--- include/inndcomm.h
+++ include/inndcomm.h	1994/05/21 21:57:57
@@ -4,6 +4,12 @@
 **  running.
 */
 
+#if !defined(DO_HAVE_UNIX_DOMAIN)
+typedef short ICC_MSGLENTYPE;	/* Length code to prefix commands to
+				** the server.
+				*/
+#endif
+
 #define SC_SEP		'\001'
 #define SC_MAXFIELDS	6
 
--- innd/cc.c
+++ innd/cc.c	1994/05/21 21:57:57
@@ -1314,6 +1314,7 @@
     struct sockaddr_un	client;
 #else
     int			written;
+    ICC_MSGLENTYPE	bufflen;
 #endif	/* defined(DO_HAVE_UNIX_DOMAIN) */
     int			i;
     char		buff[BUFSIZ + 2];
@@ -1329,7 +1330,21 @@
     }
 
     /* Get the message. */
+#if !defined(DO_HAVE_UNIX_DOMAIN)
+    i = RECVorREAD(CCchan->fd, (char *) &bufflen, sizeof(bufflen));
+    if (i != sizeof(bufflen) 
+	|| bufflen < 1 || bufflen >= (sizeof buff - 1)) {
+	syslog(L_ERROR, "%s cant recv CCreader length %m", LogName);
+	return;
+    }
+    i = RECVorREAD(CCchan->fd, buff, bufflen);
+    if (i > 0 && i != bufflen) {
+	syslog(L_ERROR, "%s cant recv CCreader data %m", LogName);
+	return;
+    }
+#else
     i = RECVorREAD(CCchan->fd, buff, sizeof buff - 1);
+#endif
     if (i < 0) {
 	syslog(L_ERROR, "%s cant recv CCreader %m", LogName);
 	return;
--- lib/inndcomm.c
+++ lib/inndcomm.c	1994/05/21 21:57:57
@@ -169,7 +169,18 @@
 
 /*
 **  Send an arbitrary command to the server.
+**  Note that for those systems without Unix Domain Sockets,
+**  the command format is different. There is a two byte
+**  length code on the front of the message. This is a
+**  direct mapped integer. Note that sending and receiving
+**  architectures *must* be the same as we are on the same
+**  machine.
 */
+#if defined(DO_HAVE_UNIX_DOMAIN)
+#define BUFF_OFFSET 0
+#else
+#define BUFF_OFFSET sizeof(ICC_MSGLENTYPE)
+#endif
 int
 ICCcommand(cmd, argv, replyp)
     char		cmd;
@@ -203,7 +214,7 @@
 	bufsiz += 1 + strlen(p);
     if (bufsiz < MIN_BUFFER_SIZE)
 	bufsiz = MIN_BUFFER_SIZE;
-    buff = malloc((unsigned int)bufsiz);
+    buff = malloc((unsigned int)bufsiz + BUFF_OFFSET);
     if (buff == NULL) {
 	ICCfailure = "malloc";
 	return -1;
@@ -211,6 +222,8 @@
     if (replyp)
 	*replyp = NULL;
 
+    buff += BUFF_OFFSET;	/* Advance to leave space for length */
+
     /* Format the message. */
     (void)sprintf(buff, "%s%c%c", ICCsockname, SC_SEP, cmd);
     for (p = buff + strlen(buff), i = 0; (q = argv[i]) != NULL; i++) {
@@ -221,6 +234,10 @@
     /* Send message. */
     ICCfailure = NULL;
     len = p - buff;
+
+    buff -= BUFF_OFFSET;	/* Not strictly required - could be inside
+				 * #else clause below */
+
 #if	defined(DO_HAVE_UNIX_DOMAIN)
     if (sendto(ICCfd, buff, len, 0,
 	    (struct sockaddr *)&ICCserv, AF_UNIX_SOCKSIZE(ICCserv)) < 0) {
@@ -234,6 +251,8 @@
 	ICCfailure = "open";
 	return -1;
     }
+    *(ICC_MSGLENTYPE *) buff = len;
+    len += BUFF_OFFSET;
     if (write(fd, buff, len) != len) {
 	i = errno;
 	DISPOSE(buff);
--- makedirs.sh
+++ makedirs.sh	1994/05/21 21:57:57
@@ -64,7 +64,7 @@
 ${MAN1} ${MAN3} ${MAN5} ${MAN8} \
 ${SPOOL} ${ARCHIVEDIR} ${BATCHDIR} ${MOST_LOGS} ${MOST_LOGS}/OLD \
 ${SPOOLNEWS} ${BADNEWS} ${SPOOLTEMP} \
-${NEWSLIB} ${INNDDIR} \
+${NEWSLIB} /usr/lib/news/etc ${INNDDIR} \
 ${NEWSBIN} ${CONTROLPROGS} ${RNEWSPROGS} ; do
 
     if [ ! -d ${F} ] ; then
--- samples/control.ctl
+++ samples/control.ctl	1994/05/21 21:57:57
@@ -30,72 +30,16 @@
 sendme:*:*:drop
 
 ##	NEWGROUP MESSAGES
-##  Any newsgroups
-newgroup:*:*:log=newgroup
-newgroup:tale@*.uu.net:comp.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:doit=newgroup
-newgroup:fair@apple.com:comp.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*|ddn.*:mail
-##  Australia newsgroups
-newgroup:kre@*mu*au:aus.*|melb.*:mail
-##  BITNET newsgroups
-newgroup:jim@*american.edu:bit.*:mail
-##  BIONET newsgroups
-newgroup:shibumi@*.bio.net:bionet.*:mail
-newgroup:kristoff@genbank.bio.net:bionet.*:mail
-##  CLARINET newsgroups
-newgroup:brad@clarinet.com:clari.*:mail
-newgroup:grant@clarinet.com:clari.*:mail
-##  GNU newsgroups
-newgroup:usenet@*ohio-state.edu:gnu.*:mail
-newgroup:tower@prep.ai.mit.edu:gnu.*:mail
-newgroup:news@ai.mit.edu:gnu.*:mail
-newgroup:karl.kleinpaste@osc.edu:gnu.*:mail
-##  K12 newsgroups
-newgroup:nerd@percival.rain.com:k12.*:mail
-##  IEEE newsgroups
-newgroup:burt@ieee.org:ieee.*:mail
-##  VMSNET newsgroups
-newgroup:tp@mccall.com:vmsnet.*:mail
-##  ALT newsgroups
-newgroup:*:alt.*:log=newgroup
+newgroup:*:*:doit=mail
 
 ##	RMGROUP MESSAGES
-##  Any newsgroups
 rmgroup:*:*:mail
-rmgroup:tale@*.uu.net:comp.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:doit=rmgroup
-rmgroup:kre@*mu*au:comp.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*:mail
-rmgroup:fair@apple.com:comp.*|misc.*|news.*|rec.*|sci.*|soc.*|talk.*|ddn.*:mail
-##  Australia newsgroups
-rmgroup:kre@*mu*au:aus.*|melb.*:mail
-##  BITNET newsgroups
-rmgroup:jim@*american.edu:bit.*:mail
-##  BIONET newsgroups
-rmgroup:shibumi@*.bio.net:bionet.*:mail
-rmgroup:kristoff@genbank.bio.net:bionet.*:mail
-##  CLARINET newsgroups
-rmgroup:brad@clarinet.com:clari.*:mail
-rmgroup:grant@clarinet.com:clari.*:mail
-##  GNU newsgroups
-rmgroup:usenet@*ohio-state.edu:gnu.*:mail
-rmgroup:tower@prep.ai.mit.edu:gnu.*:mail
-rmgroup:news@ai.mit.edu:gnu.*:mail
-rmgroup:karl.kleinpaste@osc.edu:gnu.*:mail
-##  K12 newsgroups
-rmgroup:nerd@percival.rain.com:k12.*:mail
-##  IEEE newsgroups
-rmgroup:burt@ieee.org:ieee.*:mail
-##  VMSNET newsgroups
-rmgroup:tp@mccall.com:vmsnet.*:mail
-##  ALT newsgroups
-rmgroup:*:alt.*:log=rmgroup
 
 ##	SENDSYS
-sendsys:*@uunet.uu.net:*:doit=miscctl
 sendsys:*:*:doifarg
 
 ##	SENDUUNAME
-senduuname:*@uunet.uu.net:*:doit=miscctl
-senduuname:*:*:mail
+senduuname:*:*:doit=mail
 
 ##	VERSION
-version:*@uunet.uu.net:*:doit=miscctl
-version:*:*:mail
+version:*:*:doit=mail
--- samples/expire.ctl
+++ samples/expire.ctl	1994/05/21 21:57:57
@@ -21,9 +21,16 @@
 ##  make this 28, 30, etc.
 /remember/:14
 
-##  Keep for 1-10 days, allow Expires headers to work.
-*:A:1:10:never
+## keep for 1-20 days, allow Expires headers to work
+*:A:1:20:20
+
+## junk stays 4 days
+junk:A:1:4:4
+
+## comp.os.linux.* and gnu.* stay a little bit longer
+comp.os.linux*,gnu.*:A:1:30:30
+comp.os.linux.announce:A:1:40:40
+
+## allow Expires headers to work in news.answers
+news.answers:M:1:90:90
 
-##  Some particular groups stay forever.
-dc.dining*:A:never:never:never
-uunet*:A:never:never:never
--- samples/hosts.nntp
+++ samples/hosts.nntp	1994/05/21 21:57:57
@@ -5,4 +5,4 @@
 ##	<host>:<password>
 ##  <host> can be a name or IP address; no wildcards.  Any hosts not
 ##  listed here are handed off to nnrpd.
-news.foo.com:
+localhost:
--- samples/inn.conf
+++ samples/inn.conf	1994/05/21 21:57:57
@@ -15,5 +15,5 @@
 ##	server		If $NNTPSERVER doesn't exist.  Local NNTP server
 ##			host to connect to.
 ##
-organization:	A poorly-installed InterNetNews site
-server:		news
+organization:	A poorly-installed Linux box
+server:		localhost
--- samples/innwatch.ctl
+++ samples/innwatch.ctl	1994/05/21 21:57:57
@@ -35,4 +35,4 @@
 ##  =()<!!! df @<_PATH_NEWSLIB>@ | awk 'NR == 2 { print $4 }' ! lt ! @<INNWATCH_LIBSPACE>@ ! throttle ! No space (newslib)>()=
 !!! df /news/lib | awk 'NR == 2 { print $4 }' ! lt ! 3000 ! throttle ! No space (newslib)
 ##  =()<!!! df -i . | awk 'NR == 2 { print $3 }' ! lt ! @<INNWATCH_SPOOLNODES>@ ! throttle ! No space (spool inodes)>()=
-!!! df -i . | awk 'NR == 2 { print $3 }' ! lt ! 200 ! throttle ! No space (spool inodes)
+!!! df -i . | awk 'NR == 2 { print $4 }' ! lt ! 200 ! throttle ! No space (spool inodes)
--- samples/newsfeeds
+++ samples/newsfeeds	1994/05/21 21:57:57
@@ -34,37 +34,37 @@
 ##
 ##  This file is complicated -- see newsfeeds.5!
 
-##  This is the local site.
+##  This is a special entry.
 ##  The "pattern" field gives the intial subscription list for
-##  all other sites.  You might want to put "!control,!junk,!<local>.*"
-##  there.  The "distrib" subfield limits incoming articles.
+##  all other sites.  The distrib subfield limits incoming articles.
 ME\
-	:*,!foo.*/world,usa,na,gnu,bionet,pubnet,u3b,eunet,vmsnet,inet,ddn,\
-	k12\
+	:*,!junk,!control,!foo\
 	::
 
 # Feed all moderated source postings to an archiver
-source-archive\
-	:!*,comp.sources.*\
-	:Tp,Nm:/news/bin/archive %s
+#source-archive\
+#	:!*,comp.sources.*\
+#	:Tp,Nm:/news/bin/archive %s
 
-# Feed all local non-internal postings to nearnet; sent off-line via
-# nntpsend or send-nntp.
-nic.near.net\
-	:!junk/!foo\
-	:Tf,Wnm:nic.near.net
+# UUCP example, articles are batched from cron by "send-uucp".
+# The first line specifies the news-server: the first entry should be the fqdn
+# for nntp feeds and the uucp hostname for uucp feeds. Further entries should
+# contain the fqdn and the path your news server puts into news headers.
+# The second line contains what should be given to the server: everything, but
+# not 'junk' and not 'foo' and also not all articles that have as distribution
+# 'local'.
+# The third entry contains some flags: Uucp sites may add "B4096/1024"
+#moko/moko.saar.de,linux.saar.de\
+#       :/!local\
+#       :Tf,Wfb,B4096/1024:
 
-# A real-time nntplink feed
-uunet\
-	:/!foo\
-	:Tc,Wnm:/news/bin/nntplink -i stdin news.uu.net
+# non-uucp example (nntpsend)
+# sbusol.rz.uni-sb.de\
+#	:/!local\
+#	:Tf,Wnm:feed1.domain.name.edu
 
-# Capture all Foo, Incorporated, postings
-capture\
-	:*/foo\
-	:Tp,H2:/usr/lib/news/capture %s
+# Overview data base.
+@overview\
+	:*\
+	:Tc,WO:/usr/lib/news/bin/overchan
 
-# A UUCP feed, where we try to keep the "batching" between 4 and 1K.
-ihnp4\
-	:!junk,!control/!foo\
-	:Tf,Wfb,B4096/1024:
--- samples/nnrp.access
+++ samples/nnrp.access	1994/05/21 21:57:57
@@ -14,5 +14,4 @@
 ##
 ## Default is no access, no way to authentication, and no groups.
 *:: -no- : -no- :!*
-##  Foo, Incorporated, hosts have no password, can read anything.
-*.foo.com:Read Post:::*
+localhost:RP:::*
--- samples/overview.fmt
+++ samples/overview.fmt	1994/05/21 21:57:57
@@ -13,4 +13,4 @@
 Bytes:
 Lines:
 ##  Some newsreaders get better performance if Xref is present
-#Xref:full
+Xref:full
--- samples/send-uucp
+++ samples/send-uucp	1994/05/21 21:57:58
@@ -10,6 +10,7 @@
 LOG=${MOST_LOGS}/${PROGNAME}.log
 
 MAXJOBS=200
+#UUXFLAGS="- -r -z -gd"
 UUXFLAGS="- -r -gd"
 
 ##  Start logging.
--- lib/Makefile.orig	Fri Jan 13 23:38:01 1995
+++ lib/Makefile	Fri Jan 13 23:38:18 1995
@@ -11,11 +11,11 @@
 ##  =()<DEFS	= @<DEFS>@>()=
 DEFS	= -I../include
 ##  =()<CFLAGS	= @<CFLAGS>@>()=
-CFLAGS	= $(DEFS) -g
+CFLAGS	= $(DEFS) -O2
 ##  =()<DBZCFLAGS	= @<DBZCFLAGS>@>()=
 DBZCFLAGS	= $(CFLAGS) -DMMAP
 ##  =()<LDFLAGS	= @<LDFLAGS>@>()=
-LDFLAGS	= -g
+LDFLAGS	= -s
 ##  =()<LINTLIBSTYLE	= @<LINTLIBSTYLE>@>()=
 LINTLIBSTYLE	= BSD
 ##  =()<LINTFLAGS	= @<LINTFLAGS>@>()=
--- frontends/Makefile.orig	Fri Jan 13 23:39:33 1995
+++ frontends/Makefile	Fri Jan 13 23:39:45 1995
@@ -9,9 +9,9 @@
 ##  =()<DEFS	= @<DEFS>@>()=
 DEFS	= -I../include
 ##  =()<CFLAGS	= @<CFLAGS>@>()=
-CFLAGS	= $(DEFS) -g
+CFLAGS	= $(DEFS) -O2
 ##  =()<LDFLAGS	= @<LDFLAGS>@>()=
-LDFLAGS	= -g
+LDFLAGS	= -s
 ##  =()<LINTFLAGS	= @<LINTFLAGS>@>()=
 LINTFLAGS	= -b -h -z $(DEFS)
 ##  =()<LINTFILTER	= @<LINTFILTER>@>()=
