Last update 07-Oct-2000

MBSE BBS - Internet Gateway - INN.

Below are the files that you need to setup for INN news. I used inn-2.2.2 on my system. It is configured to install in /opt/news with the command ./configure --prefix=/opt/news during the installation of inn.


##  $Revision: 1.24.2.2 $
##  inn.conf -- inn configuration data
##  Format:
##	:
##
##  See the inn.conf(5) man page for a full description of each
##  of these options
##
##  Blank values are allowed for certain parameters
## ---------------------------------
# All parameters must exist
#
organization:		MBSE BBS Development Site
server:			localhost
pathhost:		news.mbse.nl
moderatormailer:
domain:			mbse.nl
fromhost:		news.mbse.nl
pathalias:
complaints:
mta:			/usr/sbin/sendmail -oi %s
mailcmd:		/opt/news/bin/innmail
checkincludedtext:	false
maxforks:		10
maxartsize:		1000000
nicekids:		4
nicenewnews:		0
verifycancels:		false
logcancelcomm:		false
wanttrash:		false
remembertrash:		true
linecountfuzz:		0
peertimeout:		3600
clienttimeout:		600
allownewnews:		true
localmaxartsize:	1000000
logartsize:		true
logipaddr:		true
logsitename:		true
maxconnections:		50
artcutoff:		14
icdsynccount:		10
hiscachesize:		0
readertrack:		false
strippostcc:		false
status:			0
timer:			0
readerswhenstopped:	false
noreader:		false
extendeddbz:		false
nnrpdoverstats:		false
storeonxref:		true
nnrpdcheckart:		true
storemsgid:		true
usecontrolchan:		false
mergetogroups:		false
backoffauth:		false
backoffdb:		/opt/news/db/backoff
backoffpostfast:	0L
backoffpostslow:	1L
backofftrigger:		10000L
mimeversion:
mimecontenttype:
mimeencoding:
refusecybercancels:	false
activedenable:		false
activedupdate:		30
activedport:		1119
nnrpperlauth:		false
#
# 
# These options are unlikely to need changing in most situations
#
chaninacttime:		600
chanretrytime:		300
pauseretrytime:		300
nntplinklog:		false
nntpactsync:		200
badiocount:		5
blockbackoff:		120
#
# ---------------------------------
# Changing these options can have an effect on the way articles are
# stored and may require recreating the spool and/or database files
#
wireformat:		false
xrefslave:		false
nnrpdposthost:
nnrpdpostport:		119
spoolfirst:		false
writelinks:		true
storageapi:		false
articlemmap:		false
overviewmmap:		true
bindaddress:		all
sourceaddress:		any
port:			119
#
## Keywords-in-overview options
## Enabling this without stopping innd and deleting the existing overview
## database and adding  will probably confuse a lot of things. You must 
## have compiled this support in too.
#
keywords:		false
keylimit:		512
keyartlimit:		100000
keymaxwords:		250
#
# Other options
innflags:		
doinnwatch:		true
innwatchsleeptime:	600
pgpverify:		false
controlfailnotice:	false
logcycles:		3
innwatchpauseload:	1500
innwatchhiload:		2000
innwatchloload:		1000
innwatchspoolspace:	8000
innwatchbatchspace:	800
innwatchlibspace:	25000
innwatchspoolnodes:	200
docnfsstat:		false
#
# ---------------------------------
# Paths to various aspects of the news system
#
pathnews:		/opt/news
pathbin:		/opt/news/bin
pathfilter:		/opt/news/bin/filter
pathcontrol:		/opt/news/bin/control
pathdb:			/opt/news/db
pathetc:		/opt/news/etc
pathrun:		/opt/news/run
pathlog:		/opt/news/log
pathhttp:		/opt/news/log
pathtmp:		/opt/news/tmp
pathspool:		/opt/news/spool
patharticles:		/opt/news/spool/articles
pathoverview:		/opt/news/spool/overview
pathoutgoing:		/opt/news/spool/outgoing
pathincoming:		/opt/news/spool/incoming
patharchive:		/opt/news/spool/archive
pathuniover:		/opt/news/spool/uniover
overviewname:		.overview
#
# ---------------------------------
#

##  $Revision: 1.1.1.1 $
##  expire.ctl - expire control file
##  Format:
##	/remember/:<keep>
##	<patterns>:<modflag>:<keep>:<default>:<purge>
##  First line gives history retention; other lines specify expiration
##  for newsgroups.  Must have a "*:A:..." line which is the default.
##	<patterns>	wildmat-style patterns for the newsgroups
##	<modflag>	Pick one of M U A -- modifies pattern to be only
##			moderated, unmoderated, or all groups
##	<keep>		Mininum number of days to keep article
##	<default>	Default number of days to keep the article
##	<purge>		Flush article after this many days
##  <keep>, <default>, and <purge> can be floating-point numbers or the
##  word "never."  Times are based on when received unless -p is used;
##  see expire.8

##  If article expires before 14 days, we still remember it for 14 days in
##  case we get offered it again.  Depending on what you use for the innd
##  -c flag and how paranoid you are about old news, you might want to
##  make this 28, 30, etc.
/remember/:14

##  Keep for 1-10 days, allow Expires headers to work.
*:A:1:10:never

fido.*:A:1:30:60
comp.*:A:1:30:60
local.*:A:1:30:60
nl.*:A:1:30:60

##  Some particular groups stay forever.
# Keep FAQ's for a month, so they're always available
#*.answers:M:1:35:90
news.announce.*:M:1:35:90

# Some other recommendations.  Uncomment if you want
# .announce groups tend to be low-traffic, high signal.
# *.announce:M:1:30:90
# Weather forecasts
# *.weather:A:1:2:7
# test posts
# *.test:A:1:1:1

##  Some particular groups stay forever.
# dc.dining*:A:never:never:never
# uunet*:A:never:never:never

##  $Revision: 1.2.4.1 $
##  Mailing addresses for moderators.
##  Format:
##	<newsgroup>:<pathname>
##  First match found is used.
##	<newsgroup>	Shell-style newsgroup pattern or specific newsgroup
##	<pathname>	Mail address, "%s" becomes newgroup name with dots
##			changed to dashes.

## Russian hierarchies
fido7.*:%s@fido7.ru
medlux.*:%s@news.medlux.ru
relcom.*:%s@moderators.relcom.ru

## Direct all public hierarchies to the master moderator database.
*:%s@moderators.isc.org

##  $Revision: 1.3.2.3 $
##  newsfeeds - determine where Usenet articles get sent
##  Format:
##	site[/exclude,exclude...]\
##		:pattern,pattern...[/distrib,distrib...]\
##		:flag,flag...\
##		:param
##  Summary of flags:
##	<size		Article must be less then size bytes.
##	>size		Article must be more then size bytes.
##	Aitems		Article checks -- d (must have Distribution header)
##			p (don't check for site in Path header)
##			c (no control messages) C (only control messages)
##			e (all groups must exist).
##	Bhigh/low	Internal buffer size before writing to output.
##	Fname		Name of the spool file.
##	Gcount		Crossposts limited to count groups.
##	H[count]	Article must have less then count hops; default is 1.
##	Isize		Internal buffer size (if a file feed)
##	Nm		Only moderated groups that match the patterns.
##	Nu		Only unmoderated groups that match the patterns.
##	Ppriority	Nice priority of channel or program feed.
##	Ooriginator	First field of X-Trace must match originator (wildmat).
##	Ssize		Start spooling if more than size bytes get queued.
##	Ttype		Feed types -- f (file) m (funnel; param names the
##			real entry) p (pipe to program) c (send to stdin
##			channel of param's sub-process) x (like c, but
##			handles commands on stdin) x (log entry only).
##	Witems		What to write -- b (article bytesize) f (full path)
##			g (first newsgroup) h (Message-ID hash) 
##			m (Message-ID) n (relative path) p (posted time)
##			s (site that fed article) t (time received)
##			* (names of funnel feed-in's or all sites that get
##			the article) N (Newsgroups header) D (Distribution
##			header) H (all headers) O (overview data)
##			P (path header) R (replication information)
##  Param field depends on T flag.  For Tf, relative paths are from the
##  out.going directory.  For Tp and Tc, it is a shell command to execute.
##  If a Tm refers to this entry (which will have its own T param) then "*"
##  is expanded to all the funnel sites that triggered this one.  Useful
##  for spawning one mail process, e.g.
##
##  This file is complicated -- see newsfeeds.5!

##  This is the local site.
##  The "pattern" field gives the initial subscription list for
##  all other sites.  You might want to put "!control,!junk,!.*"
##  there.  The "distrib" subfield limits incoming articles.
##
##  You can also have ME/bad.site: to refuse articles from a particular
##  site (by matching the Path: entry).  Other pseudo-sites may be put
##  in here, to REFUSE certain types of 3rd-party cancel messages
##  (See the "Cancel FAQ" news.admin.net-abuse.misc):
##	cyberspam	Spam cancels, munged articles, binary postings
##	spewcancel	just munged articles from runaway gateways
##	bincancel	just binary postings to non-binaries groups
##
##  Note that refusing articles means you won't offer them to sites you feed

## Default of  everything to everybody except for junk, control, anything
## with "local" as the newsgroup prefix (i.e. matches "localhost.stuff") or
## groups under foo. Articles posted to any group under alt.binaries.warez
## will not get propagated, even if they're cross posted to something that
## is.
ME\
	:*,!junk,!control*,!foo.*/fido,local\
	::

##  News overview
# use this flag if storage api is used
#overview!:*:Tc,Ao,WhR,S30000:/opt/news/bin/overchan
# else
overview!:*:Tc,WO,S30000:/opt/news/bin/overchan

f2802.n280/f2802.n280.z2.fidonet\
        :!junk,!control*,fido.*,comp.*,nl.comp.os.linux.announce/!foo,fido\
        :Tf,Wfb,B4096/1024:

##  $Revision: 1.1.1.1 $
##  distrib.pats -- specify default Distribution header for newsgroups
##  Format:
##	<weight>:<pattern>:<value>
##  All articles are matched against all patterns, value to be used is the
##  one with the highest weight.
##	<weight>	The weight assigned to this match, integer
##	<pattern>	Newsgroup name or single wildmat(3) pattern
##	<value>		Value of Distribution header.
##
##
## Uncomment to default all local.* groups to a distribution of local.
#10:local.*:local
10:local.*:local
10:fido.*:fido

##  $Revision: 1.3.2.1 $
##  nnrp.access - access file for on-campus NNTP sites
##  Format:
##	<host>:<perm>:<user>:<pass>:<groups>
##	<host>:</path/file>
##  Connecting host must be found in this file; the last match found is
##  used, so put defaults first.
##	<host>		Wildcard name or IP address
##	<perm>		R to read; P to post
##	<user>		Username for authentication before posting
##	<pass>		Password, for same reason
##	<groups>	Newsgroup patterns that can be read or not read
##	</path/file>	A second file to scan in the same format as this
##  To disable posting put a space in the <user> and <pass> fields, since
##  there is no way for client to enter one.
##
## Default is no access, no way to authentication, and no groups.
*::::!*
stdin:Read Post:::*
localhost:Read Post:::*
127.0.0.1:Read Post:::*
*.mbse.nl:Read Post:::*

The next file, send-ifmail, comes from the ifmail package. This file must be placed in /opt/news/bin (or wherever you newsconfig files are) and must be owned by user news, group news, mode 0550. You must edit this file before it can be used. The lines with innshellvars and ifnews in it must be adjusted to the paths on your system.
#! /bin/sh
##  $Revision: 1.11 $
##  SH script to send UUCP batches out.

. /opt/news/lib/innshellvars


PROGNAME=`basename $0`
LOCK=${LOCKS}/LOCK.${PROGNAME}
LOG=${MOST_LOGS}/${PROGNAME}.log

MAXJOBS=200
UUXFLAGS="- -r -gd"

##  Start logging.
test ! -f ${LOG} && touch ${LOG}
chmod 0660 ${LOG}
exec >>${LOG} 2>&1
echo "${PROGNAME}: [$$] begin `date`"
cd ${BATCH}

##  Anyone else there?
trap 'rm -f ${LOCK} ; exit 1' 1 2 3 15
shlock -p $$ -f ${LOCK} || {
    echo "${PROGNAME}: [$$] locked by [`cat ${LOCK}`]"
    exit 0
}

##  Who are we sending to?
if [ -n "$1" ] ; then
    LIST="$*"
else
    LIST=`ls ${BATCH}|egrep "f[0-9]*\.n[0-9]*\.z[0-9]\.fidonet\.org$"`
    LIST=$LIST\ `ls ${BATCH}|egrep "f[0-9]*\.n[0-9]*\.z[0-9]*\.[^\.]*\.ftn$"`
    LIST=$LIST\ `ls ${BATCH}|egrep "f[0-9]*\.n[0-9]*\.z[0-9]*\.[^\.]*$"`
    LIST=$LIST\ `ls ${BATCH}|egrep "f[0-9]*\.n[0-9]*\.z[0-9]*$"`
    LIST=$LIST\ `ls ${BATCH}|egrep "f[0-9]*\.n[0-9]*$"`
fi

case ${HAVE_UUSTAT} in
DONT)
    TEMP=${TMPDIR}/uuq$$
    uuq -h |tr -d : >${TEMP}
    ;;
esac

##  Do the work...

for SITE in ${LIST}; do

    ##  See if any data is ready for host.
    BATCHFILE=${SITE}.uucp
    if [ -f ${SITE}.work ] ; then
	cat ${SITE}.work >>${BATCHFILE}
	rm -f ${SITE}.work
    fi
    mv ${SITE} ${SITE}.work
    ctlinnd -s -t30 flush ${SITE} || continue
    cat ${SITE}.work >>${BATCHFILE}
    rm -f ${SITE}.work
    if [ ! -s ${BATCHFILE} ] ; then
	echo "${PROGNAME}: [$$] no articles for ${SITE}"
	rm -f ${BATCHFILE}
	continue
    fi

    ##  Get the compression flags.
    case "${SITE}" in
    f456.n23.z1.fidonet.org)
	IFNEWS_OPTIONS="-gc"
	;;
    *)
	IFNEWS_OPTIONS="-gc -n -xeipq"
        ROUTE=f2802.n280.z2.fidonet
	;;
    esac
    echo "${PROGNAME}: [$$] begin ${SITE} via ${ROUTE}"

    time batcher \
	-p"/opt/mbse/bin/ifnews ${IFNEWS_OPTIONS} -r ${ROUTE} %s" \
	${SITE} ${BATCHFILE}

    rm -f ${BATCHFILE}
    touch /opt/mbse/sema/mailin
    chmod 666 /opt/mbse/sema/mailin

    echo "${PROGNAME}: [$$] end ${SITE}"
done

case ${HAVE_UUSTAT} in
DONT)
    rm -f ${TEMP}
    ;;
esac

##  Remove the lock file.
rm -f ${LOCK}

echo "${PROGNAME}: [$$] end `date`"

BackGo back HomeGo to main