usefor-usefor-02 November 2004

[< 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.  The ABNF should be used as 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 / "\\" / "\" DQUOTE )
               mqspecial
               *( mqtext / "\\" / "\" DQUOTE )
               DQUOTE

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

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

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

   mdtext          =  NO-WS-CTL /      ; Non white space controls
            %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> 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>.

   Also note that this updated ABNF applies wherever <msg-id-core> are
   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 April 2005
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-01/Message-ID.out          September 2004
+++ ../usefor-usefor-02/Message-ID.out          November 2004
@@ -1,12 +1,14 @@
-3.1.4  Message-ID
+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 ABNF should be used
-   as below, but the requirements and descriptive text from Section
-   3.6.4 of [RFC2822] still apply.
-
+   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.
    message-id      =  "Message-ID:" SP msg-id CRLF
 
    msg-id          =  [FWS] msg-id-core [FWS]
@@ -14,36 +16,66 @@
    msg-id-core     =  "<" id-left "@" id-right ">"
             ; maximum length is 250 octets
 
-   id-left         =  dot-atom-text / no-fold-quote / obs-id-left
-
-   id-right        =  dot-atom-text / no-fold-literal / obs-id-right
-
-   no-fold-quote   =  DQUOTE *( qtext / no-space-qp ) DQUOTE
-
-   no-fold-literal =  "[" *( htext / no-space-qp ) "]"
-
-   no-space-qp     =  ( "\" ptext ) / obs-qp
+   id-left         =  dot-atom-text / no-fold-quote
 
-   ptext           =  %d33-61 /  ; Printable characters excluding ">"
-            %d63-126 /
-            obs-text
+   id-right        =  dot-atom-text / no-fold-literal
 
-   htext           =  HEXDIG /  ; hexadecimal digits, case-insensitive
-            "." /     ; IPv4 separator
-            ":"       ; IPv6 separator
+   no-fold-quote   =  DQUOTE
+               *( mqtext / "\\" / "\" DQUOTE )
+               mqspecial
+               *( mqtext / "\\" / "\" DQUOTE )
+               DQUOTE
+
+   mqtext          =  NO-WS-CTL /      ; all of <text> except
+            %d33 /           ; SP, HTAB, "\", ">"
+            %d35-61 /        ; and DQUOTE
+            %d63-91 /
+            %d93-126
+
+   mqspecial       =  "(" / ")" /      ; same as specials except
+            "<" /            ; "\" and DQUOTE quoted
+            "[" / "]" /      ; and ">" omitted
+            ":" / ";" /
+            "@" / "\\" /
+            "," / "." /
+            "\" DQUOTE
+
+   no-fold-literal =  "[" *( mdtext / "\[" / "\]" / "\\" ) "]"
+
+   mdtext          =  NO-WS-CTL /      ; Non white space controls
+            %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 [RFC0977]) can rely on a bounded length.  Observe that
-      msg-id-core includes the < and >.
+      (e.g.  [NNTP]) can rely on a bounded length.
 
-   Observe that in contrast to the corresponding header in [RFC2822],
-   the syntax does not allow comments within the Message-ID header; this
-   is to simplify processing by relaying and serving agents and to
-   ensure interoperability with existing implementations.
+   Observe that msg-id-core includes the < and >.
 
-   Also note that this updated ABNF applies wherever <msg-id> is used,
-   including the References header discussed in Section 3.2.1.
+   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> 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>.
+
+   Also note that this updated ABNF applies wherever <msg-id-core> are
+   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