Network Working Group P. Saint-Andre Internet-Draft Cisco Systems, Inc. Intended status: Informational September 20, 2013 Expires: March 24, 2014 The Jabber-ID Header Field draft-saintandre-jabberid-09 Abstract This document defines a header field that enables the author of an email or netnews message to include a Jabber Identifier 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 Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on March 24, 2014. Copyright Notice Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) 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. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Saint-Andre Expires March 24, 2014 [Page 1] Internet-Draft Jabber-ID September 2013 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Implementation Notes . . . . . . . . . . . . . . . . . . . . . 4 3.1. Inclusion . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2. Generation . . . . . . . . . . . . . . . . . . . . . . . . 4 3.3. Processing . . . . . . . . . . . . . . . . . . . . . . . . 4 3.4. Disposition . . . . . . . . . . . . . . . . . . . . . . . . 5 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6.1. Normative References . . . . . . . . . . . . . . . . . . . 6 6.2. Informative References . . . . . . . . . . . . . . . . . . 6 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7 Saint-Andre Expires March 24, 2014 [Page 2] Internet-Draft Jabber-ID September 2013 1. Introduction The Extensible Messaging and Presence Protocol (XMPP), documented in [RFC6120], 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 [RFC6121], 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 [RFC5322] and because many such users also use netnews systems [RFC5536], it can be helpful for such users to specify their Jabber IDs in 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 this usage for many years. As a result, this document provides informational documentation regarding the syntax and implementation of the Jabber-ID header field, including the information necessary to register the Jabber-ID field in the Provisional Message Header Field Registry maintained by the IANA. 2. Syntax The syntax of the Jabber-ID header field is defined below using Augmented Backus-Naur Form [RFC5234], where the "pathxmpp" rule is defined in the XMPP URI specification [RFC5122] and the remaining rules are defined in the Internet Message Format specification [RFC5322]: Jabber-ID = SP *WSP pathxmpp *WSP CRLF Although a native XMPP address can contain virtually any Unicode character [UNICODE], the header of an email or netnews message is allowed to contain only printable ASCII characters (see Section 2 of [RFC5322]). Therefore, any characters outside the ASCII range [RFC20] in an XMPP address needs to be converted to ASCII before inclusion in a Jabber-ID header field, in accordance with the rules specified in the XMPP URI specification [RFC5122]. 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 specified in the URI specification [RFC3986]. Saint-Andre Expires March 24, 2014 [Page 3] Internet-Draft Jabber-ID September 2013 3. Implementation Notes 3.1. Inclusion The Jabber-ID header field is associated with the author of the message; see [RFC5322]. If the "From:" header field of an email message contains more than one mailbox, the Jabber-ID header field ought not be added to the message. There ought to be no more than one instance of the Jabber-ID header field. 3.2. Generation 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ři@čechy.example In the foregoing example, the string "ř" stands for the Unicode character LATIN SMALL LETTER R WITH CARON and the string "č" stands for the Unicode character LATIN SMALL LETTER C WITH CARON, following the "XML Notation" used in [RFC3987] 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 [RFC5122] 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 3.3. Processing Upon receiving an email 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 specified in [RFC5122], thus yielding a Jabber Idenfitier that can be used for native communication on an XMPP network. Saint-Andre Expires March 24, 2014 [Page 4] Internet-Draft Jabber-ID September 2013 3.4. Disposition 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 Identifier (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 initiate a text chat with the author. 4. IANA Considerations Header field name: Jabber-ID Applicable protocol: mail, netnews Status: provisional Author/Change contoller Peter Saint-Andre Specification document: RFC XXXX Related information: See RFC 6120 Note to IANA and RFC Editor: Please replace "XXXX" with the number of the RFC that results from this specification. 5. Security Considerations 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 ought not depend 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 [RFC6376]). 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. Care ought to be taken in balancing the benefits of open information exchange against the potential costs of unwanted communication. An email or netnews user agent that is capable of including the Jabber-ID header field in outgoing email or netnews messages ought to provide an option for its user to disable Saint-Andre Expires March 24, 2014 [Page 5] Internet-Draft Jabber-ID September 2013 inclusion of the Jabber-ID header field generally, on a per-recipient basis, and on a per-message basis. The security considerations discussed in [RFC3986], [RFC3987], [RFC5122], [RFC6120], and [RFC6121] also apply to the Jabber-ID message header. 6. References 6.1. Normative References [RFC5122] Saint-Andre, P., "Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP)", RFC 5122, February 2008. [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008. [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, October 2008. [RFC6120] Saint-Andre, P., "Extensible Messaging and Presence Protocol (XMPP): Core", RFC 6120, March 2011. 6.2. Informative References [RFC20] Cerf, V., "ASCII format for network interchange", RFC 20, October 1969. [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005. [RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource Identifiers (IRIs)", RFC 3987, January 2005. [RFC5536] Murchison, K., Lindsey, C., and D. Kohn, "Netnews Article Format", RFC 5536, November 2009. [RFC6121] Saint-Andre, P., "Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence", RFC 6121, March 2011. [RFC6376] Crocker, D., Hansen, T., and M. Kucherawy, "DomainKeys Identified Mail (DKIM) Signatures", RFC 6376, September 2011. Saint-Andre Expires March 24, 2014 [Page 6] Internet-Draft Jabber-ID September 2013 [UNICODE] The Unicode Consortium, "The Unicode Standard, Version 6.2", 2012, . Author's Address Peter Saint-Andre Cisco Systems, Inc. 1899 Wynkoop Street, Suite 600 Denver, CO 80202 USA Phone: +1-303-308-3282 Email: psaintan@cisco.com Saint-Andre Expires March 24, 2014 [Page 7]