[INN 2.5.0-RC2] Note about checkgroups handling

Julien ÉLIE julien at trigofacile.com
Sat Apr 25 13:49:35 UTC 2009


Here is a quick reminder of how checkgroups are delt with by INN 2.5.0.
Feel free to tell me in case you do not think it is the right thing to do.

As for checkgroups, suppose your news server contains these groups for foo.*,
all of them being unmoderated (C<y> flag in the F<active> file):


and you receive the following checkgroups by <foo at bar.com> for foo.*:

    foo.bar1          A valid newsgroup.
    foo.bar3.first    Only one newsgroup in foo.bar3.*.
    foo.bar4          A newsgroup you want.
    foo.bar5          A newsgroup you do not want.
    foo.bar5.first    Another newsgroup you do not want.

with the following F<control.ctl> entries:


    checkgroups:foo at bar.com:foo.*:verify-key-foo
    checkgroups:foo at bar.com:foo.bar2.*:doit
    checkgroups:foo at bar.com:foo.bar3.*:mail
    checkgroups:foo at bar.com:foo.bar4|foo.bar4.*:doit
    checkgroups:foo at bar.com:foo.bar5|foo.bar5.*:drop

Then, as F<control.ctl> is processed from bottom, here is what happens:

=over 4

=item 1.

The newsgroups foo.bar5 and foo.bar5.first are marked as unwanted.  But
nothing is done yet:  other F<control.ctl> entries have to be processed
with a real action and a set of newsgroups containing foo.bar5 and

=item 2.

The newsgroup foo.bar4 is silently created on the news server, with
the description "A newsgroup you want." added to the F<newsgroups>
file.  In the absence of encoding values (either in the checkgroups
message or in B</encoding/> and B</localencoding>), the default is
to decode the sentence as CP1242 and reencode it as UTF-8.

If C<doit=mail> was used, a mail would be sent to the news administrator
to inform him that foo.bar4 was successfully created.

=item 3.

The newsgroup foo.bar3.second is no longer present.  A mail is sent
to the news administrator with a shell script to execute.  When it is
manually executed, foo.bar3.second will be removed.

Note that the descriptions are handled differently and have already
been updated without any manual intervention (foo.bar3.first now
has the description "Only one newsgroup in foo.bar3.*." and
foo.bar3.second no longer has a description).

=item 4.

The newsgroups foo.bar2.first, foo.bar2.second and foo.bar2.third
are no longer present.  However, as the maximum number of changes
that could be made at one time by a checkgroups before bailing
and mailing the changes to the news administrator is 2, these
newsgroups are not removed.  A mail is sent with a shell script
to manually execute in order to remove these groups from
the news server.

Note that their descriptions are removed from the F<newsgroups> file,
as well as any other possible descriptions for obsolete newsgroups
in foo.bar2.*.

=item 5.

The remaining entry is executed if the PGP verification of the
checkgroups message is successful.  Otherwise, nothing is done
(especially, foo.bar5 remains on the news server).

In case the PGP signature is verified, foo.bar3 and foo.bar5 are
removed from the news server.  This entry acts upon newsgroups
marked as dropped in its scope and newsgroups not already dealt
with by previous F<control.ctl> entries (like foo.bar3 because
only foo.bar3.* was previously checked).

Note that if you had wanted to keep foo.bar3 or foo.bar5, you
could have added them to the F<localgroups> file in I<pathetc>.


Julien ÉLIE

« Lupus est matrem suum. » 

More information about the inn-workers mailing list