Subject: [NNTP] Article references

From: "Clive D.W. Feather" <[email-masked]>
Date: Mon, 11 Apr 2005 17:18:54 +0100

A recent thread in news.software.nntp asks whether the same article can
have two different article numbers in the same newsgroup. The requirements
on arrival times means there can't be any other valid number between them,
but I don't see it actually outlawed by our text.

I propose modifying section 6 as follows:

   News reading clients have available a variety of mechanisms to
   retrieve articles via NNTP.  The news articles are stored and indexed
   using three types of keys.  One key is the message-id of an article.
   Another key is composed of the newsgroup name and the article number
   within that newsgroup.  That key MUST be unique to a particular
   server (there will be only one article with that number within a
   particular newsgroup), but is not required to be globally unique.
   Additionally, because the same article can be cross-posted to
   multiple newsgroups, there may be multiple keys that point to the
-  same article on the same server.  The final key is the arrival
+  same article on the same server; however, these keys MUST each refer
+  to a different newsgroup.  The final key is the arrival
   timestamp, giving the time that the article arrived at the server.

Any objections?

-- 
Clive D.W. Feather  | Work:  <[email-masked]>   | Tel:    +44 20 8495 6138
Internet Expert     | Home:  <[email-masked]>  | Fax:    +44 870 051 9937
Demon Internet      | WWW: http://www.davros.org | Mobile: +44 7973 377646
Thus plc            |                            |

---

From: Ken Murchison <[email-masked]>
Date: Mon, 11 Apr 2005 12:28:34 -0400

>    timestamp, giving the time that the article arrived at the server.

I'm fine with this.  Or should we say that only one article with a given 
message-id can appear in any newsgroup?

-- 
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp

---

From: Russ Allbery <[email-masked]>
Date: Mon, 11 Apr 2005 11:36:53 -0700

Clive D W Feather <[email-masked]> writes:

> have two different article numbers in the same newsgroup. The
> requirements on arrival times means there can't be any other valid
> number between them, but I don't see it actually outlawed by our text.

This looks good to me.

-- 
Russ Allbery ([email-masked])             <http://www.eyrie.org/~eagle/>

---

From: Russ Allbery <[email-masked]>
Date: Mon, 11 Apr 2005 11:37:15 -0700

> message-id can appear in any newsgroup?

I assume you mean article number?  I think that's what this says, although
somewhat by implication.

---

From: Ken Murchison <[email-masked]>
Date: Mon, 11 Apr 2005 16:09:19 -0400

> I assume you mean article number?  I think that's what this says, although

No, I don't think I was clear.  My assumption is that we should never 
have a duplicate message-id in a single newsgroup.  The text says that 
message-id is one key and article_number+timestamp is another key, but 
it seems to me that the only real key is message-id.  Article number is 
really just a mapping IMO, but this is a different can of worms.

---

From: Russ Allbery <[email-masked]>
Date: Mon, 11 Apr 2005 13:22:45 -0700

Ken Murchison <[email-masked]> writes:

> have a duplicate message-id in a single newsgroup.

I thought we were never allowed to have duplicate message-ids *period*.

> The text says that message-id is one key and article_number+timestamp is
> another key, but it seems to me that the only real key is message-id.
> Article number is really just a mapping IMO, but this is a different can
> of worms.

Well, it depends on how one wants to define keys.  Message ID,
group/article number, and timestamp are all keys in the sense that clients
can use them to retrieve articles (well, timestamp isn't handled in quite
the same fashion).

---

From: "Clive D.W. Feather" <[email-masked]>
Date: Mon, 11 Apr 2005 21:59:21 +0100

> I thought we were never allowed to have duplicate message-ids *period*.

We're not, but ...

Article <abc@xyz> arrives. The server makes it article 123 in alt.test.
What stops the server *also* making it 124 in alt.test?

It's not legal for the same article to be 123 and 125 in the same newsgroup
if there's also an article 124, because that violates the wording about
numbering articles in the order of arrival. But, as far as I can see,
nothing forbids giving the same article more than one number in the same
newsgroup.

The purpose of the proposed wording change is to fix this. Clearly it isn't
clear.

---

From: "Clive D.W. Feather" <[email-masked]>
Date: Mon, 11 Apr 2005 22:03:03 +0100

Wording attempt two:

   News reading clients have available a variety of mechanisms to
   retrieve articles via NNTP.  The news articles are stored and indexed
   using three types of keys.  One key is the message-id of an article.
   Another key is composed of the newsgroup name and the article number
   within that newsgroup.  That key MUST be unique to a particular
   server (there will be only one article with that number within a
   particular newsgroup), but is not required to be globally unique.
   Additionally, because the same article can be cross-posted to
   multiple newsgroups, there may be multiple keys that point to the
-  same article on the same server.  The final key is the arrival
+  same article on the same server; nevertheless, a given article
+  MUST NOT have two different article numbers in any particular
+  newsgroup on a particular server. The final key is the arrival
   timestamp, giving the time that the article arrived at the server.

---

From: Russ Allbery <[email-masked]>
Date: Mon, 11 Apr 2005 14:08:50 -0700

> What stops the server *also* making it 124 in alt.test?

I hadn't thought about that angle.  (Although we're getting into outlawing
insane behavior that no one is likely to do in practice, which can be a
bit of a waste of time.)

> The purpose of the proposed wording change is to fix this. Clearly it
> isn't clear.

The new wording works great for me; it even solves another problem as
well.  :)

---

From: Russ Allbery <[email-masked]>
Date: Mon, 11 Apr 2005 14:10:26 -0700

>    timestamp, giving the time that the article arrived at the server.

I'm also fine with this.

---

From: "Clive D.W. Feather" <[email-masked]>
Date: Mon, 11 Apr 2005 22:16:41 +0100

> insane behavior that no one is likely to do in practice, which can be a

Um, this was triggered by a thread in news.software.nntp about a server
that *was* doing this! Subject "duplicate articles".

> The new wording works great for me; it even solves another problem as

Oh? What problem. [And do you mean the old new wording or the new new
wording?]

---

From: Russ Allbery <[email-masked]>
Date: Mon, 11 Apr 2005 14:23:36 -0700

>> I hadn't thought about that angle.  (Although we're getting into
>> outlawing insane behavior that no one is likely to do in practice,
>> which can be a bit of a waste of time.)

> that *was* doing this! Subject "duplicate articles".

I think I'm just very confused.  Ignore me.  The new wording seems great
to me.

---

From: "Ruud H.G. van Tol" <[email-masked]>
Date: Tue, 12 Apr 2005 01:41:25 +0200

Russ Allbery:
> Clive D W Feather:

> I'm also fine with this.

I still see some problems. The "but is not required to be globally
unique" is trying to counter a popular misconception, but is not
adding much information.

First try:

News reading clients have available a variety of mechanisms to
retrieve articles via NNTP.  The news articles are stored and indexed
using three types of keys.

The first key is the message-id of an article.

The second type of key is composed of a newsgroup name and a rotation
number within that newsgroup.  That key is unique to a particular
server. An article has (gets? is assigned?) exactly one such unique key
per
served newsgroup that it is posted in. (that it belongs to?)
These article numbers are local to the newsgroup and to the server, so
the article is likely to have different article numbers in the related
newsgroups, and in the same newsgroup on different servers.

The third key is the arrival timestamp, giving the time that the article
arrived at the server. This key can be shared by multiple articles.

-- 
Grtz, Ruud

---

From: "Ruud H.G. van Tol" <[email-masked]>
Date: Tue, 12 Apr 2005 01:53:57 +0200

> newsgroups, and in the same newsgroup on different servers.

These article numbers are local(ly unique?) to the newsgroup and to the
server,
so the article is likely to have different article numbers in its
newsgroups on the same server, and in any of its newsgroups on
different servers.

-- 
Grtz, Ruud

---

From: "Andrew - Supernews" <[email-masked]>
Date: Tue, 12 Apr 2005 04:17:43 +0100

>>>>> "Clive" == Clive D W Feather <[email-masked]> writes:

 Clive> Article <abc@xyz> arrives. The server makes it article 123 in
 Clive> alt.test.  What stops the server *also* making it 124 in
 Clive> alt.test?

Some servers are known to do exactly that if the article has
 Newsgroups: alt.test,alt.test

But the guy in n.s.nntp probably wasn't seeing that, it is more
likely that he was using a server with a very short history file,
and therefore duplicate articles were being accepted that way.

-- 
Andrew, Supernews
http://www.supernews.com

---

From: "Charles Lindsey" <[email-masked]>
Date: Tue, 12 Apr 2005 10:23:41 GMT

>   timestamp, giving the time that the article arrived at the server.

That still contains one problem for those who read the text with malicious
intent.

"there may be multiple keys that point to the same article on the same
server" might be taken as implying there might be two message-ids pointing
to the same article, whereas it is clear that "multiple keys" is only
intended to refer to keys of the second type.

-- 
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: [email-masked]      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

---

From: "Clive D.W. Feather" <[email-masked]>
Date: Mon, 25 Apr 2005 10:55:06 +0100

> unique" is trying to counter a popular misconception, but is not

After some thought I've done some rewriting of this paragraph. It now reads
as follows, which I think is rather clearer as to the intent.

    News reading clients have available a variety of mechanisms to
    retrieve articles via NNTP. The news articles are stored and indexed
    using three types of keys. The first type of key is the message-id
    of an article and is globally unique. The second type of key is
    composed of a newsgroup name and an article number within that
    newsgroup. On a particular server there MUST be only one article
    with a given number within any newsgroup and an article MUST NOT
    have two different numbers in the same newsgroup. An article can
    be cross-posted to multiple newsgroups, so there may be multiple
    keys that point to the same article on the same server; these MAY
    have different numbers in each newsgroup. However, this type of
    key is not required to be globally unique and so the same key MAY
    refer to different articles on different servers. The final type
    of key is the arrival timestamp, giving the time that the article
    arrived at the server.

---

From: "Clive D.W. Feather" <[email-masked]>
Date: Mon, 25 Apr 2005 10:55:32 +0100

> intended to refer to keys of the second type.

    Each article MUST have a unique message-id;

looks perfectly clear to me.