INTERNET-DRAFT                               Charles H. Lindsey
Usenet Format Working Group                  University of Manchester
                                             July 2001

6.15.2.1. Message version numbers

Previous Up Next
6.15.2.1.  Message version numbers
   According to [MESSFOR], and omitting the obsolete forms, the syntax
   of the left hand side of a msg-id (the part before the "@") is given
   by:



      id-left-side        = dot-atom-text / no-fold-quote

   Consider this to be replaced by:

      id-left-side        = ( atom-text / no-fold-quote )
                               *( dollars-sequence )
      dollars-sequence    = version-number / random-dollars-sequence
      version-number      = "$" %d118 "=" 1*DIGIT ; $v=digits
      random-dollars-sequence
                          = "$" 1*atom-text

   Whilst this is admittedly ambiguous ("$" is already a possible value
   of atom-text) and does not in fact change what is allowable as an
   id-left-side, it does serve to allow dollars-sequences such as
   version-number (and any others that may be added by extensions to
   this standard) to be distinguished within a message identifier and
   utilized by agents which can understand them.  Observe that no-fold-
   quotes cannot occur within a dollars-sequence.

   Posters and/or posting agents when replacing (or superseding)
   articles SHOULD arrange that the message identifier of the
   replacement follows the following convention, generating what are
   known as "version-number" message identifiers. This is to enable the
   new version of the article to be retrieved by its original message
   identifier, notably when it occurs in a URL of the form
    [RFC 1738].

   1. If the id-left-side of the most recent predecessor's message
      identifier contains a leftmost version-number "$v=", where 
      is an integer version number, possibly followed by one or more
      random-dollars-sequences, the replacement message identifier
      should be obtained by replacing the  with the integer  and
      providing a different random-dollars-sequence(s). For example
       becomes .

   2. If the id-left-side of the predecessor's message identifier does
      not contain a version-number, the replacement message identifier
      should be obtained by appending the string "$v=1", preferably
      followed by a random-dollars-sequence(s), to that id-left-side.
      For example  becomes .

   Any random-dollars-sequence so added MUST NOT start with "$=" for
   any letter .

        NOTE: The presence of a random-dollars-sequence following the
        version-number is intended to prevent a malicious poster from
        preempting the posting of a replacement article by guessing its
        likely message identifier.

   Attempts to fetch a replaced (or superseded) article by its message
   identifier SHOULD retrieve instead its most recent successor which
   has used the version-number convention. This is intended to ensure
   that "news:" URLs [RFC 1738] will continue to work even when an
   article has been replaced, but agents Ought then to draw the user's
   attention to the fact that the message identifier retrieved differed
   from that requested.

Previous Up Next
Previous draft (04): 6.15.2.1. Message version numbers

Diffs to previous draft

--- {draft-04}	Wed Jul 11 21:55:40 2001
+++ {draft-05}	Wed Jul 11 21:55:41 2001
@@ -3,6 +3,8 @@
    of the left hand side of a msg-id (the part before the "@") is given
    by:
 
+
+
       id-left-side        = dot-atom-text / no-fold-quote
 
    Consider this to be replaced by:
@@ -57,7 +59,7 @@
    Attempts to fetch a replaced (or superseded) article by its message
    identifier SHOULD retrieve instead its most recent successor which
    has used the version-number convention. This is intended to ensure
-   that "news:" URLs [RFC-1738] will continue to work even when an
+   that "news:" URLs [RFC 1738] will continue to work even when an
    article has been replaced, but agents Ought then to draw the user's
    attention to the fact that the message identifier retrieved differed
    from that requested.