1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389
|
<pre>Independent Submission P. Saint-Andre
Request for Comments: 7259 &yet
Category: Informational May 2014
ISSN: 2070-1721
<span class="h1">The Jabber-ID Header Field</span>
Abstract
This document defines a header field that enables the author of an
email or netnews message to include a Jabber ID in the message header
block for the purpose of associating the author with a particular
Extensible Messaging and Presence Protocol (XMPP) address.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This is a contribution to the RFC Series, independently of any other
RFC stream. The RFC Editor has chosen to publish this document at
its discretion and makes no statement about its value for
implementation or deployment. Documents approved for publication by
the RFC Editor are not a candidate for any level of Internet
Standard; see <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
<a href="http://www.rfc-editor.org/info/rfc7259">http://www.rfc-editor.org/info/rfc7259</a>.
Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
Provisions Relating to IETF Documents
(<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
<span class="grey">Saint-Andre Informational [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc7259">RFC 7259</a> Jabber-ID May 2014</span>
Table of Contents
<a href="#section-1">1</a>. Introduction . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-2">2</a>. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-3">3</a>. Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-3.1">3.1</a>. Inclusion . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-3.2">3.2</a>. Generation . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-3.3">3.3</a>. Processing . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-3.4">3.4</a>. Disposition . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-4">4</a>. IANA Considerations . . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-5">5</a>. Security and Privacy Considerations . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-6">6</a>. References . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-6.1">6.1</a>. Normative References . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-6.2">6.2</a>. Informative References . . . . . . . . . . . . . . . . . <a href="#page-6">6</a>
<a href="#appendix-A">Appendix A</a>. Acknowledgements . . . . . . . . . . . . . . . . . . <a href="#page-7">7</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
The Extensible Messaging and Presence Protocol (XMPP), documented in
[<a href="./rfc6120" title=""Extensible Messaging and Presence Protocol (XMPP): Core"">RFC6120</a>], is a streaming XML technology that enables any two
entities on a network to exchange well-defined but extensible XML
elements (called "XML stanzas") in close to real time. Given XMPP's
heritage in the Jabber open-source community, one of the primary uses
for XMPP is instant messaging and presence as documented in
[<a href="./rfc6121" title=""Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence"">RFC6121</a>], and XMPP addresses are still referred to as Jabber IDs.
Because almost all human users of Jabber/XMPP instant messaging and
presence systems also use email systems [<a href="./rfc5322" title=""Internet Message Format"">RFC5322</a>] and because many
also use netnews systems [<a href="./rfc5536" title=""Netnews Article Format"">RFC5536</a>], it can be helpful for them to
associate their Jabber IDs with the messages they author. The
Jabber-ID header field provides a standard location for that
information.
Members of the XMPP instant messaging and presence community have
been experimenting with the Jabber-ID header field for many years.
This document defines the syntax and usage of the Jabber-ID header
field, including the information necessary to register the field in
the Provisional Message Header Field Names registry maintained by the
IANA.
<span class="grey">Saint-Andre Informational [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc7259">RFC 7259</a> Jabber-ID May 2014</span>
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Syntax</span>
The syntax of the Jabber-ID header field is defined below using
Augmented Backus-Naur Form [<a href="./rfc5234" title=""Augmented BNF for Syntax Specifications: ABNF"">RFC5234</a>], where the "pathxmpp" rule is
defined in the XMPP URI specification [<a href="./rfc5122" title=""Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP)"">RFC5122</a>] and the remaining
rules are defined in the Internet Message Format specification
[<a href="./rfc5322" title=""Internet Message Format"">RFC5322</a>]:
Jabber-ID = SP *WSP pathxmpp *WSP CRLF
Although a native XMPP address can contain virtually any Unicode
character [<a href="#ref-UNICODE" title=""The Unicode Standard, Version 6.3"">UNICODE</a>], the header of an email or netnews message is
allowed to contain only printable ASCII characters (see <a href="./rfc5322#section-2">Section 2 of
[RFC5322]</a>). Therefore, any characters outside the ASCII range
[<a href="./rfc20" title=""ASCII format for network interchange"">RFC20</a>] in an XMPP address need to be converted to ASCII before
inclusion in a Jabber-ID header field, in accordance with the rules
defined in the XMPP URI specification [<a href="./rfc5122" title=""Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP)"">RFC5122</a>]. In addition,
characters allowed in XMPP localparts and XMPP resourceparts but
disallowed by the relevant URI rules need to be percent-encoded in
accordance with the rules defined in the URI specification [<a href="./rfc3986" title=""Uniform Resource Identifier (URI): Generic Syntax"">RFC3986</a>].
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Usage</span>
<span class="h3"><a class="selflink" id="section-3.1" href="#section-3.1">3.1</a>. Inclusion</span>
The Jabber-ID header field is associated with the author of the
message; see [<a href="./rfc5322" title=""Internet Message Format"">RFC5322</a>]. If the "From:" header field of an email
message contains more than one mailbox, it is best not to add the
Jabber-ID header field to the message. To reduce the possibility of
confusion, it is best to include only one instance of the Jabber-ID
header field in a given message.
<span class="h3"><a class="selflink" id="section-3.2" href="#section-3.2">3.2</a>. Generation</span>
For a user whose XMPP address is "juliet@example.com", the
corresponding Jabber-ID header field would be:
Jabber-ID: juliet@example.com
As noted, non-ASCII characters in XMPP addresses need to be converted
into ASCII before inclusion in a Jabber-ID header field. Consider
the following XMPP address:
ji&#x159;i@&#x10D;echy.example
In the foregoing example, the string "&#x159;" stands for the Unicode
character LATIN SMALL LETTER R WITH CARON and the string "&#x10D;"
stands for the Unicode character LATIN SMALL LETTER C WITH CARON,
<span class="grey">Saint-Andre Informational [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc7259">RFC 7259</a> Jabber-ID May 2014</span>
following the "XML Notation" used in [<a href="./rfc3987" title=""Internationalized Resource Identifiers (IRIs)"">RFC3987</a>] to represent
characters that cannot be rendered in ASCII-only documents. For
those who do not read Czech, this example could be anglicized as
"george@czech-lands.example".
Following the rules in [<a href="./rfc5122" title=""Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP)"">RFC5122</a>] and the Jabber-ID header field
syntax, the resulting header field might be as shown below (note that
this representation includes folding white space, which is allowed in
accordance with the ABNF):
Jabber-ID:
ji%C5%99i@%C4%8Dechy.example
<span class="h3"><a class="selflink" id="section-3.3" href="#section-3.3">3.3</a>. Processing</span>
Upon receiving an email message or netnews message containing a
Jabber-ID header field, a user agent that supports the field ought to
process the field by converting any escaped characters to characters
outside the ASCII range in accordance with the rules defined in
[<a href="./rfc5122" title=""Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP)"">RFC5122</a>], thus yielding a Jabber ID that can be used for native
communication on the XMPP network.
<span class="h3"><a class="selflink" id="section-3.4" href="#section-3.4">3.4</a>. Disposition</span>
A user agent that has processed a Jabber-ID header field can provide
appropriate interface elements if it has independent information
linking the author of the email or netnews message with the specified
Jabber ID (e.g., via a user-controlled address book or automated
directory lookup). Such interface elements might include an
indicator of "presence" (i.e., that the author is online and
available for communication via XMPP) if the user is subscribed to
the presence of the author, and an element that enables the user to
send an instant message or initiate a text chat session with the
author.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. IANA Considerations</span>
The IANA has added "Jabber-ID" to the Provisional Message Header
Field Names registry. The completed registration template follows.
Header field name: Jabber-ID
Applicable protocol: mail, netnews
Status: provisional
Author/Change controller Peter Saint-Andre <stpeter@jabber.org>
<span class="grey">Saint-Andre Informational [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc7259">RFC 7259</a> Jabber-ID May 2014</span>
Specification document: <a href="./rfc7259">RFC 7259</a>
Related information: See <a href="./rfc6120">RFC 6120</a>
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. Security and Privacy Considerations</span>
Message headers are an existing standard and are designed to easily
accommodate new types. Although the Jabber-ID header field could be
forged, this problem is inherent in Internet email and netnews.
However, because a forged Jabber-ID header field might break
automated processing, applications are discouraged from depending on
the Jabber-ID header field to indicate the authenticity of an email
or netnews message, or the identity of its author or sender.
Including the Jabber-ID header field among the signer header fields
in DomainKeys Identified Mail (DKIM) can help to mitigate against
forging of the header (see [<a href="./rfc6376" title=""DomainKeys Identified Mail (DKIM) Signatures"">RFC6376</a>]).
Advertising XMPP addresses in email or netnews headers might make it
easier for malicious users to harvest XMPP addresses and therefore to
send unsolicited bulk communications to the users or applications
represented by those addresses. Providing such a binding between an
email address and a Jabber ID can also increase the possibility of
drawing a connection between different kinds of communications
traffic for purposes of surveillance and other breaches of privacy.
Care ought to be taken in balancing the benefits of open information
exchange against the potential costs of security and privacy
weaknesses. An email or netnews user agent that is capable of
including the Jabber-ID header field in outgoing email or netnews
messages needs to provide an option for its user to disable inclusion
of the Jabber-ID header field generally, on a per-recipient basis,
and on a per-message basis.
The security and privacy considerations discussed in [<a href="./rfc3986" title=""Uniform Resource Identifier (URI): Generic Syntax"">RFC3986</a>],
[<a href="./rfc3987" title=""Internationalized Resource Identifiers (IRIs)"">RFC3987</a>], [<a href="./rfc5122" title=""Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP)"">RFC5122</a>], [<a href="./rfc6120" title=""Extensible Messaging and Presence Protocol (XMPP): Core"">RFC6120</a>], and [<a href="./rfc6121" title=""Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence"">RFC6121</a>] also apply to the
Jabber-ID message header.
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. References</span>
<span class="h3"><a class="selflink" id="section-6.1" href="#section-6.1">6.1</a>. Normative References</span>
[<a id="ref-RFC3986">RFC3986</a>] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, <a href="./rfc3986">RFC</a>
<a href="./rfc3986">3986</a>, January 2005.
[<a id="ref-RFC3987">RFC3987</a>] Duerst, M. and M. Suignard, "Internationalized Resource
Identifiers (IRIs)", <a href="./rfc3987">RFC 3987</a>, January 2005.
<span class="grey">Saint-Andre Informational [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc7259">RFC 7259</a> Jabber-ID May 2014</span>
[<a id="ref-RFC5122">RFC5122</a>] Saint-Andre, P., "Internationalized Resource Identifiers
(IRIs) and Uniform Resource Identifiers (URIs) for the
Extensible Messaging and Presence Protocol (XMPP)", <a href="./rfc5122">RFC</a>
<a href="./rfc5122">5122</a>, February 2008.
[<a id="ref-RFC5234">RFC5234</a>] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, <a href="./rfc5234">RFC 5234</a>, January 2008.
[<a id="ref-RFC5322">RFC5322</a>] Resnick, P., Ed., "Internet Message Format", <a href="./rfc5322">RFC 5322</a>,
October 2008.
[<a id="ref-RFC6120">RFC6120</a>] Saint-Andre, P., "Extensible Messaging and Presence
Protocol (XMPP): Core", <a href="./rfc6120">RFC 6120</a>, March 2011.
[<a id="ref-UNICODE">UNICODE</a>] The Unicode Consortium, "The Unicode Standard, Version
6.3", (Mountain View, CA: The Unicode Consortium, 2013.
ISBN 978-1-936213-08-5),
<<a href="http://www.unicode.org/versions/Unicode6.3.0/">http://www.unicode.org/versions/Unicode6.3.0/</a>>.
<span class="h3"><a class="selflink" id="section-6.2" href="#section-6.2">6.2</a>. Informative References</span>
[<a id="ref-RFC20">RFC20</a>] Cerf, V., "ASCII format for network interchange", <a href="./rfc20">RFC 20</a>,
October 1969.
[<a id="ref-RFC5536">RFC5536</a>] Murchison, K., Lindsey, C., and D. Kohn, "Netnews Article
Format", <a href="./rfc5536">RFC 5536</a>, November 2009.
[<a id="ref-RFC6121">RFC6121</a>] Saint-Andre, P., "Extensible Messaging and Presence
Protocol (XMPP): Instant Messaging and Presence", <a href="./rfc6121">RFC</a>
<a href="./rfc6121">6121</a>, March 2011.
[<a id="ref-RFC6376">RFC6376</a>] Crocker, D., Hansen, T., and M. Kucherawy, "DomainKeys
Identified Mail (DKIM) Signatures", <a href="./rfc6376">RFC 6376</a>, September
2011.
<span class="grey">Saint-Andre Informational [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc7259">RFC 7259</a> Jabber-ID May 2014</span>
<span class="h2"><a class="selflink" id="appendix-A" href="#appendix-A">Appendix A</a>. Acknowledgements</span>
Thanks to Dave Cridland, Stephen Farrell, Russ Housley, and Alexey
Melnikov for their feedback.
Author's Address
Peter Saint-Andre
&yet
EMail: ietf@stpeter.im
Saint-Andre Informational [Page 7]
</pre>
|