noffle.conf - Configuration file for NOFFLE news server
DESCRIPTION
The
NOFFLE news server - see
noffle(1) - takes its configuration from a configuration file.
By default this file is /etc/news/noffle.conf.
noffle.conf is a normal text file containing
NOFFLE settings, one per line.
Leading whitespace on a line is ignored, as is any comment
text. Comment text begins with a '#' character and continues to the
end of the line. Blank lines are permitted.
SETTINGS
server <hostname>[:<port>] [<user> <pass>]
Name of the remote server. If no port given, port 119 is used.
Username and password for servers that need authentication
(Original AUTHINFO). The password may not contain white-spaces.
If there are multiple server entries in the config file, all of them are
used for getting groups. In this case the first server should be
the one of your main provider. Note that you must always
run 'noffle --query groups'
after making changes to the server entries.
getgroups <group pattern> [, <group pattern> ...]
Only retrieve from the most recently specified server newsgroups that match
the specified patterns. The patterns can contain wildcards, and
there can be multiple
getgroups lines. For further details on
getgroups processing in tandem with omitgroups, see the section on
omitgroups following.
Default: All groups
Don't retrieve from the most recently specified server newsgroups that match
the specified patterns. The patterns can contain wildcards, and
there can be multiple
omitgroups lines. When processing a new newsgroup name, it is checked first to see
if it appears on the
getgroups list (if any). If not, the group is rejected.
Then the group is checked to see if it appears on the
omitgroups list. If it does not, the group is accepted as a group
NOFFLE will list and collect as required.
Default: No groups
max-fetch <n>
Never get more than <n> articles. If there are more, the oldest ones
are discarded.
Default: 300
from-domain <domain>
When invoked as
inews(1) NOFFLE will add a From: line to posts that lack one. The address given
uses the userid of the user who invoked
inews and the specified domain.
Default: The system domain
log-debug <log category> [<log category ...]
Log debugging information from the specified log category
or categories. Logging is via the system logging daemon
syslogd(8) (to the debug facility) and additionally to stderr when running
interactively. The available categories for logging are
all , none , config , auth , control , expire , fetch , filter , newsbase , noffle , post , protocol , requests and
server. The
noffle category is automatically selected whenever any other category is
selected. These messages are in addition to messages logged to the
system logging daemon error, information and notification facilities.
Default: none
organization <organization>
When invoked as
inews(1) NOFFLE will, unless the -O flag is specified, add an Organization: line to
posts that lack one. If no
organization is specified, the line is not added.
Default: <empty string>
mail-to <address>
Receiver of failed postings. If empty then failed postings are returned
to the sender (taking the address from the article's Reply-To, Sender,
X-Sender or From field, in this order).
Default: <empty string>
auto-unsubscribe yes|no
Automatically remove groups from fetch list if they have not been
accessed for a number of days. Groups are only unsubscribed if there
are fresh articles arriving and remaining unread.
Default: no
auto-unsubscribe-days <n>
Number of days used for auto-unsubscribe option.
Default: 30
thread-follow-time <n>
Automatically mark articles for download in thread mode, if they
are referencing an article that has been opened by a reader within the last
<n> days.
Default: 7
connect-timeout <n>
Timeout for connecting to remote server in seconds.
Default: 30
auto-subscribe yes|no
Automatically put groups on fetch list if someone reads them.
<mode> can be full, over, thread (depending on the fetch mode) or
off (do not subscribe automatically). Condition for putting a group
on the list is that an article is opened. For this reason there is
always a pseudo article visible in groups that are not on the fetch list.
Default: no
Mode for auto-subscribe option for groups that match the given
pattern.
Default: none
default-auto-subscribe-mode full|thread|over
Default mode for auto-subscribe option. Used for all groups that do
not match a pattern specified with
auto-subscribe-mode entries (if any).
Default: over
info-always-unread yes|no
An information article is presented for all unsubscribed
newsgroups. If auto-subscribe mode is off, there is a possibility of
someone reading the article but forgetting the instructions therein
and not knowing how to return to a read article. This option causes
the information article always to be present as an unread article in a
group when auto-subscribe if off. It does this by incrementing the
article number of the information article every time it is read.
Default: yes
authenticate-client yes|no
Insist that clients authenticate themselves using the NNTP
AUTHINFO USER/AUTHINFO PASS transaction before any news is served.
This option is recognised only when NOFFLE has been built with
authentication enabled.
The form of the authentication is determined at compile time; either
PAM is used (with a service name "noffle"), or the userlist
file is scanned. This file, by default /etc/noffle.users,
is a text file. Spaces, comments starting with '#' and blank lines are
ignored. Other lines must contain space-separated 'username password'
pairs. For security reasons the userlist file must be a regular file,
not a link, and must be owner readable only. Finally, note that the
NNTP AUTHINFO USER/AUTHINFO PASS transaction is not encrypted in any
way, and so must itself be considered insecure.
Default: no
post-locally yes|no
Place articles posted to external servers in the local aticle database
immediately. Some servers may rewrite Message-IDs, which will cause
duplicate postings of this option is enabled. Also, if for some reason
the post to the remote server fails, the article still exists in the local
database, which may be a source of some confusion.
Default: no
replace-messageid yes|no
Always replace the Message-ID of a posted article with a Message-ID
generated by NOFFLE. NOFFLE will always add a Message-ID if none is
present, or replace a Message-ID that does not meet the basic
formatting and content requirements for a Message-ID. However, some
news readers may generate Message-IDs that are not accepted by some
servers (for example the server may insist the Message-ID domain is
part of the server domain) or may not always be unique. In either of
these cases you may prefer to have NOFFLE always replace the
Message-ID.
Default: no
hostname <fully.qualified.domain.name>
Specify right-hand side of Message-IDs generated by NOFFLE.
If omitted, the fully qualified domain name of your system will be used.
If you do not have a fully qualified domain name, your upstream
newsserver or someone else might allow you to use a subdomain name.
Default: <the fully qualified domain name of your system>
append-reply-to yes|no
Append a 'Reply-To:' header to messages posted without it.
The address from the 'From:' header is used. Though this might seem
pretty useless at first glance it may be desireable as some providers were
known to overwrite the 'From:' header.
Default: yes
path-header <path header content>
Articles posted without a Path: header have one added by NOFFLE.
When
path-header has its default value (empty) the header content
is "<hostname>!not-for-mail".
Use the
path-header setting to provide alternate content for the Path: header.
This will very rarely be necessary.
Default: <empty string>
default-expire <n>
The default expiry period, in days. An expiry period of 0 means "never".
Default: 14
noffle-user <n>
The username under which NOFFLE normally runs. If NOFFLE is invoked by
root, it will drop its real and effective UID to this user as soon as
possible.
Default: news
noffle-group <n>
The group under which NOFFLE normally runs. NOFFLE will change to this
real and effective GID as soon as possible.
Default: news
expire <group pattern> <n>
The expiry period for a newsgroup or set of newsgroups, in days. The
expiry pattern can contain wildcards, and there can be multiple
expire lines. When checking the expiry period for a group, the expiry
patterns are checked in the order in which they appear in
/etc/news/noffle.conf until the first match occurs. If no pattern matches the group name, the
default expiry period is used. An expiry period of 0 means "never".
Default: no
filter <filter specification>
Add the specified filter to the list of filters to be applied to incoming
articles. Filters are applied in the order in which they appear in
/etc/news/noffle.conf and are further described in the section
FILTERS below.
Default: No filters
GROUP NAME WILDCARDS
NOFFLE uses a wildcard format that closely matches filename-style wildcards.
alt.binaries.*, for example, matches all newsgroups under the
alt.binaries hierarchy. A full description of the format (known as
wildmat patterns) is as follows.
\ x
Turns off the special meaning of
x and matches it directly; this is used mostly before a question mark or
asterisk, and is not special inside square brackets.
?
Matches any single character.
*
Matches any sequence of zero or more characters.
[ x...y ]
Matches any single character specified by the set
x...y . A minus sign may be used to indicate a range of characters.
That is,
[0-5abc] is a shorthand for
[012345abc] . More than one range may appear inside a character set;
[0-9a-zA-Z._] matches almost all of the legal characters for a host name.
The close bracket,
] , may be used if it is the first character in the set.
The minus sign,
- , may be used if it is either the first or last character in the set.
[^ x...y ]
This matches any character
not in the set
x...y , which is interpreted as described above.
For example,
[^]-] matches any character other than a close bracket or minus sign.
FILTERS
NOFFLE supports basic filtering on incoming articles. Articles to be downloaded
can be matched against one or more criteria and matching articles are
marked for download using one of the group subscribe modes
full , over or
thread . Alternatively the filter may specify that the article mode is
discard in which case neither the article nor the article overview will
be downloaded.
A
filter configuration line consist of one or more filter specifications
following the
filter keyword on the line. The available specifications are:
action =
"full|over|thread|discard|default" . Specifies the action to be taken if the filter matches. If not specified
or specified as
default , the action is as specified by the group's subscription mode.
group =
"<group pattern>" . Matches if any group in which the article appears matches the
specified group pattern.
subject =
"<regular expression>" . Matches if the article subject matches the given regular expression.
See the section on regular expressions below.
from =
"<regular expression>" . Matches if the article From: address matches the given regular expression.
See the section on regular expressions below.
msgid =
"<regular expression>" . Matches if the article message ID matches the given regular expression.
See the section on regular expressions below.
bytes < or = or >
<number> . Matches if the number of bytes in the article is less than, equal to, or
greater than the given number.
lines < or = or >
<number> . Matches if the number of lines in the article is less than, equal to, or
greater than the given number.
refs < or = or >
<number> . Matches if the number of articles referenced by the article is less
than, equal to, or greater than the given number.
reference =
"<regular expression>" . Matches if one of the message IDs in the reference line matches the
given regular expression. See the section on regular expressions below.
xposts < or = or >
<number> . Matches if the number of groups the article is posted to is less
than, equal to, or greater than the given number.
date < or = or >
"<date expression>" . Matches if the article is older, from the same day or newer than the
given date expression. See the section on date expressions below.
older =
"<date expression>" . Equals
date < .
newer =
"<date expression>" . Equals
date > .
post-status =
"mod|yes|no" . Matches if the current newsgroup is moderated, not moderated or closed.
Unlike the
group filter, only the current newsgroup is checked.
Numbers may have a suffix of 'k' or 'm'. As you might expect, 'k'
indicates the number is to be multiplied by 1024 and 'm' indicates
it is to be multiplied by 1024*1024. Thus 10k is 10240 and 1m is 1048576.
For example, the following filters download all articles in groups
in the alt.binaries tree in full if they are < 10k in size, otherwise
downloads overviews.
NOFFLE uses extended POSIX-style regular expressions in its filters. Regular
expressions are a powerful means of describing patterns that match
text. A full description is to be found in
regex(7) .
DATE EXPRESSIONS
NOFFLE uses very simple date expressions. You can use fixed dates in rfc-2822 style
or variable dates:
date="14 May 2002 18:32:50 +0200" matches any article sent up to 24 hours before or after the above fixed date.
Please don't forget the timezone specification.
date>"now+1.5" matches any article newer than 36 hours from the current date.
date="lastupdate-14" matches any article older than 14 days since the date of the last
noffle --fetch or
noffle --query groups from the current newsserver.
date="invalid" matches any article with an invalid date header.