Bug in the [non-]propagation of control messages
Russ Allbery
rra at stanford.edu
Fri Sep 14 23:11:09 UTC 2007
Julien ÉLIE <julien at trigofacile.com> writes:
> It was a control message for the creation of local.example
> (Newsgroups: local.example).
> It is sent by art.c at line 2136:
> /* Control messages not filed in "to" get filed only in control.name
> * or control. */
> if (IsControl && Accepted && !ToGroup) {
> ControlStore = true;
> controlgroup = concat("control.", ControlWord, (char *) 0);
> if ((ngp = NGfind(controlgroup)) == NULL)
> ngp = NGfind(ARTctl);
> free(controlgroup);
> ngp->PostCount = 0;
> ngptr = GroupPointers;
> *ngptr++ = ngp;
> for (isp = ngp->Sites, i = ngp->nSites; --i >= 0; isp++) {
> if (*isp >= 0) {
> sp = &Sites[*isp];
> SITEmark(sp, ngp);
> }
> }
> }
> Indeed, control.newgroup is in the pattern "*, at local.*" so it is sent.
> It does not care about the poison pattern here.
Ah, yes, if you don't want to send all control messages to a remote host,
you also have to exclude control.* from the feed. I'm not sure if that's
a feature or not, but I'm not sure how to change it without breaking
feeding control.newgroup explicitly.
> The article propagation is based on what there is in "groups" thanks
> to ARTsendthegroup(*groups). And it is set by:
> groups = data->Newsgroups.List;
> just before.
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.
--
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