rfc9873.original | rfc9873.txt | |||
---|---|---|---|---|
Network Working Group D. Belyavskiy | Internet Engineering Task Force (IETF) D. Belyavskiy | |||
Internet-Draft | Request for Comments: 9873 | |||
Intended status: Standards Track J. Gould | Category: Standards Track J. Gould | |||
Expires: 20 November 2025 VeriSign, Inc. | ISSN: 2070-1721 VeriSign, Inc. | |||
S. Hollenbeck | S. Hollenbeck | |||
Verisign Labs | Verisign Labs | |||
19 May 2025 | September 2025 | |||
Additional Email Address Extension for the Extensible Provisioning | Additional Email Address Extension for the Extensible Provisioning | |||
Protocol (EPP) | Protocol (EPP) | |||
draft-ietf-regext-epp-eai-27 | ||||
Abstract | Abstract | |||
The Extensible Provisioning Protocol (EPP) does not natively support | The Extensible Provisioning Protocol (EPP) does not natively support | |||
internationalized email addresses because the specifications for | internationalized email addresses because the specifications for | |||
these addresses did not exist when EPP was developed. This document | these addresses did not exist when EPP was developed. This document | |||
describes a command-response extension that adds support for | describes a command-response extension that adds support for | |||
associating an additional email address with an EPP contact object. | associating an additional email address with an EPP contact object. | |||
That additional email address can be either an internationalized | That additional email address can be either an internationalized | |||
email address or an all-ASCII address. | email address or an all-ASCII address. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
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 https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 20 November 2025. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9873. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2025 IETF Trust and the persons identified as the | Copyright (c) 2025 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | ||||
Please review these documents carefully, as they describe your rights | carefully, as they describe your rights and restrictions with respect | |||
and restrictions with respect to this document. Code Components | to this document. Code Components extracted from this document must | |||
extracted from this document must include Revised BSD License text as | include Revised BSD License text as described in Section 4.e of the | |||
described in Section 4.e of the Trust Legal Provisions and are | Trust Legal Provisions and are provided without warranty as described | |||
provided without warranty as described in the Revised BSD License. | in the Revised BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
1.1. Conventions Used in This Document . . . . . . . . . . . . 4 | 1.1. Conventions Used in This Document | |||
2. Email Address Specification . . . . . . . . . . . . . . . . . 4 | 2. Email Address Specification | |||
3. Additional Email Address Element . . . . . . . . . . . . . . 5 | 3. Additional Email Address Element | |||
4. Extension Considerations . . . . . . . . . . . . . . . . . . 5 | 4. Extension Considerations | |||
4.1. Signaling Client and Server Support . . . . . . . . . . . 5 | 4.1. Signaling Client and Server Support | |||
4.2. Extension Behavior . . . . . . . . . . . . . . . . . . . 5 | 4.2. Extension Behavior | |||
4.2.1. Extension Negotiated . . . . . . . . . . . . . . . . 6 | 4.2.1. Extension Negotiated | |||
4.2.2. Extension Not Negotiated . . . . . . . . . . . . . . 6 | 4.2.2. Extension Not Negotiated | |||
5. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 7 | 5. EPP Command Mapping | |||
5.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 7 | 5.1. EPP Query Commands | |||
5.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 7 | 5.1.1. EPP <check> Command | |||
5.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . 7 | 5.1.2. EPP <info> Command | |||
5.1.3. EPP <transfer> Query Command . . . . . . . . . . . . 11 | 5.1.3. EPP <transfer> Query Command | |||
5.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 11 | 5.2. EPP Transform Commands | |||
5.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 11 | 5.2.1. EPP <create> Command | |||
5.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 15 | 5.2.2. EPP <delete> Command | |||
5.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 15 | 5.2.3. EPP <renew> Command | |||
5.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 15 | 5.2.4. EPP <transfer> Command | |||
5.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 15 | 5.2.5. EPP <update> Command | |||
6. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 17 | 6. Formal Syntax | |||
6.1. EPP Additional Email Address Extension Schema . . . . . . 17 | 6.1. EPP Additional Email Address Extension Schema | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 | 7. IANA Considerations | |||
7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 18 | 7.1. XML Namespace | |||
7.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 19 | 7.2. EPP Extension Registry | |||
8. Implementation Status . . . . . . . . . . . . . . . . . . . . 19 | 8. Security Considerations | |||
8.1. Verisign EPP SDK . . . . . . . . . . . . . . . . . . . . 20 | 9. Privacy Considerations | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | 10. References | |||
10. Privacy Considerations . . . . . . . . . . . . . . . . . . . 21 | 10.1. Normative References | |||
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 21 | 10.2. Informative References | |||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | Acknowledgments | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . 21 | Authors' Addresses | |||
12.2. Informative References . . . . . . . . . . . . . . . . . 23 | ||||
Appendix A. Change History . . . . . . . . . . . . . . . . . . . 24 | ||||
A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 24 | ||||
A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 24 | ||||
A.3. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 24 | ||||
A.4. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 25 | ||||
A.5. Change from 04 to the regext 01 version . . . . . . . . . 25 | ||||
A.6. Change from the regext 01 to regext 02 version . . . . . 25 | ||||
A.7. Change from the regext 02 to regext 03 version . . . . . 25 | ||||
A.8. Change from the regext 03 to regext 04 version . . . . . 25 | ||||
A.9. Change from the regext 04 to regext 05 version . . . . . 25 | ||||
A.10. Change from the regext 05 to regext 06 version . . . . . 25 | ||||
A.11. Change from the regext 06 to regext 07 version . . . . . 25 | ||||
A.12. Change from the regext 07 to regext 08 version . . . . . 25 | ||||
A.13. Change from the regext 08 to regext 09 version . . . . . 26 | ||||
A.14. Change from the regext 09 to regext 10 version . . . . . 26 | ||||
A.15. Change from the regext 10 to regext 11 version . . . . . 26 | ||||
A.16. Change from the regext 11 to regext 12 version . . . . . 26 | ||||
A.17. Change from the regext 12 to regext 13 version . . . . . 26 | ||||
A.18. Change from the regext 13 to regext 14 version . . . . . 26 | ||||
A.19. Change from the regext 14 to regext 15 version . . . . . 26 | ||||
A.20. Change from the regext 15 to regext 16 version . . . . . 26 | ||||
A.21. Change from the regext 16 to regext 17 version . . . . . 26 | ||||
A.22. Change from the regext 17 to regext 18 version . . . . . 26 | ||||
A.23. Change from the regext 18 to regext 19 version . . . . . 27 | ||||
A.24. Change from the regext 19 to regext 20 version . . . . . 27 | ||||
A.25. Change from the regext 20 to regext 21 version . . . . . 27 | ||||
A.26. Change from the regext 21 to regext 22 version . . . . . 27 | ||||
A.27. Change from the regext 22 to regext 23 version . . . . . 27 | ||||
A.28. Change from the regext 23 to regext 24 version . . . . . 27 | ||||
A.29. Change from the regext 24 to regext 25 version . . . . . 28 | ||||
A.30. Change from the regext 25 to regext 26 version . . . . . 28 | ||||
A.31. Change from the regext 26 to regext 27 version . . . . . 28 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28 | ||||
1. Introduction | 1. Introduction | |||
The framework for internationalized email addresses is described in | The framework for internationalized email addresses is described in | |||
[RFC6530]. This document describes an Extensible Provisioning | [RFC6530]. This document describes an Extensible Provisioning | |||
Protocol (EPP) [RFC5730] command-response extension that adds support | Protocol (EPP) [RFC5730] command-response extension that adds support | |||
for adding a second email address to the EPP contact object [RFC5733] | for adding a second email address to the EPP contact object mapping | |||
mapping. The syntax for the email address associated with the base | [RFC5733]. The syntax for the email address associated with the base | |||
contact object is described in Section 2.6 of [RFC5733]. The second | contact object is described in Section 2.6 of [RFC5733]. The second | |||
email address can be either an ASCII-only email address or an | email address can be either an ASCII-only email address or an | |||
internationalized, SMTPUTF8 [RFC6530] email address. This second | internationalized SMTPUTF8 email address [RFC6530]. This second | |||
address can be used to identify an alternate ASCII-only email address | address can be used to identify an alternate ASCII-only email address | |||
for use in case of primary address delivery issues. It can also be | for use in case of primary address delivery issues. It can also be | |||
used to identify an SMTPUTF8 address for contact purposes, in which | used to identify an SMTPUTF8 address for contact purposes, in which | |||
case the ASCII-only address can be used in case of SMTPUTF8 address | case the ASCII-only address can be used in case of SMTPUTF8 address | |||
delivery issues. | delivery issues. | |||
While this extension adds support for an additional email address to | While this extension adds support for an additional email address to | |||
contact objects, and that additional email address can be an SMTPUTF8 | contact objects, and that additional email address can be an SMTPUTF8 | |||
address, it does not in any way update or change any other EPP | address, it does not in any way update or change any other EPP | |||
extension that includes an email address. Adding support for | extension that includes an email address. Adding support for | |||
SMTPUTF8 addresses to those extensions will require an update to the | SMTPUTF8 addresses to those extensions will require an update to the | |||
relevant extension specifications. In cases where a contact object | relevant extension specifications. In cases where a contact object | |||
contains two email addresses, all users of these addresses should be | contains two email addresses, all users of these addresses should be | |||
aware that either address may be forwarded to the other. This | aware that either address may be forwarded to the other. This | |||
implies that a message sent to an all-ASCII address may receive a | implies that a message sent to an all-ASCII address may receive a | |||
reply from an SMTPUTF8 address, or vice versa. | reply from an SMTPUTF8 address or vice versa. | |||
1.1. Conventions Used in This Document | 1.1. Conventions Used in This Document | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
XML is case sensitive. Unless stated otherwise, XML specifications | XML is case sensitive. Unless stated otherwise, XML specifications | |||
and examples provided in this document MUST be interpreted in the | and examples provided in this document MUST be interpreted in the | |||
character case presented in order to develop a conforming | character case presented in order to develop a conforming | |||
implementation. | implementation. | |||
In examples, "C:" represents lines sent by a protocol client and "S:" | In examples, "C:" represents lines sent by a protocol client, and | |||
represents lines returned by a protocol server. Indentation and | "S:" represents lines returned by a protocol server. Indentation and | |||
white space in the examples are provided only to illustrate element | white space in the examples are provided only to illustrate element | |||
relationships and are not REQUIRED in the protocol. | relationships and are not REQUIRED in the protocol. | |||
The XML namespace prefix "addlEmail" is used for the namespace | The XML namespace prefix "addlEmail" is used for the namespace | |||
"urn:ietf:params:xml:ns:epp:addlEmail-1.0", but implementations MUST | "urn:ietf:params:xml:ns:epp:addlEmail-1.0", but implementations MUST | |||
NOT depend on it and instead employ a proper namespace-aware XML | NOT depend on it and instead employ a proper namespace-aware XML | |||
parser and serializer to interpret and output the XML documents. | parser and serializer to interpret and output the XML documents. | |||
2. Email Address Specification | 2. Email Address Specification | |||
The EPP contact object mapping [RFC5733] normatively references | The EPP contact object mapping [RFC5733] normatively references | |||
[RFC5322] as the specification for email address syntax. That | [RFC5322] as the specification for email address syntax. That | |||
specification does not include support for internationalized email | specification does not include support for internationalized email | |||
addresses. RFC 6530 [RFC6530] provides an overview and describes the | addresses. [RFC6530] provides an overview and describes the | |||
framework for internationalized email. SMTPUTF8 email address syntax | framework for internationalized email. SMTPUTF8 email address syntax | |||
is described in Section 3.3 of [RFC6531]. [RFC6531] extends the | is described in Section 3.3 of [RFC6531]. [RFC6531] extends the | |||
Mailbox, Local-part and Domain ABNF rules in [RFC5321] to support | Mailbox, Local-part, and Domain ABNF rules in [RFC5321] to support | |||
"UTF8-non-ascii", defined in Section 3.1 of [RFC6532], for the local- | "UTF8-non-ascii" (defined in Section 3.1 of [RFC6532]) for the local- | |||
part and U-label, defined in Section 2.3.2.1 of [RFC5890], for the | part and to support U-label (defined in Section 2.3.2.1 of [RFC5890]) | |||
domain. The validation rules described in RFC 6531 MUST be followed | for the domain. The validation rules described in [RFC6531] MUST be | |||
when processing internationalized email addresses associated with | followed when processing internationalized email addresses associated | |||
this extension. | with this extension. | |||
3. Additional Email Address Element | 3. Additional Email Address Element | |||
A second email address can be set using the <addlEmail:addlEmail> | A second email address can be set using the <addlEmail:addlEmail> | |||
element with the command and response extensions defined in | element with the command and response extensions defined in | |||
Section 5. The <addlEmail:addlEmail> element contains the following | Section 5. The <addlEmail:addlEmail> element contains the following | |||
child element: | child element: | |||
<addlEmail:email>: An element following the syntax in Section 2 for | <addlEmail:email>: An element following the syntax in Section 2 for | |||
defining a second ASCII or SMTPUTF8 address. An empty | defining a second ASCII or SMTPUTF8 address. An empty | |||
skipping to change at page 5, line 26 ¶ | skipping to change at line 173 ¶ | |||
not set in the Info Response (Section 5.1.2). The | not set in the Info Response (Section 5.1.2). The | |||
<addlEmail:email> element contains an OPTIONAL "primary" | <addlEmail:email> element contains an OPTIONAL "primary" | |||
attribute that can be used to indicate that the extension email | attribute that can be used to indicate that the extension email | |||
address should be treated as the primary email address for the | address should be treated as the primary email address for the | |||
extended contact object. The "primary" attribute MUST NOT be | extended contact object. The "primary" attribute MUST NOT be | |||
present if the <addlEmail:email> is empty. | present if the <addlEmail:email> is empty. | |||
Additional email address considerations: | Additional email address considerations: | |||
* The value set for the <contact:disclose><contact:email/> "flag" | * The value set for the <contact:disclose><contact:email/> "flag" | |||
attribute (described in Section 2.9 of RFC 5733 [RFC5733]) MUST | attribute (described in Section 2.9 of [RFC5733]) MUST also be | |||
also be applied to all additional email addresses that are added | applied to all additional email addresses that are added by a | |||
by a contact extension. | contact extension. | |||
* Any address included in an extension is intended to be an | * Any address included in an extension is intended to be an | |||
additional address that's associated only with the primary | additional address that is associated only with the primary | |||
<contact:email> address, and that support for any other additional | <contact:email> address, and that support for any other additional | |||
email addresses MUST explicitly describe how the additional | email addresses MUST explicitly describe how the additional | |||
addresses are associated with the existing addresses. | addresses are associated with the existing addresses. | |||
4. Extension Considerations | 4. Extension Considerations | |||
4.1. Signaling Client and Server Support | 4.1. Signaling Client and Server Support | |||
As described in Section 2.4 of [RFC5730], the client and the server | As described in Section 2.4 of [RFC5730], the client and the server | |||
can signal support for the extension using a namespace URI in the | can signal support for the extension using a namespace URI in the | |||
login and greeting extension services respectively. The namespace | login and greeting extension services, respectively. The namespace | |||
URI "urn:ietf:params:xml:ns:epp:addlEmail-1.0" is used to signal | URI "urn:ietf:params:xml:ns:epp:addlEmail-1.0" is used to signal | |||
support for the extension. The client includes the namespace URI in | support for the extension. The client includes the namespace URI in | |||
an <svcExtension> <extURI> element of the [RFC5730] <login> Command. | an <svcExtension> <extURI> element of the <login> command [RFC5730]. | |||
The server includes the namespace URI in an <svcExtension> <extURI> | The server includes the namespace URI in an <svcExtension> <extURI> | |||
element of the [RFC5730] greeting. | element of the greeting [RFC5730]. | |||
4.2. Extension Behavior | 4.2. Extension Behavior | |||
4.2.1. Extension Negotiated | 4.2.1. Extension Negotiated | |||
If both client and server have indicated support for SMTPUTF8 | If both client and server have indicated support for SMTPUTF8 | |||
addresses during session establishment, they MUST be able to process | addresses during session establishment, they MUST be able to process | |||
an SMTPUTF8 address in any extended contact object during the | an SMTPUTF8 address in any extended contact object during the | |||
established EPP session. Server and client obligations when this | established EPP session. Server and client obligations when this | |||
extension has been successfully negotiated in the EPP session are | extension has been successfully negotiated in the EPP session are | |||
described below. | described below. | |||
The server MUST satisfy the following obligations when support for | The server MUST satisfy the following obligations when support for | |||
this extension has been negotiated: | this extension has been negotiated: | |||
* Accept SMTPUTF8 compliant addresses for the extended contact | * Accept SMTPUTF8-compliant addresses for the extended contact | |||
object in the EPP session. | object in the EPP session. | |||
* Support email address validation based on SMTPUTF8 validation | * Support email address validation based on the SMTPUTF8 validation | |||
rules defined in Section 2 | rules defined in Section 2. | |||
* Storage of email properties that support internationalized | * Storage of email properties that support internationalized | |||
characters. | characters. | |||
* Return SMTPUTF8 compliant addresses for the extended contact | * Return SMTPUTF8-compliant addresses for the extended contact | |||
object in EPP responses. | object in EPP responses. | |||
* Support the SMTP extension for internationalized email described | * Support the SMTP extension for internationalized email described | |||
in [RFC6531] when sending or receiving email. | in [RFC6531] when sending or receiving email. | |||
The client MUST satisfy the following obligations when support for | The client MUST satisfy the following obligations when support for | |||
this extension has been negotiated: | this extension has been negotiated: | |||
* Provide SMTPUTF8 compliant addresses for the extended contact | * Provide SMTPUTF8-compliant addresses for the extended contact | |||
object in the EPP session. | object in the EPP session. | |||
* Accept SMTPUTF8 compliant addresses for the extended contact | * Accept SMTPUTF8-compliant addresses for the extended contact | |||
object in EPP responses. | object in EPP responses. | |||
* Support the SMTP extension for internationalized email described | * Support the SMTP extension for internationalized email described | |||
in [RFC6531] when sending or receiving email. | in [RFC6531] when sending or receiving email. | |||
4.2.2. Extension Not Negotiated | 4.2.2. Extension Not Negotiated | |||
An extended contact object MUST NOT be provided or returned by either | An extended contact object MUST NOT be provided or returned by either | |||
an EPP client or an EPP server when support for this extension is not | an EPP client or an EPP server when support for this extension is not | |||
successfully negotiated at the start of an EPP session. | successfully negotiated at the start of an EPP session. | |||
skipping to change at page 7, line 28 ¶ | skipping to change at line 266 ¶ | |||
5.1.1. EPP <check> Command | 5.1.1. EPP <check> Command | |||
This extension does not add any elements to the EPP <check> command | This extension does not add any elements to the EPP <check> command | |||
or <check> response described in [RFC5730]. | or <check> response described in [RFC5730]. | |||
5.1.2. EPP <info> Command | 5.1.2. EPP <info> Command | |||
This extension does not add any elements to the EPP <info> command | This extension does not add any elements to the EPP <info> command | |||
response described in [RFC5730]. | response described in [RFC5730]. | |||
If the query was successful, the server replies with an | If the query is successful, the server replies with an | |||
<addlEmail:addlEmail> element (Section 3) along with the regular EPP | <addlEmail:addlEmail> element (Section 3) along with the regular EPP | |||
<resData>. | <resData>. | |||
The following is an example <info> contact response using the | The following is an example <info> contact response using the | |||
<addlEmail:addlEmail> extension with no alternate email address: | <addlEmail:addlEmail> extension with no alternate email address: | |||
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
skipping to change at page 8, line 42 ¶ | skipping to change at line 329 ¶ | |||
S: <addlEmail:email/> | S: <addlEmail:email/> | |||
S: </addlEmail:addlEmail> | S: </addlEmail:addlEmail> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54322-XYZ</svTRID> | S: <svTRID>54322-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S:</epp> | S:</epp> | |||
Figure 1: Example <info> contact response using the | Figure 1: Example <info> Contact Response Using the | |||
<addlEmail:addlEmail> extension with no alternate email address | <addlEmail:addlEmail> Extension with No Alternate Email Address | |||
The following is an example <info> contact response using the | The following is an example <info> contact response using the | |||
<addlEmail:addlEmail> extension with an ASCII alternate email | <addlEmail:addlEmail> extension with an ASCII alternate email | |||
address: | address: | |||
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
skipping to change at page 10, line 12 ¶ | skipping to change at line 392 ¶ | |||
S: <addlEmail:email>jdoe-alt@example.net</addlEmail:email> | S: <addlEmail:email>jdoe-alt@example.net</addlEmail:email> | |||
S: </addlEmail:addlEmail> | S: </addlEmail:addlEmail> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54322-XYZ</svTRID> | S: <svTRID>54322-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S:</epp> | S:</epp> | |||
Figure 2: Example <info> contact response using the | Figure 2: Example <info> Contact Response Using the | |||
<addlEmail:addlEmail> extension with an ASCII alternate email | <addlEmail:addlEmail> Extension with an ASCII Alternate Email | |||
address | Address | |||
The following is an example <info> contact response using the | The following is an example <info> contact response using the | |||
<addlEmail:addlEmail> extension with an SMTPUTF8 primary email | <addlEmail:addlEmail> extension with an SMTPUTF8 primary email | |||
address: | address: | |||
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
skipping to change at page 11, line 29 ¶ | skipping to change at line 457 ¶ | |||
primary="true">麥克風@example.com</addlEmail:email> | primary="true">麥克風@example.com</addlEmail:email> | |||
S: </addlEmail:addlEmail> | S: </addlEmail:addlEmail> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54322-XYZ</svTRID> | S: <svTRID>54322-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S:</epp> | S:</epp> | |||
Figure 3: Example <info> contact response using the | Figure 3: Example <info> Contact Response Using the | |||
<addlEmail:addlEmail> extension with an SMTPUTF8 primary email | <addlEmail:addlEmail> Extension with an SMTPUTF8 Primary Email | |||
address | Address | |||
5.1.3. EPP <transfer> Query Command | 5.1.3. EPP <transfer> Query Command | |||
This extension does not add any elements to the EPP <transfer> query | This extension does not add any elements to the EPP <transfer> query | |||
command or <transfer> query response described in [RFC5730]. | command or <transfer> query response described in [RFC5730]. | |||
5.2. EPP Transform Commands | 5.2. EPP Transform Commands | |||
EPP provides five commands to transform objects: <create> to create | EPP provides five commands to transform objects: <create> to create | |||
an instance of an object, <delete> to delete an instance of an | an instance of an object, <delete> to delete an instance of an | |||
skipping to change at page 13, line 46 ¶ | skipping to change at line 529 ¶ | |||
C: <extension> | C: <extension> | |||
C: <addlEmail:addlEmail | C: <addlEmail:addlEmail | |||
C: xmlns:addlEmail="urn:ietf:params:xml:ns:epp:addlEmail-1.0"> | C: xmlns:addlEmail="urn:ietf:params:xml:ns:epp:addlEmail-1.0"> | |||
C: <addlEmail:email>jdoe-alt@example.net</addlEmail:email> | C: <addlEmail:email>jdoe-alt@example.net</addlEmail:email> | |||
C: </addlEmail:addlEmail> | C: </addlEmail:addlEmail> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Figure 4: Example <create> command to create a contact object | Figure 4: Example <create> Command to Create a Contact Object | |||
with an alternate ASCII email address | with an Alternate ASCII Email Address | |||
The following is an example <create> command to create a contact | The following is an example <create> command to create a contact | |||
object with a primary SMTPUTF8 email address: | object with a primary SMTPUTF8 email address: | |||
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
C: <command> | C: <command> | |||
C: <create> | C: <create> | |||
C: <contact:create | C: <contact:create | |||
C: xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | C: xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | |||
skipping to change at page 14, line 47 ¶ | skipping to change at line 577 ¶ | |||
C: <addlEmail:addlEmail | C: <addlEmail:addlEmail | |||
C: xmlns:addlEmail="urn:ietf:params:xml:ns:epp:addlEmail-1.0"> | C: xmlns:addlEmail="urn:ietf:params:xml:ns:epp:addlEmail-1.0"> | |||
C: <addlEmail:email | C: <addlEmail:email | |||
primary="true">麥克風@example.com</addlEmail:email> | primary="true">麥克風@example.com</addlEmail:email> | |||
C: </addlEmail:addlEmail> | C: </addlEmail:addlEmail> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Figure 5: Example <create> command to create a contact object | Figure 5: Example <create> Command to Create a Contact Object | |||
with a primary SMTPUTF8 email address | with a Primary SMTPUTF8 Email Address | |||
This extension does not add any elements to the EPP <create> response | This extension does not add any elements to the EPP <create> response | |||
described in [RFC5730]. | described in [RFC5730]. | |||
5.2.2. EPP <delete> Command | 5.2.2. EPP <delete> Command | |||
This extension does not add any elements to the EPP <delete> command | This extension does not add any elements to the EPP <delete> command | |||
or <delete> response described in [RFC5730]. | or <delete> response described in [RFC5730]. | |||
5.2.3. EPP <renew> Command | 5.2.3. EPP <renew> Command | |||
skipping to change at page 16, line 24 ¶ | skipping to change at line 633 ¶ | |||
C: <extension> | C: <extension> | |||
C: <addlEmail:addlEmail | C: <addlEmail:addlEmail | |||
C: xmlns:addlEmail="urn:ietf:params:xml:ns:epp:addlEmail-1.0"> | C: xmlns:addlEmail="urn:ietf:params:xml:ns:epp:addlEmail-1.0"> | |||
C: <addlEmail:email>jdoe-alt@example.net</addlEmail:email> | C: <addlEmail:email>jdoe-alt@example.net</addlEmail:email> | |||
C: </addlEmail:addlEmail> | C: </addlEmail:addlEmail> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Figure 6: Example <update> command to set a contact object with | Figure 6: Example <update> Command to Set a Contact Object with | |||
an alternate ASCII email address | an Alternate ASCII Email Address | |||
The following is an example <update> command to set a contact object | The following is an example <update> command to set a contact object | |||
with an alternate SMTPUTF8 email address: | with an alternate SMTPUTF8 email address: | |||
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
C: <command> | C: <command> | |||
C: <update> | C: <update> | |||
C: <contact:update | C: <contact:update | |||
C: xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | C: xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | |||
skipping to change at page 16, line 49 ¶ | skipping to change at line 658 ¶ | |||
C: <extension> | C: <extension> | |||
C: <addlEmail:addlEmail | C: <addlEmail:addlEmail | |||
C: xmlns:addlEmail="urn:ietf:params:xml:ns:epp:addlEmail-1.0"> | C: xmlns:addlEmail="urn:ietf:params:xml:ns:epp:addlEmail-1.0"> | |||
C: <addlEmail:email>麥克風@example.com</addlEmail:email> | C: <addlEmail:email>麥克風@example.com</addlEmail:email> | |||
C: </addlEmail:addlEmail> | C: </addlEmail:addlEmail> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Figure 7: Example <update> command to set a contact object with | Figure 7: Example <update> Command to Set a Contact Object with | |||
an alternate SMTPUTF8 email address | an Alternate SMTPUTF8 Email Address | |||
The following is an example <update> command to unset a contact | The following is an example <update> command to unset a contact | |||
object alternate email address: | object alternate email address: | |||
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
C: <command> | C: <command> | |||
C: <update> | C: <update> | |||
C: <contact:update | C: <contact:update | |||
C: xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | C: xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> | |||
skipping to change at page 17, line 27 ¶ | skipping to change at line 683 ¶ | |||
C: <extension> | C: <extension> | |||
C: <addlEmail:addlEmail | C: <addlEmail:addlEmail | |||
C: xmlns:addlEmail="urn:ietf:params:xml:ns:epp:addlEmail-1.0"> | C: xmlns:addlEmail="urn:ietf:params:xml:ns:epp:addlEmail-1.0"> | |||
C: <addlEmail:email/> | C: <addlEmail:email/> | |||
C: </addlEmail:addlEmail> | C: </addlEmail:addlEmail> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Figure 8: Example <update> command to unset a contact object | Figure 8: Example <update> Command to Unset a Contact Object | |||
alternate email address | Alternate Email Address | |||
This extension does not add any elements to the EPP <update> response | This extension does not add any elements to the EPP <update> response | |||
described in [RFC5730]. | described in [RFC5730]. | |||
6. Formal Syntax | 6. Formal Syntax | |||
The EPP Additional Email Address Extension schema is presented here. | The EPP Additional Email Address Extension schema is presented here. | |||
The formal syntax shown here is a complete XML Schema | The formal syntax shown here is a complete XML Schema | |||
([W3C.REC-xmlschema-1-20041028], [W3C.REC-xmlschema-2-20041028]) | [W3C.REC-xmlschema-1-20041028] [W3C.REC-xmlschema-2-20041028] | |||
representation of the object mapping suitable for automated | representation of the object mapping suitable for automated | |||
validation of EPP XML instances. The <CODE BEGINS> and <CODE ENDS> | validation of EPP XML instances. The <CODE BEGINS> and <CODE ENDS> | |||
tags are not part of the XML Schema; they are used to note the | tags are not part of the XML Schema; they are used to note the | |||
beginning and ending of the XML Schema for URI registration purposes. | beginning and ending of the XML Schema for URI registration purposes. | |||
6.1. EPP Additional Email Address Extension Schema | 6.1. EPP Additional Email Address Extension Schema | |||
<CODE BEGINS> | <CODE BEGINS> | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<schema xmlns="http://www.w3.org/2001/XMLSchema" | <schema xmlns="http://www.w3.org/2001/XMLSchema" | |||
xmlns:addlEmail="urn:ietf:params:xml:ns:epp:addlEmail-1.0" | xmlns:addlEmail="urn:ietf:params:xml:ns:epp:addlEmail-1.0" | |||
targetNamespace="urn:ietf:params:xml:ns:epp:addlEmail-1.0" | targetNamespace="urn:ietf:params:xml:ns:epp:addlEmail-1.0" | |||
elementFormDefault="qualified"> | elementFormDefault="qualified"> | |||
<annotation> | <annotation> | |||
<documentation>Extensible Provisioning Protocol v1.0 | <documentation>Extensible Provisioning Protocol v1.0 | |||
additional email address schema.</documentation> | additional email address schema.</documentation> | |||
</annotation> | </annotation> | |||
skipping to change at page 18, line 42 ¶ | skipping to change at line 740 ¶ | |||
End of schema. | End of schema. | |||
--> | --> | |||
</schema> | </schema> | |||
<CODE ENDS> | <CODE ENDS> | |||
7. IANA Considerations | 7. IANA Considerations | |||
7.1. XML Namespace | 7.1. XML Namespace | |||
This document uses URNs to describe XML namespaces conforming to a | This document uses URNs to describe XML namespaces conforming to a | |||
registry mechanism described in RFC 3688 [RFC3688]. The following | registry mechanism described in [RFC3688]. The following URI | |||
URI assignment should be made by IANA: | assignments have been made by IANA: | |||
Registration request for the addlEmail namespace: | Registration for the addlEmail namespace: | |||
URI: urn:ietf:params:xml:ns:epp:addlEmail-1.0 | URI: urn:ietf:params:xml:ns:epp:addlEmail-1.0 | |||
Registrant Contact: IESG | Registrant Contact: IESG | |||
XML: None. Namespace URIs do not represent an XML specification. | XML: None. Namespace URIs do not represent an XML specification. | |||
Registration request for the addlEmail XML Schema: | Registration for the addlEmail XML Schema: | |||
URI: urn:ietf:params:xml:schema:epp:addlEmail-1.0 | URI: urn:ietf:params:xml:schema:epp:addlEmail-1.0 | |||
Registrant Contact: IESG | Registrant Contact: IESG | |||
XML: See the "Formal Syntax" section of this document. | XML: See Section 6 of this document. | |||
7.2. EPP Extension Registry | 7.2. EPP Extension Registry | |||
The EPP extension described in this document should be registered by | The EPP extension described in this document have been registered by | |||
IANA in the "Extensions for the Extensible Provisioning Protocol | IANA in the "Extensions for the Extensible Provisioning Protocol | |||
(EPP)" registry described in RFC 7451 [RFC7451]. The details of the | (EPP)" registry described in [RFC7451]. The details of the | |||
registration are as follows: | registration are as follows: | |||
Name of Extension: "Additional Email Address Extension for the | Name of Extension: Additional Email Address Extension for the | |||
Extensible Provisioning Protocol (EPP)" | Extensible Provisioning Protocol (EPP) | |||
Document status: Standards Track | Document Status: Standards Track | |||
Reference: (This specification) | Reference: RFC 9873 | |||
Registrant Name and Email Address: IESG, <iesg@ietf.org> | Registrant Name and Email Address: IESG, <iesg@ietf.org> | |||
Top-Level Domains(TLDs): Any | TLDs: Any | |||
IPR Disclosure: None | IPR Disclosure: None | |||
Status: Active | Status: Active | |||
Notes: None | Notes: None | |||
8. Implementation Status | 8. Security Considerations | |||
Note to RFC Editor: Please remove this section and the reference to | ||||
RFC 7942 [RFC7942] before publication. | ||||
This section records the status of known implementations of the | ||||
protocol defined by this specification at the time of posting of this | ||||
Internet-Draft, and is based on a proposal described in RFC 7942 | ||||
[RFC7942]. The description of implementations in this section is | ||||
intended to assist the IETF in its decision processes in progressing | ||||
drafts to RFCs. Please note that the listing of any individual | ||||
implementation here does not imply endorsement by the IETF. | ||||
Furthermore, no effort has been spent to verify the information | ||||
presented here that was supplied by IETF contributors. This is not | ||||
intended as, and must not be construed to be, a catalog of available | ||||
implementations or their features. Readers are advised to note that | ||||
other implementations may exist. | ||||
According to RFC 7942 [RFC7942], "this will allow reviewers and | ||||
working groups to assign due consideration to documents that have the | ||||
benefit of running code, which may serve as evidence of valuable | ||||
experimentation and feedback that have made the implemented protocols | ||||
more mature. It is up to the individual working groups to use this | ||||
information as they see fit". | ||||
8.1. Verisign EPP SDK | ||||
Organization: Verisign Inc. | ||||
Name: Verisign EPP SDK | ||||
Description: The Verisign EPP SDK includes both a full client | ||||
implementation and a full server stub implementation of draft-ietf- | ||||
regext-epp-eai. | ||||
Level of maturity: Development | ||||
Coverage: All aspects of the protocol are implemented. | ||||
Licensing: GNU Lesser General Public License | ||||
Contact: jgould@verisign.com | ||||
URL: https://www.verisign.com/en_US/channel-resources/domain- | ||||
registry-products/epp-sdks | ||||
9. Security Considerations | ||||
As is noted in Section 10.1 and Section 13 of [RFC6530], | As noted in Sections 10.1 and 13 of [RFC6530], unconstrained Unicode | |||
unconstrained Unicode in email addresses can introduce a class of | in email addresses can introduce a class of security threats that do | |||
security threats that do not exist with all-ASCII email addresses. | not exist with all-ASCII email addresses. As EPP exists in | |||
As EPP exists in ecosystems where email addresses passed in EPP are | ecosystems where email addresses passed in EPP are displayed in the | |||
displayed in RDAP and other services, and copy-and-paste of these | Registration Data Access Protocol (RDAP) and other services, and | |||
email addresses is common for businesses transferring domains via | copy-and-paste of these email addresses is common for businesses | |||
EPP, there should be safeguards against these threats. Therefore, | transferring domains via EPP, there should be safeguards against | |||
use of the SMTPUTF8 email addresses as described in this document | these threats. Therefore, use of the SMTPUTF8 email addresses as | |||
SHOULD be done with policies that disallow the use of unconstrained | described in this document SHOULD be done with policies that disallow | |||
Unicode. The domain-part of these SMTPUTF8 email addresses SHOULD | the use of unconstrained Unicode. The domain-part of these SMTPUTF8 | |||
conform to IDNA2008. The local-part of these SMTPUTF8 email | email addresses SHOULD conform to IDNA2008. The local-part of these | |||
addresses SHOULD be restricted to Unicode that does not introduce the | SMTPUTF8 email addresses SHOULD be restricted to Unicode that does | |||
threats noted in [RFC6530]. One such possible solution would be to | not introduce the threats noted in [RFC6530]. One such possible | |||
disallow characters outside of Unicode Annex 31 [Unicode-UAX31]. | solution would be to disallow characters outside of Unicode Annex 31 | |||
[Unicode-UAX31]. | ||||
As email address is often a primary end user contact, and an invalid | As an email address is often a primary end user contact, an invalid | |||
email address may put communication with the end user at risk when | email address may put communication with the end user at risk when | |||
such contact is necessary. In case of an invalid domain name in the | such contact is necessary. In case of an invalid domain name in the | |||
email address a malicious actor can register a valid domain name with | email address, a malicious actor can register a valid domain name | |||
similar U-label (homograph attack) and assume control over the domain | with a similar U-label (homograph attack) and assume control over the | |||
name associated with the contact using social engineering techniques. | domain name associated with the contact using social engineering | |||
To reduce the risk of the use of invalid domain names in email | techniques. To reduce the risk of the use of invalid domain names in | |||
addresses, registries SHOULD validate the domain name syntax in | email addresses, registries SHOULD validate the domain name syntax in | |||
provided email addresses and validate whether the domain name | the provided email addresses and validate whether the domain name | |||
consists of the code points allowed by IDNA Rules and Derived | consists of the code points allowed by "IDNA Rules and Derived | |||
Property Values (https://www.iana.org/assignments/idna-tables). | Property Values" (https://www.iana.org/assignments/idna-tables). | |||
Note that the syntax for internationalized email localparts is very | Note that the syntax for internationalized email localparts is very | |||
liberal. Domains are normalized during MX lookup, while localparts | liberal. Domains are normalized during MX lookup, while localparts | |||
are unconstrained. Implementers may wish to test that their database | are unconstrained. Implementers may wish to test that their database | |||
is able to store difficult localparts such as U+0061 U+0300 U+00E0. | is able to store difficult localparts such as U+0061 U+0300 U+00E0. | |||
For more on normalization and these three code points, see [RFC5198] | For more on normalization and these three code points, see [RFC5198], | |||
Section 3. | Section 3. | |||
10. Privacy Considerations | 9. Privacy Considerations | |||
The content of <addlEmail:email> elements can be processed by EPP | The content of <addlEmail:email> elements can be processed by EPP | |||
clients and servers in the same way that <contact:email> elements are | clients and servers in the same way that <contact:email> elements are | |||
processed, including publication in directory services such as RDAP | processed, including publication in directory services such as RDAP | |||
[STD95]. Many data protection regulations recognize email addresses | [STD95]. Many data protection regulations recognize email addresses | |||
as personal data, so any policies governing the collection, | as personal data, so any policies governing the collection, | |||
transmission, and processing of contact information by EPP clients | transmission, and processing of contact information by EPP clients | |||
and servers should apply equally to <addlEmail:email> elements. | and servers should apply equally to <addlEmail:email> elements. | |||
11. Acknowledgments | 10. References | |||
The authors would like to thank Alexander Mayrhofer, Chris Lonvick, | ||||
Gustavo Lozano, Jody Kolker, John C Klensin, John Levine, Klaus | ||||
Malorny, Marc Blanchet, Marco Schrieck, Mario Loffredo, Murray S. | ||||
Kucherawy, Patrick Mevzek, Pete Resnick, Takahiro Nemoto, Taras | ||||
Heichenko, Arnt Gulbrandsen, Thomas Corte, Gavin Brown, and Andrew | ||||
Newton for their careful review and valuable comments. | ||||
12. References | ||||
12.1. Normative References | 10.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
<https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
skipping to change at page 22, line 49 ¶ | skipping to change at line 872 ¶ | |||
Email Headers", RFC 6532, DOI 10.17487/RFC6532, February | Email Headers", RFC 6532, DOI 10.17487/RFC6532, February | |||
2012, <https://www.rfc-editor.org/info/rfc6532>. | 2012, <https://www.rfc-editor.org/info/rfc6532>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[W3C.REC-xmlschema-1-20041028] | [W3C.REC-xmlschema-1-20041028] | |||
Beech, D., Ed., Thompson, H., Ed., Maloney, M., Ed., and | Beech, D., Ed., Thompson, H., Ed., Maloney, M., Ed., and | |||
N. Mendelsohn, Ed., "XML Schema Part 1: Structures Second | N. Mendelsohn, Ed., "XML Schema Part 1: Structures Second | |||
Edition", W3C REC REC-xmlschema-1-20041028, W3C REC- | Edition", W3C Recommendation, 28 October 2004, | |||
xmlschema-1-20041028, 28 October 2004, | ||||
<https://www.w3.org/TR/2004/REC-xmlschema-1-20041028/>. | <https://www.w3.org/TR/2004/REC-xmlschema-1-20041028/>. | |||
[W3C.REC-xmlschema-2-20041028] | [W3C.REC-xmlschema-2-20041028] | |||
Malhotra, A., Ed. and P. V. Biron, Ed., "XML Schema Part | Malhotra, A., Ed. and P. V. Biron, Ed., "XML Schema Part | |||
2: Datatypes Second Edition", W3C REC REC-xmlschema- | 2: Datatypes Second Edition", W3C Recommendation, 28 | |||
2-20041028, W3C REC-xmlschema-2-20041028, 28 October 2004, | October 2004, | |||
<https://www.w3.org/TR/2004/REC-xmlschema-2-20041028/>. | <https://www.w3.org/TR/2004/REC-xmlschema-2-20041028>. | |||
12.2. Informative References | 10.2. Informative References | |||
[RFC5198] Klensin, J. and M. Padlipsky, "Unicode Format for Network | [RFC5198] Klensin, J. and M. Padlipsky, "Unicode Format for Network | |||
Interchange", RFC 5198, DOI 10.17487/RFC5198, March 2008, | Interchange", RFC 5198, DOI 10.17487/RFC5198, March 2008, | |||
<https://www.rfc-editor.org/info/rfc5198>. | <https://www.rfc-editor.org/info/rfc5198>. | |||
[RFC7451] Hollenbeck, S., "Extension Registry for the Extensible | [RFC7451] Hollenbeck, S., "Extension Registry for the Extensible | |||
Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, | Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, | |||
February 2015, <https://www.rfc-editor.org/info/rfc7451>. | February 2015, <https://www.rfc-editor.org/info/rfc7451>. | |||
[RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | ||||
Code: The Implementation Status Section", BCP 205, | ||||
RFC 7942, DOI 10.17487/RFC7942, July 2016, | ||||
<https://www.rfc-editor.org/info/rfc7942>. | ||||
[STD95] Internet Standard 95, | [STD95] Internet Standard 95, | |||
<https://www.rfc-editor.org/info/std95>. | <https://www.rfc-editor.org/info/std95>. | |||
At the time of writing, this STD comprises the following: | At the time of writing, this STD comprises the following: | |||
Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the | Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the | |||
Registration Data Access Protocol (RDAP)", STD 95, | Registration Data Access Protocol (RDAP)", STD 95, | |||
RFC 7480, DOI 10.17487/RFC7480, March 2015, | RFC 7480, DOI 10.17487/RFC7480, March 2015, | |||
<https://www.rfc-editor.org/info/rfc7480>. | <https://www.rfc-editor.org/info/rfc7480>. | |||
Hollenbeck, S. and N. Kong, "Security Services for the | Hollenbeck, S. and N. Kong, "Security Services for the | |||
skipping to change at page 24, line 11 ¶ | skipping to change at line 921 ¶ | |||
Registration Data Access Protocol (RDAP)", STD 95, | Registration Data Access Protocol (RDAP)", STD 95, | |||
RFC 9083, DOI 10.17487/RFC9083, June 2021, | RFC 9083, DOI 10.17487/RFC9083, June 2021, | |||
<https://www.rfc-editor.org/info/rfc9083>. | <https://www.rfc-editor.org/info/rfc9083>. | |||
Blanchet, M., "Finding the Authoritative Registration Data | Blanchet, M., "Finding the Authoritative Registration Data | |||
Access Protocol (RDAP) Service", STD 95, RFC 9224, | Access Protocol (RDAP) Service", STD 95, RFC 9224, | |||
DOI 10.17487/RFC9224, March 2022, | DOI 10.17487/RFC9224, March 2022, | |||
<https://www.rfc-editor.org/info/rfc9224>. | <https://www.rfc-editor.org/info/rfc9224>. | |||
[Unicode-UAX31] | [Unicode-UAX31] | |||
The Unicode Consortium, "Unicode Standard Annex #31: | Davis, M., Ed. and R. Leroy, Ed., "Unicode Identifiers and | |||
Unicode Identifiers and Syntax", September 2024, | Syntax", Version 16.0.0, Unicode Standard Annex #31, | |||
<https://unicode.org/reports/tr31/>. | September 2024, | |||
<https://www.unicode.org/reports/tr31/tr31-41.html>. | ||||
Appendix A. Change History | Latest version available at | |||
<https://www.unicode.org/reports/tr31/>. | ||||
This section is to be removed before publishing as an RFC. | ||||
A.1. Change from 00 to 01 | ||||
1. Changed from update of RFC 5733 to use the "Placeholder Text and | ||||
a New Email Element" EPP Extension approach. | ||||
A.2. Change from 01 to 02 | ||||
1. Fixed the XML schema and the XML examples based on validating | ||||
them. | ||||
2. Added James Gould as co-author. | ||||
3. Updated the language to apply to any EPP object mapping and to | ||||
use the EPP contact mapping as an example. | ||||
4. Updated the structure of document to be consistent with the other | ||||
Command-Response Extensions. | ||||
5. Replaced the use of "eppEAI" in the XML namespace and the XML | ||||
namespace prefix with "eai". | ||||
6. Changed to use a pointed XML namespace with "0.2" instead of | ||||
"1.0". | ||||
A.3. Change from 02 to 03 | ||||
1. The approach has changed to use the concept of Functional EPP | ||||
Extension. | ||||
2. The examples are removed | ||||
A.4. Change from 03 to 04 | ||||
1. More detailed reference to email syntax is provided | ||||
2. The shortened eai namespace reference is removed | ||||
A.5. Change from 04 to the regext 01 version | ||||
1. Provided the recommended placeholder value | ||||
A.6. Change from the regext 01 to regext 02 version | ||||
1. Removed the concept of the placeholder value | ||||
A.7. Change from the regext 02 to regext 03 version | ||||
1. Changed to use a pointed XML namespace with "0.3" instead of | ||||
"0.2". | ||||
2. Some wording improvements | ||||
A.8. Change from the regext 03 to regext 04 version | ||||
1. Some nitpicking | ||||
A.9. Change from the regext 04 to regext 05 version | ||||
1. Some nitpicking | ||||
2. The "Implementation considerations" section is removed | ||||
A.10. Change from the regext 05 to regext 06 version | ||||
1. Some nitpicking | ||||
A.11. Change from the regext 06 to regext 07 version | ||||
1. Namespace version set to 1.0 | ||||
A.12. Change from the regext 07 to regext 08 version | ||||
1. Information about implementations is provided. | ||||
2. Acknowledgments section is added. | ||||
3. Reference to RFC 7451 is moved to Informative. | ||||
4. IPR information is provided | ||||
5. Sections are reordered to align with the other regext documents | ||||
A.13. Change from the regext 08 to regext 09 version | ||||
1. Nitpicking according to Murray S. Kucherawy review | ||||
A.14. Change from the regext 09 to regext 10 version | ||||
1. Some nitpicking in the security considerations. | ||||
A.15. Change from the regext 10 to regext 11 version | ||||
1. Nitpicking according mostly GenArt review. | ||||
A.16. Change from the regext 11 to regext 12 version | ||||
1. XML schema registration request removed. | ||||
A.17. Change from the regext 12 to regext 13 version | ||||
1. Document updated according to SecDir and ART-ART review. | ||||
A.18. Change from the regext 13 to regext 14 version | ||||
1. Document updated according the IANA review #1231866. | ||||
A.19. Change from the regext 14 to regext 15 version | ||||
1. Document updated according to ART-ART review. | ||||
A.20. Change from the regext 15 to regext 16 version | ||||
1. Document removed the definition of the concept of a functional | ||||
extension and updated to use a command-response extension, based | ||||
on the feedback from John C Klensin. | ||||
2. Document removed the EAI abbreviation and uses SMTPUTF8 as | ||||
umbrella term instead, based on the feedback from John C Klensin. | ||||
A.21. Change from the regext 16 to regext 17 version | ||||
1. Added support for an alternate email during a transition period, | ||||
based on feedback from John C Klensin. | ||||
A.22. Change from the regext 17 to regext 18 version | ||||
1. Roll back to approach in -16 with the Cardinality of One Option, | ||||
posted to and supported on the mailing list. | ||||
2. Replaced references of eai to smtputf8, based on feedback from | ||||
John C Klensin. | ||||
3. Revised the Security Considerations section based on feedback and | ||||
text from Andy Newton. | ||||
A.23. Change from the regext 18 to regext 19 version | ||||
1. Reverted back to -17 with support for one or two email addresses | ||||
using either ASCII or SMTPUTF8 and remove any reference to the | ||||
requirement for an ASCII email address and remove the concept of | ||||
a transition period. | ||||
A.24. Change from the regext 19 to regext 20 version | ||||
1. Reverted Security Considerations section back to the content in | ||||
-18 based on feedback from Andy Newton. | ||||
A.25. Change from the regext 20 to regext 21 version | ||||
1. Added Scott Hollenbeck as a document editor. Rewrote the draft | ||||
to require ASCII-only email addresses in the base contact object | ||||
mapping, allowing either ASCII-only or SMTPUTF8 addresses in the | ||||
extension. | ||||
2. Replaced "eai" with "addlEmail" in the extension-identifying URNs | ||||
and schema elements. | ||||
A.26. Change from the regext 21 to regext 22 version | ||||
1. Fixed XML schema to use correct complexType. | ||||
2. Added Implementation Status section. | ||||
3. Example line formatting to fit within 72 characters. | ||||
A.27. Change from the regext 22 to regext 23 version | ||||
1. Second WG last call updates. | ||||
A.28. Change from the regext 23 to regext 24 version | ||||
1. Second IETF last call updates: | ||||
2. Changed document name to reflect change from focus on SMTPUTF8 | ||||
addresses to an additional email address that can be either an | ||||
SMTPUTF8 address or an all-ASCII address. | ||||
3. Added additional mail address considerations. | ||||
A.29. Change from the regext 24 to regext 25 version | ||||
1. IESG Evaluation updates: | ||||
2. Updated Dmitry's address. | ||||
A.30. Change from the regext 25 to regext 26 version | ||||
1. IESG Evaluation updates. Revised text to describe email address | ||||
syntax in the Introduction. This was inadvertently missed in | ||||
-25. | ||||
A.31. Change from the regext 26 to regext 27 version | Acknowledgments | |||
1. IESG Evaluation updates. Added reference to RFC 5730 in | The authors would like to thank Alexander Mayrhofer, Chris Lonvick, | |||
Section 4.1. Fixed extension name in the IANA Considerations | Gustavo Lozano, Jody Kolker, John C. Klensin, John Levine, Klaus | |||
section. | Malorny, Marc Blanchet, Marco Schrieck, Mario Loffredo, Murray | |||
S. Kucherawy, Patrick Mevzek, Pete Resnick, Takahiro Nemoto, Taras | ||||
Heichenko, Arnt Gulbrandsen, Thomas Corte, Gavin Brown, and Andrew | ||||
Newton for their careful review and valuable comments. | ||||
Authors' Addresses | Authors' Addresses | |||
Dmitry Belyavskiy | Dmitry Belyavskiy | |||
Karpatska 241/3 | Karpatska 241/3 | |||
62500 Brno | 62500 Brno | |||
Czech Republic | Czech Republic | |||
Phone: +420 603 261 036 | Phone: +420 603 261 036 | |||
Email: beldmit@gmail.com | Email: beldmit@gmail.com | |||
James Gould | James Gould | |||
VeriSign, Inc. | VeriSign, Inc. | |||
12061 Bluemont Way | 12061 Bluemont Way | |||
Reston, VA 20190 | Reston, VA 20190 | |||
United States of America | United States of America | |||
Email: jgould@verisign.com | Email: jgould@verisign.com | |||
URI: http://www.verisigninc.com | URI: https://www.verisigninc.com | |||
Scott Hollenbeck | Scott Hollenbeck | |||
Verisign Labs | Verisign Labs | |||
12061 Bluemont Way | 12061 Bluemont Way | |||
Reston, VA 20190 | Reston, VA 20190 | |||
United States of America | United States of America | |||
Email: shollenbeck@verisign.com | Email: shollenbeck@verisign.com | |||
URI: https://www.verisignlabs.com/ | URI: https://www.verisignlabs.com/ | |||
End of changes. 61 change blocks. | ||||
448 lines changed or deleted | 164 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |