draft-ietf-regext-epp-registry-maintenance-08.txt   draft-ietf-regext-epp-registry-maintenance-09.txt 
Internet Engineering Task Force (IETF) T. Sattler Internet Engineering Task Force (IETF) T. Sattler
Internet-Draft Internet-Draft
Intended status: Standards Track R. Carney Intended status: Standards Track R. Carney
Expires: June 30, 2021 J. Kolker Expires: June 30, 2021 J. Kolker
GoDaddy Inc. GoDaddy Inc.
December 23, 2020 December 29, 2020
Registry Maintenance Notifications for the Registry Maintenance Notifications for the
Extensible Provisioning Protocol (EPP) Extensible Provisioning Protocol (EPP)
draft-ietf-regext-epp-registry-maintenance-08 draft-ietf-regext-epp-registry-maintenance-09
Abstract Abstract
This document describes an Extensible Provision Protocol (EPP) This document describes an Extensible Provision Protocol (EPP)
mapping for registry's maintenance notifications. mapping for registry's maintenance notifications.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
skipping to change at page 2, line 8 skipping to change at page 2, line 8
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology and Definitions . . . . . . . . . . . . . . . 3 1.1. Terminology and Definitions . . . . . . . . . . . . . . . 3
2. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 3 2. Migrating to Newer Versions of This Extension . . . . . . . . 3
2.1. Internationalized Domain Names . . . . . . . . . . . . . 3 3. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Dates and Times . . . . . . . . . . . . . . . . . . . . . 3 3.1. Internationalized Domain Names . . . . . . . . . . . . . 4
2.3. Maintenance Elements . . . . . . . . . . . . . . . . . . 4 3.2. Dates and Times . . . . . . . . . . . . . . . . . . . . . 4
3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 6 3.3. Maintenance Elements . . . . . . . . . . . . . . . . . . 4
3.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 6 4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 6
3.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 6 4.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 6
3.1.2. EPP <transfer> Command . . . . . . . . . . . . . . . 6 4.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 6
3.1.3. EPP <info> Command . . . . . . . . . . . . . . . . . 6 4.1.2. EPP <transfer> Command . . . . . . . . . . . . . . . 6
3.1.3.1. Info Maintenance Item . . . . . . . . . . . . . . . 6 4.1.3. EPP <info> Command . . . . . . . . . . . . . . . . . 6
3.1.3.2. Info Maintenance List . . . . . . . . . . . . . . . 8 4.1.3.1. Info Maintenance Item . . . . . . . . . . . . . . . 7
3.1.4. EPP <poll> Command . . . . . . . . . . . . . . . . . 9 4.1.3.2. Info Maintenance List . . . . . . . . . . . . . . . 8
3.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 11 4.1.4. EPP <poll> Command . . . . . . . . . . . . . . . . . 8
3.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 11 4.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 11
3.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 11 4.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 11
3.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 11 4.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 11
3.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 11 4.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 11
3.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 11 4.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 11
4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 11 4.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 11
4.1. Registry Maintenance EPP Mapping Schema . . . . . . . . . 11 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 11
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 5.1. Registry Maintenance EPP Mapping Schema . . . . . . . . . 12
5.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 16 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
5.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 16 6.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 16
6. Security Considerations . . . . . . . . . . . . . . . . . . . 16 6.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 16
7. Implementation Status . . . . . . . . . . . . . . . . . . . . 17 7. Security Considerations . . . . . . . . . . . . . . . . . . . 16
7.1. GoDaddy Registry . . . . . . . . . . . . . . . . . . . . 17 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 17
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 8.1. GoDaddy Registry . . . . . . . . . . . . . . . . . . . . 17
8.1. Normative References . . . . . . . . . . . . . . . . . . 18 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.2. Informative References . . . . . . . . . . . . . . . . . 18 9.1. Normative References . . . . . . . . . . . . . . . . . . 18
9.2. Informative References . . . . . . . . . . . . . . . . . 18
Appendix A. Change History . . . . . . . . . . . . . . . . . . . 18 Appendix A. Change History . . . . . . . . . . . . . . . . . . . 18
A.1. Change from draft-sattler-epp-poll-maintenance-response to A.1. Change from draft-sattler-epp-poll-maintenance-response to
draft-sattler-epp-registry-maintenance . . . . . . . . . 18 draft-sattler-epp-registry-maintenance . . . . . . . . . 18
A.2. Change from draft-sattler-epp-registry-maintenance to A.2. Change from draft-sattler-epp-registry-maintenance to
draft-ietf-regext-epp-registry-maintenance . . . . . . . 18 draft-ietf-regext-epp-registry-maintenance . . . . . . . 19
A.3. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 19 A.3. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 19
A.4. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 19 A.4. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 19
A.5. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 19 A.5. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 19
A.6. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 19 A.6. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 19
A.7. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 19 A.7. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 19
A.8. Change from 05 to 06 . . . . . . . . . . . . . . . . . . 19 A.8. Change from 05 to 06 . . . . . . . . . . . . . . . . . . 19
A.9. Change from 06 to 07 . . . . . . . . . . . . . . . . . . 19 A.9. Change from 06 to 07 . . . . . . . . . . . . . . . . . . 19
A.10. Change from 07 to 08 . . . . . . . . . . . . . . . . . . 19 A.10. Change from 07 to 08 . . . . . . . . . . . . . . . . . . 19
A.11. Change from 08 to 09 . . . . . . . . . . . . . . . . . . 19
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 19 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20
1. Introduction 1. Introduction
Registries usually conduct maintenances and inform registrars in Registries usually conduct maintenances and inform registrars in
different ways. Given the DNS namespace expansion, it is now different ways. Given the DNS namespace expansion, it is now
desirable to provide methods for EPP servers to notify EPP clients desirable to provide methods for EPP servers to notify EPP clients
and EPP clients to query EPP servers for upcoming maintenances. and EPP clients to query EPP servers for upcoming maintenances.
This document describes an extension mapping for version 1.0 of the This document describes an extension mapping for version 1.0 of the
Extensible Provision Protocol [RFC5730]. This mapping provides a Extensible Provision Protocol [RFC5730]. This mapping provides a
mechanism by which EPP servers may notify and EPP clients to query mechanism by which EPP servers may notify and EPP clients to query
upcoming maintenances. upcoming maintenances.
1.1. Terminology and Definitions 1.1. Terminology and Definitions
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 "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals shown here. capitals, as shown here.
XML is case sensitive. Unless stated otherwise, XML specifications XML is case sensitive. Unless stated otherwise, XML specifications
moreover, examples provided in this document MUST be interpreted in moreover, examples provided in this document MUST be interpreted in
the character case presented to develop a conforming implementation. the character case presented to develop a conforming implementation.
"maint" is used as an abbreviation for "urn:ietf:params:xml:ns:epp: "maint" is used as an abbreviation for "urn:ietf:params:xml:ns:epp:
maintenance-0.2". The XML namespace prefix "maint" is used, but maintenance-0.2". The XML namespace prefix "maint" is used, but
implementations MUST NOT depend on it and instead employ a proper implementations MUST NOT depend on it and instead employ a proper
namespace-aware XML parser and serializer to interpret and output namespace-aware XML parser and serializer to interpret and output
the XML documents. the XML documents.
In examples, "C:" represents lines sent by a protocol client and In examples, "C:" represents lines sent by a protocol client and
"S:" represents lines returned by a protocol server. Indentation and "S:" represents lines returned by a protocol server. Indentation and
white space in examples are provided only to illustrate element white space in examples are provided only to illustrate element
relationships and are not a REQUIRED feature of this protocol. relationships and are not a REQUIRED feature of this protocol.
2. Object Attributes 2. Migrating to Newer Versions of This Extension
2.1. Internationalized Domain Names Servers that implement this extension SHOULD provide a way for
clients to progressively update their implementations when a new
version of the extension is deployed.
Servers SHOULD (for a temporary migration period up to server policy)
provide support for older versions of the extension in parallel to
the newest version and allow clients to execute their preferred
version of the <info> command based on the maintenance <objURI>
elements of the server <greeting>. The version of the maintenance
<info> response MUST match the version of the maintenance <info>
command executed by the server.
Servers MUST return a Registry Maintenance Notification poll message
matching the newest version of the maintenance extension, based on an
intersection of the maintenance <objURI> elements in the server
<greeting> and the client <login> command. If the intersection of
the maintenance <objURI> elements of the server <greeting> and the
client <login> command results in an empty set, the server MUST
return the newest version of the Registry Maintenance Notification
poll message supported by the server based on section 6 "Usage with
Poll Message EPP Response" of
[draft-ietf-regext-unhandled-namespaces].
3. Object Attributes
3.1. Internationalized Domain Names
Names of affected hosts MUST be provided as an A-label according to Names of affected hosts MUST be provided as an A-label according to
[RFC5891]. [RFC5891].
2.2. Dates and Times 3.2. Dates and Times
All dates and times attribute values MUST be expressed in Universal All dates and times attribute values MUST be expressed in Universal
Coordinated Time (UTC) using the Gregorian calendar. The extended Coordinated Time (UTC) using the Gregorian calendar. The extended
date-time form using upper case "T" and "Z" characters defined in ISO date-time form using upper case "T" and "Z" characters defined in ISO
8601 [RFC3339] MUST be used to represent date-time values. 8601 [RFC3339] MUST be used to represent date-time values.
2.3. Maintenance Elements 3.3. Maintenance Elements
The <maint:item> element describes a single registry maintenance The <maint:item> element describes a single registry maintenance
event during a specific period. This element is used in a maintenance event during a specific period. This element is used in a maintenance
item EPP <info> response and <poll> message. item EPP <info> response and <poll> message.
<maint:id> <maint:id>
The server unique identifier for the maintenance with the OPTIONAL The server unique identifier for the maintenance with the OPTIONAL
"msg" attribute that includes a human-readable description of the "msg" attribute that includes a human-readable description of the
maintenance. The server unique identifier SHALL NOT be changed if maintenance. The server unique identifier SHALL NOT be changed if
the maintenance is updated or deleted. When the "msg" attribute is the maintenance is updated or deleted. When the "msg" attribute is
set, the OPTIONAL "lang" attribute MAY be present to identify the set, the OPTIONAL "lang" attribute MAY be present to identify the
language if the negotiated value is something other than the language if the negotiated value is something other than the
default value of "en" (English). default value of "en" (English).
<maint:pollType> <maint:pollType>
The OPTIONAL <maint:pollType> for a Registry Maintenance The OPTIONAL <maint:pollType> element for a Registry Maintenance
Notification poll message; values MUST either be "create", Notification poll message; values MUST either be "create",
"update", or "delete". For the "create" and "update" types, the "update", or "delete". For the "create" and "update" types, the
server includes the state of the maintenance after the create or server includes the state of the maintenance after the create or
update. For the "delete" type, the server includes the state update. For the "delete" type, the server includes the state
of the maintenance prior to the delete. This element MUST be of the maintenance prior to the delete. This element MUST be
present only for poll messages. present only for poll messages.
<maint:systems> <maint:systems>
One or more <maint:system> elements that are affected by the One or more <maint:system> elements that are affected by the
maintenance. maintenance.
skipping to change at page 6, line 5 skipping to change at page 6, line 23
code change. code change.
<maint:crDate> <maint:crDate>
The date and time of the maintenance object creation. The date and time of the maintenance object creation.
<maint:upDate> <maint:upDate>
The OPTIONAL date and time of the most recent maintenance The OPTIONAL date and time of the most recent maintenance
object modification. This element MUST NOT be present if the object modification. This element MUST NOT be present if the
maintenance object has never been modified. maintenance object has never been modified.
3. EPP Command Mapping 4. EPP Command Mapping
A detailed description of the EPP syntax and semantics can be found A detailed description of the EPP syntax and semantics can be found
in the EPP core protocol specification [RFC5730]. The command in the EPP core protocol specification [RFC5730]. The command
mappings described here are specifically for the use to notify of mappings described here are specifically for the use to notify of
Registry Maintenances and Registry Maintenance object mapping. Registry Maintenances and Registry Maintenance object mapping.
3.1. EPP Query Commands 4.1. EPP Query Commands
EPP [RFC5730] provides three commands to retrieve object information: EPP [RFC5730] provides three commands to retrieve object information:
<check> to determine if an object is known to the server, <info> to <check> to determine if an object is known to the server, <info> to
retrieve detailed information associated with an object, and retrieve detailed information associated with an object, and
<transfer> to retrieve object transfer status information. <transfer> to retrieve object transfer status information.
3.1.1. EPP <check> Command 4.1.1. EPP <check> Command
Available check semantics do not apply to maintenance objects, so Available check semantics do not apply to maintenance objects, so
there is no mapping defined for the EPP <check> command. there is no mapping defined for the EPP <check> command.
3.1.2. EPP <transfer> Command 4.1.2. EPP <transfer> Command
Transfer semantics do not apply to maintenance objects, so there is Transfer semantics do not apply to maintenance objects, so there is
no mapping defined for the EPP <transfer> command. no mapping defined for the EPP <transfer> command.
3.1.3. EPP <info> Command 4.1.3. EPP <info> Command
EPP provides the <info> command that is used to retrieve registry EPP provides the <info> command that is used to retrieve registry
maintenance information. In addition to the standard EPP command maintenance information. In addition to the standard EPP command
elements, the <info> command MUST contain a <maint:info> elements, the <info> command MUST contain a <maint:info>
element that identifies the maintenance namespace. element that identifies the maintenance namespace.
The <maint:info> element MUST contain a child element. It is either The <maint:info> element MUST contain a child element. It is either
<maint:id>, described in Section 3.1.3.1, to query for a specific <maint:id> child element, described in Section 4.1.3.1, to query for
maintenance item or <maint:list>, described in Section 3.1.3.2, to a specific maintenance item or <maint:list> child element, described
query all maintenance items. in Section 4.1.3.2, to query all maintenance items.
3.1.3.1. Info Maintenance Item 4.1.3.1. Info Maintenance Item
The information on a specific maintenance item can be retrieved by The information on a specific maintenance item can be retrieved by
using the <info> command with the element <maint:info> and the using the <info> command with the <maint:info> element and the
<maint:id> child element, defined in Section 2.3. If the maintenance <maint:id> child element, defined in Section 3.3. If the maintenance
identifier does not exist, the server MUST return an EPP error result identifier does not exist, the server MUST return an EPP error result
code of 2303 [RFC5730]. code of 2303 [RFC5730].
Example to retrieve a specific maintenance item in an <info> command. Example to retrieve a specific maintenance item in an <info> command.
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: <info> C: <info>
C: <maint:info C: <maint:info
skipping to change at page 7, line 22 skipping to change at page 7, line 32
C: </maint:info> C: </maint:info>
C: </info> C: </info>
C: <clTRID>ABC-12345</clTRID> C: <clTRID>ABC-12345</clTRID>
C: </command> C: </command>
C:</epp> C:</epp>
When an <info> command has been processed successfully, the EPP When an <info> command has been processed successfully, the EPP
<resData> element MUST contain a child <maint:infData> element that <resData> element MUST contain a child <maint:infData> element that
identifies the maintenance namespace. The <maint:infData> element identifies the maintenance namespace. The <maint:infData> element
contains the <maint:item> element defined in Section 2.3. contains the <maint:item> element defined in Section 3.3.
Example of returning a specific maintenance item in an <info> Example of returning a specific maintenance item in an <info>
response. response.
S:<?xml version="1.0" encoding="UTF-8"?> S:<?xml version="1.0" encoding="UTF-8"?>
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>
S: </result> S: </result>
skipping to change at page 8, line 19 skipping to change at page 8, line 29
S: </maint:item> S: </maint:item>
S: </maint:infData> S: </maint:infData>
S: </resData> S: </resData>
S: <trID> S: <trID>
S: <clTRID>ABC-12345</clTRID> S: <clTRID>ABC-12345</clTRID>
S: <svTRID>54321-XYZ</svTRID> S: <svTRID>54321-XYZ</svTRID>
S: </trID> S: </trID>
S: </response> S: </response>
S:</epp> S:</epp>
3.1.3.2. Info Maintenance List 4.1.3.2. Info Maintenance List
The information for a list of maintenance items can be retrieved by The information for a list of maintenance items can be retrieved by
using the <info> command with the <maint:info> element and the empty using the <info> command with the <maint:info> element and the empty
<maint:list> child element. Server policy determines if previous <maint:list> child element. Server policy determines if previous
maintenances will be included in the list of maintenance items. maintenances will be included in the list of maintenance items.
Example to retrieve the maintenance list in an <info> command. Example to retrieve the maintenance list in an <info> command.
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">
skipping to change at page 8, line 49 skipping to change at page 8, line 59
C:</epp> C:</epp>
When an <info> command has been processed successfully, the EPP When an <info> command has been processed successfully, the EPP
<resData> element MUST contain a child <maint:infData> element <resData> element MUST contain a child <maint:infData> element
that identifies the maintenance namespace. The <maint:infData> that identifies the maintenance namespace. The <maint:infData>
element contains the <maint:list> element with zero or more element contains the <maint:list> element with zero or more
<maint:listItem> child elements. The <maint:listItem> element <maint:listItem> child elements. The <maint:listItem> element
contains the following child elements: contains the following child elements:
<maint:id> <maint:id>
The <maint:id> defined in Section 2.3. The <maint:id> element defined in Section 3.3.
<maint:start> <maint:start>
The <maint:start> defined in Section 2.3. The <maint:start> element defined in Section 3.3.
<maint:end> <maint:end>
The <maint:end> defined in Section 2.3. The <maint:end> element defined in Section 3.3.
<maint:crDate> <maint:crDate>
The <maint:crDate> defined in Section 2.3. The <maint:crDate> element defined in Section 3.3.
<maint:upDate> <maint:upDate>
The OPTIONAL <maint:upDate> defined in Section 2.3. The OPTIONAL <maint:upDate> element defined in Section 3.3.
Example of returning the maintenance list in an <info> response. Example of returning the maintenance list in an <info> response.
S:<?xml version="1.0" encoding="UTF-8"?> S:<?xml version="1.0" encoding="UTF-8"?>
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>
S: </result> S: </result>
S: <resData> S: <resData>
skipping to change at page 9, line 45 skipping to change at page 9, line 54
S: </maint:list> S: </maint:list>
S: </maint:infData> S: </maint:infData>
S: </resData> S: </resData>
S: <trID> S: <trID>
S: <clTRID>ABC-12345</clTRID> S: <clTRID>ABC-12345</clTRID>
S: <svTRID>54321-XYZ</svTRID> S: <svTRID>54321-XYZ</svTRID>
S: </trID> S: </trID>
S: </response> S: </response>
S:</epp> S:</epp>
3.1.4. EPP <poll> Command 4.1.4. EPP <poll> Command
The EPP <poll> command and response is defined in Section 2.9.2.3 of The EPP <poll> command and response is defined in Section 2.9.2.3 of
[RFC5730]. The Registry Maintenance Notification is included in the [RFC5730]. The Registry Maintenance Notification is included in the
EPP <poll> response of [RFC5730]. EPP <poll> response of [RFC5730].
For the Registry Maintenance Notification, there are three types of For the Registry Maintenance Notification, there are three types of
poll messages, defined by the <maint:pollType> element in Section poll messages, defined by the <maint:pollType> element in Section
2.3. A poll message applies when a maintenance is created, updated, 3.3. A poll message applies when a maintenance is created, updated,
or deleted. In the case of a Registry Maintenance specific message, or deleted. In the case of a Registry Maintenance specific message,
a <maint:infData> element will be included within the <resData> a <maint:infData> element will be included within the <resData>
element of the standard <poll> response. The <maint:infData> element element of the standard <poll> response. The <maint:infData> element
contains the <maint:item> element defined in Section 2.3. contains the <maint:item> element defined in Section 3.3.
Example <poll> command: Example <poll> command:
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: <poll op="req"/> C: <poll op="req"/>
C: <clTRID>ABC-12345</clTRID> C: <clTRID>ABC-12345</clTRID>
C: </command> C: </command>
C:</epp> C:</epp>
skipping to change at page 11, line 11 skipping to change at page 11, line 19
S: </maint:item> S: </maint:item>
S: </maint:infData> S: </maint:infData>
S: </resData> S: </resData>
S: <trID> S: <trID>
S: <clTRID>ABC-12345</clTRID> S: <clTRID>ABC-12345</clTRID>
S: <svTRID>54321-XYZ</svTRID> S: <svTRID>54321-XYZ</svTRID>
S: </trID> S: </trID>
S: </response> S: </response>
S:</epp> S:</epp>
3.2. EPP Transform Commands 4.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
object, <renew> to extend the validity period of an object, object, <renew> to extend the validity period of an object,
<transfer> to manage object sponsorship changes, and <update> to <transfer> to manage object sponsorship changes, and <update> to
change information associated with an object. change information associated with an object.
3.2.1. EPP <create> Command 4.2.1. EPP <create> Command
Create semantics do not apply to maintenance objects, so there is no Create semantics do not apply to maintenance objects, so there is no
mapping defined for the EPP <create> command. mapping defined for the EPP <create> command.
3.2.2. EPP <delete> Command 4.2.2. EPP <delete> Command
Delete semantics do not apply to maintenance objects, so there is no Delete semantics do not apply to maintenance objects, so there is no
mapping defined for the EPP <delete> command. mapping defined for the EPP <delete> command.
3.2.3. EPP <renew> Command 4.2.3. EPP <renew> Command
Renew semantics do not apply to maintenance objects, so there is no Renew semantics do not apply to maintenance objects, so there is no
mapping defined for the EPP <renew> command. mapping defined for the EPP <renew> command.
3.2.4. EPP <transfer> Command 4.2.4. EPP <transfer> Command
Transfer semantics do not apply to maintenance objects, so there is Transfer semantics do not apply to maintenance objects, so there is
no mapping defined for the EPP <transfer> command. no mapping defined for the EPP <transfer> command.
3.2.5. EPP <update> Command 4.2.5. EPP <update> Command
Update semantics do not apply to maintenance objects, so there is no Update semantics do not apply to maintenance objects, so there is no
mapping defined for the EPP <update> command. mapping defined for the EPP <update> command.
4. Formal Syntax 5. Formal Syntax
The EPP Registry Maintenance schema is presented here. The EPP Registry Maintenance schema is presented here.
The formal syntax presented here is a complete schema representation The formal syntax presented here is a complete schema representation
of the object mapping suitable for automated validation of EPP XML of the object mapping suitable for automated validation of EPP XML
instances. The <CODE BEGINS> and <CODE ENDS> tags are not part of instances. The <CODE BEGINS> and <CODE ENDS> tags are not part of
the schema; they are used to note the beginning and end of the the schema; they are used to note the beginning and end of the
schema for URI registration purposes. schema for URI registration purposes.
4.1. Registry Maintenance EPP Mapping Schema 5.1. Registry Maintenance EPP Mapping Schema
<CODE BEGINS> <CODE BEGINS>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:epp: <schema targetNamespace="urn:ietf:params:xml:ns:epp:
maintenance-0.2" maintenance-0.2"
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
xmlns:maint="urn:ietf:params:xml:ns:epp:maintenance-0.2" xmlns:maint="urn:ietf:params:xml:ns:epp:maintenance-0.2"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"> elementFormDefault="qualified">
skipping to change at page 16, line 5 skipping to change at page 16, line 5
<element name="connection" type="boolean"/> <element name="connection" type="boolean"/>
<element name="implementation" type="boolean"/> <element name="implementation" type="boolean"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
End of schema. End of schema.
--> -->
</schema> </schema>
<CODE ENDS> <CODE ENDS>
5. IANA Considerations 6. IANA Considerations
5.1. XML Namespace 6.1. XML Namespace
This document uses URNs to describe XML namespaces and XML schemas This document uses URNs to describe XML namespaces and XML schemas
conforming to a registry mechanism defined in [RFC3688]. conforming to a registry mechanism defined in [RFC3688].
Registration request for the maintenance namespace: Registration request for the maintenance namespace:
URI: urn:ietf:params:xml:ns:epp:maintenance-0.2 URI: urn:ietf:params:xml:ns:epp:maintenance-0.2
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 maintenance schema: Registration request for the maintenance schema:
URI: urn:ietf:params:xml:schema:maintenance-0.2 URI: urn:ietf:params:xml:schema:maintenance-0.2
Registrant Contact: IESG Registrant Contact: IESG
XML: See the "Formal Syntax" section of this document. XML: See the "Formal Syntax" section of this document.
5.2. EPP Extension Registry 6.2. EPP Extension Registry
The following registration of the EPP Extension Registry, described The following registration of the EPP Extension Registry, described
in [RFC7451], is requested: in [RFC7451], is requested:
Name of Extension: "Registry Maintenance Notifications for the Name of Extension: Registry Maintenance Notifications for the
Extensible Provisioning Protocol (EPP)" Extensible Provisioning Protocol (EPP)
Document status: Standards Track Document status: Standards Track
Reference: (insert the reference to RFC version of this document) Reference: (insert the reference to RFC version of this document)
Registrant Name and Email Address: IESG, <iesg@ietf.org> Registrant Name and Email Address: IESG <iesg@ietf.org>
TLDs: Any TLDs: Any
IPR Disclosure: None IPR Disclosure: None
Status: Active Status: Active
Notes: None Notes: None
6. Security Considerations 7. Security Considerations
The mapping extensions described in this document do not provide any The mapping extensions described in this document do not provide any
security services beyond those specified by EPP [RFC5730] and security services beyond those specified by EPP [RFC5730] and
protocol layers used by EPP. The security considerations described in protocol layers used by EPP. The security considerations described in
these other specifications apply to this specification as well. these other specifications apply to this specification as well.
7. Implementation Status 8. Implementation Status
Note to RFC Editor: Please remove this section and the reference to Note to RFC Editor: Please remove this section and the reference to
[RFC7942] before publication. [RFC7942] before publication.
This section records the status of known implementations of the This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in [RFC7942]. Internet-Draft, and is based on a proposal described in [RFC7942].
The description of implementations in this section is intended to The description of implementations in this section is intended to
assist the IETF in its decision processes in progressing drafts to assist the IETF in its decision processes in progressing drafts to
RFCs. Please note that the listing of any individual implementation RFCs. Please note that the listing of any individual implementation
skipping to change at page 17, line 30 skipping to change at page 17, line 30
features. Readers are advised to note that other implementations may features. Readers are advised to note that other implementations may
exist. exist.
According to [RFC7942], "this will allow reviewers and working groups According to [RFC7942], "this will allow reviewers and working groups
to assign due consideration to documents that have the benefit of to assign due consideration to documents that have the benefit of
running code, which may serve as evidence of valuable experimentation running code, which may serve as evidence of valuable experimentation
and feedback that have made the implemented protocols more mature. It and feedback that have made the implemented protocols more mature. It
is up to the individual working groups to use this information as is up to the individual working groups to use this information as
they see fit". they see fit".
7.1. GoDaddy Registry 8.1. GoDaddy Registry
Organization: GoDaddy Registry Organization: GoDaddy Registry
Name: GoDaddy Registry Name: GoDaddy Registry
Description: GoDaddy Registry provides maintenance notifications to Description: GoDaddy Registry provides maintenance notifications to
their registrars. their registrars.
Level of maturity: Production Level of maturity: Production
Coverage: All aspects of the protocol according to the draft version Coverage: All aspects of the protocol according to the draft version
2 are implemented with further updates to come. 2 are implemented with further updates to come.
Licensing: Proprietary Licensing: Proprietary
Contact: quoc@registry.godaddy Contact: quoc@registry.godaddy
URL: https://registry.godaddy URL: https://registry.godaddy
8. References 9. References
8.1. Normative References 9.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, March 1997, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet:
Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002,
<https://www.rfc-editor.org/info/rfc3339>.
[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>.
[RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)",
STD 69, RFC 5730, August 2009, STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009,
<https://www.rfc-editor.org/info/rfc5730>. <https://www.rfc-editor.org/info/rfc5730>.
[RFC5891] Klensin, J., "Internationalized Domain Names in
Applications (IDNA): Protocol", RFC 5891,
DOI 10.17487/RFC5891, August 2010,
<https://www.rfc-editor.org/info/rfc5891>.
[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>.
[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>.
8.2. Informative References 9.2. Informative References
[RFC3339] Klyne, G., Ed. and C. Newman, "Date and Time on the
Internet: Timestamps", RFC 3339, July 2002,
<https://www.rfc-editor.org/info/rfc3339>.
[RFC5891] Klensin, J., "Internationalized Domain Names in [I.D.draft-ietf-regext-unhandled-namespaces]
Applications (IDNA): Protocol", RFC 5891, August 2010, Gould, J. and Casanova, M., "Extensible Provisioning
<https://www.rfc-editor.org/info/rfc5891>. Protocol (EPP) Unhandled Namespaces",
<https://datatracker.ietf.org/doc/draft-ietf-regext-
unhandled-namespaces/> (work in progress), December 2020.
[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 Farrel, A., "Improving Awareness of
Running Code: The Implementation Status Section", RFC
7942, July 2016,
<https://www.rfc-editor.org/info/rfc7942>.
Appendix A. Change History Appendix A. Change History
A.1. Change from draft-sattler-epp-poll-maintenance-response to A.1. Change from draft-sattler-epp-poll-maintenance-response to
draft-sattler-epp-registry-maintenance draft-sattler-epp-registry-maintenance
Updated to be EPP based instead of JSON document. Updated to be EPP based instead of JSON document.
A.2. Change from draft-sattler-epp-registry-maintenance to A.2. Change from draft-sattler-epp-registry-maintenance to
draft-ietf-regext-epp-registry-maintenance draft-ietf-regext-epp-registry-maintenance
skipping to change at page 19, line 49 skipping to change at page 19, line 54
A.9. Change from 06 to 07 A.9. Change from 06 to 07
Removed IP addresses for <maint:host>. Editoral changes. Removed IP addresses for <maint:host>. Editoral changes.
A.10. Change from 07 to 08 A.10. Change from 07 to 08
Editoral changes. Changed XML namespace and schema from 0.1 to 0.2. Editoral changes. Changed XML namespace and schema from 0.1 to 0.2.
Added pollType to reflect create, update, or delete maintenance poll Added pollType to reflect create, update, or delete maintenance poll
messages. messages.
A.11. Change from 08 to 09
Editoral changes. Added new section "Migrating to Newer Versions of
This Extension".
Acknowledgments Acknowledgments
The authors wish to thank the following persons for their feedback The authors wish to thank the following persons for their feedback
and suggestions: James Gould, Patrick Mevzek, Quoc-Anh Pham, Raymond and suggestions: James Gould, Patrick Mevzek, Quoc-Anh Pham, Raymond
Zylstra, Christopher Martens, Anthony Eden, Neal McPherson, Craig Zylstra, Christopher Martens, Anthony Eden, Neal McPherson, Craig
Marchant, and Andreas Huber. Marchant, and Andreas Huber.
Authors' Addresses Authors' Addresses
Tobias Sattler Tobias Sattler
 End of changes. 57 change blocks. 
95 lines changed or deleted 134 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/