1INN.CONF(5) InterNetNews Documentation INN.CONF(5)
2
3
4
6 inn.conf - Configuration data for InterNetNews programs
7
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
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
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
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
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)