draft-ietf-regext-epp-eai-00.txt   draft-ietf-regext-epp-eai-01.txt 
Network Working Group D. Belyavskiy Network Working Group D. Belyavskiy
Internet-Draft Internet-Draft
Intended status: Standards Track J. Gould Intended status: Standards Track J. Gould
Expires: 14 October 2021 VeriSign, Inc. Expires: 26 January 2022 VeriSign, Inc.
12 April 2021 25 July 2021
Use of Internationalized Email Addresses in EPP protocol Use of Internationalized Email Addresses in EPP protocol
draft-ietf-regext-epp-eai-00 draft-ietf-regext-epp-eai-01
Abstract Abstract
This document describes an EPP extension that permits usage of This document describes an EPP extension that permits usage of
Internationalized Email Addresses in the EPP protocol and specifies Internationalized Email Addresses in the EPP protocol and specifies
the terms when it can be used by EPP clients and servers. The the terms when it can be used by EPP clients and servers. The
Extensible Provisioning Protocol (EPP), being developed before Extensible Provisioning Protocol (EPP), being developed before
appearing the standards for Internationalized Email Addresses (EAI), appearing the standards for Internationalized Email Addresses (EAI),
does not support such email addresses. does not support such email addresses.
skipping to change at page 1, line 40 skipping to change at page 1, line 40
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 14 October 2021. This Internet-Draft will expire on 26 January 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2021 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 (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
skipping to change at page 2, line 25 skipping to change at page 2, line 25
2. Migrating to Newer Versions of This Extension . . . . . . . . 3 2. Migrating to Newer Versions of This Extension . . . . . . . . 3
3. Email Address Specification . . . . . . . . . . . . . . . . . 3 3. Email Address Specification . . . . . . . . . . . . . . . . . 3
4. Functional Extension . . . . . . . . . . . . . . . . . . . . 4 4. Functional Extension . . . . . . . . . . . . . . . . . . . . 4
5. Internationalized Email Addresses (EAI) Functional 5. Internationalized Email Addresses (EAI) Functional
Extension . . . . . . . . . . . . . . . . . . . . . . . . 4 Extension . . . . . . . . . . . . . . . . . . . . . . . . 4
5.1. Scope of Functional Extension . . . . . . . . . . . . . . 4 5.1. Scope of Functional Extension . . . . . . . . . . . . . . 4
5.2. Signaling Client and Server Support . . . . . . . . . . . 5 5.2. Signaling Client and Server Support . . . . . . . . . . . 5
5.3. Functional Extension Behavior . . . . . . . . . . . . . . 5 5.3. Functional Extension Behavior . . . . . . . . . . . . . . 5
5.3.1. EAI Functional Extension Negotiated . . . . . . . . . 5 5.3.1. EAI Functional Extension Negotiated . . . . . . . . . 5
5.3.2. EAI Functional Extension Not Negotiated . . . . . . . 6 5.3.2. EAI Functional Extension Not Negotiated . . . . . . . 6
5.3.3. EAI Placeholder Email Address . . . . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 7 7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 7
7.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 7 7.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 8
8. Implementation Considerations . . . . . . . . . . . . . . . . 8 8. Implementation Considerations . . . . . . . . . . . . . . . . 8
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
9.1. Normative References . . . . . . . . . . . . . . . . . . 8 9.1. Normative References . . . . . . . . . . . . . . . . . . 8
9.2. Informative References . . . . . . . . . . . . . . . . . 9 9.2. Informative References . . . . . . . . . . . . . . . . . 9
Appendix A. Change History . . . . . . . . . . . . . . . . . . . 9 Appendix A. Change History . . . . . . . . . . . . . . . . . . . 10
A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 9 A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 10
A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 9 A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 10
A.3. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 10 A.3. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 10
A.4. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 10 A.4. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction 1. Introduction
[RFC6530] introduced the framework for Internationalized Email [RFC6530] introduced the framework for Internationalized Email
Addresses. To make such addresses more widely accepted, the changes Addresses. To make such addresses more widely accepted, the changes
to various protocols need to be introduced. to various protocols need to be introduced.
This document describes an Extensible Provisioning Protocol (EPP) This document describes an Extensible Provisioning Protocol (EPP)
extension that permits usage of Internationalized Email Addresses in extension that permits usage of Internationalized Email Addresses in
the EPP protocol and specifies the terms when it can be used by EPP the EPP protocol and specifies the terms when it can be used by EPP
skipping to change at page 4, line 24 skipping to change at page 4, line 19
with the same or similar definitions. with the same or similar definitions.
The email address format is formally defined in Section 3.4.1 of The email address format is formally defined in Section 3.4.1 of
[RFC5322], which only consists of printable US-ASCII characters for [RFC5322], which only consists of printable US-ASCII characters for
both the local-part and the domain ABNF rules. In [RFC6531], the both the local-part and the domain ABNF rules. In [RFC6531], the
extends the Mailbox, Local-part and Domain ABNF rules in [RFC5321] to extends the Mailbox, Local-part and Domain ABNF rules in [RFC5321] to
support "UTF8-non-ascii", defined in Section 3.1 of [RFC6532], for support "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], the local-part and U-label, defined in Section 2.3.2.1 of [RFC5890],
for the domain. By applying the syntax rules of [RFC5322], the EPP for the domain. By applying the syntax rules of [RFC5322], the EPP
extensions will change from supporting only ASCII characters to extensions will change from supporting only ASCII characters to
supporting Internationailzed characters in the email address local- supporting Internationailzed characters both in the email address
part and domain-part. local-part and domain-part.
4. Functional Extension 4. Functional Extension
[RFC5730] defines three types of extensions at the protocol, object, [RFC5730] defines three types of extensions at the protocol, object,
and command-response level, which impact the structure of the EPP and command-response level, which impact the structure of the EPP
messages. A Functional Extension applies a functional capability to messages. A Functional Extension applies a functional capability to
an existing set of EPP extensions and properties. The scope of the an existing set of EPP extensions and properties. The scope of the
applicable EPP extensions and applicable extension properties are applicable EPP extensions and applicable extension properties are
defined in the Functional Extension along with the requirements for defined in the Functional Extension along with the requirements for
the servers and clients that support it. The Functional Extension the servers and clients that support it. The Functional Extension
needs to cover the expected behavior of the supporting client or needs to cover the expected behavior of the supporting client or
server when interfacing with an unsupporting client or server. server when interacting with an unsupporting client or server.
Negotiating support for a Functional Extension is handled using the Negotiating support for a Functional Extension is handled using the
EPP Greeting and EPP Login services. EPP Greeting and EPP Login services.
5. Internationalized Email Addresses (EAI) Functional Extension 5. Internationalized Email Addresses (EAI) Functional Extension
5.1. Scope of Functional Extension 5.1. Scope of Functional Extension
The functional extension applies to all object extensions and The functional extension applies to all object extensions and
command-response extensions negotiated in the EPP session that command-response extensions negotiated in the EPP session that
include email address properties. Examples include the include email address properties. Examples include the
skipping to change at page 5, line 12 skipping to change at page 5, line 9
registry zones (e.g., top-level domains) authorized for the client in registry zones (e.g., top-level domains) authorized for the client in
the EPP session apply. There is no concept of a per-client, per- the EPP session apply. There is no concept of a per-client, per-
zone, per-extension, or per-field setting that is used to indicate zone, per-extension, or per-field setting that is used to indicate
support for EAI, but instead it's a global setting that applies to support for EAI, but instead it's a global setting that applies to
the EPP session. the EPP session.
5.2. Signaling Client and Server Support 5.2. Signaling Client and Server Support
The client and the server can signal support for the functional The client and the server can signal support for the functional
extension using a namespace URI in the login and greeting extension extension using a namespace URI in the login and greeting extension
services. The namespace URI "urn:ietf:params:xml:ns:epp:eai-0.2" is services respectively. The namespace URI
used to signal support for the functional extension. The client "urn:ietf:params:xml:ns:epp:eai-0.2" is used to signal support for
includes the namespace URI in an <svcExtension> <extURI> element of the functional extension. The client includes the namespace URI in
the [RFC5730] <login> Command. The server includes the namespace URI an <svcExtension> <extURI> element of the [RFC5730] <login> Command.
in an <svcExtension> <extURI> element of the [RFC5730] Greeting. The server includes the namespace URI in an <svcExtension> <extURI>
element of the [RFC5730] Greeting.
5.3. Functional Extension Behavior 5.3. Functional Extension Behavior
5.3.1. EAI Functional Extension Negotiated 5.3.1. EAI Functional Extension Negotiated
If both client and server have indicated the support of the EAI If both client and server have indicated the support of the EAI
addresses during the session establishment, it implies possibility to addresses during the session establishment, it implies possibility to
process the EAI address in any message having an email property process the EAI address in any message having an email property
during the established EPP session. Below are the server and client during the established EPP session. Below are the server and client
obligations when the EAI extension has been successfuly negotiated in obligations when the EAI extension has been successfuly negotiated in
skipping to change at page 5, line 49 skipping to change at page 5, line 47
* Email address validation based on EAI validation rules defined in * Email address validation based on EAI validation rules defined in
Section 3 Section 3
* Storage of email properties that supports internationalized * Storage of email properties that supports internationalized
characters. characters.
* Return EAI compatible addresses for all email properties in the * Return EAI compatible addresses for all email properties in the
EPP responses. EPP responses.
The server MUST satisfy the following obligations when THE EAI The client MUST satisfy the following obligations when THE EAI
extension has been negotiated: extension has been negotiated:
* Provide EAI compatible addresses for all e-mail properties in the * Provide EAI compatible addresses for all e-mail properties in the
EPP session negotiated object extensions and command-response EPP session negotiated object extensions and command-response
extensions. For example the <contact:email> element in [RFC5733] extensions. For example the <contact:email> element in [RFC5733]
and the <org:email> element in [RFC8543]. and the <org:email> element in [RFC8543].
* Provide EAI compatible addresses for all registry zones (e.g., * Provide EAI compatible addresses for all registry zones (e.g.,
top-level domains) authorized for the client in the EPP session. top-level domains) authorized for the client in the EPP session.
* Accept EAI compatible addresses in the EPP responses for all email * Accept EAI compatible addresses in the EPP responses for all email
properties in the EPP session negotiated object extensions and properties in the EPP session negotiated object extensions and
command-response extensions. command-response extensions.
5.3.2. EAI Functional Extension Not Negotiated 5.3.2. EAI Functional Extension Not Negotiated
The lack of EAI support can cause data and functional issues, so an The lack of EAI support can cause data and functional issues, so an
EAI supporting client or server needs to handle cases where the EAI supporting client or server needs to handle cases where the
opposite party doesn't support EAI. Below are the server and client opposite party doesn't support EAI. Below are the server and client
obligations when the EAI extension is not negotiated due to the lack obligations when the EAI extension is not negotiated due to the lack
of support by the opposite party. of support by the peer.
The EAI supporting server MUST satisfy the following obligations when The EAI supporting server MUST satisfy the following obligations when
the client does not support the EAI extension: the client does not support the EAI extension:
* When the email property is required in the EPP extension command, * When the email property is required in the EPP extension command,
the server SHOULD validate the email property by the client using the server SHOULD validate the email property sent by the client
the ASCII email validation rules. using the ASCII email validation rules.
* When the email property is optional according the EPP extension * When the email property is optional according the EPP extension
command, if the client supplies the email property the server command, if the client supplies the email property the server
SHOULD validate the email property using the ASCII email SHOULD validate the email property using the ASCII email
validation rules. validation rules.
* When the email property is required in the EPP extension response, * When the email property is required in the EPP extension response,
the server MUST validate whether the email property is an EAI the server MUST validate whether the email property is an EAI
address and if so return the predefined placeholder email TBD and address and if so return the predefined placeholder email (see
otherwise return the email property that has been set. below) and otherwise return the email property that has been set.
* When the email property is optional in the EPP extension response, * When the email property is optional in the EPP extension response,
the server MUST validate whether the email property is an EAI the server MUST validate whether the email property is an EAI
address and if so don't return the email property in the response address and if so don't return the email property in the response
and otherwise return the email property that has been set based on and otherwise return the email property that has been set based on
server policy. server policy.
The EAI supporting client MUST satisfy the following obligations when The EAI supporting client MUST satisfy the following obligations when
the server does not support the EAI extension: the server does not support the EAI extension:
* When the email property is required in the EPP extension command * When the email property is required in the EPP extension command
and the email property is an EAI address with no alternative ASCII and the email property is an EAI address with no alternative ASCII
address, the client MUST provide the predefined placeholder email address, the client MUST provide the predefined placeholder email
address TBD. address (see below).
* When the email property is optional in the EPP extension command * When the email property is optional in the EPP extension command
and the email property is an EAI address with no alternative ASCII and the email property is an EAI address with no alternative ASCII
address, the client SHOULD omit the email property. address, the client SHOULD omit the email property.
5.3.3. EAI Placeholder Email Address
A valid email value needs to be provided to a non-EAI supporting
client or server to satisfy a required email property when all that
is available is an EAI value. To satisfy this requirement, a
predefined placeholder email needs to be selected that meets the
requirements:
* A syntactically valid email address to pass client or server
validation logic.
* A non-EAI email address since the client or server doesn't support
EAI email addresses.
* A single value that can indicate the lack of EAI support to the
client or server.
* An email address that is blackholed and never delivered.
* Use of the email address will not cause operational issues.
RFC 7535 [RFC7535] defines a blackholed domain name with
EMPTY.AS112.ARPA, which can be leveraged for the EAI predefined
placeholder email. The proposal is to define the predefined
placeholder email value as EAI@EMPTY.AS112.ARPA.
6. Security Considerations 6. Security Considerations
Registries SHOULD validate the domain names in the provided email Registries SHOULD validate the domain names in the provided email
addresses. This can be done by validating all code points according addresses. This can be done by validating all code points according
to IDNA2008 [RFC5892]. to IDNA2008 [RFC5892].
7. IANA Considerations 7. IANA Considerations
7.1. XML Namespace 7.1. XML Namespace
skipping to change at page 9, line 37 skipping to change at page 10, line 5
2119 Key Words", BCP 14, RFC 8174, DOI 10.27487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.27487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
9.2. Informative References 9.2. Informative References
[RFC5892] Faltstrom, P., Ed., "The Unicode Code Points and [RFC5892] Faltstrom, P., Ed., "The Unicode Code Points and
Internationalized Domain Names for Applications (IDNA)", Internationalized Domain Names for Applications (IDNA)",
RFC 5892, DOI 10.27487/RFC5892, August 2010, RFC 5892, DOI 10.27487/RFC5892, August 2010,
<https://www.rfc-editor.org/info/rfc5892>. <https://www.rfc-editor.org/info/rfc5892>.
[RFC7535] Abley, J., Dickson, B., Kumari, W., and G. Michaelson,
"AS112 Redirection Using DNAME", RFC 7535,
DOI 10.17487/RFC7535, May 2015,
<https://www.rfc-editor.org/info/rfc7535>.
[RFC8543] Zhou, L., Kong, N., Yao, J., Gould, J., and G. Zhou, [RFC8543] Zhou, L., Kong, N., Yao, J., Gould, J., and G. Zhou,
"Extensible Provisioning Protocol (EPP) Organization "Extensible Provisioning Protocol (EPP) Organization
Mapping", RFC 8543, DOI 10.27487/RFC8543, March 2019, Mapping", RFC 8543, DOI 10.27487/RFC8543, March 2019,
<https://www.rfc-editor.org/info/rfc8543>. <https://www.rfc-editor.org/info/rfc8543>.
Appendix A. Change History Appendix A. Change History
A.1. Change from 00 to 01 A.1. Change from 00 to 01
1. Changed from update of RFC 5733 to use the "Placeholder Text and 1. Changed from update of RFC 5733 to use the "Placeholder Text and
 End of changes. 17 change blocks. 
24 lines changed or deleted 57 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/