From: Charles Lindsey (chl@clw.cs.man.ac.uk)
Date: Thu Feb 28 2002 - 14:31:57 CST
I reported some misgivings about this a few weeks ago. I have now looked
into it further, and the present draft contains a Bug. So Something has
to be done.
Currently, it says:
Articles MUST NOT be passed between relaying agents or to serving
agents unless the sending agent has been configured to supply and the
receiving agent to receive BOTH of
(a) at least one of the newsgroups in the article's Newsgroups-
header, and
(b) at least one of the positive-distributions (if any) in the
article's Distribution-header and none of the negative-
distributions.
Additionally, reading agents MAY be configured so that unwanted
distributions do not get displayed.
And later on:
Exceptionally, ALL relaying agents are deemed willing to supply or
accept the distribution "world", and NO relaying agent should supply
or accept the distribution "local". However, "world" SHOULD NEVER be
mentioned explicitly since it is the default when the Distribution-
header is absent entirely.
....
NOTE: "Distribution: !us" can be used to cause an article to go
to the whole of "world" except for "us".
which is patently untrue, given the semantics as described. In fact, it
would fail to go to any site configured to accept "us", WHICH INCLUDES
ALL THOSE SITES CONFIGURED TO ACCEPT EVERYTHING (i.e. most sites
worldwide).
I can envisage three possible fixes to this problem:
FIX 1
-----
Retain the semantics, and change the NOTE to:
[Alternative NOTE]
NOTE: Agents will often be configured to supply/accept "all
distributions". This is not the same as "world", which is
rather the minimal distribution of an article when nothing more
specific has been specified. Thus the distribution "!us" would
not be acceptable at a site configured for "all", though it
would be at, for example, a site cinfigured for "world,uk" or
for "world,!us".
FIX 2
-----
Change the semantics to give a more intuitive effect:
[Alternative semantics]
If the leftmost distribution is a negative one, the Distribution-
content is interpreted as if the universal distribution "world",
which matches all distribution names, had preceded it. Likewise, if
the Distribution-header is completely absent it is treated as the
distribution "world".
NOTE: The distribution-name "world" MAY be mentioned explicitly
in the content, but nothing is gained by so doing.
The Distribution-content specifies a set of distribution-names, a
given name being included in that set if its rightmost match, if any,
in the Distribution-content is a positive-distribution.
Articles MUST NOT be passed between relaying agents or to serving
agents unless there exists a non-empty intersection between
(a) the distribution-names implied by the Distribution-content,
(b) the distribution-names the sending agent has been configured
to supply, and
(c) the distribution-names the receiving agent has been
configured to accept.
Additionally, reading agents MAY be configured so that unwanted
distributions do not get displayed.
NOTE: "Distribution: !us" can be used to cause an article to go
to the whole of "world" except sites configured to take only
"us".
[End of alternative semantics]
FIX 3
-----
Although the effects of FIX 2 are more intuitively reasonable that for
FIX 1, itr still takes some careful thought to figure out what would
happen in each case.
Therefore, FIX 3 says "just leave out negative-distributions entirely".
All problems cases then disappear.
We originally put them in in the early days of USEFOR because "they
seemed like a good idea". But I now have difficulty in thinking up a
compelling example of their use.
My recommendation would be to adopt FIX 3.
Charles H. Lindsey ---------At Home, doing my own thing------------------------
Tel: +44 161 436 6131 Fax: +44 161 436 6133 Web: http://www.cs.man.ac.uk/~chl
Email: chl@clw.cs.man.ac.uk Snail: 5 Clerewood Ave, CHEADLE, SK8 3JU, U.K.
PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5