1INN.CONF(5)               InterNetNews Documentation               INN.CONF(5)
2
3
4

NAME

6       inn.conf - Configuration data for InterNetNews programs
7

DESCRIPTION

9       inn.conf in pathetc is the primary general configuration file for all
10       InterNetNews programs.  Settings which control the general operation of
11       various programs, as well as the paths to all portions of the news
12       installation, are found here.  The INNCONF environment variable, if
13       set, specifies an alternate path to inn.conf.
14
15       This file is intended to be fairly static.  Any changes made to it will
16       generally not affect any running programs until they restart.  Unlike
17       nearly every other configuration file, inn.conf cannot be reloaded
18       dynamically using ctlinnd(8); innd(8) must be stopped and restarted for
19       relevant changes to inn.conf to take effect ("ctlinnd xexec innd" is
20       the fastest way to do this.)
21
22       Blank lines and lines starting with a number sign ("#") are ignored.
23       All other lines specify parameters, and should be of the following
24       form:
25
26           <name>: <value>
27
28       (Any amount of whitespace can be put after the colon and is optional.)
29       If the value contains embedded whitespace or any of the characers
30       "[]<""\:>, it must be enclosed in double quotes ("").  A backslash
31       ("\") can be used to escape quotes and backslashes inside double
32       quotes.  <name> is case-sensitive; "server" is not the same as "Server"
33       or "SERVER".  (inn.conf parameters are generally all in lowercase.)
34
35       If <name> occurs more than once in the file, the first value is used.
36       Some parameters specified in the file may be overridden by environment
37       variables.  Most parameters have default values if not specified in
38       inn.conf; those defaults are noted in the description of each parame‐
39       ter.
40
41       Many parameters take a boolean value.  For all such parameters, the
42       value may be specified as "true", "yes", or "on" to turn it on and may
43       be any of "false", "no", or "off" to turn it off.  The case of these
44       values is significant.
45
46       This documentation is extremely long and organized as a reference man‐
47       ual rather than as a tutorial.  If this is your first exposure to INN
48       and these parameters, it would be better to start by reading other man
49       pages and referring to this one only when an inn.conf parameter is
50       explicitly mentioned.  Those parameters which need to be changed when
51       setting up a new server are discussed in INSTALL.
52

PARAMETERS

54       General Settings
55
56       These parameters are used by a wide variety of different components of
57       INN.
58
59       domain
60           This should be the domain name of the local host.  It should not
61           have a leading period, and it should not be a full host address.
62           It is used only if the GetFQDN() routine in libinn(3) cannot get
63           the fully-qualified domain name by using either the gethostname(3)
64           or gethostbyname(3) calls.  The check is very simple; if either
65           routine returns a name with a period in it, then it is assumed to
66           have the full domain name.  As this parameter is rarely used, do
67           not use it to affect the righthand side of autogenerated Mes‐
68           sage-IDs; see instead virtualhost and domain in readers.conf.  The
69           default value is unset.
70
71       innflags
72           The flags to pass to innd on startup.  See innd(8) for details on
73           the possible flags.  The default value is unset.
74
75       mailcmd
76           The path to the program to be used for mailing reports and control
77           messages.  The default is pathbin/innmail.  This should not nor‐
78           mally need to be changed.
79
80       mta The command to use when mailing postings to moderators and for the
81           use of innmail(1).  The message, with headers and an added To:
82           header, will be piped into this program.  The string %s, if
83           present, will be replaced by the e-mail address of the moderator.
84           It's strongly recommended for this command to include %s on the
85           command line rather than use the addresses in the To: and Cc: head‐
86           ers of the message, since the latter approach allows the news
87           server to be abused as a mechanism to send mail to arbitrary
88           addresses and will result in unexpected behavior.  There is no
89           default value for this parameter; it must be set in inn.conf or a
90           fatal error message will be logged via syslog.
91
92           For most systems, "/usr/lib/sendmail -oi -oem %s" (adjusted for the
93           correct path to sendmail) is a good choice.
94
95       pathhost
96           What to put into the Path: header to represent the local site.
97           This is added to the Path: header of all articles that pass through
98           the system, including locally posted articles, and is also used
99           when processing some control messages and when naming the server in
100           status reports.  There is no default value; this parameter must be
101           set in inn.conf or INN will not start.  A good value to use is the
102           fully-qualified hostname of the system.
103
104       server
105           The name of the default NNTP server.  If nnrpdposthost is not set
106           and UNIX domain sockets are not supported, nnrpd(8) tries to hand
107           off locally-posted articles through an INET domain socket to this
108           server.  actsync(8), nntpget(8), and getlist(8) also use this value
109           as the default server to connect to.  In the latter cases, the
110           value of the NNTPSERVER environment variable, if it exists, over‐
111           rides this.  The default value is unset.
112
113       Feed Configuration
114
115       These parameters govern incoming and outgoing feeds:  what size of
116       articles are accepted, what filtering and verification is performed on
117       them, whether articles in groups not carried by the server are still
118       stored and propagated, and other similar settings.
119
120       artcutoff
121           Articles older than this number of days are dropped.  This setting
122           should probably match the setting on the "/remember/" line in
123           expire.ctl.  The default value is 10.
124
125       bindaddress
126           Which IP address innd(8) should bind itself to.  This must be in
127           dotted-quad format (nnn.nnn.nnn.nnn).  If set to "all" or not set,
128           innd defaults to listening on all interfaces.  The value of the
129           INND_BIND_ADDRESS environment variable, if set, overrides this set‐
130           ting.  The default value is unset.
131
132       bindaddress6
133           Like bindaddress but for IPv6 sockets. If only one of the bindad‐
134           dress and bindaddress6 parameters is used, then only the socket for
135           the corresponding address family is created. If both parameters are
136           used then two sockets are created. If neither of them is used, the
137           list of sockets to listen on will be determined by the system
138           library getaddrinfo(3) function.  The value of the
139           INND_BIND_ADDRESS6, if set, overrides this setting.  The default
140           value is unset.
141
142           Note that you will generally need to put double quotes ("") around
143           this value if you set it, since IPv6 addresses contain colons.
144
145       hiscachesize
146           If set to a value other than 0, a hash of recently received message
147           IDs is kept in memory to speed history lookups.  The value is the
148           amount of memory to devote to the cache in kilobytes.  The cache is
149           only used for incoming feeds and a small cache can hold quite a few
150           message IDs, so large values aren't necessarily useful unless you
151           have incoming feeds that are badly delayed.  A good value for a
152           system with more than one incoming feed is 256; systems with only
153           one incoming feed should probably leave this at 0.  The default
154           value is 0.
155
156       ignorenewsgroups
157           Whether newsgroup creation control messages (newgroup and rmgroup)
158           should be fed as if they were posted to the newsgroup they are cre‐
159           ating or deleting rather than to the newsgroups listed in the News‐
160           groups: header.  If this parameter is set, the newsgroup affected
161           by the control message will be extracted from the Control: header
162           and the article will be fed as if its Newsgroups: header contained
163           solely that newsgroup.  This is useful for routing control messages
164           to peers when they are posted to irrelevant newsgroups that
165           shouldn't be matched against the peer's desired newsgroups in news‐
166           feeds.  This is a boolean value and the default is false.
167
168       immediatecancel
169           When using the timecaf storage method, article cancels are normally
170           just cached to be cancelled, not cancelled immediately.  If this is
171           set to true, they will instead by cancelled as soon as the cancel
172           is processed.  This is a boolean value and the default is false.
173
174           This setting is ignored unless the timecaf storage method is used.
175
176       linecountfuzz
177           If set to something other than 0, the line count of the article is
178           checked against the Lines: header of the article (if present) and
179           the artice is rejected if the values differ by more than this
180           amount.  A reasonable setting is 5, which is the standard maximum
181           signature length plus one (some injection software calculates the
182           Lines: header before adding the signature).  The default value is
183           0, which tells INN not to check the Lines: header of incoming arti‐
184           cles.
185
186       maxartsize
187           The maximum size of article (headers and body) that will be
188           accepted by the server, in bytes.  A value of 0 allows any size of
189           article, but note that innd will crash if system memory is
190           exceeded.  The default value is 1000000 (approximately 1 MB).  See
191           also localmaxartsize.
192
193       maxconnections
194           The maximum number of incoming NNTP connections innd(8) will
195           accept.  The default value is 50.
196
197       pathalias
198           If set, this value is prepended to the Path: header of accepted
199           posts (before pathhost) if it doesn't already appear in the Path:
200           header.  The main purpose of this parameter is to configure all
201           news servers within a particular organization to add a common iden‐
202           tity string to the Path: header.  The default value is unset.
203
204       pgpverify
205           Whether to enable PGP verification of control messages other than
206           cancel.  This is a boolean value and the default is based on
207           whether configure found pgp, pgpv, or gpgv.
208
209       port
210           What TCP port innd(8) should listen on.  The default value is 119,
211           the standard NNTP port.
212
213       refusecybercancels
214           Whether to refuse all articles whose message IDs start with "<can‐
215           cel.".  This message ID convention is widely followed by spam can‐
216           cellers, so the vast majority of such articles will be cancels of
217           spam.  This check, if enabled, is done before the history check and
218           the message ID is not written to the history file.  This is a bool‐
219           ean value and the default is false.
220
221           This is a somewhat messy, inefficient, and inexact way of refusing
222           spam cancels.  A much better way is to ask all of your upstream
223           peers to not send to you any articles with "cyberspam" in the Path:
224           header (usually accomplished by having them mark "cyberspam" as an
225           alias for your machine in their feed configuration).  The filtering
226           enabled by this parameter is hard-coded; general filtering of mes‐
227           sage IDs can be done via the embedded filtering support.
228
229       remembertrash
230           By default, innd(8) records rejected articles in history so that,
231           if offered the same article again, it can be refused before it is
232           sent.  If you wish to disable this behavior, set this to false.
233           This can cause a substantial increase in the amount of bandwidth
234           consumed by incoming news if you have several peers and reject a
235           lot of articles, so be careful with it.  Even if this is set to
236           true, INN won't log some rejected articles to history if there's
237           reason to believe the article might be accepted if offered by a
238           different peer, so there is usually no reason to set this to false
239           (although doing so can decrease the size of the history file).
240           This is a boolean value and the default is true.
241
242       sourceaddress
243           Which local IP address to bind to for outgoing NNTP sockets (used
244           by innxmit(8) among other programs, but not innfeed(8) -- see
245           bindaddress in innfeed.conf(5) for that).  This must be in dotted-
246           quad format (nnn.nnn.nnn.nnn).  If set to "all" or not set, the
247           operating system will choose the source IP address for outgoing
248           connections.  The default value is unset.
249
250       sourceaddress6
251           Like sourceaddress but for IPv6 sockets.
252
253       verifycancels
254           Set this to true to enable a simplistic check on all cancel mes‐
255           sages, attempting to verify (by simple header comparison) that the
256           cancel message is from the same person as the original post.  This
257           can't be done if the cancel arrives before the article does, and is
258           extremely easy to spoof.  While this check may once have served a
259           purpose, it's now essentially security via obscurity, commonly
260           avoided by abusers, and probably not useful.  This is a boolean
261           value, and the default is false.
262
263       wanttrash
264           Set this to true if you want to file articles posted to unknown
265           newsgroups (newsgroups not in the active file) into the "junk"
266           newsgroup rather than rejecting them.  This is sometimes useful for
267           a transit news server that needs to propagate articles in all news‐
268           groups regardless if they're carried locally.  This is a boolean
269           value and the default is false.
270
271       wipcheck
272           If INN is offered an article by a peer on one channel, it will
273           return deferral responses (code 436) to all other offers of that
274           article for this many seconds.  (After this long, if the peer that
275           offered the article still hasn't sent it, it will be accepted from
276           other channels.)  The default value is 5 and probably doesn't need
277           to be changed.
278
279       wipexpire
280           How long, in seconds, to keep track of message IDs offered on a
281           channel before expiring articles that still haven't been sent.  The
282           default value is 10 and probably doesn't need to be changed.
283
284       dontrejectfiltered
285           Normally innd(8) rejects incoming articles when directed to do so
286           by any enabled article filters (Perl, Python, and TCL).  However,
287           this parameter causes such articles not to be rejected; instead
288           filtering can be applied on outbound articles.  If this parameter
289           is set, all articles will be accepted on the local machine, but
290           articles rejected by the filter will not be fed to any peers speci‐
291           fied in newsfeeds with the "Af" flag.
292
293       Article Storage
294
295       These parameters affect how articles are stored on disk.
296
297       cnfscheckfudgesize
298           If set to a value other than 0, the claimed size of articles in
299           CNFS cycbuffs is checked against maxartsize plus this value, and if
300           larger, the CNFS cycbuff is considered corrupt.  This can be useful
301           as a sanity check after a system crash, but be careful using this
302           parameter if you have changed maxartsize recently.  The default
303           value is 0.
304
305       enableoverview
306           Whether to write out overview data for articles.  If set to false,
307           INN will run much faster, but reading news from the system will be
308           impossible (the server will be for news transit only).  If this
309           option is set to true, ovmethod must also be set.  This is a bool‐
310           ean value and the default is true.
311
312       groupbaseexpiry
313           Whether to enable newsgroup-based expiry.  If set to false, article
314           expiry is done based on storage class of storing method.  If set to
315           true (and overview information is available), expiry is done by
316           newsgroup name.  This affects the format of expire.ctl.  This is a
317           boolean value and the default is true.
318
319       mergetogroups
320           Whether to file all postings to "to.*" groups in the pseudonews‐
321           group "to".  If this is set to true, the newsgroup "to" must exist
322           in the active file or INN will not start.  (See the discussion of
323           "to."  groups in innd(8) under CONTROL MESSAGES.)  This is a bool‐
324           ean value and the default is false.
325
326       overcachesize
327           How many cache slots to reserve for open overview files.  If INN is
328           writing overview files (see enableoverview), ovmethod is set to
329           "tradindexed", and this is set to a value other than 0, INN will
330           keep around and open that many recently written-to overview files
331           in case more articles come in for those newsgroups.  Every overview
332           cache slot consumes two file descriptors, so be careful not to set
333           this value too high.  You may be able to use the "limit" command to
334           see how many open file descriptors your operating system allows.
335           innd(8) also uses an open file descriptor for each incoming feed
336           and outgoing channel or batch file, and if it runs out of open file
337           descriptors it may throttle and stop accepting new news.  The
338           default value is 15 (which is probably way too low if you have a
339           large number of file descriptors available).
340
341           This setting is ignored unless ovmethod is set to "tradindexed".
342
343       ovgrouppat
344           If set, restricts the overview data stored by INN to only the news‐
345           groups matching this comma-separated list of wildmat expressions.
346           Newsgroups not matching this setting may not be readable, and if
347           groupbaseexpiry is set to true and the storage method for these
348           newsgroups does not have self-expire functionality, storing over‐
349           view data will fail.  The default is unset.
350
351       ovmethod
352           Which overview storage method to use.  Currently supported values
353           are "tradindexed", "buffindexed", and "ovdb".  There is no default
354           value; this parameter must be set if enableoverview is true (the
355           default).
356
357           "buffindexed"
358               Stores overview data and index information into buffers, which
359               are preconfigured files defined in buffinedexed.conf.
360               "buffindexed" never consumes additional disk space beyond that
361               allocated to these buffers.
362
363           "tradindexed"
364               Uses two files per newsgroup, one containing the overview data
365               and one containing the index.  Fast for readers, but slow to
366               write to.
367
368           "ovdb"
369               Stores data into a Berkeley DB database.  See the ovdb(5) man
370               page.
371
372       hismethod
373           Which history storage method to use.  The only currently supported
374           value is "hisv6".  There is no default value; this parameter must
375           be set.
376
377           "hisv6"
378               Stores history data in the INN history v6 format:  history(5)
379               text file and a number of dbz(3) database files; this may be in
380               true history v6 format, or tagged hash format, depending on the
381               build options.  Separation of these two is a project which has
382               not yet been undertaken.
383
384       storeonxref
385           If set to true, articles will be stored based on the newsgroup
386           names in the Xref: header rather than in the Newsgroups: header.
387           This affects what the patterns in storage.conf apply to.  The pri‐
388           mary interesting effect of setting this to true is to enable filing
389           of all control messages according to what storage class the control
390           pseudogroups are filed in rather than according to the newsgroups
391           the control messages are posted to.  This is a boolean value and
392           the default is true.
393
394       useoverchan
395           Whether to innd(8) should create overview data internally through
396           libstorage(3).  If set to false, innd creates overview data by
397           itself.  If set to true, innd does not create; instead overview
398           data must be created by overchan(8) from an appropriate entry in
399           newsfeeds.  Setting to true may be useful, if innd cannot keep up
400           with incoming feed and the bottleneck is creation of overview data
401           within innd.  This is a boolean value and the default is false.
402
403       wireformat
404           Only used with the tradspool storage method, this says whether to
405           write articles in wire format.  Wire format means storing articles
406           with "\r\n" at the end of each line and with periods at the begin‐
407           ning of lines doubled, the article format required by the NNTP pro‐
408           tocol.  Articles stored in this format are suitable for sending
409           directly to a network connection without requiring conversion, and
410           therefore setting this to true can make the server more efficient.
411           The primary reason not to set this is if you have old existing
412           software that looks around in the spool and doesn't understand how
413           to read wire format.  Storage methods other than tradspool always
414           store articles in wire format.  This is a boolean value and the
415           default is false.
416
417       xrefslave
418           Whether to act as the slave of another server.  If set, INN
419           attempts to duplicate exactly the article numbering of the server
420           feeding it by looking at the Xref: header of incoming articles and
421           assigning the same article numbers to articles as was noted in the
422           Xref: header from the upstream server.  The result is that clients
423           should be able to point at either server interchangeably (using
424           some load balancing scheme, for example) and see the same internal
425           article numbering.  Servers with this parameter set should gener‐
426           ally only have one upstream feed, and should always have nnr‐
427           pdposthost set to hand locally posted articles off to the master
428           server.  The upstream should be careful to always feed articles in
429           order (innfeed(8) can have problems with this in the event of a
430           backlog).  This is a boolean value and the default is false.
431
432       nfswriter
433           For servers writing articles, determine whether the article spool
434           is on NFS storage.  If set, INN attempts to flush articles to the
435           spool in a more timely manner, rather than relying on the operating
436           system to flush things such as the CNFS article bitmaps.  You
437           should only set this parameter if you are attempting to use a
438           shared NFS spool on a machine acting as a single writer within a
439           cluster.  This is a boolean value and the default is false.
440
441       nfsreader
442           For servers reading articles, determine whether the article spool
443           is on NFS storage.  If set, INN will attempt to force articles and
444           overviews to be read directly from the NFS spool rather than from
445           cached copies.  You should only set this parameter if you are
446           attempting to use a shared NFS spool on a machine acting a reader a
447           cluster.  This is a boolean value and the default is false.
448
449       nfsreaderdelay
450           For servers reading articles, determine whether the article spool
451           is on NFS storage.  If nfsreader is set, INN will use the value of
452           nfsreaderdelay to delay the apparent arrival time of articles to
453           clients by this amount; this value should be tuned based on the NFS
454           cache timeouts locally.  This default is 60 (1 minute).
455
456       msgidcachesize
457           How many cache slots to reserve for Message ID to storage token
458           translations.  When serving overview data to clients (NEWNEWS,
459           XOVER etc.), nnrpd(8) can cache the storage token associated with a
460           Message ID and save the cost of looking it up in the history file;
461           for some configurations setting this parameter can save more than
462           90% of the wall clock time for a session.  The default value is
463           10000.
464
465       tradindexedmmap
466           Whether to attempt to mmap() tradindexed overviews articles.  Set‐
467           ting this to true will give better performance on most systems, but
468           some systems have problems with mmap().  If this is set to false,
469           overviews will be read into memory before being sent to readers.
470           This is a boolean value and the default is true.
471
472       Reading
473
474       These parameters affect the behavior of INN for readers.  Most of them
475       are used by nnrpd(8).  There are some special sets of settings that are
476       broken out separately after the initial alphabetized list.
477
478       allownewnews
479           Whether to allow use of the NEWNEWS command by clients.  This com‐
480           mand used to put a heavy load on the server in older versions of
481           INN, but is now reasonably efficient, at least if only one news‐
482           group is specified by the client.  This is a boolean value and the
483           default is true.  If you use the access parameter in readers.conf,
484           be sure to read about the way it overrides allownewnews.
485
486       articlemmap
487           Whether to attempt to mmap() articles.  Setting this to true will
488           give better performance on most systems, but some systems have
489           problems with mmap().  If this is set to false, articles will be
490           read into memory before being sent to readers.  This is a boolean
491           value and the default is false.
492
493       clienttimeout
494           How long (in seconds) a client connection can be idle before it
495           exits.  When setting this parameter, be aware that some newsreaders
496           use the same connection for reading and posting and don't deal well
497           with the connection timing out while a post is being composed.  If
498           the system isn't having a problem with too many long-lived connec‐
499           tions, it may be a good idea to increase this value to 3600 (an
500           hour).  The default value is 600 (ten minutes).
501
502       initialtimeout
503           How long (in seconds) nnrpd will wait for the first command from a
504           reader connection before dropping the connection.  This is a defen‐
505           sive timeout intended to protect the news server from badly behaved
506           reader clients that open and abandon a multitude of connections
507           without every closing them.  The default value is 10 (ten seconds),
508           which may need to be increased if many clients connect via slow
509           network links.
510
511       nnrpdcheckart
512           Whether nnrpd should check the existence of an article before list‐
513           ing it as present in response to an NNTP command.  The primary use
514           of this setting is to prevent nnrpd from returning information
515           about articles which are no longer present on the server but which
516           still have overview data available.  Checking the existence of
517           articles before returning overview information slows down the over‐
518           view commands, but reduces the number of "article is missing"
519           errors seen by the client.  This is a boolean value and the default
520           is true.
521
522       nnrpperlauth
523           This parameter is now obsolete; see "Changes to Perl Authentication
524           Support for nnrpd" in doc/hook-perl.
525
526       nnrppythonauth
527           This parameter is now obsolete; see "Changes to Python Authentica‐
528           tion and Access Control Support for nnrpd" in doc/hook-python.
529
530       noreader
531           Normally, innd(8) will fork a copy of nnrpd(8) for all incoming
532           connections from hosts not listed in incoming.conf.  If this param‐
533           eter is set to true, those connections will instead be rejected
534           with a 502 error code.  This should be set to true for a transit-
535           only server that doesn't support readers, or if nnrpd is running in
536           daemon mode or being started out of inetd.  This is a boolean value
537           and the default is false.
538
539       readerswhenstopped
540           Whether to allow readers to connect even if the server is paused or
541           throttled.  This is only applicable if nnrpd(8) is spawned from
542           innd(8) rather than run out of inetd or in daemon mode.  This is a
543           boolean value and the default is false.
544
545       readertrack
546           Whether to enable the tracking system for client behavior.  Tracked
547           information is recorded to pathlog/tracklogs/log-ID, where ID is
548           determined by nnrpd's PID and launch time.)  Currently the informa‐
549           tion recorded includes initial connection and posting; only infor‐
550           mation about clients listed in nnrpd.track is recorded.  This is a
551           boolean value and the default is false.
552
553       nnrpdloadlimit
554           If set to a value other than 0, connections to nnrpd will be
555           refused if the system load average is higher than this value.  The
556           default value is 16.
557
558       INN has optional support for generating keyword information automati‐
559       cally from article body text and putting that information in overview
560       for the use of clients that know to look for it.  The following parame‐
561       ters control that feature.
562
563       This may be too slow if you're taking a substantial feed, and probably
564       will not be useful for the average news reader; enabling this is not
565       recommended unless you have some specific intention to take advantage
566       of it.
567
568       keywords
569           Whether the keyword generation support should be enabled.  This is
570           a boolean value and the default is false.
571
572           FIXME: Currently, support for keyword generation is configured into
573           INN semi-randomly (based on whether configure found the regex
574           library); it should be an option to configure and that option
575           should be mentioned here.
576
577       keyartlimit
578           Articles larger than this value in bytes will not have keywords
579           generated for them (since it would take too long to do so).  The
580           default value is 100000 (approximately 100 KB).
581
582       keylimit
583           Maximum number of bytes allocated for keyword data.  If there are
584           more keywords than will fit into this many bytes when separated by
585           commas, the rest are discarded.  The default value is 512.
586
587       keymaxwords
588           Maximum number of keywords that will be generated for an article.
589           (The keyword generation code will attempt to discard "noise" words,
590           so the number of keywords actually writen into the overview will
591           usually be smaller than this even if the maximum number of keywords
592           is found.)  The default value is 250.
593
594       Posting
595
596       These parameters are only used by nnrpd(8), inews(1), and other pro‐
597       grams that accept or generate postings.  There are some special sets of
598       settings that are broken out separately after the initial alphabetized
599       list.
600
601       addnntppostingdate
602           Whether to add an NNTP-Posting-Date: header to all local posts.
603           This is a boolean value and the default is true.  Note that INN
604           either does not add this header or adds the name or IP address of
605           the client.  There is no intrinsic support for obfuscating the name
606           of the client.  That has to be done with a user-written Perl fil‐
607           ter, if desired.
608
609       addnntppostinghost
610           Whether to add an NNTP-Posting-Host: header to all local posts giv‐
611           ing the FQDN or IP address of the system from which the post was
612           received.  This is a boolean value and the default is true.
613
614       checkincludedtext
615           Whether to check local postings for the ratio of new to quoted text
616           and reject them if that ratio is under 50%.  Included text is rec‐
617           ognized by looking for lines beginning with ">", "⎪", or ":".  This
618           is a boolean value and the default is false.
619
620       complaints
621           The value of the X-Complaints-To: header added to all local posts.
622           The default is the newsmaster's e-mail address.  (If the newsmas‐
623           ter, selected at configure time and defaulting to "usenet", doesn't
624           contain "@", the address will consist of the newsmaster, a "@", and
625           the value of fromhost.)
626
627       fromhost
628           Contains a domain used to construct e-mail addresses.  The address
629           of the local news administrator will be given as <user>@fromhost,
630           where <user> is the newsmaster user set at compile time ("usenet"
631           by default).  This setting will also be used by mailpost(8) to
632           fully qualify addresses and by inews(1) to generate the Sender:
633           header (and From: header if missing).  The value of the FROMHOST
634           environment variable, if set, overrides this setting.  The default
635           is the fully-qualified domain name of the local host.
636
637       localmaxartsize
638           The maximum article size (in bytes) for locally posted articles.
639           Articles larger than this will be rejected.  A value of 0 allows
640           any size of article, but note that nnrpd and innd will crash if
641           system memory is exceeded.  See also maxartsize, which applies to
642           all articles including those posted locally.  The default value is
643           1000000 (approximately 1 MB).
644
645       moderatormailer
646           The address to which to send submissions for moderated groups.  It
647           is only used if the moderators file doesn't exist, or if the moder‐
648           ated group to which an article is posted is not matched by any
649           entry in that file, and takes the same form as an entry in the mod‐
650           erators file.  In most cases, "%s@moderators.isc.org" is a good
651           value for this parameter (%s is expanded into a form of the news‐
652           group name).  See moderators(5) for more details about the syntax.
653           The default is unset.  If this parameter isn't set and an article
654           is posted to a moderated group that does not have a matching entry
655           in the moderators file, the posting will be rejected with an error.
656
657       nnrpdauthsender
658           Whether to generate a Sender: header based on reader authentica‐
659           tion.  If this parameter is set, a Sender: header will be added to
660           local posts containing the identity assigned by readers.conf.  If
661           the assigned identity does not include an "@", the reader's host‐
662           name is used.  If this parameter is set but no identity is be
663           assigned, the Sender: header will be removed from all posts even if
664           the poster includes one.  This is a boolean value and the default
665           is false.
666
667       nnrpdposthost
668           If set, nnrpd(8) and rnews(1) will pass all locally posted articles
669           to the specified host rather than trying to inject them locally.
670           See also nnrpdpostport.  This should always be set if xrefslave is
671           true.  The default value is unset.
672
673       nnrpdpostport
674           The port on the remote server to connect to to post when nnr‐
675           pdposthost is used.  The default value is 119.
676
677       organization
678           What to put in the Organization: header if it is left blank by the
679           poster.  The value of the ORGANIZATION environment variable, if
680           set, overrides this setting.  The default is unset, which tells INN
681           not to insert an Organization: header.
682
683       spoolfirst
684           If true, nnrpd(8) will spool new articles rather than attempting to
685           send them to innd(8).  If false, nnrpd will spool articles only if
686           it receives an error trying to send them to innd.  Setting this to
687           true can be useful if nnrpd must respond as fast as possible to the
688           client; however, when set, articles will not appear to readers
689           until they are given to innd.  nnrpd won't do this; "rnews -U" must
690           be run periodically to take the spooled articles and post them.
691           This is a boolean value and the default is false.
692
693       strippostcc
694           Whether to strip To:, Cc:, and Bcc: headers out of all local posts
695           via nnrpd(8).  The primary purpose of this setting is to prevent
696           abuse of the news server by posting to a moderated group and
697           including To: or Cc: headers in the post so that the news server
698           will send the article to arbitrary addresses.  INN now protects
699           against this abuse in other ways provided mta is set to a command
700           that includes %s and honors it, so this is generally no longer
701           needed.  This is a boolean value and the default is false.
702
703       nnrpd(8) has support for controlling high-volume posters via an expo‐
704       nential backoff algorithm, as configured by the following parameters.
705
706       Exponential posting backoff works as follows:  News clients are indexed
707       by IP address (or username, see backoffauth below).  Each time a post
708       is received from an IP address, the time of posting is stored (along
709       with the previous sleep time, see below).  After a configurable number
710       of posts in a configurable period of time, nnrpd(8) will activate post‐
711       ing backoff and begin to sleep for increasing periods of time before
712       actually posting anything.  Posts will still be accepted, but at an
713       increasingly reduced rate.
714
715       After backoff has been activated, the length of time to sleep is com‐
716       puted based on the difference in time between the last posting and the
717       current posting.  If this difference is less than backoffpostfast, the
718       new sleep time will be 1 + (previous sleep time * backoffk).  If this
719       difference is less than backoffpostslow but greater than backoffpost‐
720       fast, then the new sleep time will equal the previous sleep time.  If
721       this difference is greater than backoffpostslow, the new sleep time is
722       zero and posting backoff is deactivated for this poster.
723
724       Exponential posting backoff will not be enabled unless backoffdb is set
725       and backoffpostfast and backoffpostslow are set to something other than
726       their default values.
727
728       Here are the parameters that control exponential posting backoff:
729
730       backoffauth
731           Whether to index posting backoffs by user rather than by source IP
732           address.  You must be using authentication in nnrpd(8) for a value
733           of true to have any meaning.  This is a boolean value and the
734           default is false.
735
736       backoffdb
737           The path to a directory, writeable by the news user, that will con‐
738           tain the backoff database.  There is no default for this parameter;
739           you must provide a path to a creatable or writeable directory to
740           enable exponential backoff.
741
742       backoffk
743           The amount to multiply the previous sleep time by if the user is
744           still posting too quickly.  A value of 2 will double the sleep time
745           for each excessive post.  The default value is 1.
746
747       backoffpostfast
748           Postings from the same identity that arrive in less than this
749           amount of time (in seconds) will trigger increasing sleep time in
750           the backoff algorithm.  The default value is 0.
751
752       backoffpostslow
753           Postings from the same identity that arrive in greater than this
754           amount of time (in seconds) will reset the backoff algorithm.
755           Another way to look at this constant is to realize that posters
756           will be allowed to generate at most 86400/backoffpostslow posts per
757           day.  The default value is 1.
758
759       backofftrigger
760           This many postings are allowed before the backoff algorithm is
761           triggered.  The default value is 10000.
762
763       Monitoring
764
765       These parameters control the behavior of innwatch(8), the program that
766       monitors INN and informs the news administrator if anything goes wrong
767       with it.
768
769       doinnwatch
770           Whether to start innwatch(8) from rc.news.  This is a boolean
771           value, and the default is true.
772
773       innwatchbatchspace
774           Free space in pathoutgoing, in inndf(8) output units (normally
775           kilobytes), at which innd(8) will be throttled by innwatch(8),
776           assuming a default innwatch.ctl.  The default value is 800.
777
778       innwatchlibspace
779           Free space in pathdb, in inndf(8) output units (normally kilo‐
780           bytes), at which innd(8) will be throttled by innwatch(8), assuming
781           a default innwatch.ctl.  The default value is 25000.
782
783       innwatchloload
784           Load average times 100 at which innd(8) will be restarted by
785           innwatch(8) (undoing a previous pause or throttle), assuming a
786           default innwatch.ctl.  The default value is 1000 (that is, a load
787           average of 10.00).
788
789       innwatchhiload
790           Load average times 100 at which innd(8) will be throttled by
791           innwatch(8), assuming a default innwatch.ctl.  The default value is
792           2000 (that is, a load average of 20.00).
793
794       innwatchpauseload
795           Load average times 100 at which innd(8) will be paused by
796           innwatch(8), assuming a default innwatch.ctl.  The default value is
797           1500 (that is, a load average of 15.00).
798
799       innwatchsleeptime
800           How long (in seconds) innwatch(8) will sleep between each check of
801           INN.  The default value is 600.
802
803       innwatchspoolnodes
804           Free inodes in patharticles at which innd(8) will be throttled by
805           innwatch(8), assuming a default innwatch.ctl.  The default value is
806           200.
807
808       innwatchspoolspace
809           Free space in patharticles and pathoverview, in inndf(8) output
810           units (normally kilobytes), at which innd(8) will be throttled by
811           innwatch(8), assuming a default innwatch.ctl.  The default value is
812           8000.
813
814       Logging
815
816       These parameters control what information INN logs.
817
818       docnfsstat
819           Whether to start cnfsstat(8) when innd(8) is started.  cnfsstat
820           will log the status of all CNFS cycbuffs to syslog on a periodic
821           basis (frequency is the default for "cnfsstat -l", currently 600
822           seconds).  This is a boolean value and the default is false.
823
824       logartsize
825           Whether the size of accepted articles (in bytes) should be written
826           to the article log file.  This is useful for flow rate statistics
827           and is recommended.  This is a boolean value and the default is
828           true.
829
830       logcancelcomm
831           Set this to true to log "ctlinnd cancel" commands to syslog.  This
832           is a boolean value and the default is false.
833
834       logcycles
835           How many old logs scanlogs(8) keeps.  scanlogs(8) is generally run
836           by news.daily(8) and will archive compressed copies of this many
837           days worth of old logs.  The default value is 3.
838
839       logipaddr
840           Whether the verified name of the remote feeding host should be
841           logged to the article log for incoming articles rather than the
842           last entry in the Path: header.  The only reason to ever set this
843           to false is due to some interactions with newsfeeds flags; see
844           newsfeeds(5) for more information.  This is a boolean value and the
845           default is true.
846
847       logsitename
848           Whether the names of the sites to which accepted articles will be
849           sent should be put into the article log file.  This is useful for
850           debugging and statistics and can be used by newsrequeue(8).  This
851           is a boolean value and the default is true.
852
853       nnrpdoverstats
854           Whether nnrpd overview statistics should be logged via syslog.
855           This can be useful for measuring overview performance.  This is a
856           boolean value and the default is false.
857
858       nntpactsync
859           How many articles to process on an incoming channel before logging
860           the activity.  The default value is 200.
861
862           FIXME: This is a rather unintuitive name for this parameter.
863
864       nntplinklog
865           Whether to put the storage API token for accepted articles (used by
866           nntplink) in the article log.  This is a boolean value and the
867           default is false.
868
869       stathist
870           Where to write history statistics for analysis with con‐
871           trib/stathist.pl; this can be modified with ctlinnd(8) while innd
872           is running.  Logging does not occur unless a path is given, and
873           there is no default value.
874
875       status
876           How frequently (in seconds) innd(8) should write out a status
877           report.  The report is written to pathhttp/inn_status.html.  If
878           this is set to 0 or "false", status reporting is disabled.  The
879           default value is 0.
880
881       timer
882           How frequently (in seconds) innd(8) should report performance tim‐
883           ings to syslog.  If this is set to 0, performance timing is dis‐
884           abled.  Enabling this is highly recommended, and innreport(8) can
885           produce a nice summary of the timings.  If set to 0, performance
886           timings in nnrpd(8) are also disabled, although nnrpd always
887           reports statistics on exit and therefore any non-zero value is
888           equivalent for it.  The default value is 0.
889
890       System Tuning
891
892       The following parameters can be modified to tune the low-level opera‐
893       tion of INN.  In general, you shouldn't need to modify any of them
894       except possibly rlimitnofile unless the server is having difficulty.
895
896       badiocount
897           How many read or write failures until a channel is put to sleep or
898           closed.  The default value is 5.
899
900       blockbackoff
901           Each time an attempted write returns EAGAIN or EWOULDBLOCK, innd(8)
902           will wait for an increasing number of seconds before trying it
903           again.  This is the multiplier for the sleep time.  If you're hav‐
904           ing trouble with channel feeds not keeping up, it may be good to
905           change this value to 2 or 3, since then when the channel fills INN
906           will try again in a couple of seconds rather than waiting two min‐
907           utes.  The default value is 120.
908
909       chaninacttime
910           The time (in seconds) to wait between noticing inactive channels.
911           The default value is 600.
912
913       chanretrytime
914           How many seconds to wait before a channel restarts.  The default
915           value is 300.
916
917       datamovethreshold
918           The threshold for deciding whether to move already-read data to the
919           top of buffer or extend the buffer.  The buffer described here is
920           used for reading NNTP data.  Increasing this value may improve per‐
921           formance, but it should not be increased on Systems with insuffi‐
922           cient memory.  Permitted values are between 0 and 1048576 (out of
923           range values are treated as 1048576) and the default value is 8192.
924
925       icdsynccount
926           How many article writes between updating the active and history
927           files.  The default value is 10.
928
929       keepmmappedthreshold
930           When using buffindexed, retrieving overview data (that is, respond‐
931           ing to XOVER or running expireover) causes mmapping of all overview
932           data blocks which include requested overview data for newsgroup.
933           But for high volume newsgroups like control.cancel, this may cause
934           too much mmapping at once leading to system resource problems.  To
935           avoid this, if the amount to be mmapped exceeds keepmmappedthresh‐
936           old (in KB), buffindexed mmap's just one overview block (8 KB).
937           This parameter is specific to buffindexed overview storage method.
938           The default value is 1024 (1 MB).
939
940       maxcmdreadsize
941           If set to anything other than 0, maximum buffer size (in bytes) for
942           reading NNTP command will have this value.  It should not be large
943           on systems which are slow to process and store articles, as that
944           would lead to innd(8) spending a long time on each channel and
945           keeping other channels waiting.  The default value is BUFSIZ
946           defined in stdio.h (1024 in most environments, see setbuf(3)).
947
948       maxforks
949           How many times to attempt a fork(2) before giving up.  The default
950           value is 10.
951
952       nicekids
953           If set to anything other than 0, all child processes of innd(8)
954           will have this nice(2) value.  This is usually used to give all
955           child processes of innd(8) a lower priority (higher nice value) so
956           that innd(8) can get the lion's share of the CPU when it needs it.
957           The default value is 4.
958
959       nicenewnews
960           If set to anything greater than 0, all nnrpd(8) processes that
961           receive and process a NEWNEWS command will nice(2) themselves to
962           this value (giving other nnrpd processes a higher priority).  The
963           default value is 0.  Note that this value will be ignored if set to
964           a lower value than nicennrpd (or nicekids if nnrpd(8) is spawned
965           from innd(8)).
966
967       nicennrpd
968           If set to anything greater than 0, all nnrpd(8) processes will
969           nice(1) themselves to this value.  This gives other news processes
970           a higher priority and can help overchan(8) keep up with incoming
971           news (if that's the object, be sure overchan(8) isn't also set to a
972           lower priority via nicekids).  The default value is 0, which will
973           cause nnrpd(8) processes spawned from innd(8) to use the value of
974           nicekids, while nnrpd(8) run as a daemon will use the system
975           default priority.  Note that for nnrpd(8) processes spawned from
976           innd(8), this value will be ignored if set to a value lower than
977           nicekids.
978
979       pauseretrytime
980           Wait for this many seconds before noticing inactive channels.  Wait
981           for this many seconds before innd processes articles when it's
982           paused or the number of channel write failures exceeds badiocount.
983           The default value is 300.
984
985       peertimeout
986           How long (in seconds) an innd(8) incoming channel may be inactive
987           before innd closes it.  The default value is 3600 (an hour).
988
989       rlimitnofile
990           The maximum number of file descriptors that innd(8) or innfeed(8)
991           can have open at once.  If innd(8) or innfeed(8) attempts to open
992           more file descriptors than this value, it is possible the program
993           may throttle or otherwise suffer reduced functionality.  The number
994           of open file descriptors is roughly the maximum number of incoming
995           feeds and outgoing batches for innd(8) and the number of outgoing
996           streams for innfeed(8).  If this parameter is set to a negative
997           value, the default limit of the operating system will be used; this
998           will normally be adequate on systems other than Solaris.  Nearly
999           all operating systems have some hard maximum limit beyond which
1000           this value cannot be raised, usually either 128, 256, or 1024.  The
1001           default value of this parameter is "-1".  Setting it to 256 on
1002           Solaris systems is highly recommended.
1003
1004       Paths and File Names
1005
1006       patharchive
1007           Where to store archived news.  The default value is pathspool/ar‐
1008           chive.
1009
1010       patharticles
1011           The path to where the news articles are stored (for storage methods
1012           other than CNFS).  The default value is pathspool/articles.
1013
1014       pathbin
1015           The path to the news binaries.  The default value is pathnews/bin.
1016
1017       pathcontrol
1018           The path to the files that handle control messages.  The code for
1019           handling each separate type of control message is located here.  Be
1020           very careful what you put in this directory with a name ending in
1021           ".pl", as it can potentially be a severe security risk.  The
1022           default value is pathbin/control.
1023
1024       pathdb
1025           The path to the database files used and updated by the server (cur‐
1026           rently, active, active.times, history and its indices, and news‐
1027           groups).  The default value is pathnews/db.
1028
1029       pathetc
1030           The path to the news configuration files.  The default value is
1031           pathnews/etc.
1032
1033       pathfilter
1034           The path to the Perl, Tcl, and Python filters.  The default value
1035           is pathbin/filter.
1036
1037       pathhttp
1038           Where any HTML files (such as periodic status reports) are placed.
1039           If the news reports should be available in real-time on the web,
1040           the files in this directory should be served by a web server.  The
1041           default value is the value of pathlog.
1042
1043       pathincoming
1044           Location where incoming batched news is stored.  The default value
1045           is pathspool/incoming.
1046
1047       pathlog
1048           Where the news log files are written.  The default value is path‐
1049           news/log.
1050
1051       pathnews
1052           The home directory of the news user and usually the root of the
1053           news hierarchy.  There is no default; this parameter must be set in
1054           inn.conf or INN will refuse to start.
1055
1056       pathoutgoing
1057           Default location for outgoing feed files.  The default value is
1058           pathspool/outgoing.
1059
1060       pathoverview
1061           The path to news overview files.  The default value is path‐
1062           spool/overview.
1063
1064       pathrun
1065           The path to files required while the server is running and run-time
1066           state information.  This includes lock files and the sockets for
1067           communicating with innd(8).  This directory and the control sockets
1068           in it should be protected from unprivileged users other than the
1069           news user.  The default value is pathnews/run.
1070
1071       pathspool
1072           The root of the news spool hierarchy.  This used mostly to set the
1073           defaults for other parameters, and to determine the path to the
1074           backlog directory for innfeed(8).  The default value is path‐
1075           news/spool.
1076
1077       pathtmp
1078           Where INN puts temporary files.  For security reasons, this is not
1079           the same as the system temporary files directory (INN creates a lot
1080           of temporary files with predictable names and does not go to par‐
1081           ticularly great lengths to protect against symlink attacks and the
1082           like; this is safe provided that normal users can't write into its
1083           temporary directory).  The default value is set at configure time
1084           and defaults to pathnews/tmp.
1085

EXAMPLE

1087       Here is a very minimalist example that only sets those parameters that
1088       are required.
1089
1090           mta:                /usr/lib/sendmail -oi -oem %s
1091           ovmethod:           tradindexed
1092           pathhost:           news.example.com
1093           pathnews:           /usr/local/news
1094           hismethod:          hisv6
1095
1096       For a more comprehensive example, see the sample inn.conf distributed
1097       with INN and installed as a starting point; it contains all of the
1098       default values for reference.
1099

HISTORY

1101       Written by Rich $alz <rsalz@uunet.uu.net> for InterNetNews and since
1102       modified, updated, and reorganized by innumerable other people.
1103
1104       $Id: inn.conf.5 7471 2005-12-15 04:53:16Z eagle $
1105

SEE ALSO

1107       inews(1), innd(8), innwatch(8), nnrpd(8), rnews(1).
1108
1109       Nearly every program in INN uses this file to one degree or another.
1110       The above are just the major and most frequently mentioned ones.
1111
1112
1113
1114INN 2.4.3                         2005-12-14                       INN.CONF(5)
Impressum