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

6.15.1. Syntax and Semantics

Previous Up Next
6.15.1.  Syntax and Semantics
   The  Replaces and Supersedes headers specify articles to be cancelled
   on arrival of this one. The content syntax makes use of syntax
   defined in [RFC 2822].

      Replaces-content    = msg-id *( CFWS msg-id )
      Replaces-header-parameter
                          = Disposition-token "=" [CFWS]
                               ( Disposition-value /
                                 DQUOTE Disposition-value DQUOTE )
                               [CFWS]
                            ; for USENET-header-parameters see 4.1
      Disposition-token   = [CFWS] "disposition" [CFWS]
      Disposition-value   = "replace" / "revise" / "repost"
      Supersedes-content  = msg-id

        NOTE: There is no "c" in "Supersedes".

   If an article contains a Replaces header, then the old articles
   mentioned SHOULD simply be deleted by the serving agent, as in a
   cancel message (7.5), and the new article inserted into the system as
   any other new article would be.

   A Replaces-header-parameter is only meaningful when it occurs within
   a Replaces-content. If its Disposition-value is "revise" or "repost"
   (or if the Replaces-header-parameter is absent, then by default)
   reading agents Ought Not to show the article as an "unread" article
   unless the replaced article(s) were themselves all unread, except
   when the reader has configured his reading agent otherwise.

   Moreover, if a Disposition-value is "revise" or "repost", serving
   agents that generate a local Xref header MUST then include additional
   "revise" or "repost" information as set out in section 6.16.

        NOTE: A replacement with "disposition=replace" is intended to be
        used in the case of an article that is sufficiently different
        from its predecessors that it is advisable for readers to see it
        again.  A replacement with "disposition=revise" is intended to
        be used in the case of a minor change, unworthy of being brought
        to the attention of a reader who has already read one of its
        predecessors. A replacement with "disposition=repost" is
        intended to be used in the case of an article identical to the
        one replaced (but possibly being reposted because the earlier
        one had likely expired).

        NOTE: A reader who elects to ignore all the articles available
        in a newsgroup (perhaps on the occasion of accessing that
        newsgroup for the first time) will likely have them all marked
        as "already read", unless the reading agent provides a distinct
        mark such as "never offered". This could lead to a later
        replacement with "revise" or "repost" for one of those articles
        being missed.

   The Supersedes header is obsolescent, is provided only for
   compatibility with existing software, and may be removed entirely in
   some future version of this standard. Its meaning is the same as that
   of a corresponding Replaces header with its Replaces-header-parameter
   set to "disposition=replace", and whenever a Supersedes header is
   provided a matching Replaces header SHOULD be provided as well.
   Observe that the Supersedes header makes provision for only a single
   msg-id.

   Until the Replaces header has become widely implemented, software
   SHOULD generate Replaces headers with only one msg-id, and cancel
   control messages SHOULD be issued if needed for further identifiers.
   Moreover, until that time, any article containing a Replaces header
   SHOULD contain also a Supersedes header (or alternatively be
   accompanied by a Control cancel message) for that same msg-id, to
   ensure that older systems still at least remove the predecessor.

   When a message contains both a Replaces and a Supersedes header they
   MUST be for the same msg-id.  Furthermore, to resolve any doubt, the
   Replaces header shall be deemed to take priority.

   Whatever security or authentication mechanisms are required for a
   Control cancel message MUST also be required for an article with a
   Replaces or Supersedes header. In the absence or failure of such
   checks, the article SHOULD be discarded, or at most stored as an
   ordinary article.
[We can write something more constructive in here as soon as the
situation with regard to cancel-locks and signed headers has been
clarified.]

Previous Up Next
Previous draft (04): 6.15.1. Syntax and Semantics

Diffs to previous draft

--- {draft-04}	Wed Jul 11 21:55:39 2001
+++ {draft-05}	Wed Jul 11 21:55:40 2001
@@ -1,7 +1,7 @@
 
6.15.1.  Syntax and Semantics
    The  Replaces and Supersedes headers specify articles to be cancelled
    on arrival of this one. The content syntax makes use of syntax
-   defined in [MESSFOR].
+   defined in [RFC 2822].
 
       Replaces-content    = msg-id *( CFWS msg-id )
       Replaces-header-parameter
@@ -15,7 +15,6 @@
       Supersedes-content  = msg-id
 
         NOTE: There is no "c" in "Supersedes".
-
 
    If an article contains a Replaces header, then the old articles
    mentioned SHOULD simply be deleted by the serving agent, as in a