usefor-usefor-03 April 2005

[< Prev] [TOC] [ Next >]
3.1.3  Message-ID

   The Message-ID header contains a single unique message identifier.
   This document updates the <msg-id> construct from Section 3.6.4 of
   [RFC2822] so as to ensure that Internet Message Format Message-IDs
   are usable in widely deployed news software.  The global uniqueness
   requirement for <msg-id> in [RFC2822] is to be understood as applying
   across all protocols using such message identifiers, and across both
   Email and Netnews in particular.  A revised syntax for <msg-id> is
   given below, but the requirements and descriptive text from Section
   3.6.4 of [RFC2822] still apply.
   message-id      =  "Message-ID:" SP msg-id CRLF

   msg-id          =  [FWS] msg-id-core [FWS]

   msg-id-core     =  "<" id-left "@" id-right ">"
            ; maximum length is 250 octets

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

   id-right        =  dot-atom-text / no-fold-literal

   no-fold-quote   =  DQUOTE
               *( mqtext / mquoted-pair )
               mqspecial
               *( mqtext / mquoted-pair )
               DQUOTE

   mqtext          =  %d33 /           ; all of <text> except
            %d35-61 /        ; controls, SP, HTAB, "\", ">"
            %d63-91 /        ; and DQUOTE
            %d93-126

   mquoted-pair    =  "\\" / "\" DQUOTE

   mqspecial       =  "(" / ")" /      ; same as specials except
            "<" /            ; "\" and DQUOTE quoted
            "[" / "]" /      ; and ">" omitted
            ":" / ";" /
            "@" / "," /
            "." / mquoted-pair

   no-fold-literal =  "[" *( mdtext / "\[" / "\]" / "\\" ) "]"

   [[Adjacent dots should not be allowed]]

   mdtext          =  %d33-61 /        ; The rest of the US-ASCII
            %d63-90 /        ; characters not including
            %d94-126         ; ">", "[", "]", or "\"

   The msg-id-core MUST NOT be more than 250 octets in length.

      NOTE: The length restriction ensures that systems which accept
      message identifiers as a parameter when retrieving an article
      (e.g.  [NNTP]) can rely on a bounded length.

   Observe that msg-id-core includes the < and >.

   Observe also that in contrast to the corresponding header in
   [RFC2822], the syntax does not allow comments within the Message-ID
   header, it ensures that no string of characters is quoted unless
   strictly necessary (it must contain at least one mqspecial) and no
   single character is prefixed by a "\" in the form of a quoted-pair
   unless strictly necessary, and moreover there is no possibility for
   ">" or WSP to occur inside a msg-id-core, whether quoted or not.
   This is to simplify processing by relaying and serving agents and to
   ensure interoperability with existing implementations.  Thus, whereas
   under [RFC2822] the following <msg-id-core>s would be considered
   semantically equivalent,

   <abcd@example.com>
   <"abcd"@example.com>
   <"ab\cd"@example.com>

   only the first of them is syntactically permitted by this standard,
   and hence a simple comparison of octets will always suffice to
   determine the identity of two <msg-id-core>s.

   Also note that this updated ABNF applies wherever <msg-id-core> is
   used, including the References header discussed in Section 3.2.1 and
   the Supersedes header discussed in Section 3.2.5.
[< Prev] [TOC] [ Next >]
#Diff to first older
NewerOlder
usefor-usefor May 2005
usefor-usefor November 2004
usefor-usefor September 2004
News Article Format and Transmission May 2004
News Article Format and Transmission November 2003
News Article Format June 2003
News Article Format April 2003
News Article Format February 2003
News Article Format August 2002
News Article Format May 2002
News Article Format November 2001
News Article Format July 2001
News Article Format April 2001
News Article Format February 2000
Son of 1036 June 1994
RFC 1036 December 1987

--- ../usefor-usefor-02/Message-ID.out          November 2004
+++ ../usefor-usefor-03/Message-ID.out          April 2005
@@ -6,9 +6,9 @@
    are usable in widely deployed news software.  The global uniqueness
    requirement for <msg-id> in [RFC2822] is to be understood as applying
    across all protocols using such message identifiers, and across both
-   Email and Netnews in particular.  The ABNF should be used as below,
-   but the requirements and descriptive text from Section 3.6.4 of
-   [RFC2822] still apply.
+   Email and Netnews in particular.  A revised syntax for <msg-id> is
+   given below, but the requirements and descriptive text from Section
+   3.6.4 of [RFC2822] still apply.
    message-id      =  "Message-ID:" SP msg-id CRLF
 
    msg-id          =  [FWS] msg-id-core [FWS]
@@ -21,29 +21,30 @@
    id-right        =  dot-atom-text / no-fold-literal
 
    no-fold-quote   =  DQUOTE
-               *( mqtext / "\\" / "\" DQUOTE )
+               *( mqtext / mquoted-pair )
                mqspecial
-               *( mqtext / "\\" / "\" DQUOTE )
+               *( mqtext / mquoted-pair )
                DQUOTE
 
-   mqtext          =  NO-WS-CTL /      ; all of <text> except
-            %d33 /           ; SP, HTAB, "\", ">"
-            %d35-61 /        ; and DQUOTE
-            %d63-91 /
+   mqtext          =  %d33 /           ; all of <text> except
+            %d35-61 /        ; controls, SP, HTAB, "\", ">"
+            %d63-91 /        ; and DQUOTE
             %d93-126
 
+   mquoted-pair    =  "\\" / "\" DQUOTE
+
    mqspecial       =  "(" / ")" /      ; same as specials except
             "<" /            ; "\" and DQUOTE quoted
             "[" / "]" /      ; and ">" omitted
             ":" / ";" /
-            "@" / "\\" /
-            "," / "." /
-            "\" DQUOTE
+            "@" / "," /
+            "." / mquoted-pair
 
    no-fold-literal =  "[" *( mdtext / "\[" / "\]" / "\\" ) "]"
 
-   mdtext          =  NO-WS-CTL /      ; Non white space controls
-            %d33-61 /        ; The rest of the US-ASCII
+   [[Adjacent dots should not be allowed]]
+
+   mdtext          =  %d33-61 /        ; The rest of the US-ASCII
             %d63-90 /        ; characters not including
             %d94-126         ; ">", "[", "]", or "\"
 
@@ -64,7 +65,7 @@
    ">" or WSP to occur inside a msg-id-core, whether quoted or not.
    This is to simplify processing by relaying and serving agents and to
    ensure interoperability with existing implementations.  Thus, whereas
-   under [RFC2822] the following <msg-id-core> would be considered
+   under [RFC2822] the following <msg-id-core>s would be considered
    semantically equivalent,
 
    <abcd@example.com>
@@ -73,9 +74,9 @@
 
     only the first of them is syntactically permitted by this standard,
    and hence a simple comparison of octets will always suffice to
-   determine the identity of two <msg-id-core>.
+   determine the identity of two <msg-id-core>s.
 
-   Also note that this updated ABNF applies wherever <msg-id-core> are
+   Also note that this updated ABNF applies wherever <msg-id-core> is
    used, including the References header discussed in Section 3.2.1 and
    the Supersedes header discussed in Section 3.2.5.
 

Documents were processed to this format by Forrest J. Cavalier III