#102 closed defect (fixed)
Improve checkgroups semantics in control.ctl
Reported by: | Julien ÉLIE | Owned by: | eagle |
---|---|---|---|
Priority: | low | Milestone: | 2.5.0 |
Component: | utilities | Version: | 2.4.5 |
Severity: | normal | Keywords: | |
Cc: |
Description
According to control.ctl man page:
The third argument for a line affecting checkgroups does not affect whether the line matches. It is only used after a matching line is found, to filter out which newsgroups listed in the checkgroups will be processed. This means that a line like:
checkgroups:*:*binaries*:drop
will cause all checkgroups control messages to be dropped unless they match a line after this one in control.ctl, not just ignore newsgroups containing binaries in the name. The general rule is to never use * in the second field for a line matching checkgroups messages. There is unfortunately no way to do what the author of a line like the above probably intended to do (yet).
Change History (3)
comment:1 Changed 15 years ago by
comment:2 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
(In [8431]) Many improvements to checkgroups handling:
- Act on checkgroups control messages instead of sending mail;
- Add the /maxdocheckgroups/ control.ctl option to specify the maximum number of changes that could be made at one time before bailing and mailing the changes to the admin;
- Process all matching entries for a checkgroups and not the last matching control.ctl entry. It especially allows to use "drop" commands, combined with "mail" and "doit". To achieve that, controlchan uses exclusion and drop patterns;
- Fix a long-standing bug causing patterns not being properly handled by docheckgroups: standard grep patterns were generated by controlchan instead of *egrep* patterns!
- Fix a long-standing bug causing multiple entries for the same checkgroups sender not to be honoured (for instance aus.* and canb.*) because the last one did not match the list of newsgroups;
- Fix two wrong log matches in innreport;
- Documentation improvements, with useful samples.
comment:3 Changed 14 years ago by
Milestone: | → 2.5.0 |
---|
According to Julien Élie:
Regarding checkgroups, I believe controlchan code should be adapted because it can no longer use the last control.ctl matching line to achieve that. Thus, it will be possible to use lines like:
But they should be processed in order.
-> we do not want comp.*binaries*
-> and only comp.* groups should remain in the checkgroups
However, several checkgroups will be processed (one for each line) since one might want for instance:
I believe I should also match the first pattern in order to make a difference between a "cn.*" and a "cn.bbs.*" checkgroups for instance (and not remove wrong groups).
By the way, I have just noticed a but in current checkgroups implementation:
As the list is reversed and canb.* will first match, checkgroups for aus.* will also be dropped.