[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Proposed changes for <chkscope>
I think I received no feedback for this proposed diff other than
agreement from Julien.
Harald was also in favour of a diff (but it was before you actually
"It seems to me that since we're incompatible with something
people will also know about (wildmat), flagging the
incompatibility is important."
Given that we're in AUTH48, in the absence of
more consensus on the list that this is worth pushing at this phase, I'm
not going to try to ask the RFC Editor to include it.
Please note that if this diff is not in USEPRO, it will lead to various
incompatible implementations of checkgroups processing, like this one
we have already seen on news.software.nntp:
"When one expression describes a subset of another expression in an
opposite manner (inclusion vs. exclusion), an order of processing is
necessary to resolve the conflicting directives.
Given: a, a.b, a.b.c, a.b.c.d
In the order "a !a.b a.b.c !a.b.c.d", natural left-to-right processing is
the same as superset-subset order, so what results is that we include "all
of a not in a.b except all of a.b.c not in a.b.c.d".
However, let's make the order: "!a.b.c.d a.b.c !a.b a". Processing
superset-subset order will result as above, but left-to right will result
as "include all of a" and the other three expressions are rendered
meaningless. The syntax may not care. The semantics of order processing
Exclusion lacks the commutative property; order matters. If the elements
may appear in any syntactic order, the order of application of their use
must be defined, else different answers can ensue. We should not have
+ For complex cases with multiple <chkscope> arguments,
+ start from an empty list of groups, include all groups in the
+ checkgroups control message matching <chkscope> arguments
+ without a "!" prefix, and then exclude all groups matching
+ <chkscope> arguments with a "!" prefix. Follow this method
+ regardless of the order of the <chkscope> arguments in the
+ Control header field.</t>
That solves the issue.
« There's a way of transferring funds that is even faster
than electronic banking. It's called marriage. » (Sam Kinison)