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 won't 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 alias.
Note that readers.conf can be configured so that local posts to newsgroups with status "j", "n" or "x" are accepted.
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.
$Id: active.pod 9767 2014-12-07 21:13:43Z iulius $