Bug in the [non-]propagation of control messages
Russ Allbery
rra at stanford.edu
Sat Sep 15 18:47:12 UTC 2007
Julien ÉLIE <julien at trigofacile.com> writes:
> All right. So I have to replace "*" by "*,!control.*" in my newsfeeds
> entries. It is true that I read in the newsfeeds man page:
> Control messages follow slightly different propagation rules than
> normal articles; see innd(8) for the details. Note that most
> subscriptions should have "!junk,!control*" in their pattern list
> due to those propagation rules.
> And the innd man page explains that. But maybe an example is missing in
> order to make it clearer (such as the example of a newgroup control message
> posted to local.example with the "*, at local.*" pattern).
Yeah, that would be a good idea.
>> And then overridden in the LikeNewgroup code... so the change for
>> checkgroups wouldn't have any real effect, would it? Maybe I'm missing
>> something.
> Yes it would have.
> Suppose a checkgroups is sent to foo.admin and that you do not have
> that group in your active (but you carry foo.* or, at least, you
> receive a feed for foo.*). In the current implementation, it does:
> if ((ngp = NGfind(p)) == NULL) {
> GroupMissing = true;
> if (LikeNewgroup && Approved) {
> ARTsendthegroup(*groups);
> Accepted = true;
> } else
> NonExist = true;
> so the checkgroups is not propagated because of NonExist.
> Indeed, we have after:
> for (i = nSites, sp = Sites; --i >= 0; sp++) {
> if (sp->Poison || (sp->ControlOnly && !IsControl)
> || (sp->DontWantNonExist && NonExist))
> sp->Sendit = false;
> }
> And finally, the checkgroups is rejected (Unwanted newsgroup foo.admin).
> Adding checkgroups in LikeNewgroup stuff (at the right place, after
> the code which searches for a newsgroup name useful for newgroup/rmgroup)
> causes ARTsendthegroup to be called and the acceptance of the checkgroups
> control message. Then it can be propagated to the sites which need it,
> and not blocked by the local news server.
I think what I'm not following here is what newsgroup is passed to
ARTsendthegroup. control.checkgroups? Or something else? If the effect
is to pass control.checkgroups in, then yes, I agree with that change.
--
Russ Allbery (rra at stanford.edu) <http://www.eyrie.org/~eagle/>
Please send questions to the list rather than mailing me directly.
<http://www.eyrie.org/~eagle/faqs/questions.html> explains why.
More information about the inn-workers
mailing list