usefor-article-10 April 2003
[< Prev]
[TOC] [ Next >]
5.3. Message-ID
The Message-ID-header contains the article's message identifier, a
unique identifier distinguishing the article from every other
article. The content syntax makes use of syntax defined in [RFC
2822], subject to the following revised definitions of msg-id, no-
fold-quote and no-fold-literal.
header =/ Message-ID-header
Message-ID-header = "Message-ID" ":" SP Message-ID-content
Message-ID-content = [FWS] msg-id [FWS]
msg-id = "<" id-left "@" id-right ">"
id-left = dot-atom-text / no-fold-quote
id-right = dot-atom-text / no-fold-literal
no-fold-quote = DQUOTE
*( qtext / "\\" / "\" DQUOTE )
qspecial
*( qtext / "\\" / "\" DQUOTE )
DQUOTE
qspecial = "(" / ")" / ; same as specials except
"<" / ">" / ; "\" and DQUOTE quoted
"[" / "]" /
":" / ";" /
"@" / "\\" /
"," / "." /
"\" DQUOTE
no-fold-literal = "[" *( dtext / "\[" / "\]" / "\\" ) "]"
[I think we need to ensure that '<' and '>' are excluded from id-left
and id-right.]
The msg-id MUST NOT be more than 250 octets in length.
NOTE: Observe that, in contrast to the corresponding header in
[RFC 2822], 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.
Msg-ids as defined here are a "normalized" subset of those
defined by [RFC 2822], ensuring that no string of characters is
quoted unless strictly necessary (it must contain at least one
qspecial) 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 WSP to occur, whether quoted or not.
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
includes the '<' and '>'.
An agent generating an article's message identifier MUST ensure that
it is unique (as also required in [RFC 2822]) and that it is chosen
in such a way that it will NEVER be applied to any other Netnews
article or Email message. However, an article emailed (without
encapsulation) to a moderator (8.2.2 and 8.7) or gatewayed into some
other medium (8.8.1) SHOULD retain the same message identifier
throughout its travels so long as it remains recognizably the same
article.
Even though commonly derived from the domain name of the originating
site (and domain names are case-insensitive), a message identifier
MUST NOT be altered in any way during transport, or when copied (as
into a References-header), and thus a simple (case-sensitive)
comparison of octets will always suffice to recognize that same
message identifier wherever it subsequently reappears.
NOTE: These requirements are to be contrasted with those of the
un-normalized msg-ids defined by [RFC 2822], which may perfectly
legitimately become normalized (or vice versa) during transport
or copying in email systems.
NOTE: Some old software may treat message identifiers that
differ only in case within their id-right part as equivalent,
and implementors of agents that generate message identifiers
should be aware of this.
[< Prev]
[TOC] [ Next >]
#Diff to first older
--- ../usefor-article-09/Message-ID.out February 2003
+++ ../usefor-article-10/Message-ID.out April 2003
@@ -13,9 +13,9 @@
id-left = dot-atom-text / no-fold-quote
id-right = dot-atom-text / no-fold-literal
no-fold-quote = DQUOTE
- *( strict-qtext / "\\" / "\" DQUOTE )
+ *( qtext / "\\" / "\" DQUOTE )
qspecial
- *( strict-qtext / "\\" / "\" DQUOTE )
+ *( qtext / "\\" / "\" DQUOTE )
DQUOTE
qspecial = "(" / ")" / ; same as specials except
"<" / ">" / ; "\" and DQUOTE quoted
@@ -25,6 +25,8 @@
"," / "." /
"\" DQUOTE
no-fold-literal = "[" *( dtext / "\[" / "\]" / "\\" ) "]"
+[I think we need to ensure that '<' and '>' are excluded from id-left
+and id-right.]
The msg-id MUST NOT be more than 250 octets in length.
@@ -33,17 +35,17 @@
Message-ID-header; this is to simplify processing by relaying
and serving agents and to ensure interoperability with existing
implementations.
- The restriction to strict-qtext ensures that no UTF8-xtra-char
- can appear. Msg-ids as defined here are a "normalized" subset of
- those defined by [RFC 2822], ensuring that no string of
- characters is quoted unless strictly necessary (it must contain
- at least one qspecial) 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 WSP to occur, whether
- quoted or not. 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 includes the '<' and '>'.
+
+ Msg-ids as defined here are a "normalized" subset of those
+ defined by [RFC 2822], ensuring that no string of characters is
+ quoted unless strictly necessary (it must contain at least one
+ qspecial) 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 WSP to occur, whether quoted or not.
+ 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
+ includes the '<' and '>'.
An agent generating an article's message identifier MUST ensure that
it is unique (as also required in [RFC 2822]) and that it is chosen