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 characters
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
39 parameter.
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
47 manual rather than as a tutorial. If this is your first exposure to
48 INN and these parameters, it would be better to start by reading other
49 man 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 These parameters are used by a wide variety of different components of
56 INN.
57
58 domain
59 This should be the domain name of the local host. It should not
60 have a leading period, and it should not be a full host address.
61 It is used only if the inn_getfqdn() routine in libinn(3) cannot
62 get the fully qualified domain name by using either the
63 gethostname(3) or getaddrinfo(3) calls. The check is very simple;
64 if either routine returns a name with a period in it, then it is
65 assumed to have the full domain name. As this parameter is rarely
66 used, do not use it to affect the righthand side of autogenerated
67 Message-IDs; see instead virtualhost and domain in readers.conf(5).
68 The default value is unset.
69
70 innflags
71 The flags to pass to innd on startup. See innd(8) for details on
72 the possible flags. The default value is unset.
73
74 Note that these flags are only used when innd is started from
75 rc.news or nntpsend.
76
77 mailcmd
78 The path to the program to be used for mailing reports and control
79 messages. The default is pathbin/innmail. This should not
80 normally need to be changed.
81
82 mta The command to use when mailing postings to moderators and for the
83 use of innmail(1). The message, with headers and an added To:
84 header, will be piped into this program. The string %s, if
85 present, will be replaced by the e-mail address of the moderator.
86 It's strongly recommended for this command to include %s on the
87 command line rather than use the addresses in the To: and Cc:
88 headers of the message, since the latter approach allows the news
89 server to be abused as a mechanism to send mail to arbitrary
90 addresses and will result in unexpected behavior. There is no
91 default value for this parameter; it must be set in inn.conf or a
92 fatal error message will be logged via syslog.
93
94 For most systems, "/usr/lib/sendmail -oi -oem %s" (adjusted for the
95 correct path to sendmail, and between double quotes) is a good
96 choice.
97
98 pathhost
99 What to put into the Path: header to represent the local site.
100 This is added to the Path: header of all articles that pass through
101 the system, including locally posted articles, and is also used
102 when processing some control messages and when naming the server in
103 status reports. There is no default value; this parameter must be
104 set in inn.conf or INN will not start. A good value to use is the
105 fully qualified hostname of the system.
106
107 runasgroup
108 The group under which the news server will run. The default is
109 "news" (or the group specified at configure time) and should not
110 normally need to be changed.
111
112 runasuser
113 The user under which the news server will run. The default is
114 "news" (or the user specified at configure time) and should not
115 normally need to be changed.
116
117 server
118 The name of the default NNTP server. If nnrpdposthost is not set
119 and UNIX domain sockets are not supported, nnrpd(8) tries to hand
120 off locally-posted articles through an INET domain socket to this
121 server. actsync(8), nntpget(8), and getlist(8) also use this value
122 as the default server to connect to. In the latter cases, the
123 value of the NNTPSERVER environment variable, if it exists,
124 overrides this. The default value is unset.
125
126 syntaxchecks
127 A list of values controlling the level of checks performed by innd
128 and nnrpd. For instance:
129
130 syntaxchecks: [ no-laxmid ]
131
132 The last occurrence of a given value takes precedence, that is to
133 say if "no-laxmid laxmid" is listed, laxmid takes precedence.
134
135 Only one check can currently be enabled/disabled:
136
137 laxmid / no-laxmid
138 When laxmid is set, Message-IDs containing ".." in the left
139 part are accepted, as well as Message-IDs with two "@". Some
140 non-compliant news posters generate such syntactically invalid
141 Message-IDs, especially in binary newsgroups. The default is
142 no-laxmid, that is to say INN strictly follows the standard
143 regarding syntax checks.
144
145 Feed Configuration
146 These parameters govern incoming and outgoing feeds: what size of
147 articles are accepted, what filtering and verification is performed on
148 them, whether articles in groups not carried by the server are still
149 stored and propagated, and other similar settings.
150
151 artcutoff
152 Articles older than this number of days are dropped. The default
153 value is 10, which means that an incoming article will be rejected
154 if its posting date is farther in the past than ten days.
155
156 In order to disable that check on date, you can set this parameter
157 to 0.
158
159 The number on the "/remember/" line in expire.ctl should probably
160 be one more than that number in order to take into account articles
161 whose posting date is one day into the future.
162
163 bindaddress
164 Which IP address innd(8) should bind itself to. This must be in
165 dotted-quad format (nnn.nnn.nnn.nnn). If set to "all" or not set,
166 innd defaults to listening on all interfaces. The value of the
167 INND_BIND_ADDRESS environment variable, if set, overrides this
168 setting. The default value is unset.
169
170 This parameter has no effect when systemd socket activation is
171 used.
172
173 bindaddress6
174 Like bindaddress but for IPv6 sockets. If only one of the
175 bindaddress and bindaddress6 parameters is used, then only the
176 socket for the corresponding address family is created. If both
177 parameters are used then two sockets are created. If neither of
178 them is used, the list of sockets to listen on will be determined
179 by the system library getaddrinfo(3) function. The value of the
180 INND_BIND_ADDRESS6, if set, overrides this setting. The default
181 value is unset.
182
183 Note that you will generally need to put double quotes ("") around
184 this value if you set it, since IPv6 addresses contain colons.
185
186 This parameter has no effect when systemd socket activation is
187 used.
188
189 dontrejectfiltered
190 Normally innd(8) rejects incoming articles when directed to do so
191 by any enabled article filters (Perl or Python). However, this
192 parameter causes such articles not to be rejected; instead
193 filtering can be applied on outbound articles. If this parameter
194 is set, all articles will be accepted on the local machine, but
195 articles rejected by the filter will not be fed to any peers
196 specified in newsfeeds with the "Af" flag. The default value is
197 false.
198
199 hiscachesize
200 If set to a value other than 0, a hash of recently received
201 Message-IDs is kept in memory to speed history lookups. The value
202 is the amount of memory to devote to the cache in kilobytes. The
203 cache is only used for incoming feeds and a small cache can hold
204 quite a few Message-IDs, so large values aren't necessarily useful
205 unless you have incoming feeds that are badly delayed. innreport
206 can provide useful statistics regarding the use of the history
207 cache, especially when it misses. A good value for a system with
208 more than one incoming feed is 256; systems with only one incoming
209 feed should probably set this to 0. The default value is 256.
210
211 ignorenewsgroups
212 Whether newsgroup creation control messages (newgroup and rmgroup)
213 should be fed as if they were posted to the newsgroup they are
214 creating or deleting rather than to the newsgroups listed in the
215 Newsgroups: header. If this parameter is set, the newsgroup
216 affected by the control message will be extracted from the Control:
217 header and the article will be fed as if its Newsgroups: header
218 contained solely that newsgroup. This is useful for routing
219 control messages to peers when they are posted to irrelevant
220 newsgroups that shouldn't be matched against the peer's desired
221 newsgroups in newsfeeds. This is a boolean value and the default
222 is false.
223
224 immediatecancel
225 When using the timecaf storage method, article cancels are normally
226 just cached to be cancelled, not cancelled immediately. If this is
227 set to true, they will instead by cancelled as soon as the cancel
228 is processed. This is a boolean value and the default is false.
229
230 This setting is ignored unless the timecaf storage method is used.
231
232 linecountfuzz
233 If set to something other than 0, the line count of the article is
234 checked against the Lines: header of the article (if present) and
235 the article is rejected if the values differ by more than this
236 amount. A reasonable setting is 5, which is the standard maximum
237 signature length plus one (some injection software calculates the
238 Lines: header before adding the signature). The default value is
239 0, which tells INN not to check the Lines: header of incoming
240 articles.
241
242 maxartsize
243 The maximum size of article (headers and body) that will be
244 accepted by the server, in bytes. A value of 0 allows any size of
245 article, but note that innd will crash if system memory is
246 exceeded. The default value is 1000000 (approximately 1 MB). This
247 is checked against the article in wire format (CRLF at the end of
248 each line, leading periods protected, and with the trailing
249 "\r\n.\r\n" at the end). See also localmaxartsize.
250
251 maxconnections
252 The maximum number of incoming NNTP connections innd(8) will
253 accept. The default value is 50.
254
255 pathalias
256 If set, this value is prepended to the Path: header of accepted
257 posts (before pathhost) if it doesn't already appear in the Path:
258 header. The main purpose of this parameter is to configure all
259 news servers within a particular organization to add a common
260 identity string to the Path: header. The default value is unset.
261
262 pathcluster
263 If set, this value is appended to the Path: header of accepted
264 posts (after pathhost) if it isn't already present as the last
265 element of the Path: header. The main purpose of this parameter is
266 to make several news servers appear as one server. The default
267 value is unset.
268
269 Note that the Path: header reads right to left, so appended means
270 inserted at the leftmost side of the Path: header.
271
272 pgpverify
273 Whether to enable PGP verification of control messages other than
274 cancel. This is a boolean value and the default in the inn.conf
275 sample file is based on whether configure found pgp, pgpv, pgpgpg,
276 gpgv, gpgv1, gpgv2, gpg, gpg1 or gpg2. Note that if the parameter
277 is not present in the configuration file, it defaults to false.
278
279 port
280 What TCP port innd(8) should listen on. The default value is 119,
281 the standard NNTP port.
282
283 refusecybercancels
284 Whether to refuse all articles whose message IDs start with
285 "<cancel.". This message ID convention is widely followed by spam
286 cancellers, so the vast majority of such articles will be cancels
287 of spam. This check, if enabled, is done before the history check
288 and the message ID is not written to the history file. This is a
289 boolean value and the default is false.
290
291 This is a somewhat messy, inefficient, and inexact way of refusing
292 spam cancels. A much better way is to ask all of your upstream
293 peers to not send to you any articles with "cyberspam" in the Path:
294 header (usually accomplished by having them mark "cyberspam" as an
295 alias for your machine in their feed configuration). The filtering
296 enabled by this parameter is hard-coded; general filtering of
297 message IDs can be done via the embedded filtering support.
298
299 remembertrash
300 By default, innd(8) records rejected articles in history so that,
301 if offered the same article again, it can be refused before it is
302 sent. If you wish to disable this behavior, set this to false.
303 This can cause a substantial increase in the amount of bandwidth
304 consumed by incoming news if you have several peers and reject a
305 lot of articles, so be careful with it. Even if this is set to
306 true, INN won't log some rejected articles to history if there's
307 reason to believe the article might be accepted if offered by a
308 different peer, so there is usually no reason to set this to false
309 (although doing so can decrease the size of the history file).
310 This is a boolean value and the default is true.
311
312 sourceaddress
313 Which local IP address to bind to for outgoing NNTP sockets (used
314 by innxmit(8) among other programs, as well as innfeed(8) as long
315 as not overridden by bindaddress in innfeed.conf(5)). This must be
316 in dotted-quad format (nnn.nnn.nnn.nnn). If set to "all", the
317 operating system will choose the source IP address for outgoing
318 connections. The default value is unset.
319
320 sourceaddress6
321 Like sourceaddress but for IPv6 sockets. Note that you will
322 generally need to put double quotes ("") around this value if you
323 set it, since IPv6 addresses contain colons.
324
325 verifycancels
326 Set this to true to enable a simplistic check on all cancel
327 messages, attempting to verify (by simple header comparison) that
328 at least one newsgroup in the cancel message can be found in the
329 article to be cancelled. This check can't be done if the cancel
330 arrives before the article does. This is a boolean value, and the
331 default is false.
332
333 Note that RFC 5537 (USEPRO) mentions that "cancel control messages
334 are not required to contain From: and Sender: header fields
335 matching the target message. This requirement only encouraged
336 cancel issuers to conceal their identity and provided no security".
337 This check is therefore not done as it is extremely easy to spoof.
338
339 In order not to actually process any cancel or supersedes messages,
340 you can start innd with the -C flag, or add this flag to the
341 innflags parameter.
342
343 verifygroups
344 Set this to true to reject incoming articles which contain an
345 unknown newsgroup in the whole list of newsgroups to which they are
346 posted. In case wanttrash is set to true, such articles will still
347 be rejected. This is a boolean value, and the default is false.
348
349 wanttrash
350 Set this to true if you want to file articles posted to unknown
351 newsgroups (newsgroups not in the active file) into the "junk"
352 newsgroup rather than rejecting them. This is sometimes useful for
353 a transit news server that needs to propagate articles (according
354 to the setting of "Aj" in the newsfeeds feed pattern) in all
355 newsgroups regardless if they're carried locally. This is a
356 boolean value and the default is false.
357
358 The logtrash parameter specifies whether such articles should be
359 logged as posted to unwanted newsgroups in the news log file.
360
361 wipcheck
362 If INN is offered an article by a peer on one channel, it will
363 return deferral responses (code 436) to all other offers of that
364 article for this many seconds. (After this long, if the peer that
365 offered the article still hasn't sent it, it will be accepted from
366 other channels.) The default value is 5 and probably doesn't need
367 to be changed.
368
369 wipexpire
370 How long, in seconds, to keep track of message IDs offered on a
371 channel before expiring articles that still haven't been sent. The
372 default value is 10 and probably doesn't need to be changed.
373
374 History Settings
375 The following parameter affect the history database.
376
377 hismethod
378 Which history storage method to use. The only currently supported
379 value is "hisv6". There is no default value; this parameter must
380 be set.
381
382 "hisv6"
383 Stores history data in the INN history v6 format: history(5)
384 text file and a number of dbz(3) database files; this may be in
385 true history v6 format, or tagged hash format, depending on the
386 build options. Separation of these two is a project which has
387 not yet been undertaken.
388
389 Article Storage
390 These parameters affect how articles are stored on disk.
391
392 cnfscheckfudgesize
393 If set to a value other than 0, the claimed size of articles in
394 CNFS cycbuffs is checked against maxartsize plus this value, and if
395 larger, the CNFS cycbuff is considered corrupt. This can be useful
396 as a sanity check after a system crash, but be careful using this
397 parameter if you have changed maxartsize recently. The default
398 value is 0.
399
400 enableoverview
401 Whether to write out overview data for articles. If set to false,
402 INN will run much faster, but reading news from the system will be
403 impossible (the server will be for news transit only). If this
404 option is set to true, ovmethod must also be set. This is a
405 boolean value and the default is true.
406
407 extraoverviewadvertised
408 Besides the seven standard overview fields (which are in order
409 "Subject:", "From:", "Date:", "Message-ID:", "References:",
410 ":bytes" and ":lines") and the eighth "Xref:full" field required by
411 INN in order to handle crossposts, it is possible to add other
412 fields in the overview database. This parameter expects a list of
413 such header names. Overview data for these additional headers will
414 be generated for each new article at the time of arrival. For
415 instance, if you specify:
416
417 extraoverviewadvertised: [ Path Injection-Info ]
418
419 it implies that nnrpd will advertise "Path:full" and
420 "Injection-Info:full" as the ninth and tenth fields in response to
421 LIST OVERVIEW.FMT and that these two headers will be stored in the
422 overview database for each new article.
423
424 The default value is an empty list (no additional fields are
425 stored). Owing to optimizations when innd parses the articles it
426 receives, it is possible that all the values in the list are not
427 recognized by innd as standard headers. In such cases, innd will
428 log an error in news.err at startup and the unrecognized fields
429 will be discarded.
430
431 You should advertise only fields for which the overview database is
432 consistent, that is to say it records the content or absence of
433 these fields for all articles, including those already existing in
434 the news spool. Consequently, if you decide to add or remove a
435 field from your overview database, you should either modify
436 extraoverviewadvertised and rebuild your overview database with
437 makehistory(8) after removing all existing overview files, or
438 implement a transition period by first using extraoverviewhidden as
439 described below.
440
441 Use of a transition period can accommodate most overview
442 reconfigurations, but certain drastic changes may still require a
443 complete overview rebuild.
444
445 If for instance you want to store the content of the To: header in
446 addition to the fields already stored above, you should use:
447
448 extraoverviewadvertised: [ Path Injection-Info ]
449 extraoverviewhidden: [ To ]
450
451 This way, "To:full" will not be advertised by nnrpd but will be
452 stored for each new article. Once you know that all articles in
453 your overview database record the content or absence of that new
454 field (if expire.ctl(5) is parametered so that all your articles
455 expire within 30 days, you can assume the database is in such a
456 state after 30 days -- however, note that time to expiration can be
457 unpredictable with CNFS and you then have to use "cnfsstat -a" for
458 checking on when buffers have rolled over), you should put:
459
460 extraoverviewadvertised: [ Path Injection-Info To ]
461 extraoverviewhidden: [ ]
462
463 The "To" value must be added at the end of the list because order
464 matters and fields mentioned in extraoverviewhidden are generated
465 after those mentioned in extraoverviewadvertised. nnrpd will now
466 advertise "To:full" in response to the LIST OVERVIEW.FMT command
467 ("full" indicates that the header appears followed by its value).
468
469 Now suppose you want to remove the content of the Injection-Info:
470 header from the overview. As order matters, the overview database
471 will no longer be consistent for the To: header. Therefore, you
472 need to specify:
473
474 extraoverviewadvertised: [ Path ]
475 extraoverviewhidden: [ To ]
476
477 And once overview data is accurate for all articles, you should
478 use:
479
480 extraoverviewadvertised: [ Path To ]
481 extraoverviewhidden: [ ]
482
483 Note that you have to restart nnrpd if it runs as a daemon whenever
484 you change the value of extraoverviewadvertised; a mere "ctlinnd
485 xexec innd" is not enough.
486
487 extraoverviewhidden
488 This parameter should be used in conjunction with
489 extraoverviewadvertised (see above for more details). It expects a
490 list of headers names. Overview data for these headers will be
491 generated for each new article at the time of arrival but, contrary
492 to the fields mentioned in extraoverviewadvertised, nnrpd will not
493 advertise them in response to the LIST OVERVIEW.FMT command. It
494 also implies that nnrpd will not look in the overview database for
495 fields mentioned in extraoverviewhidden when it handles HDR, XHDR
496 and XPAT requests; nnrpd will have to parse the headers of the
497 requested articles in the news spool, which is slower than directly
498 querying the overview database.
499
500 The default value is an empty list (no additional fields are
501 stored). Owing to optimizations when innd parses the articles it
502 receives, it is possible that all the values in the list are not
503 recognized by innd as standard headers. In such cases, innd will
504 log an error in news.err at startup and the unrecognized fields
505 will be discarded.
506
507 groupbaseexpiry
508 Whether to enable newsgroup-based expiry. If set to false, article
509 expiry is done based on storage class of storing method. If set to
510 true (and overview information is available), expiry is done by
511 newsgroup name. This affects the format of expire.ctl. This is a
512 boolean value and the default is true.
513
514 mergetogroups
515 Whether to file all postings to "to.*" groups in the
516 pseudonewsgroup "to". If this is set to true, the newsgroup "to"
517 must exist in the active file or INN will not start. (See the
518 discussion of "to." groups in innd(8) under CONTROL MESSAGES.)
519 This is a boolean value and the default is false.
520
521 nfswriter
522 For servers writing articles, determine whether the article spool
523 is on NFS storage. If set, INN attempts to flush articles to the
524 spool in a more timely manner, rather than relying on the operating
525 system to flush things such as the CNFS article bitmaps. You
526 should only set this parameter if you are attempting to use a
527 shared NFS spool on a machine acting as a single writer within a
528 cluster. This is a boolean value and the default is false.
529
530 overcachesize
531 How many cache slots to reserve for open overview files. If INN is
532 writing overview files (see enableoverview), ovmethod is set to
533 "tradindexed", and this is set to a value other than 0, INN will
534 keep around and open that many recently written-to overview files
535 in case more articles come in for those newsgroups. Every overview
536 cache slot consumes two file descriptors, so be careful not to set
537 this value too high. You may be able to use the "limit" command to
538 see how many open file descriptors your operating system allows.
539 innd(8) also uses an open file descriptor for each incoming feed
540 and outgoing channel or batch file, and if it runs out of open file
541 descriptors, it may throttle and stop accepting new news. The
542 default value is 128 (which is probably still too low if you have a
543 large number of file descriptors available).
544
545 This setting is ignored unless ovmethod is set to "tradindexed".
546
547 ovgrouppat
548 If set, restricts the overview data stored by INN to only the
549 newsgroups matching this comma-separated list of uwildmat(3)
550 expressions. Newsgroups not matching this setting may not be
551 readable, and if groupbaseexpiry is set to true and the storage
552 method for these newsgroups does not have self-expire
553 functionality, storing overview data will fail. The default is
554 unset.
555
556 ovmethod
557 Which overview storage method to use. Currently supported values
558 are "buffindexed", "ovdb" and "tradindexed". There is no default
559 value; this parameter must be set if enableoverview is true (the
560 default).
561
562 "buffindexed"
563 It stores overview data and index information into
564 preconfigured large files like CNFS. Fast at writing, the
565 "buffindexed" overview storage method can keep up with a large
566 feed more easily and never consumes additional disk space
567 beyond that allocated to these buffers. The downside is that
568 these buffers are hard to recover in case of corruption and
569 somewhat slower for readers and the expiry process. See the
570 buffindexed.conf(5) man page for more details, and notably how
571 to create the buffers.
572
573 "ovdb"
574 It stores overview information into a Berkeley DB database,
575 whose development pace has stalled these last years. This
576 method is fast and very robust, but may require more disk
577 space, unless compression is enabled. See the ovdb(5) man page
578 for more details.
579
580 "tradindexed"
581 It uses two files per newsgroup, one containing the overview
582 data and one containing the index. Fast for readers, but slow
583 to write to because it has to update two files for each
584 incoming article. Its main advantage is to be the best tested,
585 the most reliable and the method with the best recovery tools.
586
587 storeonxref
588 If set to true, articles will be stored based on the newsgroup
589 names in the Xref: header rather than in the Newsgroups: header.
590 This affects what the patterns in storage.conf apply to. The
591 primary interesting effect of setting this to true is to enable
592 filing of all control messages according to what storage class the
593 control pseudogroups are filed in rather than according to the
594 newsgroups the control messages are posted to. This is a boolean
595 value and the default is true.
596
597 If the tradspool article storage method is used, storeonxref must
598 be true.
599
600 useoverchan
601 Whether to innd(8) should create overview data internally through
602 libstorage(3). If set to false, innd creates overview data by
603 itself. If set to true, innd does not create; instead overview
604 data must be created by overchan(8) from an appropriate entry in
605 newsfeeds. Setting to true may be useful, if innd cannot keep up
606 with incoming feed and the bottleneck is creation of overview data
607 within innd. This is a boolean value and the default is false.
608
609 wireformat
610 Only used with the tradspool storage method, this says whether to
611 write articles in wire format. Wire format means storing articles
612 with "\r\n" at the end of each line and with periods at the
613 beginning of lines doubled, the article format required by the NNTP
614 protocol. Articles stored in this format are suitable for sending
615 directly to a network connection without requiring conversion, and
616 therefore setting this to true can make the server more efficient.
617 The primary reason not to set this is if you have old existing
618 software that looks around in the spool and doesn't understand how
619 to read wire format. Storage methods other than tradspool always
620 store articles in wire format. This is a boolean value and the
621 default is true.
622
623 xrefslave
624 Whether to act as the slave of another server. If set, INN
625 attempts to duplicate exactly the article numbering of the server
626 feeding it by looking at the Xref: header of incoming articles and
627 assigning the same article numbers to articles as was noted in the
628 Xref: header from the upstream server. The result is that clients
629 should be able to point at either server interchangeably (using
630 some load balancing scheme, for example) and see the same internal
631 article numbering. Servers with this parameter set should
632 generally only have one upstream feed, and should always have
633 nnrpdposthost set to hand locally posted articles off to the master
634 server. The upstream should be careful to always feed articles in
635 order (innfeed(8) can have problems with this in the event of a
636 backlog). This is a boolean value and the default is false.
637
638 Reading
639 These parameters affect the behavior of INN for readers. Most of them
640 are used by nnrpd(8). There are some special sets of settings that are
641 broken out separately after the initial alphabetized list.
642
643 Note that the two parameters nnrpperlauth and nnrppythonauth are now
644 obsolete; see "Changes to Perl Authentication Support for nnrpd" in
645 doc/hook-perl and "Changes to Python Authentication and Access Control
646 Support for nnrpd" in doc/hook-python for more information.
647
648 allownewnews
649 Whether to allow use of the NEWNEWS command by clients. This
650 command used to put a heavy load on the server in older versions of
651 INN, but is now reasonably efficient, at least if only one
652 newsgroup is specified by the client. This is a boolean value and
653 the default is true. If you use the access parameter in
654 readers.conf, be sure to read about the way it overrides
655 allownewnews.
656
657 articlemmap
658 Whether to attempt to mmap() articles. Setting this to true will
659 give better performance on most systems, but some systems have
660 problems with mmap(). If this is set to false, articles will be
661 read into memory before being sent to readers. This is a boolean
662 value and the default is true.
663
664 clienttimeout
665 How long (in seconds) a client connection can be idle before it
666 exits. When setting this parameter, be aware that some newsreaders
667 use the same connection for reading and posting and don't deal well
668 with the connection timing out while a post is being composed. If
669 the system isn't having a problem with too many long-lived
670 connections, it may be a good idea to increase this value to 3600
671 (an hour). The default value is 1800 (thirty minutes).
672
673 initialtimeout
674 How long (in seconds) nnrpd will wait for the first command from a
675 reader connection before dropping the connection. This is a
676 defensive timeout intended to protect the news server from badly
677 behaved reader clients that open and abandon a multitude of
678 connections without every closing them. The default value is 10
679 (ten seconds), which may need to be increased if many clients
680 connect via slow network links.
681
682 msgidcachesize
683 How many cache slots to reserve for message-IDs to storage token
684 translations. When serving overview data to clients (NEWNEWS,
685 OVER, etc.), nnrpd(8) can cache the storage token associated with a
686 message-ID and save the cost of looking it up in the history file;
687 for some configurations, setting this parameter can save more than
688 90% of the wall clock time for a session. The default value is
689 64000.
690
691 nfsreader
692 For servers reading articles, determine whether the article spool
693 is on NFS storage. If set, INN will attempt to force articles and
694 overviews to be read directly from the NFS spool rather than from
695 cached copies. You should only set this parameter if you are
696 attempting to use a shared NFS spool on a machine acting as a
697 reader within a cluster. This is a boolean value and the default
698 is false.
699
700 nfsreaderdelay
701 If nfsreader is set, INN will use the value of nfsreaderdelay to
702 delay the apparent arrival time of articles to clients by this
703 amount. Note that only answers to GROUP and NEWNEWS commands are
704 affected. This value should be tuned based on the NFS cache
705 timeouts locally. The default is 60, that is to say one minute.
706
707 nnrpdcheckart
708 Whether nnrpd should check the existence of an article before
709 listing it as present in response to an NNTP command. The primary
710 use of this setting is to prevent nnrpd from returning information
711 about articles which are no longer present on the server but which
712 still have overview data available. Checking the existence of
713 articles before returning overview information slows down the
714 overview commands, but reduces the number of "article is missing"
715 errors seen by the client. This is a boolean value and the default
716 is true.
717
718 nnrpdflags
719 When nnrpd(8) is spawned from innd(8), these flags are passed as
720 arguments to the nnrpd process. This setting does not affect
721 instances of nnrpd that are started in daemon mode, or instances
722 that are started via another listener process such as inetd(8) or
723 xinetd(8). Shell quoting and metacharacters are not supported.
724 This is a string value and the default is unset.
725
726 nnrpdloadlimit
727 If set to a value other than 0, connections to nnrpd will be
728 refused if the system load average is higher than this value. The
729 default value is 16.
730
731 noreader
732 Normally, innd(8) will fork a copy of nnrpd(8) for all incoming
733 connections from hosts not listed in incoming.conf. If this
734 parameter is set to true, those connections will instead be
735 rejected with a 502 error code. This should be set to true for a
736 transit-only server that doesn't support readers, or if nnrpd is
737 running in daemon mode or being started out of inetd. This is a
738 boolean value and the default is false.
739
740 readerswhenstopped
741 Whether to allow readers to connect even if the server is paused or
742 throttled. This is only applicable if nnrpd(8) is spawned from
743 innd(8) rather than run out of inetd or in daemon mode. This is a
744 boolean value and the default is false.
745
746 readertrack
747 Whether to enable the tracking system for client behavior. Tracked
748 information is recorded to pathlog/tracklogs/log-ID, where ID is
749 determined by nnrpd's PID and launch time. Currently the
750 information recorded includes initial connection and posting; only
751 information about clients listed in nnrpd.track is recorded. In
752 addition, every posted article will be saved in
753 pathlog/trackposts/track.message-id, where message-id is the
754 message ID of the post. This is a boolean value and the default is
755 false.
756
757 tradindexedmmap
758 Whether to attempt to mmap() tradindexed overviews articles.
759 Setting this to true will give better performance on most systems,
760 but some systems have problems with mmap(). If this is set to
761 false, overviews will be read into memory before being sent to
762 readers. This is a boolean value and the default is true.
763
764 INN has optional support for generating keyword information
765 automatically from article body text and putting that information in
766 overview for the use of clients that know to look for it (HDR, OVER and
767 XPAT commands). The following parameters control that feature.
768
769 This may be too slow if you're taking a substantial feed, and probably
770 will not be useful for the average news reader; enabling this is not
771 recommended unless you have some specific intention to take advantage
772 of it.
773
774 keywords
775 Whether the keyword generation support should be enabled. This is
776 a boolean value and the default is false.
777
778 If an article already contains a Keywords: header, no keyword
779 generation is done and the original Keywords: header is kept
780 untouched.
781
782 In order to use this feature, the regex library should be available
783 and INN configured with the --enable-keywords flag. Otherwise, no
784 keywords will be generated, even though this boolean value is set
785 to true. You also have to add the integration of the Keywords:
786 header into the overview with extraoverviewadvertised or
787 extraoverviewhidden.
788
789 keyartlimit
790 Articles larger than this value in bytes will not have keywords
791 generated for them (since it would take too long to do so). The
792 default value is 100000 (approximately 100 KB).
793
794 keylimit
795 Maximum number of bytes allocated for keyword data. If there are
796 more keywords than will fit into this many bytes when separated by
797 commas, the rest are discarded. The default value is 512.
798
799 keymaxwords
800 Maximum number of keywords that will be generated for an article.
801 (The keyword generation code will attempt to discard "noise" words,
802 so the number of keywords actually written into the overview will
803 usually be smaller than this even if the maximum number of keywords
804 is found.) The default value is 250.
805
806 Posting
807 These parameters are only used by nnrpd(8), inews(1), and other
808 programs that accept or generate postings. There are some special sets
809 of settings that are broken out separately after the initial
810 alphabetized list.
811
812 addinjectiondate
813 Whether to add an Injection-Date: header field to all local posts.
814 This is a boolean value and the default is true.
815
816 Note that no Injection-Date: header fields will be added to local
817 posts already containing both a Message-ID: header field and a
818 Date: header field. This is done in conformance with standards, to
819 help minimize the possibility of a loop in e-mail gatewaying and
820 ensure that a newly injected article is not treated as a new,
821 separate article in case of multiple injection of the same article
822 to different injecting agents.
823
824 addinjectionpostingaccount
825 Whether to add a posting-account attribute to the Injection-Info:
826 header to all local posts giving the username assigned to the user
827 at connection time or after authentication. This is a boolean
828 value and the default is false. There is no intrinsic support for
829 obfuscating the value. That has to be done with a user-written
830 Perl filter, if desired.
831
832 addinjectionpostinghost
833 Whether to add a posting-host attribute to the Injection-Info:
834 header to all local posts giving an FQDN (when known, by reverse
835 lookup of the client IP address) and IP address of the system from
836 which the post was received. This is a boolean value and the
837 default is true. Note that INN either does not add this attribute
838 or adds the name (when known) and IP address of the client. There
839 is no intrinsic support for obfuscating the name of the client.
840 That has to be done with a user-written Perl filter, if desired.
841
842 When this parameter is set to true, an FQDN (obtained by reverse
843 lookup of the client IP address or, if unknown, the IP address
844 itself) of the client is also added to the Path: header, after the
845 "!.POSTED" diagnostic.
846
847 checkincludedtext
848 Whether to check local postings for the ratio of new to quoted text
849 and reject them if that ratio is under 50%. Included text is
850 recognized by looking for lines beginning with ">", "|", or ":".
851 This is a boolean value and the default is false.
852
853 complaints
854 The value of the mail-complaints-to attribute of the Injection-
855 Info: header added to all local posts. The default is the
856 newsmaster's e-mail address. (If the newsmaster, selected at
857 configure time and defaulting to "usenet", doesn't contain "@", the
858 address will consist of the newsmaster, a "@", and the value of
859 fromhost.)
860
861 fromhost
862 Contains a domain used to construct e-mail addresses. The address
863 of the local news administrator will be given as <user>@fromhost,
864 where <user> is the newsmaster user set at compile time ("usenet"
865 by default). This setting will also be used by mailpost(8) to
866 fully qualify addresses and by inews(1) to generate the Sender:
867 header (and From: header if missing). The value of the FROMHOST
868 environment variable, if set, overrides this setting. The default
869 is the fully qualified domain name of the local host.
870
871 localmaxartsize
872 The maximum article size (in bytes) for locally posted articles.
873 Articles larger than this will be rejected. A value of 0 allows
874 any size of article, but note that nnrpd and innd will crash if
875 system memory is exceeded. See also maxartsize, which applies to
876 all articles including those posted locally. The default value is
877 1000000 (approximately 1 MB).
878
879 moderatormailer
880 The address to which to send submissions for moderated groups. It
881 is only used if the moderators file doesn't exist, or if the
882 moderated group to which an article is posted is not matched by any
883 entry in that file, and takes the same form as an entry in the
884 moderators file. In most cases, "%s@moderators.isc.org" is a good
885 value for this parameter (%s is expanded into a form of the
886 newsgroup name). See moderators(5) for more details about the
887 syntax. The default is unset. If this parameter isn't set and an
888 article is posted to a moderated group that does not have a
889 matching entry in the moderators file, the posting will be rejected
890 with an error.
891
892 nnrpdauthsender
893 Whether to generate a Sender: header based on reader
894 authentication. If this parameter is set, a Sender: header will be
895 added to local posts containing the identity assigned by
896 readers.conf. If the assigned identity does not include an "@",
897 the reader's hostname is used. If this parameter is set but no
898 identity is assigned, the Sender: header will be removed from all
899 posts even if the poster includes one. This is a boolean value and
900 the default is false.
901
902 nnrpdposthost
903 If set, nnrpd(8) and rnews(1) will pass all locally posted articles
904 to the specified host rather than trying to inject them locally.
905 See also nnrpdpostport. This should always be set if xrefslave is
906 true. The default value is unset.
907
908 nnrpdpostport
909 The port on the remote server to connect to to post when
910 nnrpdposthost is used. The default value is 119.
911
912 organization
913 What to put in the Organization: header if it is left blank by the
914 poster. The value of the ORGANIZATION environment variable, if
915 set, overrides this setting. The default is unset, which tells INN
916 not to insert an Organization: header.
917
918 spoolfirst
919 If true, nnrpd(8) will spool new articles rather than attempting to
920 send them to innd(8). If false, nnrpd will spool articles only if
921 it receives an error trying to send them to innd. Setting this to
922 true can be useful if nnrpd must respond as fast as possible to the
923 client; however, when set, articles will not appear to readers
924 until they are given to innd. nnrpd won't do this; "rnews -U" must
925 be run periodically to take the spooled articles and post them.
926 This is a boolean value and the default is false.
927
928 strippostcc
929 Whether to strip To:, Cc:, and Bcc: headers out of all local posts
930 via nnrpd(8). The primary purpose of this setting is to prevent
931 abuse of the news server by posting to a moderated group and
932 including To: or Cc: headers in the post so that the news server
933 will send the article to arbitrary addresses. INN now protects
934 against this abuse in other ways provided mta is set to a command
935 that includes %s and honors it, so this is generally no longer
936 needed. This is a boolean value and the default is false.
937
938 nnrpd(8) has support for controlling high-volume posters via an
939 exponential backoff algorithm, as configured by the following
940 parameters.
941
942 Exponential posting backoff works as follows: news clients are indexed
943 by IP address (or username, see backoffauth below). Each time a post
944 is received from an IP address, the time of posting is stored (along
945 with the previous sleep time, see below). After a configurable number
946 of posts in a configurable period of time, nnrpd(8) will begin to sleep
947 for increasing periods of time before actually posting anything
948 (posting backoff is therefore activated). Posts will still be
949 accepted, but at an increasingly reduced rate.
950
951 After backoff has been activated, the length of time to sleep is
952 computed based on the difference in time between the last posting and
953 the current posting. If this difference is less than backoffpostfast,
954 the new sleep time will be 1 + (previous sleep time * backoffk). If
955 this difference is less than backoffpostslow but greater than
956 backoffpostfast, then the new sleep time will equal the previous sleep
957 time. If this difference is greater than backoffpostslow, the new
958 sleep time is zero and posting backoff is deactivated for this poster.
959 (Note that this does not mean posting backoff cannot be reactivated
960 later in the session.)
961
962 Exponential posting backoff will not be enabled unless backoffdb is set
963 and backoffpostfast and backoffpostslow are set to something other than
964 their default values.
965
966 Here are the parameters that control exponential posting backoff:
967
968 backoffauth
969 Whether to index posting backoffs by user rather than by source IP
970 address. You must be using authentication in nnrpd(8) for a value
971 of true to have any meaning. This is a boolean value and the
972 default is false.
973
974 backoffdb
975 The path to a directory, writeable by the news user, that will
976 contain the backoff database. There is no default for this
977 parameter; you must provide a path to a creatable or writeable
978 directory to enable exponential backoff.
979
980 backoffk
981 The amount to multiply the previous sleep time by if the user is
982 still posting too quickly. A value of 2 will double the sleep time
983 for each excessive post. The default value is 1.
984
985 backoffpostfast
986 Postings from the same identity that arrive in less than this
987 amount of time (in seconds) will trigger increasing sleep time in
988 the backoff algorithm. The default value is 0.
989
990 backoffpostslow
991 Postings from the same identity that arrive in greater than this
992 amount of time (in seconds) will reset the backoff algorithm.
993 Another way to look at this constant is to realize that posters
994 will be allowed to generate at most 86400/backoffpostslow posts per
995 day. The default value is 1.
996
997 backofftrigger
998 This many postings are allowed before the backoff algorithm is
999 triggered. The default value is 10000.
1000
1001 TLS/SSL Support for Reading and Posting
1002 Here are the parameters used by nnrpd(8) to provide TLS/SSL support.
1003
1004 The parameters related to certificates are:
1005
1006 tlscafile
1007 The path to a file containing certificate authority root
1008 certificates, used to present a trust chain to a TLS client. This
1009 parameter is only used if nnrpd is built with TLS/SSL support. The
1010 default value is an empty string.
1011
1012 tlscapath
1013 The path to a directory containing certificate authority root
1014 certificates. Each file in the directory should contain one CA
1015 certificate, and the name of the file should be the CA subject name
1016 hash value. See the OpenSSL documentation for more information.
1017 This parameter is only used if nnrpd is built with TLS/SSL support.
1018 The default value is pathetc.
1019
1020 tlscertfile
1021 The path to a file containing the server certificate to present to
1022 TLS clients. This parameter is only used if nnrpd is built with
1023 TLS/SSL support. The default value is pathetc/cert.pem.
1024
1025 Note that unlike Apache's SSLCertificateFile directive, tlscertfile
1026 should not contain a concatenation of certificates. Instead, if
1027 you have a certificate authority root certificate, set tlscafile to
1028 its path.
1029
1030 tlskeyfile
1031 The path to a file containing the encryption key for the server
1032 certificate named in tlscertfile. This may be the same as
1033 tlscertfile if, when you created the certificate, you put the key
1034 in the same file (if, for example, you gave the same file name to
1035 both the -out and -keyout options to "openssl req"). This
1036 parameter is only used if nnrpd is built with TLS/SSL support. The
1037 default value is pathetc/key.pem.
1038
1039 This file must only be readable by the news user or nnrpd will
1040 refuse to use it.
1041
1042 Finally, here are the parameters that can be used to tighten the level
1043 of security provided by TLS/SSL in case new attacks exploitable in NNTP
1044 on the TLS protocol or some supported cipher suite are discovered:
1045
1046 tlsciphers
1047 The string describing the cipher suites OpenSSL will support for
1048 TLS 1.2 and below. See OpenSSL's ciphers(1) command documentation
1049 for details. The default is unset, which uses OpenSSL's default
1050 cipher suite list.
1051
1052 tlsciphers13
1053 The string describing the cipher suites OpenSSL will support for
1054 TLS 1.3. See OpenSSL's ciphers(1) command documentation for
1055 details. The default is unset, which uses OpenSSL's default cipher
1056 suite list.
1057
1058 Note that a separate cipher suite configuration parameter is needed
1059 for TLS 1.3 because TLS 1.3 cipher suites are not compatible with
1060 TLS 1.2, and vice-versa. In order to avoid issues where legacy
1061 TLS 1.2 cipher suite configuration configured in the tlsciphers
1062 parameter would inadvertently disable all TLS 1.3 cipher suites,
1063 the inn.conf configuration has been separated out.
1064
1065 tlscompression
1066 Whether to enable or disable TLS/SSL-level compression support, if
1067 the negotiated protocol supports it (notably, TLS 1.3 no longer
1068 supports it). This is a boolean and the default is false, that is
1069 to say compression is disabled, so as to follow the best current
1070 practices for a secure use of TLS in application protocols (see
1071 RFC 8143 for NNTP).
1072
1073 Note that enabling TLS/SSL-level compression will be possible only
1074 if the OpenSSL library INN has been built with, supports that
1075 feature.
1076
1077 tlseccurve
1078 The name of the elliptic curve to use for ephemeral key exchanges.
1079 To see the list of curves supported by OpenSSL, use "openssl
1080 ecparam -list_curves".
1081
1082 The default is unset, which means an appropriate curve is auto-
1083 selected (if your OpenSSL version is at least 1.0.2) or the NIST
1084 P-256 curve is used.
1085
1086 This option is only effective if your OpenSSL version has ECDH
1087 support.
1088
1089 tlspreferserverciphers
1090 Whether to let the client or the server decide the preferred cipher
1091 suite, signature algorithm or elliptic curve to use for an incoming
1092 connection. This is a boolean and the default is true, that is to
1093 say the server will choose following its own preferences.
1094
1095 tlsprotocols
1096 The list of TLS/SSL protocol versions to support. Valid protocols
1097 are SSLv2, SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3. The default
1098 value is to only allow TLS protocols:
1099
1100 tlsprotocols: [ TLSv1 TLSv1.1 TLSv1.2 TLSv1.3 ]
1101
1102 Note that the listed protocols will be enabled only if the OpenSSL
1103 library INN has been built with, supports them. In case OpenSSL
1104 supports protocols more recent than TLSv1.3, they will be
1105 automatically enabled (which anyway is fine regarding security, as
1106 newer protocols are supposed to be more secure).
1107
1108 Monitoring
1109 These parameters control the behavior of innwatch(8), the program that
1110 monitors INN and informs the news administrator if anything goes wrong
1111 with it.
1112
1113 doinnwatch
1114 Whether to start innwatch(8) from rc.news. This is a boolean
1115 value, and the default is true.
1116
1117 innwatchbatchspace
1118 Free space in pathoutgoing, in inndf(8) output units (normally
1119 kilobytes), at which innd(8) will be throttled by innwatch(8),
1120 assuming a default innwatch.ctl. The default value is 4000.
1121
1122 innwatchlibspace
1123 Free space in pathdb, in inndf(8) output units (normally
1124 kilobytes), at which innd(8) will be throttled by innwatch(8),
1125 assuming a default innwatch.ctl. The default value is 25000.
1126
1127 innwatchloload
1128 Load average times 100 at which innd(8) will be restarted by
1129 innwatch(8) (undoing a previous pause or throttle), assuming a
1130 default innwatch.ctl. The default value is 1000 (that is, a load
1131 average of 10.00).
1132
1133 innwatchhiload
1134 Load average times 100 at which innd(8) will be throttled by
1135 innwatch(8), assuming a default innwatch.ctl. The default value is
1136 2000 (that is, a load average of 20.00).
1137
1138 innwatchpauseload
1139 Load average times 100 at which innd(8) will be paused by
1140 innwatch(8), assuming a default innwatch.ctl. The default value is
1141 1500 (that is, a load average of 15.00).
1142
1143 innwatchsleeptime
1144 How long (in seconds) innwatch(8) will sleep between each check of
1145 INN. The default value is 600.
1146
1147 innwatchspoolnodes
1148 Free inodes in patharticles at which innd(8) will be throttled by
1149 innwatch(8), assuming a default innwatch.ctl. The default value is
1150 200.
1151
1152 innwatchspoolspace
1153 Free space in patharticles and pathoverview, in inndf(8) output
1154 units (normally kilobytes), at which innd(8) will be throttled by
1155 innwatch(8), assuming a default innwatch.ctl. The default value is
1156 25000.
1157
1158 Logging
1159 These parameters control what information INN logs.
1160
1161 docnfsstat
1162 Whether to start cnfsstat(8) when innd(8) is started. cnfsstat
1163 will log the status of all CNFS cycbuffs to syslog on a periodic
1164 basis (frequency is the default for "cnfsstat -l", currently 600
1165 seconds). This is a boolean value and the default is false.
1166
1167 htmlstatus
1168 Whether innd should write the status report as HTML file or in
1169 plain text. The HTML status file goes to pathhttp/inn_status.html,
1170 while the plain text status file is written to pathlog/inn.status.
1171 This is a boolean value and the default is true (an HTML status
1172 file is written). Also see the status parameter.
1173
1174 incominglogfrequency
1175 How many articles to process on an incoming channel before logging
1176 the activity. The default value is 200.
1177
1178 logartsize
1179 Whether the size of accepted articles (in bytes) should be written
1180 to the article log file. This is useful for flow rate statistics
1181 and is recommended. This is a boolean value and the default is
1182 true.
1183
1184 logcancelcomm
1185 Set this to true to log "ctlinnd cancel" commands to syslog. This
1186 is a boolean value and the default is false.
1187
1188 logcycles
1189 How many old logs scanlogs(8) keeps. scanlogs(8) is generally run
1190 by news.daily(8) and will archive compressed copies of this many
1191 days worth of old logs. The default value is 3.
1192
1193 logipaddr
1194 Whether the verified name of the remote feeding host should be
1195 logged to the article log for incoming articles rather than the
1196 last entry in the Path: header. The only reason to ever set this
1197 to false is due to some interactions with newsfeeds flags; see
1198 newsfeeds(5) for more information. This is a boolean value and the
1199 default is true.
1200
1201 logsitename
1202 Whether the names of the sites to which accepted articles will be
1203 sent should be put into the article log file. This is useful for
1204 debugging and statistics. This is a boolean value and the default
1205 is true.
1206
1207 logstatus
1208 Whether innd should write a shortened version of its status report
1209 to syslog every status seconds. This is a boolean value and the
1210 default is true. If set to true, see the status parameter for more
1211 details on how to enable status reporting.
1212
1213 logtrash
1214 Whether innd should add a line in the news log file to report
1215 unwanted newsgroups (that is to say newsgroups not locally carried
1216 by the news server). This is a boolean value and the default is
1217 true. It may be useful to set it to false when wanttrash is set to
1218 true.
1219
1220 nnrpdoverstats
1221 Whether nnrpd overview statistics should be logged via syslog.
1222 This can be useful for measuring overview performance. This is a
1223 boolean value and the default is true.
1224
1225 nntplinklog
1226 Whether to put the storage API token for accepted articles (used by
1227 nntplink) in the article log. This is a boolean value and the
1228 default is false.
1229
1230 stathist
1231 Where to write history statistics for analysis with
1232 contrib/stathist.pl; this can be modified with ctlinnd(8) while
1233 innd is running. Logging does not occur unless a path is given,
1234 and there is no default value.
1235
1236 status
1237 How frequently (in seconds) innd(8) should write out a status
1238 report. The report is written to pathhttp/inn_status.html or
1239 pathlog/inn.status depending on the value of htmlstatus. If this
1240 is set to 0 or "false", status reporting is disabled. The default
1241 value is 600 (that is to say reports are written every 10 minutes).
1242
1243 timer
1244 How frequently (in seconds) innd(8) should report performance
1245 timings to syslog. If this is set to 0, performance timing is
1246 disabled. Enabling this is highly recommended, and innreport(8)
1247 can produce a nice summary of the timings. If set to 0,
1248 performance timings in nnrpd(8) are also disabled, although nnrpd
1249 always reports statistics on exit and therefore any non-zero value
1250 is equivalent for it. The default value is 600 (that is to say
1251 performance timings are reported every 10 minutes).
1252
1253 System Tuning
1254 The following parameters can be modified to tune the low-level
1255 operation of INN. In general, you shouldn't need to modify any of them
1256 except possibly rlimitnofile unless the server is having difficulty.
1257
1258 badiocount
1259 How many read or write failures until a channel is put to sleep or
1260 closed. The default value is 5.
1261
1262 blockbackoff
1263 Each time an attempted write returns EAGAIN or EWOULDBLOCK, innd(8)
1264 will wait for an increasing number of seconds before trying it
1265 again. This is the multiplier for the sleep time. If you're
1266 having trouble with channel feeds not keeping up, it may be good to
1267 change this value to 2 or 3, since then when the channel fills INN
1268 will try again in a couple of seconds rather than waiting two
1269 minutes. The default value is 120.
1270
1271 chaninacttime
1272 The time (in seconds) to wait between noticing inactive channels.
1273 The default value is 600.
1274
1275 chanretrytime
1276 How many seconds to wait before a channel restarts. The default
1277 value is 300.
1278
1279 datamovethreshold
1280 The threshold for deciding whether to move already-read data to the
1281 top of buffer or extend the buffer. The buffer described here is
1282 used for reading NNTP data. Increasing this value may improve
1283 performance, but it should not be increased on Systems with
1284 insufficient memory. Permitted values are between 0 and 1048576
1285 (out of range values are treated as 1048576) and the default value
1286 is 16384.
1287
1288 icdsynccount
1289 How many article writes between updating the active and history
1290 files. The default value is 10.
1291
1292 keepmmappedthreshold
1293 When using buffindexed, retrieving overview data (that is,
1294 responding to OVER or running expireover) causes mmapping of all
1295 overview data blocks which include requested overview data for
1296 newsgroup. But for high volume newsgroups like control.cancel,
1297 this may cause too much mmapping at once leading to system resource
1298 problems. To avoid this, if the amount to be mmapped exceeds
1299 keepmmappedthreshold (in KB), buffindexed mmap's just one overview
1300 block (8 KB). This parameter is specific to buffindexed overview
1301 storage method. The default value is 1024 (1 MB).
1302
1303 maxcmdreadsize
1304 If set to anything other than 0, maximum buffer size (in bytes) for
1305 reading NNTP command will have this value. It should not be large
1306 on systems which are slow to process and store articles, as that
1307 would lead to innd(8) spending a long time on each channel and
1308 keeping other channels waiting. The default value is BUFSIZ
1309 defined in stdio.h (1024 in most environments, see setbuf(3)).
1310
1311 maxforks
1312 How many times to attempt a fork(2) before giving up. The default
1313 value is 10.
1314
1315 nicekids
1316 If set to anything other than 0, all child processes of innd(8)
1317 will have this nice(2) value. This is usually used to give all
1318 child processes of innd(8) a lower priority (higher nice value) so
1319 that innd(8) can get the lion's share of the CPU when it needs it.
1320 The default value is 4.
1321
1322 nicenewnews
1323 If set to anything greater than 0, all nnrpd(8) processes that
1324 receive and process a NEWNEWS command will nice(2) themselves to
1325 this value (giving other nnrpd processes a higher priority). The
1326 default value is 0. Note that this value will be ignored if set to
1327 a lower value than nicennrpd (or nicekids if nnrpd(8) is spawned
1328 from innd(8)).
1329
1330 nicennrpd
1331 If set to anything greater than 0, all nnrpd(8) processes will
1332 nice(1) themselves to this value. This gives other news processes
1333 a higher priority and can help overchan(8) keep up with incoming
1334 news (if that's the object, be sure overchan(8) isn't also set to a
1335 lower priority via nicekids). The default value is 0, which will
1336 cause nnrpd(8) processes spawned from innd(8) to use the value of
1337 nicekids, while nnrpd(8) run as a daemon will use the system
1338 default priority. Note that for nnrpd(8) processes spawned from
1339 innd(8), this value will be ignored if set to a value lower than
1340 nicekids.
1341
1342 pauseretrytime
1343 Wait for this many seconds before noticing inactive channels. Wait
1344 for this many seconds before innd processes articles when it's
1345 paused or the number of channel write failures exceeds badiocount.
1346 The default value is 300.
1347
1348 peertimeout
1349 How long (in seconds) an innd(8) incoming channel may be inactive
1350 before innd closes it. The default value is 3600 (an hour).
1351
1352 rlimitnofile
1353 The maximum number of file descriptors that innd(8) or innfeed(8)
1354 can have open at once. If innd(8) or innfeed(8) attempts to open
1355 more file descriptors than this value, it is possible the program
1356 may throttle or otherwise suffer reduced functionality. The number
1357 of open file descriptors is roughly the maximum number of incoming
1358 feeds and outgoing batches for innd(8) and the number of outgoing
1359 streams for innfeed(8). If this parameter is set to a negative
1360 value, the default limit of the operating system will be used; this
1361 will normally be adequate on systems other than Solaris. Nearly
1362 all operating systems have some hard maximum limit beyond which
1363 this value cannot be raised, usually either 128, 256, or 1024. The
1364 default value of this parameter is "-1". Setting it to 256 on
1365 Solaris systems is highly recommended.
1366
1367 Paths Names
1368 patharchive
1369 Where to store archived news. The default value is
1370 pathspool/archive.
1371
1372 patharticles
1373 The path to where the news articles are stored (for storage methods
1374 other than CNFS). The default value is pathspool/articles.
1375
1376 pathbin
1377 The path to the news binaries. The default value is pathnews/bin.
1378
1379 pathcontrol
1380 The path to the files that handle control messages. The code for
1381 handling each separate type of control message is located here. Be
1382 very careful what you put in this directory with a name ending in
1383 ".pl", as it can potentially be a severe security risk. The
1384 default value is pathbin/control.
1385
1386 pathdb
1387 The path to the database files used and updated by the server
1388 (currently, active, active.times, history and its indices, and
1389 newsgroups). The default value is pathnews/db.
1390
1391 pathetc
1392 The path to the news configuration files. The default value is
1393 pathnews/etc.
1394
1395 pathfilter
1396 The path to the Perl and Python filters. The default value is
1397 pathbin/filter.
1398
1399 pathhttp
1400 Where any HTML files (such as periodic status reports) are placed.
1401 If the news reports should be available in real-time on the web,
1402 the files in this directory should be served by a web server. The
1403 default value is the value of pathnews/http.
1404
1405 pathincoming
1406 Location where incoming batched news is stored. The default value
1407 is pathspool/incoming.
1408
1409 pathlog
1410 Where the news log files are written. The default value is
1411 pathnews/log.
1412
1413 pathnews
1414 The home directory of the news user and usually the root of the
1415 news hierarchy. There is no default; this parameter must be set in
1416 inn.conf or INN will refuse to start.
1417
1418 pathoutgoing
1419 Default location for outgoing feed files. The default value is
1420 pathspool/outgoing.
1421
1422 pathoverview
1423 The path to news overview files. The default value is
1424 pathspool/overview.
1425
1426 pathrun
1427 The path to files required while the server is running and run-time
1428 state information. This includes lock files and the sockets for
1429 communicating with innd(8). This directory and the control sockets
1430 in it should be protected from unprivileged users other than the
1431 news user. The default value is pathnews/run.
1432
1433 pathspool
1434 The root of the news spool hierarchy. This used mostly to set the
1435 defaults for other parameters, and to determine the path to the
1436 backlog directory for innfeed(8). The default value is
1437 pathnews/spool.
1438
1439 pathtmp
1440 Where INN puts temporary files. For security reasons, this is not
1441 the same as the system temporary files directory (INN creates a lot
1442 of temporary files with predictable names and does not go to
1443 particularly great lengths to protect against symlink attacks and
1444 the like; this is safe provided that normal users can't write into
1445 its temporary directory). The default value is set at configure
1446 time and defaults to pathnews/tmp.
1447
1449 Here is a very minimalist example that only sets those parameters that
1450 are required.
1451
1452 mta: "/usr/lib/sendmail -oi -oem %s"
1453 ovmethod: tradindexed
1454 pathhost: news.example.com
1455 pathnews: /usr/local/news
1456 hismethod: hisv6
1457
1458 For a more comprehensive example, see the sample inn.conf distributed
1459 with INN and installed as a starting point; it contains all of the
1460 default values for reference.
1461
1463 Written by Rich $alz <rsalz@uunet.uu.net> for InterNetNews and since
1464 modified, updated, and reorganized by innumerable other people.
1465
1466 $Id: inn.conf.pod 10523 2021-01-17 21:52:00Z iulius $
1467
1469 inews(1), innd(8), innwatch(8), makehistory(8), nnrpd(8), rnews(1).
1470
1471 Nearly every program in INN uses this file to one degree or another.
1472 The above are just the major and most frequently mentioned ones.
1473
1474
1475
1476INN 2.6.4 2021-01-21 INN.CONF(5)