INN.CONF(5)

NAME
inn.conf - configuration data for InterNetNews programs

DESCRIPTION
The file <PREFIX specified with --prefix at configure>/etc/inn.conf is used to determine various parameters. The value of the INNCONF environment variable can be used to specify another inn.conf file. Blank lines and lines starting with a number sign (``#'') are ignored. All other lines specify parameters that may be read, and should be of the following form:
    name : [optional whitespace] value
Everything after the whitespace and up to the end of the line is taken as the value; multi-word values should not be put in quotes. The case of names is significant — server is not the same as Server or SERVER.

Some parameters specified in the file may be overridden by environment variables, and some file parameters may be used to mask real data, such as when hiding a cluster of hosts behind a single electronic mail hostname. If the same parameter is specified more than twice, the first one is used for that parameter. The term ``default'' means the case that the parameter is not defined in inn.conf. Some parameters take boolean value. The value can be one of ``true'', ``yes'' or ``on'' to turn on, and can be one of ``false'', ``no'' or ``off'' to turn off. The case of those value is not significant. The current set of parameters is as follows:

fromhost
    This is the name of the host to use when building the From header line. The default is the fully-qualified domain name of the local host. The value of the FROMHOST environment variable, if it exists, overrides this.

moderatormailer
    This names the default machine that contains forwarding aliases for all moderated groups. It is only used if the moderators(5) file doesn't exist, or if the group is not matched by that file. The value is interpreted as a pattern match; see moderators(5). The default value is unset.

organization
    This specifies what to put in the Organization header if it is blank. The value of the ORGANIZATION environment variable, if it exists, overrides this. The default value is unset.

pathhost
    This specifies how to name the local site when building the Path header line. The default is the fully-qualified domain name of the local host.

server
    This specifies the name of the default NNTP server. If nnrpdposthost is not specified and UNIX domain sockets are not supported, nnrpd(8) tries to hand off locally-posted articles through an INET domain socket to this server. actsync(8), nntpget(8) and getlist(8) also use this value as the default server to connect to. In the latter cases, the value of the NNTPSERVER environment variable, if it exists, overrides this. The default value is unset.

domain
    This should be the domain name of the local host. It should not have a leading period, and it should not be a full host address. It is used only if the GetFQDN routine in libinn(3) cannot get the fully-qualified domain name by using either the gethostname(2) or gethostbyname(3) calls. The check is very simple; if either routine returns a name with a period in it, then it is assumed to have the full domain name. The default value is unset.

overviewmmap
    If this is ``false'' then nnrpd, expire and makehistory will use regular file access to access overviews and overview indices, otherwise it will mmap(2) them. Setting this to ``true'' will give better performance on most system, but some system do have problems with mmap(2). This is boolean value and the default value is ``true''.

storageapi
    If this is true then all articles will be stored through storage api and all articles are assumed to be stored through storage api. This is boolean value and the default is ``false''. To use storage api, you need to edit storage.conf to determine which method will be used. If storage api is used, any overview database will be stored as unified overview which is needed if nnrpd will be used. To specify which index is used for unified overview, you need to edit <pathetc in inn.conf>/overview.ctl. If you run innd as a feeder only, you do not need overview.ctl.

maxforks
    How many times to attempt a fork(2) before giving up. The default value is 10.

maxartsize
    The maximum size article (in bytes) that will be accepted by the server. ``0'' allows any size. The default value is ``1000000''.

nicekids
    If set to anything other than ``0'', all child processes will have this nice(1) value. The default value is ``4''.

nicenewnews
    If set to anything greater than ``0'', all nnrpd(8) processes that use the ``NEWNEWS'' command will nice(1) themselves to this value. This gives other nnrpd processes a higher priority. The default value is ``0'', which means that no change is made from the ``nicekids'' value. Note that this value will be ignored if it is set to a value lower than ``nicekids''.

mta This specifies the message transfer agent (mta) to be used when mailing moderated postings and for use for innmail. The article, with headers and an added To: line, will be piped into this program and an optional ``%s'' parameter will be replaced with the moderator email address(es). See moderators(5) for more info on the moderator email address(es). The ``mta'' option is compulsory. The default value is unset, but this will note fatal error through syslog. This must be set.

mailcmd
    This is the path/program to be used for mailing reports and control messages. The default path is pathbin/innmail.

verifycancels
    Set this to ``true'' to verify that a poster is the person doing the cancel. This can't be done if the cancel arrives before the article does. This is boolean value and the default is ``false''.

logcancelcomm
    Set this to ``true'' to log ``ctlinnd cancel'' commands to syslog. This is boolean value and the default is ``false''.

wanttrash
    Set this to ``true'' if you want to file articles in unknown newsgroups into the ``junk'' newsgroup. This is boolean value and the default is ``false''.

remembertrash
    Set this to ``false'' if you don't want to record rejected articles in history. This might cause duplicate articles to be offered to you, so be careful with it. This is boolean value and the default is ``true''.

linecountfuzz
    If this number is set to any number other than ``0'', the article linecounts are checked against the Lines: header and the header is adjusted if it is out by more than this amount. A suitable figure is ``5'' which is the number of suitable .signature lines + 1. The default value is ``0''.

logartsize
    Should the article size be put into the article log file. This is useful for statistics. This is boolean value and the default is ``true''.

logipaddr
    Should the IP address of a host be logged rather than the entry in the Path: line. This is useful for tracking forged postings. This is boolean value and the default is ``true''.

logsitename
    Should the site names be put into the article log file. Those names are used by newsrequeue(8). This is boolean value and the default is ``true''.

overviewname
    What file name to use for storing overview data. Defaults to ``.overview''.

extendeddbz
    Should overview offset be put into dbz file. This can be useful to gain overview performance, but note that dbz file size will be three times. Whenever extendeddbz is changed, dbz files should be rebuilt with makehistory(8) like this.

    makehistory -r -s `cat history | wc -l` -f history

    If storageapi is ``false'', extendeddbz is ignored and always treated as ``false''. extendeddbz is available only if <DBZ_TAGGED_HASH in config.data> is ``DONT''. This is boolean value and the default is ``false''.

nnrpdoverstats
    Should nnrpd overview statistics report be logged to syslog. This can be useful to see overview performance. This is boolean value and the default is ``false''.

storeonxref
    Should storage api stores articles based on newsgroup name in Xref header. If this is ``false'', it stores articles based on newsgroup name in Newsgroups header. This is boolean value and the default is ``true''.

nnrpdcheckart
    Should nnrpd check the existense of article before responding nntp command. This can be useful, if article are gone but their overview data still exist. This is boolean value and the default is ``true''.

storemsgid
    Should history store Message-ID in history(5), not HASH format. storemsgid is available, if storageapi is ``false''. This is boolean value and the default is ``true''.

usecontrolchan
    Should use channel for control messages except cancel. You need to set up controlchan in newsfeeds and ensure ``control.cancel'' exists in active, if this is set to ``true''. This is boolean value and the default is ``false''.

mergetogroups
    Should merge ``to.*'' groups into ``to''. You need to ensure ``to'' exists in active, if this is set to ``true''. This is boolean value and the default is ``false''.

keywords
    Should keywords be generated in the overview databases. Must be a boolean value. This is boolean value and the default is ``false''. Changing this requires also changing <pathetc in inn.conf>/overview.fmt and removing the existing overview database. keywords is available only if <KEYWORDS in config.data> is ``DO''.

keylimit
    Maximum number of bytes allocated internally for building keyword data. The default value is ``512''.

keyartlimit
    Maximum size of a an article that will have keywords generated for it. The default value is ``100000''.

keymaxwords
    Maximum number of keywords that will be generated for an article. The default value is ``250''.

refusecybercancels
    Refuse articles that start with a Message-ID: of ``<cancel.''. This refusal is done before the history check and the ID is not written to the history file. The preferred way to do this is to ask your upstream feeder to alias out ``cyberspam'' in the newsfeed to you. This can also be done using the ``filter_messageid'' perl hook if perl filtering is turned on, in which case this option can be set to ``false''. This is boolean value and the default is ``false''.

activedenable
    If set to ``true'' then nnrpd(8) processes access the active file through a separate process, using UDP requests. The actived process will be started automatically on innd startup. This saves a significant amount of memory and processing time for news readers, particularly on startup. This is boolean value and the default is ``false''.

activedupdate
    This is the interval (in seconds) that actived updates its in-memory copy of the active file.

activedport
    The UDP port on which to send actived requests and responses.

noreader
    If set to ``false'' innd will fork a copy of nnrpd for all connections from hosts not mentioned in incoming.conf. You probably want to set this to ``true'' if you run a transit only server, or serve nnrpd from inetd or daemon mode. This is a boolean value and the default is ``false''.

pathnews
    The news user home directory and sometimes the root of the news hierarchy. The default value is unset, but this will note fatal error through syslog.

pathbin
    The path to the news binaries. The default value is ``<pathnews>/bin''.

pathfilter
    The path to the perl and TCL filters The default value is ``<pathnews>/filter''.

pathcontrol
    The path to the news control files. The files in this directory represent the commands that will be executed based on the Control: line in news articles. Be careful what you put in here, as it can become a security risk. The default value is ``<pathnews>/control''.

pathdb
    The path to the database files used and changed by the server. Files currently in this directory are: active, history* and newsgroups. Historically, this defaulted to pathetc, but is not split. The default value is ``<pathnews>/db''.

pathetc
    The news configuration files. The default value is ``<pathnews>/etc''.

pathrun
    Files required while the server is running. This includes locks and the channel socket. The default value is ``<pathnews>/run''.

pathlog
    Where the news log files are written. The default value is ``<pathnews>/log''.

pathhttp
    Where to place any HTML files (e.g: status report). The default value is ``<pathlog>''.

pathtmp
    Where the various programs place their tempfiles. For security reasons this is not the same as the system temporary files directory. It should (or perhaps 'must') be on the same partition as the incoming spool directory) (so rename(2) can work). The default value is ``<PATH specified with --with-tmp-path at configure>''.

pathspool
    The root of the news spool hierarchy. This isn't actually used at the moment. The default value is ``<pathnews>/spool''.

patharticles
    Path where the news articles are stored. The default value is ``<pathspool>/spool''.

pathoverview
    Path to news overview files. Can be set to the same as ``patharticles'' if ``overviewname'' is set to something sensible. The default value is ``<pathspool>/overview''.

pathoutgoing
    Default path for outgoing feed files. The default value is ``<pathspool>/outgoing''.

pathincoming
    Path where incoming batched news is stored. The default value is ``<pathspool>/incoming''.

patharchive
    A path to store archived news. The default value is ``<pathspool>/archive''.

pathuniover
    A path to unified overview files. The default value is ``<pathspool>/uniover''.

The following parameters are used only by nnrpd(8) to control high-volume posters via an exponential backoff algorithm. These parameters are read at nnrpd(8) run time.

Exponential posting backoff works as follows. News clients are indexed by IP number (or username, see backoffauth below). Each time that a specific IP number posts a message, the time of posting is stored (along with the previous sleep time, see below). After a configurable number of posts in a configurable period of time, nnrpd(8) will activate posting backoff, and begin to sleep for increasing periods of time before actually posting anything. Posts will still get through, but at an increasingly reduced rate.

The new sleep time is computed based on the difference in time between the last posting and the current posting, assuming that backoff has been activated.

If this difference is less than backoffpostfast , the new sleep time will be 1 + (previous sleep time * backoffk ).

If this difference is less than backoffpostslow, but greater than backoffpostfast, then the new sleep time will equal the previous sleep time.

If this difference is greater than backoffpostslow then the new sleep time is zero and the number of postings for this IP number is reset to zero.

Here are the parameters that control exponential posting backoff:

backoffk
    An integer value representing the amount to multiply the previous sleep time by. A value of 2 works to double the sleep time for each excessive post. The default value is ``1''.

backoffpostfast
    Postings from the same IP which arrive in less than this amount of time (in seconds) will trigger increasing sleeptime in the backoff algorithm. The default value is ``0''.

backoffpostslow
    Postings from the same IP which arrive in greater than this amount of time (in seconds) will reset the backoff algorithm. Another way to look at this constant is to compute 86400/ backoffpostslow which will give you the maximum number of articles per day that you will allow users to post. The default value is ``1''.

backofftrigger
    This many postings are allowed before the backoff algorithm is triggered. The default value is ``10000''.

backoffdb
    Pathname to a directory (must be writable by news) that is to contain the backoff database. There is no default for this parameter, you must provide an existing and writable pathname value or users will not be able to post. The default value is unset.

backoffauth
    This is a boolean value. If on, posting backoffs are indexed on a per user basis instead of a per IP basis. You must be using authentication in nnrpd(8) for the ``true'' value of this parameter to have any meaning. This is boolean value and the default is ``false''.

readertrack
    This is a boolean value. If on, the article tracking system is enabled for client reading/posting. See the nnrpd.track(5) man page for details. This is boolean value and the default is ``false''.

strippostcc
    This is a boolean value. If on, To:, Cc: and Bcc: lines are stripped from local posts through nnrpd(8). This is aimed mainly at stopping abuse of posting to moderated newsgroups, whereby those headers are added by the client and honoured by the mailer when mailed to the moderator. This is boolean value and the default is ``false''.

nnrpperlauth
    This enables nnrpd(8) to authenticate reader with external perl hook. If this is enabled, normal authentication with nnrp.access(5) will not be used. This is boolean value and the default is ``false''.

The following parameters are used only by innd.

pathalias
    This specifies the name prepended before pathhost, if it is not appeared in the Path header line. If this is not specified, nothing is prepended before pathhost. The default value is unset.

hiscachesize
    If this is set to a non-zero number then a hash of recently received Message-ID's is kept in this memory to save on history lookups. The cache is only used for incoming newsfeeds, so a high value isn't necessarily useful unless you have incoming feeds that are badly delayed. The value is the amount of memory to dedicate to the lookup cache in kilobytes. It is generally useful to have memory allocated to history cache if dbz mmaping is turned on. A useful value is around '256', assuming you have more than one incoming newsfeed. The default value is ``0''.

xrefslave
    If this is true, innd will use the information in the Xref: header for replication. And if this is true, nnrpdposthost should be set to hand articles to the master server. This is boolean value and the default is ``false''.

nnrpdposthost
    If this is specified, nnrpd(8) and rnews pass articles to the specified host. This should be set, if xrefslave is ``true''. The default value is unset.

nnrpdpostport
    The port to connect to when nnrpdposthost is used. The default value is ``119''.

wireformat
    If this is true then innd will write articles in wire format. Wire format articles are stored with a \r\n at the end of each line and with periods at the beginning of lines doubled. When used with applications that understand wire format, this can be considerably more efficent. If storageapi is ``true'', wireformat is discarded and articles are always stored in wire format. This is boolean value and the default is ``false''.

writelinks
    If this is true innd will write all the crossposts of an article to the history file, else it will write just the first. This can be useful on servers without readers that don't run crosspost and don't link crossposts. If the server does link crossposts, via either innd itself or a crosspost feed, this should be set to ``true'' or articles will not be expired properly. If storageapi is ``true'', writelinks is discarded. This is boolean value and the default is ``true''.

status
    If this is '0' or 'false', then status monitoring will be disabled by default. Otherwise, it would be how often to report status statistics, in seconds. If turned on statistics will be logged to syslog. The default value is ``0''.

timer
    If this is ``0'' or ``false'', then performance monitoring will be disabled by default. Otherwise, it would be how often to report performance statistics, in seconds. If turned on statistics will be logged to syslog. The default value is ``0''.

peertimeout
    How long (in seconds) an innd incoming channel can be inactive before innd closes the channel. The default value is ``3600''.

readerswhenstopped
    If this is ``false'', readers are still allowed to connect even when the server is paused or throttled. This is boolean value and the default is ``false''.

allownewnews
    Allow use of the ``NEWNEWS'' command by clients. Allowing this can be a performance problem on the server, but is recommended by RFC 977. This is boolean value and the default is ``true''.

chaninacttime
    The time (in seconds) to wait between noticing inactive channels. The default value is ``600''.

chanretrytime
    How many seconds to wait before a channel restarts. The default value is ``300''.

maxconnections
    The maximum number of incoming NNTP connections. The default value is ``50''.

artcutoff
    Articles older than this number of days are dropped. The default value is 14 days.

nntplinklog
    Should we put nntplink info (filename) into the log. This is boolean value and the default is ``false''.

nntpactsync
    How many articles to process before logging NNTP activity. The default value is ``200''.

badiocount
    How many read/write failures until a channel is put to sleep or closed. The default value is ``5''.

pauseretrytime
    Wait for this many seconds between noticing inactive channels. The default value is ``300''.

blockbackoff
    A multiplier (in seconds) for sleep in ``EWOULDBLOCK'' writes. The default value is ``120''.

icdsynccount
    How many article writes between active and history file updates. The default value is ``10''.

bindaddress
    Which interface IP address innd should bind to. Must be in dotted-quad format (nnn.nnn.nnn.nnn). If set to ``all'' or not set at all, innd defaults to listening on all interfaces. The value of the INND_BIND_ADDRESS environment variable, if it exists, overrides this. The default value is unset.

sourceaddress
    Which local IP address to bind for outgoing NNTP sockets (used by innxmit among possibly others). Must be in dotted-quad format (nnn.nnn.nnn.nnn) If set to ``all'' or not set at all, the operating system which choose the source IP address for outgoing NNTP connections. The default value is unset.

port
    Which TCP port innd should listen on. The default value is ``119'' - the standard nntp port.

The following parameters are used only by nnrpd(8) ( or perhaps inews ) when accepting postings from clients:

checkincludedtext
    If set to ``true'' then local postings must have under 50% inclusion (">") lines. This is boolean value and the default is ``false''.

localmaxartsize
    The maximum article size (in bytes) for locally posted articles. The default value is ``1000000''.

mimeversion
    If this parameter is present, then nnrpd(8) will add the necessary MIME (Multipurpose Internet Mail Extensions) headers to all any articles that do not have a Mime-Version header. This parameter specifies the MIME version, and should normally be ``1.0''. The default value is unset.

mimecontenttype
    If MIME headers are being added, this parameter specifies the value of the Content-Type header. The default value is ``text/plain; charset=US-ASCII.''

mimeencoding
    If MIME headers are being added, this parameter specifies the value of the Content-Transfer-Encoding header. The default value is ``7bit.''

spoolfirst
    If this is true then nnrpd will spool new articles without attempting to send them to innd first. If this is false then nnrpd will spool new articles only after receiving an error trying to send them to innd. Setting this to true can be useful if you want nnrpd to respond to the client as fast as possible, however, nnrpd will not report articles that are not accepted by innd to the client if they are spool. And the posted article is never handed to innd by nnrpd, if this is true. ``rnews -U'' should be used to pass that article to innd. This is boolean value and the default is ``false''.

complaints
    If this is set, then it contains the value of the X-Complaints-To: header that will be added to all posts. If not, then this defaults to the newsmaster's e-mail address.

articlemmap
    If this is false then nnrpd will use regular file access to access articles, otherwise it will mmap() the articles. Setting this to true will give better performance on most systems, but some systems do have problems with mmap(). This is boolean value and the default is ``false''.

clienttimeout
    How long (in seconds) an nnrpd can be inactive before it exits. The default value is ``600''.

The following flags are only used by the startup script ``rc.news''.

decnetdomain

Use this value as the domain to be used for clients connecting via DECNET. Support for this is only compiled into INN if ``AF_DECnet'' is defined and compile time. The default value is unset.

innflags
    The flags to pass to INN on startup. See the innd(8) man page for details. The default value is unset.

doinnwatch
    If set to ``false'' then do not start innwatch(8). This is boolean value and the default is ``true''.

innwatchsleeptime
    How long (in seconds) an innwatch will be sleep before it checks. The default value is ``600''.

pgpverify
    If set to ``true'' then enables pgp verification for handling control messages except cancel. This is boolean value and the default is ``false''.

controlfailnotice
    If set to ``true'' and usecontrolchan is set to ``false'', then if there is a problem processing control message, it is reported to the administrator through mail. If set to ``false'' or usecontrolchan is set to ``true'', nothing is reported. This is boolean value and the default is ``false''.

logcycles
    How many logs does news.daily(8) ( scanlogs(8) ) keep before it overwrites. The default value is ``3''.

innwatchpauseload
    Load average (* 100) at which innd should be paused by innwatch(8) with default innwatch.ctl(5). The default value is ``1500''.

innwatchhiload
    Load average (* 100) at which innd should be throttled by innwatch(8) with default innwatch.ctl(5). The default value is ``2000''.

innwatchloload
    Load average (* 100) at which to restart innd (pause/throttle undone) by innwatch(8) with default innwatch.ctl(5). The default value is ``1000''.

innwatchspoolspace
    Space, in inndf(8) output units, at which to throttle innd on patharticles and pathoverview by innwatch(8) with default innwatch.ctl(5). The default value is ``8000''.

innwatchbatchspace
    Space, in inndf(8) output units, at which to throttle innd on pathoutgoing by innwatch(8) with default innwatch.ctl(5). The default value is ``800''.

innwatchlibspace
    Space, in inndf(8) output units, at which to throttle innd on pathdb by innwatch(8) with default innwatch.ctl(5). The default value is ``25000''.

innwatchspoolnodes
    Space, in inndf(8) output units, at which to throttle innd on patharticles by innwatch(8) with default innwatch.ctl(5). The default value is ``200''.

docnfsstat
    If set to ``true'' then start cnfsstat. This is boolean value and the default is ``false''.

Note that this file can be identical on all machines in an organization.

EXAMPLE
    fromhost:	foo.com
    moderatormailer:	%s@uunet.uu.net
    organization:	Foo, Incorporated
    #pathhost -- use FQDN.
    server:	news.foo.com
    domain: foo.com

This file is intended to be fairly static; any changes made to it are typically not reflected until a program restarts.

HISTORY
Written by Rich $alz <rsalz@uunet.uu.net> for InterNetNews.

SEE ALSO
history(5), libinn(3), moderators(5), makehistory(8), news.daily(8), newsrequeue(8), nnrpd(8), rnews(8), scanlogs(8).