X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=.pc%2Ftypo_inn_conf_man%2Fdoc%2Fman%2Finn.conf.5;fp=.pc%2Ftypo_inn_conf_man%2Fdoc%2Fman%2Finn.conf.5;h=f525e06a5931257f04307fdc24ab2ddd40116477;hb=8f96ca50aa0f9edfd4cd9597dedeeaea07134f7f;hp=0000000000000000000000000000000000000000;hpb=d5b3cbfbd8f26b8b77ce3ce100a9c13c5a71c8f3;p=inn-innduct.git diff --git a/.pc/typo_inn_conf_man/doc/man/inn.conf.5 b/.pc/typo_inn_conf_man/doc/man/inn.conf.5 new file mode 100644 index 0000000..f525e06 --- /dev/null +++ b/.pc/typo_inn_conf_man/doc/man/inn.conf.5 @@ -0,0 +1,1220 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "INN.CONF 5" +.TH INN.CONF 5 "2008-04-06" "INN 2.4.5" "InterNetNews Documentation" +.SH "NAME" +inn.conf \- Configuration data for InterNetNews programs +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fIinn.conf\fR in \fIpathetc\fR is the primary general configuration file for +all InterNetNews programs. Settings which control the general operation +of various programs, as well as the paths to all portions of the news +installation, are found here. The \s-1INNCONF\s0 environment variable, if set, +specifies an alternate path to \fIinn.conf\fR. +.PP +This file is intended to be fairly static. Any changes made to it will +generally not affect any running programs until they restart. Unlike +nearly every other configuration file, \fIinn.conf\fR cannot be reloaded +dynamically using \fIctlinnd\fR\|(8); \fIinnd\fR\|(8) must be stopped and restarted for +relevant changes to \fIinn.conf\fR to take effect (\f(CW\*(C`ctlinnd xexec innd\*(C'\fR is +the fastest way to do this.) +.PP +Blank lines and lines starting with a number sign (\f(CW\*(C`#\*(C'\fR) are ignored. All +other lines specify parameters, and should be of the following form: +.PP +.Vb 1 +\& : +.Ve +.PP +(Any amount of whitespace can be put after the colon and is optional.) If +the value contains embedded whitespace or any of the characers \f(CW\*(C`[]<\*(C'\fR\*(L"\e:>, +it must be enclosed in double quotes (\*(R""). A backslash (\f(CW\*(C`\e\*(C'\fR) can be used +to escape quotes and backslashes inside double quotes. is +case\-sensitive; \f(CW\*(C`server\*(C'\fR is not the same as \f(CW\*(C`Server\*(C'\fR or \f(CW\*(C`SERVER\*(C'\fR. +(\fIinn.conf\fR parameters are generally all in lowercase.) +.PP +If occurs more than once in the file, the first value is used. +Some parameters specified in the file may be overridden by environment +variables. Most parameters have default values if not specified in +\&\fIinn.conf\fR; those defaults are noted in the description of each +parameter. +.PP +Many parameters take a boolean value. For all such parameters, the value +may be specified as \f(CW\*(C`true\*(C'\fR, \f(CW\*(C`yes\*(C'\fR, or \f(CW\*(C`on\*(C'\fR to turn it on and may be any +of \f(CW\*(C`false\*(C'\fR, \f(CW\*(C`no\*(C'\fR, or \f(CW\*(C`off\*(C'\fR to turn it off. The case of these values is +significant. +.PP +This documentation is extremely long and organized as a reference manual +rather than as a tutorial. If this is your first exposure to \s-1INN\s0 and +these parameters, it would be better to start by reading other man pages +and referring to this one only when an \fIinn.conf\fR parameter is explicitly +mentioned. Those parameters which need to be changed when setting up a +new server are discussed in \fI\s-1INSTALL\s0\fR. +.SH "PARAMETERS" +.IX Header "PARAMETERS" +.Sh "General Settings" +.IX Subsection "General Settings" +These parameters are used by a wide variety of different components of +\&\s-1INN\s0. +.IP "\fIdomain\fR" 4 +.IX Item "domain" +This should be the domain name of the local host. It should not have a +leading period, and it should not be a full host address. It is used only +if the \fIGetFQDN()\fR routine in \fIlibinn\fR\|(3) cannot get the fully-qualified +domain name by using either the \fIgethostname\fR\|(3) or \fIgethostbyname\fR\|(3) calls. +The check is very simple; if either routine returns a name with a period +in it, then it is assumed to have the full domain name. As this parameter +is rarely used, do not use it to affect the righthand side of +autogenerated Message\-IDs; see instead \fIvirtualhost\fR and \fIdomain\fR in +readers.conf. The default value is unset. +.IP "\fIinnflags\fR" 4 +.IX Item "innflags" +The flags to pass to innd on startup. See \fIinnd\fR\|(8) for details on the +possible flags. The default value is unset. +.IP "\fImailcmd\fR" 4 +.IX Item "mailcmd" +The path to the program to be used for mailing reports and control +messages. The default is \fIpathbin\fR/innmail. This should not normally +need to be changed. +.IP "\fImta\fR" 4 +.IX Item "mta" +The command to use when mailing postings to moderators and for the use of +\&\fIinnmail\fR\|(1). The message, with headers and an added To: header, will be +piped into this program. The string \f(CW%s\fR, if present, will be replaced +by the e\-mail address of the moderator. It's strongly recommended for +this command to include \f(CW%s\fR on the command line rather than use the +addresses in the To: and Cc: headers of the message, since the latter +approach allows the news server to be abused as a mechanism to send mail +to arbitrary addresses and will result in unexpected behavior. There is +no default value for this parameter; it must be set in \fIinn.conf\fR or a +fatal error message will be logged via syslog. +.Sp +For most systems, \f(CW\*(C`/usr/lib/sendmail \-oi \-oem %s\*(C'\fR (adjusted for the +correct path to sendmail) is a good choice. +.IP "\fIpathhost\fR" 4 +.IX Item "pathhost" +What to put into the Path: header to represent the local site. This is +added to the Path: header of all articles that pass through the system, +including locally posted articles, and is also used when processing some +control messages and when naming the server in status reports. There is +no default value; this parameter must be set in \fIinn.conf\fR or \s-1INN\s0 will +not start. A good value to use is the fully-qualified hostname of the +system. +.IP "\fIserver\fR" 4 +.IX Item "server" +The name of the default \s-1NNTP\s0 server. If \fInnrpdposthost\fR is not set and +\&\s-1UNIX\s0 domain sockets are not supported, \fInnrpd\fR\|(8) tries to hand off +locally-posted articles through an \s-1INET\s0 domain socket to this server. +\&\fIactsync\fR\|(8), \fInntpget\fR\|(8), and \fIgetlist\fR\|(8) also use this value as the default +server to connect to. In the latter cases, the value of the \s-1NNTPSERVER\s0 +environment variable, if it exists, overrides this. The default value is +unset. +.Sh "Feed Configuration" +.IX Subsection "Feed Configuration" +These parameters govern incoming and outgoing feeds: what size of +articles are accepted, what filtering and verification is performed on +them, whether articles in groups not carried by the server are still +stored and propagated, and other similar settings. +.IP "\fIartcutoff\fR" 4 +.IX Item "artcutoff" +Articles older than this number of days are dropped. This setting should +probably match the setting on the \f(CW\*(C`/remember/\*(C'\fR line in \fIexpire.ctl\fR. +The default value is \f(CW10\fR. +.IP "\fIbindaddress\fR" 4 +.IX Item "bindaddress" +Which \s-1IP\s0 address \fIinnd\fR\|(8) should bind itself to. This must be in +dotted-quad format (nnn.nnn.nnn.nnn). If set to \f(CW\*(C`all\*(C'\fR or not set, innd +defaults to listening on all interfaces. The value of the +\&\s-1INND_BIND_ADDRESS\s0 environment variable, if set, overrides this setting. +The default value is unset. +.IP "\fIbindaddress6\fR" 4 +.IX Item "bindaddress6" +Like \fIbindaddress\fR but for IPv6 sockets. If only one of the \fIbindaddress\fR +and \fIbindaddress6\fR parameters is used, then only the socket for the +corresponding address family is created. If both parameters are used +then two sockets are created. If neither of them is used, the list of +sockets to listen on will be determined by the system library +\&\fI\fIgetaddrinfo\fI\|(3)\fR function. The value of the \s-1INND_BIND_ADDRESS6\s0, if set, +overrides this setting. The default value is unset. +.Sp +Note that you will generally need to put double quotes ("") around this +value if you set it, since IPv6 addresses contain colons. +.IP "\fIhiscachesize\fR" 4 +.IX Item "hiscachesize" +If set to a value other than \f(CW0\fR, a hash of recently received message IDs +is kept in memory to speed history lookups. The value is the amount of +memory to devote to the cache in kilobytes. The cache is only used for +incoming feeds and a small cache can hold quite a few message IDs, so +large values aren't necessarily useful unless you have incoming feeds that +are badly delayed. A good value for a system with more than one incoming +feed is \f(CW256\fR; systems with only one incoming feed should probably leave +this at \f(CW0\fR. The default value is \f(CW0\fR. +.IP "\fIignorenewsgroups\fR" 4 +.IX Item "ignorenewsgroups" +Whether newsgroup creation control messages (newgroup and rmgroup) should +be fed as if they were posted to the newsgroup they are creating or +deleting rather than to the newsgroups listed in the Newsgroups: header. +If this parameter is set, the newsgroup affected by the control message +will be extracted from the Control: header and the article will be fed as +if its Newsgroups: header contained solely that newsgroup. This is useful +for routing control messages to peers when they are posted to irrelevant +newsgroups that shouldn't be matched against the peer's desired newsgroups +in \fInewsfeeds\fR. This is a boolean value and the default is false. +.IP "\fIimmediatecancel\fR" 4 +.IX Item "immediatecancel" +When using the timecaf storage method, article cancels are normally just +cached to be cancelled, not cancelled immediately. If this is set to +true, they will instead by cancelled as soon as the cancel is processed. +This is a boolean value and the default is false. +.Sp +This setting is ignored unless the timecaf storage method is used. +.IP "\fIlinecountfuzz\fR" 4 +.IX Item "linecountfuzz" +If set to something other than \f(CW0\fR, the line count of the article is +checked against the Lines: header of the article (if present) and the +artice is rejected if the values differ by more than this amount. A +reasonable setting is \f(CW5\fR, which is the standard maximum signature length +plus one (some injection software calculates the Lines: header before +adding the signature). The default value is \f(CW0\fR, which tells \s-1INN\s0 not to +check the Lines: header of incoming articles. +.IP "\fImaxartsize\fR" 4 +.IX Item "maxartsize" +The maximum size of article (headers and body) that will be accepted by +the server, in bytes. A value of \f(CW0\fR allows any size of article, but +note that \fBinnd\fR will crash if system memory is exceeded. The default +value is \f(CW1000000\fR (approximately 1 \s-1MB\s0). See also \fIlocalmaxartsize\fR. +.IP "\fImaxconnections\fR" 4 +.IX Item "maxconnections" +The maximum number of incoming \s-1NNTP\s0 connections \fIinnd\fR\|(8) will accept. The +default value is \f(CW50\fR. +.IP "\fIpathalias\fR" 4 +.IX Item "pathalias" +If set, this value is prepended to the Path: header of accepted posts +(before \fIpathhost\fR) if it doesn't already appear in the Path: header. +The main purpose of this parameter is to configure all news servers within +a particular organization to add a common identity string to the +Path: header. The default value is unset. +.IP "\fIpathcluster\fR" 4 +.IX Item "pathcluster" +If set, this value is appended to the Path: header of accepted posts +(after \fIpathhost\fR) if it isn't already present as the last element +of the Path: header. The main purpose of this parameter is to make +several news servers appear as one server. The default value is unset. +.Sp +Note that the Path: header reads right to left, so appended means inserted +at the leftmost side of the Path: header. +.IP "\fIpgpverify\fR" 4 +.IX Item "pgpverify" +Whether to enable \s-1PGP\s0 verification of control messages other than cancel. +This is a boolean value and the default is based on whether configure found +pgp, pgpv, or gpgv. +.IP "\fIport\fR" 4 +.IX Item "port" +What \s-1TCP\s0 port \fIinnd\fR\|(8) should listen on. The default value is \f(CW119\fR, the +standard \s-1NNTP\s0 port. +.IP "\fIrefusecybercancels\fR" 4 +.IX Item "refusecybercancels" +Whether to refuse all articles whose message IDs start with +\&\f(CW\*(C`\*(C'\fR, \f(CW\*(C`|\*(C'\fR, or \f(CW\*(C`:\*(C'\fR. This is a +boolean value and the default is false. +.IP "\fIcomplaints\fR" 4 +.IX Item "complaints" +The value of the X\-Complaints\-To: header added to all local posts. The +default is the newsmaster's e\-mail address. (If the newsmaster, selected +at configure time and defaulting to \f(CW\*(C`usenet\*(C'\fR, doesn't contain \f(CW\*(C`@\*(C'\fR, the +address will consist of the newsmaster, a \f(CW\*(C`@\*(C'\fR, and the value of +\&\fIfromhost\fR.) +.IP "\fIfromhost\fR" 4 +.IX Item "fromhost" +Contains a domain used to construct e\-mail addresses. The address of the +local news administrator will be given as @\fIfromhost\fR, where +is the newsmaster user set at compile time (\f(CW\*(C`usenet\*(C'\fR by default). This +setting will also be used by \fImailpost\fR\|(8) to fully qualify addresses and by +\&\fIinews\fR\|(1) to generate the Sender: header (and From: header if missing). +The value of the \s-1FROMHOST\s0 environment variable, if set, overrides this +setting. The default is the fully-qualified domain name of the local +host. +.IP "\fIlocalmaxartsize\fR" 4 +.IX Item "localmaxartsize" +The maximum article size (in bytes) for locally posted articles. Articles +larger than this will be rejected. A value of \f(CW0\fR allows any size of +article, but note that \fBnnrpd\fR and \fBinnd\fR will crash if system memory is +exceeded. See also \fImaxartsize\fR, which applies to all articles including +those posted locally. The default value is \f(CW1000000\fR (approximately 1 +\&\s-1MB\s0). +.IP "\fImoderatormailer\fR" 4 +.IX Item "moderatormailer" +The address to which to send submissions for moderated groups. It is only +used if the \fImoderators\fR file doesn't exist, or if the moderated group to +which an article is posted is not matched by any entry in that file, and +takes the same form as an entry in the \fImoderators\fR file. In most cases, +\&\f(CW\*(C`%s@moderators.isc.org\*(C'\fR is a good value for this parameter (\f(CW%s\fR is +expanded into a form of the newsgroup name). See \fImoderators\fR\|(5) for more +details about the syntax. The default is unset. If this parameter isn't +set and an article is posted to a moderated group that does not have a +matching entry in the \fImoderators\fR file, the posting will be rejected +with an error. +.IP "\fInnrpdauthsender\fR" 4 +.IX Item "nnrpdauthsender" +Whether to generate a Sender: header based on reader authentication. If +this parameter is set, a Sender: header will be added to local posts +containing the identity assigned by \fIreaders.conf\fR. If the assigned +identity does not include an \f(CW\*(C`@\*(C'\fR, the reader's hostname is used. If this +parameter is set but no identity is be assigned, the Sender: header will +be removed from all posts even if the poster includes one. This is a +boolean value and the default is false. +.IP "\fInnrpdposthost\fR" 4 +.IX Item "nnrpdposthost" +If set, \fInnrpd\fR\|(8) and \fIrnews\fR\|(1) will pass all locally posted articles to the +specified host rather than trying to inject them locally. See also +\&\fInnrpdpostport\fR. This should always be set if \fIxrefslave\fR is true. The +default value is unset. +.IP "\fInnrpdpostport\fR" 4 +.IX Item "nnrpdpostport" +The port on the remote server to connect to to post when \fInnrpdposthost\fR +is used. The default value is \f(CW119\fR. +.IP "\fIorganization\fR" 4 +.IX Item "organization" +What to put in the Organization: header if it is left blank by the poster. +The value of the \s-1ORGANIZATION\s0 environment variable, if set, overrides this +setting. The default is unset, which tells \s-1INN\s0 not to insert an +Organization: header. +.IP "\fIspoolfirst\fR" 4 +.IX Item "spoolfirst" +If true, \fInnrpd\fR\|(8) will spool new articles rather than attempting to send +them to \fIinnd\fR\|(8). If false, nnrpd will spool articles only if it receives +an error trying to send them to innd. Setting this to true can be useful +if nnrpd must respond as fast as possible to the client; however, when +set, articles will not appear to readers until they are given to innd. +nnrpd won't do this; \f(CW\*(C`rnews \-U\*(C'\fR must be run periodically to take the +spooled articles and post them. This is a boolean value and the default +is false. +.IP "\fIstrippostcc\fR" 4 +.IX Item "strippostcc" +Whether to strip To:, Cc:, and Bcc: headers out of all local posts via +\&\fInnrpd\fR\|(8). The primary purpose of this setting is to prevent abuse of the +news server by posting to a moderated group and including To: or Cc: +headers in the post so that the news server will send the article to +arbitrary addresses. \s-1INN\s0 now protects against this abuse in other ways +provided \fImta\fR is set to a command that includes \f(CW%s\fR and honors it, so +this is generally no longer needed. This is a boolean value and the +default is false. +.PP +\&\fInnrpd\fR\|(8) has support for controlling high-volume posters via an +exponential backoff algorithm, as configured by the following parameters. +.PP +Exponential posting backoff works as follows: News clients are indexed by +\&\s-1IP\s0 address (or username, see \fIbackoffauth\fR below). Each time a post is +received from an \s-1IP\s0 address, the time of posting is stored (along with the +previous sleep time, see below). After a configurable number of posts in +a configurable period of time, \fInnrpd\fR\|(8) will activate posting backoff and +begin to sleep for increasing periods of time before actually posting +anything. Posts will still be accepted, but at an increasingly reduced +rate. +.PP +After backoff has been activated, the length of time to sleep is computed +based on the difference in time between the last posting and the current +posting. If this difference is less than \fIbackoffpostfast\fR, the new +sleep time will be 1 + (previous sleep time * \fIbackoffk\fR). If this +difference is less than \fIbackoffpostslow\fR but greater than +\&\fIbackoffpostfast\fR, then the new sleep time will equal the previous sleep +time. If this difference is greater than \fIbackoffpostslow\fR, the new +sleep time is zero and posting backoff is deactivated for this poster. +.PP +Exponential posting backoff will not be enabled unless \fIbackoffdb\fR is set +and \fIbackoffpostfast\fR and \fIbackoffpostslow\fR are set to something other +than their default values. +.PP +Here are the parameters that control exponential posting backoff: +.IP "\fIbackoffauth\fR" 4 +.IX Item "backoffauth" +Whether to index posting backoffs by user rather than by source \s-1IP\s0 +address. You must be using authentication in \fInnrpd\fR\|(8) for a value of true +to have any meaning. This is a boolean value and the default is false. +.IP "\fIbackoffdb\fR" 4 +.IX Item "backoffdb" +The path to a directory, writeable by the news user, that will contain the +backoff database. There is no default for this parameter; you must +provide a path to a creatable or writeable directory to enable exponential +backoff. +.IP "\fIbackoffk\fR" 4 +.IX Item "backoffk" +The amount to multiply the previous sleep time by if the user is still +posting too quickly. A value of \f(CW2\fR will double the sleep time for each +excessive post. The default value is \f(CW1\fR. +.IP "\fIbackoffpostfast\fR" 4 +.IX Item "backoffpostfast" +Postings from the same identity that arrive in less than this amount of +time (in seconds) will trigger increasing sleep time in the backoff +algorithm. The default value is \f(CW0\fR. +.IP "\fIbackoffpostslow\fR" 4 +.IX Item "backoffpostslow" +Postings from the same identity that arrive in greater than this amount of +time (in seconds) will reset the backoff algorithm. Another way to look +at this constant is to realize that posters will be allowed to generate at +most 86400/\fIbackoffpostslow\fR posts per day. The default value is \f(CW1\fR. +.IP "\fIbackofftrigger\fR" 4 +.IX Item "backofftrigger" +This many postings are allowed before the backoff algorithm is triggered. +The default value is \f(CW10000\fR. +.Sh "Monitoring" +.IX Subsection "Monitoring" +These parameters control the behavior of \fIinnwatch\fR\|(8), the program that +monitors \s-1INN\s0 and informs the news administrator if anything goes wrong +with it. +.IP "\fIdoinnwatch\fR" 4 +.IX Item "doinnwatch" +Whether to start \fIinnwatch\fR\|(8) from rc.news. This is a boolean value, and +the default is true. +.IP "\fIinnwatchbatchspace\fR" 4 +.IX Item "innwatchbatchspace" +Free space in \fIpathoutgoing\fR, in \fIinndf\fR\|(8) output units (normally +kilobytes), at which \fIinnd\fR\|(8) will be throttled by \fIinnwatch\fR\|(8), assuming a +default \fIinnwatch.ctl\fR. The default value is \f(CW800\fR. +.IP "\fIinnwatchlibspace\fR" 4 +.IX Item "innwatchlibspace" +Free space in \fIpathdb\fR, in \fIinndf\fR\|(8) output units (normally kilobytes), at +which \fIinnd\fR\|(8) will be throttled by \fIinnwatch\fR\|(8), assuming a default +\&\fIinnwatch.ctl\fR. The default value is \f(CW25000\fR. +.IP "\fIinnwatchloload\fR" 4 +.IX Item "innwatchloload" +Load average times 100 at which \fIinnd\fR\|(8) will be restarted by \fIinnwatch\fR\|(8) +(undoing a previous pause or throttle), assuming a default +\&\fIinnwatch.ctl\fR. The default value is \f(CW1000\fR (that is, a load average of +10.00). +.IP "\fIinnwatchhiload\fR" 4 +.IX Item "innwatchhiload" +Load average times 100 at which \fIinnd\fR\|(8) will be throttled by \fIinnwatch\fR\|(8), +assuming a default \fIinnwatch.ctl\fR. The default value is \f(CW2000\fR (that +is, a load average of 20.00). +.IP "\fIinnwatchpauseload\fR" 4 +.IX Item "innwatchpauseload" +Load average times 100 at which \fIinnd\fR\|(8) will be paused by \fIinnwatch\fR\|(8), +assuming a default \fIinnwatch.ctl\fR. The default value is \f(CW1500\fR (that +is, a load average of 15.00). +.IP "\fIinnwatchsleeptime\fR" 4 +.IX Item "innwatchsleeptime" +How long (in seconds) \fIinnwatch\fR\|(8) will sleep between each check of \s-1INN\s0. +The default value is \f(CW600\fR. +.IP "\fIinnwatchspoolnodes\fR" 4 +.IX Item "innwatchspoolnodes" +Free inodes in \fIpatharticles\fR at which \fIinnd\fR\|(8) will be throttled by +\&\fIinnwatch\fR\|(8), assuming a default \fIinnwatch.ctl\fR. The default value is +\&\f(CW200\fR. +.IP "\fIinnwatchspoolspace\fR" 4 +.IX Item "innwatchspoolspace" +Free space in \fIpatharticles\fR and \fIpathoverview\fR, in \fIinndf\fR\|(8) output +units (normally kilobytes), at which \fIinnd\fR\|(8) will be throttled by +\&\fIinnwatch\fR\|(8), assuming a default \fIinnwatch.ctl\fR. The default value is +\&\f(CW8000\fR. +.Sh "Logging" +.IX Subsection "Logging" +These parameters control what information \s-1INN\s0 logs. +.IP "\fIdocnfsstat\fR" 4 +.IX Item "docnfsstat" +Whether to start \fIcnfsstat\fR\|(8) when \fIinnd\fR\|(8) is started. cnfsstat will log +the status of all \s-1CNFS\s0 cycbuffs to syslog on a periodic basis (frequency +is the default for \f(CW\*(C`cnfsstat \-l\*(C'\fR, currently 600 seconds). This is a +boolean value and the default is false. +.IP "\fIlogartsize\fR" 4 +.IX Item "logartsize" +Whether the size of accepted articles (in bytes) should be written to the +article log file. This is useful for flow rate statistics and is +recommended. This is a boolean value and the default is true. +.IP "\fIlogcancelcomm\fR" 4 +.IX Item "logcancelcomm" +Set this to true to log \f(CW\*(C`ctlinnd cancel\*(C'\fR commands to syslog. This is a +boolean value and the default is false. +.IP "\fIlogcycles\fR" 4 +.IX Item "logcycles" +How many old logs \fIscanlogs\fR\|(8) keeps. \fIscanlogs\fR\|(8) is generally run by +\&\fInews.daily\fR\|(8) and will archive compressed copies of this many days worth +of old logs. The default value is \f(CW3\fR. +.IP "\fIlogipaddr\fR" 4 +.IX Item "logipaddr" +Whether the verified name of the remote feeding host should be logged to +the article log for incoming articles rather than the last entry in the +Path: header. The only reason to ever set this to false is due to some +interactions with \fInewsfeeds\fR flags; see \fInewsfeeds\fR\|(5) for more +information. This is a boolean value and the default is true. +.IP "\fIlogsitename\fR" 4 +.IX Item "logsitename" +Whether the names of the sites to which accepted articles will be sent +should be put into the article log file. This is useful for debugging and +statistics and can be used by \fInewsrequeue\fR\|(8). This is a boolean value and +the default is true. +.IP "\fInnrpdoverstats\fR" 4 +.IX Item "nnrpdoverstats" +Whether nnrpd overview statistics should be logged via syslog. This can +be useful for measuring overview performance. This is a boolean value and +the default is false. +.IP "\fInntpactsync\fR" 4 +.IX Item "nntpactsync" +How many articles to process on an incoming channel before logging the +activity. The default value is \f(CW200\fR. +.Sp +\&\s-1FIXME:\s0 This is a rather unintuitive name for this parameter. +.IP "\fInntplinklog\fR" 4 +.IX Item "nntplinklog" +Whether to put the storage \s-1API\s0 token for accepted articles (used by +nntplink) in the article log. This is a boolean value and the default is +false. +.IP "\fIstathist\fR" 4 +.IX Item "stathist" +Where to write history statistics for analysis with +\&\fIcontrib/stathist.pl\fR; this can be modified with \fIctlinnd\fR\|(8) while innd is +running. Logging does not occur unless a path is given, and there is no +default value. +.IP "\fIstatus\fR" 4 +.IX Item "status" +How frequently (in seconds) \fIinnd\fR\|(8) should write out a status report. The +report is written to \fIpathhttp\fR/inn_status.html. If this is set to \f(CW0\fR or +\&\f(CW\*(C`false\*(C'\fR, status reporting is disabled. The default value is \f(CW0\fR. +.IP "\fItimer\fR" 4 +.IX Item "timer" +How frequently (in seconds) \fIinnd\fR\|(8) should report performance timings to +syslog. If this is set to \f(CW0\fR, performance timing is disabled. Enabling +this is highly recommended, and \fIinnreport\fR\|(8) can produce a nice summary of +the timings. If set to \f(CW0\fR, performance timings in \fInnrpd\fR\|(8) are also +disabled, although nnrpd always reports statistics on exit and therefore +any non-zero value is equivalent for it. The default value is \f(CW0\fR. +.Sh "System Tuning" +.IX Subsection "System Tuning" +The following parameters can be modified to tune the low-level operation +of \s-1INN\s0. In general, you shouldn't need to modify any of them except +possibly \fIrlimitnofile\fR unless the server is having difficulty. +.IP "\fIbadiocount\fR" 4 +.IX Item "badiocount" +How many read or write failures until a channel is put to sleep or +closed. The default value is \f(CW5\fR. +.IP "\fIblockbackoff\fR" 4 +.IX Item "blockbackoff" +Each time an attempted write returns \s-1EAGAIN\s0 or \s-1EWOULDBLOCK\s0, \fIinnd\fR\|(8) will +wait for an increasing number of seconds before trying it again. This is +the multiplier for the sleep time. If you're having trouble with channel +feeds not keeping up, it may be good to change this value to \f(CW2\fR or \f(CW3\fR, +since then when the channel fills \s-1INN\s0 will try again in a couple of +seconds rather than waiting two minutes. The default value is \f(CW120\fR. +.IP "\fIchaninacttime\fR" 4 +.IX Item "chaninacttime" +The time (in seconds) to wait between noticing inactive channels. The +default value is \f(CW600\fR. +.IP "\fIchanretrytime\fR" 4 +.IX Item "chanretrytime" +How many seconds to wait before a channel restarts. The default value is +\&\f(CW300\fR. +.IP "\fIdatamovethreshold\fR" 4 +.IX Item "datamovethreshold" +The threshold for deciding whether to move already-read data to the top of +buffer or extend the buffer. The buffer described here is used for reading +\&\s-1NNTP\s0 data. Increasing this value may improve performance, but it should +not be increased on Systems with insufficient memory. Permitted values +are between \f(CW0\fR and \f(CW1048576\fR (out of range values are treated as +\&\f(CW1048576\fR) and the default value is \f(CW8192\fR. +.IP "\fIicdsynccount\fR" 4 +.IX Item "icdsynccount" +How many article writes between updating the active and history files. +The default value is \f(CW10\fR. +.IP "\fIkeepmmappedthreshold\fR" 4 +.IX Item "keepmmappedthreshold" +When using buffindexed, retrieving overview data (that is, responding to +\&\s-1XOVER\s0 or running expireover) causes mmapping of all overview data blocks +which include requested overview data for newsgroup. But for high volume +newsgroups like control.cancel, this may cause too much mmapping at once +leading to system resource problems. To avoid this, if the amount to be +mmapped exceeds \fIkeepmmappedthreshold\fR (in \s-1KB\s0), buffindexed mmap's just +one overview block (8 \s-1KB\s0). This parameter is specific to buffindexed +overview storage method. The default value is \f(CW1024\fR (1 \s-1MB\s0). +.IP "\fImaxcmdreadsize\fR" 4 +.IX Item "maxcmdreadsize" +If set to anything other than \f(CW0\fR, maximum buffer size (in bytes) for +reading \s-1NNTP\s0 command will have this value. It should not be large on +systems which are slow to process and store articles, as that would lead +to \fIinnd\fR\|(8) spending a long time on each channel and keeping other channels +waiting. The default value is \s-1BUFSIZ\s0 defined in stdio.h (\f(CW1024\fR in most +environments, see \fIsetbuf\fR\|(3)). +.IP "\fImaxforks\fR" 4 +.IX Item "maxforks" +How many times to attempt a \fIfork\fR\|(2) before giving up. The default value +is \f(CW10\fR. +.IP "\fInicekids\fR" 4 +.IX Item "nicekids" +If set to anything other than \f(CW0\fR, all child processes of \fIinnd\fR\|(8) will +have this \fInice\fR\|(2) value. This is usually used to give all child processes +of \fIinnd\fR\|(8) a lower priority (higher nice value) so that \fIinnd\fR\|(8) can get +the lion's share of the \s-1CPU\s0 when it needs it. The default value is \f(CW4\fR. +.IP "\fInicenewnews\fR" 4 +.IX Item "nicenewnews" +If set to anything greater than \f(CW0\fR, all \fInnrpd\fR\|(8) processes that receive +and process a \s-1NEWNEWS\s0 command will \fInice\fR\|(2) themselves to this value +(giving other nnrpd processes a higher priority). The default value is +\&\f(CW0\fR. Note that this value will be ignored if set to a lower value than +\&\fInicennrpd\fR (or \fInicekids\fR if \fInnrpd\fR\|(8) is spawned from \fIinnd\fR\|(8)). +.IP "\fInicennrpd\fR" 4 +.IX Item "nicennrpd" +If set to anything greater than \f(CW0\fR, all \fInnrpd\fR\|(8) processes will \fInice\fR\|(1) +themselves to this value. This gives other news processes a higher +priority and can help \fIoverchan\fR\|(8) keep up with incoming news (if that's +the object, be sure \fIoverchan\fR\|(8) isn't also set to a lower priority via +\&\fInicekids\fR). The default value is \f(CW0\fR, which will cause \fInnrpd\fR\|(8) +processes spawned from \fIinnd\fR\|(8) to use the value of \fInicekids\fR, while +\&\fInnrpd\fR\|(8) run as a daemon will use the system default priority. Note that +for \fInnrpd\fR\|(8) processes spawned from \fIinnd\fR\|(8), this value will be ignored if +set to a value lower than \fInicekids\fR. +.IP "\fIpauseretrytime\fR" 4 +.IX Item "pauseretrytime" +Wait for this many seconds before noticing inactive channels. +Wait for this many seconds before innd processes articles when it's paused +or the number of channel write failures exceeds \fIbadiocount\fR. The +default value is \f(CW300\fR. +.IP "\fIpeertimeout\fR" 4 +.IX Item "peertimeout" +How long (in seconds) an \fIinnd\fR\|(8) incoming channel may be inactive before +innd closes it. The default value is \f(CW3600\fR (an hour). +.IP "\fIrlimitnofile\fR" 4 +.IX Item "rlimitnofile" +The maximum number of file descriptors that \fIinnd\fR\|(8) or \fIinnfeed\fR\|(8) can have +open at once. If \fIinnd\fR\|(8) or \fIinnfeed\fR\|(8) attempts to open more file +descriptors than this value, it is possible the program may throttle or +otherwise suffer reduced functionality. The number of open file +descriptors is roughly the maximum number of incoming feeds and outgoing +batches for \fIinnd\fR\|(8) and the number of outgoing streams for \fIinnfeed\fR\|(8). If +this parameter is set to a negative value, the default limit of the +operating system will be used; this will normally be adequate on systems +other than Solaris. Nearly all operating systems have some hard maximum +limit beyond which this value cannot be raised, usually either 128, 256, +or 1024. The default value of this parameter is \f(CW\*(C`\-1\*(C'\fR. Setting it to +\&\f(CW256\fR on Solaris systems is highly recommended. +.Sh "Paths and File Names" +.IX Subsection "Paths and File Names" +.IP "\fIpatharchive\fR" 4 +.IX Item "patharchive" +Where to store archived news. The default value is \fIpathspool\fR/archive. +.IP "\fIpatharticles\fR" 4 +.IX Item "patharticles" +The path to where the news articles are stored (for storage methods other +than \s-1CNFS\s0). The default value is \fIpathspool\fR/articles. +.IP "\fIpathbin\fR" 4 +.IX Item "pathbin" +The path to the news binaries. The default value is \fIpathnews\fR/bin. +.IP "\fIpathcontrol\fR" 4 +.IX Item "pathcontrol" +The path to the files that handle control messages. The code for handling +each separate type of control message is located here. Be very careful +what you put in this directory with a name ending in \f(CW\*(C`.pl\*(C'\fR, as it can +potentially be a severe security risk. The default value is +\&\fIpathbin\fR/control. +.IP "\fIpathdb\fR" 4 +.IX Item "pathdb" +The path to the database files used and updated by the server (currently, +\&\fIactive\fR, \fIactive.times\fR, \fIhistory\fR and its indices, and +\&\fInewsgroups\fR). The default value is \fIpathnews\fR/db. +.IP "\fIpathetc\fR" 4 +.IX Item "pathetc" +The path to the news configuration files. The default value is +\&\fIpathnews\fR/etc. +.IP "\fIpathfilter\fR" 4 +.IX Item "pathfilter" +The path to the Perl, Tcl, and Python filters. The default value is +\&\fIpathbin\fR/filter. +.IP "\fIpathhttp\fR" 4 +.IX Item "pathhttp" +Where any \s-1HTML\s0 files (such as periodic status reports) are placed. If the +news reports should be available in real-time on the web, the files in +this directory should be served by a web server. The default value is +the value of \fIpathlog\fR. +.IP "\fIpathincoming\fR" 4 +.IX Item "pathincoming" +Location where incoming batched news is stored. The default value is +\&\fIpathspool\fR/incoming. +.IP "\fIpathlog\fR" 4 +.IX Item "pathlog" +Where the news log files are written. The default value is +\&\fIpathnews\fR/log. +.IP "\fIpathnews\fR" 4 +.IX Item "pathnews" +The home directory of the news user and usually the root of the news +hierarchy. There is no default; this parameter must be set in \fIinn.conf\fR +or \s-1INN\s0 will refuse to start. +.IP "\fIpathoutgoing\fR" 4 +.IX Item "pathoutgoing" +Default location for outgoing feed files. The default value is +\&\fIpathspool\fR/outgoing. +.IP "\fIpathoverview\fR" 4 +.IX Item "pathoverview" +The path to news overview files. The default value is +\&\fIpathspool\fR/overview. +.IP "\fIpathrun\fR" 4 +.IX Item "pathrun" +The path to files required while the server is running and run-time state +information. This includes lock files and the sockets for communicating +with \fIinnd\fR\|(8). This directory and the control sockets in it should be +protected from unprivileged users other than the news user. The default +value is \fIpathnews\fR/run. +.IP "\fIpathspool\fR" 4 +.IX Item "pathspool" +The root of the news spool hierarchy. This used mostly to set the +defaults for other parameters, and to determine the path to the backlog +directory for \fIinnfeed\fR\|(8). The default value is \fIpathnews\fR/spool. +.IP "\fIpathtmp\fR" 4 +.IX Item "pathtmp" +Where \s-1INN\s0 puts temporary files. For security reasons, this is not the +same as the system temporary files directory (\s-1INN\s0 creates a lot of +temporary files with predictable names and does not go to particularly +great lengths to protect against symlink attacks and the like; this +is safe provided that normal users can't write into its temporary +directory). The default value is set at configure time and defaults to +\&\fIpathnews\fR/tmp. +.SH "EXAMPLE" +.IX Header "EXAMPLE" +Here is a very minimalist example that only sets those parameters that are +required. +.PP +.Vb 5 +\& mta: /usr/lib/sendmail \-oi \-oem %s +\& ovmethod: tradindexed +\& pathhost: news.example.com +\& pathnews: /usr/local/news +\& hismethod: hisv6 +.Ve +.PP +For a more comprehensive example, see the sample \fIinn.conf\fR distributed +with \s-1INN\s0 and installed as a starting point; it contains all of the default +values for reference. +.SH "HISTORY" +.IX Header "HISTORY" +Written by Rich \f(CW$alz\fR for InterNetNews and since +modified, updated, and reorganized by innumerable other people. +.PP +$Id: inn.conf.5 7880 2008-06-16 20:37:13Z iulius $ +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIinews\fR\|(1), \fIinnd\fR\|(8), \fIinnwatch\fR\|(8), \fInnrpd\fR\|(8), \fIrnews\fR\|(1). +.PP +Nearly every program in \s-1INN\s0 uses this file to one degree or another. The +above are just the major and most frequently mentioned ones.