The file pathdb/active lists the newsgroups carried by INN. This file
is generally maintained using ctlinnd(8) to create and remove groups, or
by letting controlchan(8) do so on the basis of received control messages;
this file is then updated and a backup stored in pathdb/active.old. Note
that the newsgroups(5) file normally contains the descriptions of the
newsgroups carried by the news server.
The active file should not be edited directly without throttling innd,
and must be reloaded using ctlinnd before innd is unthrottled. Editing
it directly even with those precautions may make it inconsistent with the
overview database and wont update active.times, so ctlinnd should
be used to make modifications whenever possible.
Each newsgroup should be listed only once. Each line specifies one group.
The order of groups does not matter. Within each newsgroup, received
articles for that group are assigned monotonically increasing numbers as
unique names. If an article is posted to newsgroups not mentioned in this
file, those newsgroups are ignored.
If none of the newsgroups listed in the Newsgroups: header of an article
are present in this file, the article is either rejected (if wanttrash
is false in inn.conf), or is filed into the newsgroup junk and,
when Aj is not set in the newsfeeds feed pattern, only propagated
to sites that receive the junk newsgroup (if wanttrash is true).
Each line of this file consists of four fields separated by a space:
<name> <high> <low> <status>
The first field is the name of the newsgroup. The newsgroup junk is
special, as mentioned above. The newsgroup control and any newsgroups
beginning with control. are also special; control messages are filed
into a control.* newsgroup named after the type of control message if that
group exists, and otherwise are filed into the newsgroup control
(without regard to what newsgroups are listed in the Newsgroups: header).
If mergetogroups is set to true in inn.conf, newsgroups that begin
with to. are also treated specially; see innd(8).
The second field is the highest article number that has been used in that
newsgroup. The third field is the lowest article number in the group;
this number is not guaranteed to be accurate, and should only be taken to
be a hint. It is normally updated nightly as part of the expire process;
see news.daily(8) and look for lowmark or renumber for more details.
Note that because of article cancellations, there may be gaps in the
numbering sequence. If the lowest article number is greater than the
highest article number, then there are no articles in the newsgroup. In
order to make it possible to update an entry in-place without rewriting
the entire file, the second and third fields are padded out with leading
zeros to make them a fixed width.
The fourth field contains one of the following status:
y Local postings and articles from peers are allowed.
m The group is moderated and all postings must be approved.
n No local postings are allowed, only articles from peers.
j Articles from peers are filed in the junk group instead.
x No local postings, and articles from peers are ignored.
=foo.bar Articles are filed in the group foo.bar instead.
If a newsgroup has the j status, no articles will be filed in that
newsgroup. Local postings are not accepted; if an article for that
newsgroup is received from a remote site, and if it is not crossposted to
some other valid group, it will be filed into the junk newsgroup instead.
This is different than simply not listing the group, since the article will
still be accepted and can be propagated to other sites, and the junk
group can be made available to readers if wished.
If the <status> field begins with an equal sign, the newsgroup is an alias.
Articles cannot be posted to that newsgroup, but they can be received from
other sites. Any articles received from peers for that newsgroup are
treated as if they were actually posted to the group named after the equal
sign. Note that the Newsgroups: header of the articles is not modified.
(Alias groups are typically used during a transition and are typically
created manually with ctlinnd(8).) An alias should not point to another
Note that readers.conf can be configured so that local posts to newsgroups
with status j, n or x are accepted.
For innd to be able to start, the three groups control,
control.cancel and junk need to be in the active file. Besides,
if mergetogroups is set to true in inn.conf, the newsgroup to
also needs to exist.
The minimal active file shipped with INN is:
control 0000000000 0000000001 n
control.cancel 0000000000 0000000001 n
control.checkgroups 0000000000 0000000001 n
control.newgroup 0000000000 0000000001 n
control.rmgroup 0000000000 0000000001 n
junk 0000000000 0000000001 n
(Note that the second and the third field may differ if the news server
has already been in use.)
There are more control.* pseudogroups here than needed by innd to start;
the corresponding control messages will be filed into them. The n status
is so that users cannot post directly to these groups (control messages
should only be posted to the groups that they affect). If you do not want
these groups to be visible to clients, do not delete them but simply hide
them in readers.conf(5).
To create additional groups after the server is running, you can use
ctlinnd newgroup. You can also synchronize your newsgroup list to
that of another server by using actsync(8) or get the active file
of another NNTP server with getlist(1). And do not forget to update
your newsgroups file, which can be automatically done thanks to
docheckgroups called with the -u flag.