Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  NOFFLE.CONF (5)


noffle.conf - Configuration file for NOFFLE news server


Regular Expressions
Date Expressions
See Also


The NOFFLE news server - see noffle(1) - takes its configuration from a configuration file. By default this file is /usr/local/etc/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.


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

omitgroups <group pattern> [, <group pattern> ...]
  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

auto-subscribe-mode <group pattern> full|thread|over
  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 <>
  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 /usr/local/etc/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 /usr/local/etc/noffle.conf and are further described in the section FILTERS below.
Default: No filters


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.
  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.
  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.


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.

filter group=alt.binaries.* bytes < 10k action=full
filter group=alt.binaries.* action=over

This filter discards all articles with a subject resembling the infamous "$$$ Make Money Now! $$$".

filter subject="\$*.*Make.*[M|m]oney.*\$" action=discard


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).


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.


noffle(1) regex(7)


Markus Enzenberger <>
Volker Wysk <>
Jim Hague <>
Uwe Hermann <>
Mirko Liss <>


Search for    or go to Top of page |  Section 5 |  Main Index


Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.