draft-ietf-regext-epp-registry-maintenance-01.txt   draft-ietf-regext-epp-registry-maintenance-02.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: November 7, 2020 J. Kolker Expires: December 16, 2020 J. Kolker
GoDaddy Inc. GoDaddy Inc.
May 8, 2020 June 17, 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-01 draft-ietf-regext-epp-registry-maintenance-02
Abstract Abstract
This document describes an Extensible Provision Protocol (EPP) This document describes an Extensible Provision Protocol (EPP)
mapping for domain name 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
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 November 7, 2020. This Internet-Draft will expire on December 16, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 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 Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
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
skipping to change at page 2, line 40 skipping to change at page 2, line 40
7. Implementation Status . . . . . . . . . . . . . . . . . . . . 17 7. Implementation Status . . . . . . . . . . . . . . . . . . . . 17
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.1. Normative References . . . . . . . . . . . . . . . . . . 18 8.1. Normative References . . . . . . . . . . . . . . . . . . 18
8.2. Informative References . . . . . . . . . . . . . . . . . 18 8.2. Informative References . . . . . . . . . . . . . . . . . 18
Appendix A. Change History . . . . . . . . . . . . . . . . . . . 19 Appendix A. Change History . . . . . . . . . . . . . . . . . . . 19
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 . . . . . . . . . 19 draft-sattler-epp-registry-maintenance . . . . . . . . . 19
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 . . . . . . . 19 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
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 20 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20
1. Introduction 1. Introduction
Domain name registries usually conduct maintenances and inform domain Registries usually conduct maintenances and inform registrars in
name registrars in different ways. Given the expansion of the DNS different ways. Given the expansion of the DNS namespace, it is now
namespace, it is now desirable to provide a method for EPP servers to desirable to provide a method for EPP servers to notify EPP clients
notify EPP clients as well as a method for EPP clients to query EPP as well as a method for EPP clients to query EPP servers for upcoming
servers for upcoming maintenances. 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
for upcoming maintenances. for 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", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119] when document are to be interpreted as described in [RFC2119] when
specified in their uppercase forms. specified in their uppercase forms.
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:
maintenance-1.0". The XML namespace prefix "maint" is used, but
implementations MUST NOT depend on it and instead employ a proper
namespace-aware XML parser and serializer to interpret and output
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. Object Attributes
2.1. Internationalized Domain Names 2.1. Internationalized Domain Names
Names of affected hosts MUST be provided in Punycode according to Names of affected hosts MUST be provided in Punycode according to
skipping to change at page 4, line 24 skipping to change at page 4, line 24
For updating a maintenance the attribute <maint:status> MUST be For updating a maintenance the attribute <maint:status> MUST be
'active', the attributes <maint:crDate> and <maint:upDate> MUST be 'active', the attributes <maint:crDate> and <maint:upDate> MUST be
set. set.
For deleting a maintenance the attribute <maint:status> MUST be For deleting a maintenance the attribute <maint:status> MUST be
'inactive', and the attributes <maint:crDate> and <maint:upDate> MUST 'inactive', and the attributes <maint:crDate> and <maint:upDate> MUST
be set. be set.
<maint:id> <maint:id>
MUST be present and a UUID according [RFC4122] and SHALL NOT be MUST be present and a server unique id and SHALL NOT be
changed if maintenance is updated or deleted. A human-readable changed if maintenance is updated or deleted. A human-readable
description of the maintenance is identified via an OPTIONAL description of the maintenance is identified via an OPTIONAL
"msg" attribute. "msg" attribute.
<maint:systems> <maint:systems>
MUST be present and contains one or more <maint:system> elements. MUST be present and contains one or more <maint:system> elements.
The server SHOULD NOT list systems which are not affected by the The server SHOULD NOT list systems which are not affected by the
maintenance. maintenance.
<maint:system> <maint:system>
MUST be present at least once and is an element of <maint:name>, MUST be present at least once and is an element of <maint:name>,
<maint:host> and <maint:impact>. <maint:host> and <maint:impact>.
<maint:name> <maint:name>
MUST be present and indicates the name of the affected system, MUST be present and indicates the name of the affected system,
such as 'EPP', 'WHOIS', 'DNS', 'Portal', etc. such as 'EPP', 'WHOIS', 'DNS', 'Portal', etc.
<maint:host> <maint:host>
MUST be present and indicates the affected maintained system MUST be present and indicates the affected maintained system
(host or IP address). contains <maint:hostName> or <maint:hostAddr>.
<maint:hostName>
Hostname SHALL be Punycode according [RFC5891]. Hostname SHALL be Punycode according [RFC5891].
<maint:hostAddr ip="v4">
IPv4 addresses SHALL be dotted-decimal notation. IPv4 addresses SHALL be dotted-decimal notation.
An example of this textual representation is "192.0.2.0". An example of this textual representation is "192.0.2.0".
<maint:hostAddr ip="v6">
IPv6 addresses SHALL be according [RFC5952]. IPv6 addresses SHALL be according [RFC5952].
An example of this textual representation is An example of this textual representation is
"2001:db8::1:0:0:1". "2001:db8::1:0:0:1".
<maint:impact> <maint:impact>
MUST be present and contains the impact level; values SHOULD MUST be present and contains the impact level; values SHOULD
either be 'blackout' or 'partial'. either be 'blackout' or 'partial'.
<maint:environment> <maint:environment>
MUST be present and indicates the type of the affected system; MUST be present and indicates the type of the affected system;
the attribute type is REQUIRED and SHOULD either be 'production', the attribute type is REQUIRED and SHOULD either be 'production',
'ote', 'staging', 'dev' or 'custom'. And alternatively the 'ote', 'staging', 'dev' or 'custom'. And alternatively the
attribute name could be used to define a server specific affected attribute name could be used to define a server specific affected
system for example: system for example:
<maint:environment type="custom" name="marketing"/> <maint:environment type="custom" name="marketing"/>
<maint:start> <maint:start>
MUST be present and indicates the start of the maintenance SHOULD be present and indicates the start of the maintenance
according ISO 8601 [RFC3339]. according ISO 8601 [RFC3339].
Format: YYYY-MM-DDThh:mm:ssTZ Format: YYYY-MM-DDThh:mm:ssTZ
<maint:end> <maint:end>
MUST be present and indicates the end of the maintenance SHOULD be present and indicates the end of the maintenance
according to ISO 8601 [RFC3339], and MUST be equal to or greater according to ISO 8601 [RFC3339], and MUST be equal to or greater
than <maint:start>. than <maint:start>.
Format: YYYY-MM-DDThh:mm:ssTZ Format: YYYY-MM-DDThh:mm:ssTZ
<maint:reason> <maint:reason>
MUST be present and contains the reason behind the maintenance; MUST be present and contains the reason behind the maintenance;
values SHOULD either be 'planned' or 'emergency'. values SHOULD either be 'planned' or 'emergency'.
<maint:detail> <maint:detail>
MAY be present and contains URI to detailed maintenance MAY be present and contains URI to detailed maintenance
description. description.
<maint:description> <maint:description>
MAY be present and provides a freeform description of the MAY be present and provides a freeform description of the
maintenance without having to create and traverse an external maintenance without having to create and traverse an external
resource. The maximum length MUST NOT exceed 1024 characters. resource. The maximum length MUST NOT exceed 1024 characters.
<maint:tlds> <maint:tlds>
MUST be present and contains <maint:tld> elements. SHOULD be present and contains <maint:tld> elements.
<maint:tld> <maint:tld>
MUST be present and contains the affected top-level domain. MUST be present and contains the affected top-level domain.
Punycode encoded according to [RFC5891]. Punycode encoded according to [RFC5891].
<maint:intervention> <maint:intervention>
MUST be present and contains <maint:connection> and SHOULD be present and contains <maint:connection> and
<maint:implementation>. <maint:implementation>.
<maint:connection> <maint:connection>
MUST be present and indicates if a client needs to do something MUST be present and indicates if a client needs to do something
that is connection-related, such as a reconnect. The value that is connection-related, such as a reconnect. The value
SHALL be boolean. SHALL be boolean.
<maint:implementation> <maint:implementation>
MUST be present and indicates if a client needs to do something MUST be present and indicates if a client needs to do something
that is implementation-related, such as a code change. The that is implementation-related, such as a code change. The
skipping to change at page 7, line 13 skipping to change at page 7, line 13
query all maintenance notifications. query all maintenance notifications.
Example <info> command with <maint:id> to get one specific Example <info> command with <maint:id> to get one specific
maintenance: maintenance:
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
C: xmlns:maint="urn:ietf:params:xml:ns:maintenance-0.2"> C: xmlns:maint="urn:ietf:params:xml:ns:maintenance-1.0">
C: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6</maint:id> C: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6</maint:id>
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>
Example <info> response for one specific maintenance notification: Example <info> response for one specific maintenance notification:
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>
S: <maint:infData S: <maint:infData
S: xmlns:maint="urn:ietf:params:xml:ns:maintenance-0.2"> S: xmlns:maint="urn:ietf:params:xml:ns:maintenance-1.0">
S: <maint:maint> S: <maint:maint>
S: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6 S: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6
S: </maint:id> S: </maint:id>
S: <maint:systems> S: <maint:systems>
S: <maint:system> S: <maint:system>
S: <maint:name>EPP</maint:name> S: <maint:name>EPP</maint:name>
S: <maint:host>epp.registry.example</maint:host> S: <maint:host>
S: <maint:hostName>epp.registry.example
S: </maint:hostName>
S: </maint:host>
S: <maint:impact>blackout</maint:impact> S: <maint:impact>blackout</maint:impact>
S: </maint:system> S: </maint:system>
S: </maint:systems> S: </maint:systems>
S: <maint:environment type="production"/> S: <maint:environment type="production"/>
S: <maint:start>2017-09-30T06:00:00Z</maint:start> S: <maint:start>2017-09-30T06:00:00Z</maint:start>
S: <maint:end>2017-09-30T14:25:57Z</maint:end> S: <maint:end>2017-09-30T14:25:57Z</maint:end>
S: <maint:reason>planned</maint:reason> S: <maint:reason>planned</maint:reason>
S: <maint:detail> S: <maint:detail>
S: https://www.registry.example/notice?123 S: https://www.registry.example/notice?123
S: </maint:detail> S: </maint:detail>
skipping to change at page 8, line 25 skipping to change at page 8, line 25
S: </maint:maint> S: </maint:maint>
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>
Example <info> command with <maint:list> to query all maintenances: Example <info> command with <maint:list> to query all maintenances
subject to server policy:
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
C: xmlns:maint="urn:ietf:params:xml:ns:maintenance-0.2"> C: xmlns:maint="urn:ietf:params:xml:ns:maintenance-1.0">
C: <maint:list/> C: <maint:list/>
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>
Example <info> response querying all maintenances: Example <info> response querying all maintenances subject to server
policy:
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>
S: <maint:infData S: <maint:infData
S: xmlns:maint="urn:ietf:params:xml:ns:maintenance-0.2"> S: xmlns:maint="urn:ietf:params:xml:ns:maintenance-1.0">
S: <maint:list> S: <maint:list>
S: <maint:maint> S: <maint:maint>
S: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6 S: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6
S: </maint:id> S: </maint:id>
S: <maint:start>2017-04-30T06:00:00Z</maint:start> S: <maint:start>2017-04-30T06:00:00Z</maint:start>
S: <maint:end>2017-04-30T07:00:00Z</maint:end> S: <maint:end>2017-04-30T07:00:00Z</maint:end>
S: <maint:crDate>2017-02-08T22:10:00Z</maint:crDate> S: <maint:crDate>2017-02-08T22:10:00Z</maint:crDate>
S: </maint:maint> S: </maint:maint>
S: <maint:maint> S: <maint:maint>
S: <maint:id>91e9dabf-c4e9-4c19-a56c-78e3e89c2e2f S: <maint:id>91e9dabf-c4e9-4c19-a56c-78e3e89c2e2f
skipping to change at page 10, line 29 skipping to change at page 10, line 29
S: <response> S: <response>
S: <result code="1301"> S: <result code="1301">
S: <msg>Command completed successfully; ack to dequeue</msg> S: <msg>Command completed successfully; ack to dequeue</msg>
S: </result> S: </result>
S: <msgQ count="1" id="12345"> S: <msgQ count="1" id="12345">
S: <qDate>2017-02-08T22:10:00Z</qDate> S: <qDate>2017-02-08T22:10:00Z</qDate>
S: <msg>Registry Maintenance Notification</msg> S: <msg>Registry Maintenance Notification</msg>
S: </msgQ> S: </msgQ>
S: <resData> S: <resData>
S: <maint:infData S: <maint:infData
S: xmlns:maint="urn:ietf:params:xml:ns:maintenance-0.2"> S: xmlns:maint="urn:ietf:params:xml:ns:maintenance-1.0">
S: <maint:maint> S: <maint:maint>
S: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6</maint:id> S: <maint:id>2e6df9b0-4092-4491-bcc8-9fb2166dcee6</maint:id>
S: <maint:systems> S: <maint:systems>
S: <maint:system> S: <maint:system>
S: <maint:name>EPP</maint:name> S: <maint:name>EPP</maint:name>
S: <maint:host>epp.registry.example</maint:host> S: <maint:host>
S: <maint:hostName>epp.registry.example
S: </maint:hostName>
S: </maint:host>
S: <maint:impact>blackout</maint:impact> S: <maint:impact>blackout</maint:impact>
S: </maint:system> S: </maint:system>
S: </maint:systems> S: </maint:systems>
S: <maint:environment type="production"/> S: <maint:environment type="production"/>
S: <maint:start>2017-10-30T06:00:00Z</maint:start> S: <maint:start>2017-10-30T06:00:00Z</maint:start>
S: <maint:end>2017-10-30T14:25:57Z</maint:end> S: <maint:end>2017-10-30T14:25:57Z</maint:end>
S: <maint:reason>planned</maint:reason> S: <maint:reason>planned</maint:reason>
S: <maint:detail> S: <maint:detail>
S: https://www.registry.example/notice?123 S: https://www.registry.example/notice?123
S: </maint:detail> S: </maint:detail>
skipping to change at page 12, line 20 skipping to change at page 12, line 20
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 BEGIN and END tags are not part of the schema; they instances. The BEGIN and END tags are not part of the schema; they
are used to note the beginning and end of the schema for URI are used to note the beginning and end of the schema for URI
registration purposes. registration purposes.
4.1. Registry Maintenance EPP Mapping Schema 4.1. Registry Maintenance EPP Mapping Schema
BEGIN BEGIN
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:maintenance-0.2" <schema targetNamespace="urn:ietf:params:xml:ns:maintenance-1.0"
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:maintenance-0.2" xmlns:maint="urn:ietf:params:xml:ns:maintenance-1.0"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"> elementFormDefault="qualified">
<!-- <!--
Import common element types Import common element types
--> -->
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/> <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
<import namespace="urn:ietf:params:xml:ns:epp-1.0"/> <import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
<annotation> <annotation>
skipping to change at page 15, line 7 skipping to change at page 15, line 7
<maxLength value="1024"/> <maxLength value="1024"/>
</restriction> </restriction>
</simpleType> </simpleType>
<!-- <!--
system element system element
--> -->
<complexType name="systemType"> <complexType name="systemType">
<sequence> <sequence>
<element name="name" type="token"/> <element name="name" type="token"/>
<element name="host" type="token"/> <element name="host" type="maint:hostAttrType"/>
<element name="impact" type="maint:impactEnum"/> <element name="impact" type="maint:impactEnum"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
host element
-->
<complexType name="hostAttrType">
<sequence>
<element name="hostName" type="eppcom:labelType"/>
<element name="hostAddr" type="host:addrType" minOccurs="0"/>
</sequence>
</complexType>
<!--
Enumerated list of environments Enumerated list of environments
--> -->
<simpleType name="envEnum"> <simpleType name="envEnum">
<restriction base="token"> <restriction base="token">
<enumeration value="production"/> <enumeration value="production"/>
<enumeration value="ote"/> <enumeration value="ote"/>
<enumeration value="staging"/> <enumeration value="staging"/>
<enumeration value="dev"/> <enumeration value="dev"/>
<enumeration value="custom"/> <enumeration value="custom"/>
</restriction> </restriction>
skipping to change at page 16, line 20 skipping to change at page 16, line 30
<element name="implementation" type="boolean"/> <element name="implementation" type="boolean"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
Enumerated list of statuses Enumerated list of statuses
--> -->
<simpleType name="statusEnum"> <simpleType name="statusEnum">
<restriction base="token"> <restriction base="token">
<enumeration value="active"/> <enumeration value="active"/>
<enumeration value="deleted"/> <enumeration value="inactive"/>
</restriction> </restriction>
</simpleType> </simpleType>
<!-- <!--
End of schema. End of schema.
--> -->
</schema> </schema>
END END
5. IANA Considerations 5. IANA Considerations
skipping to change at page 18, line 40 skipping to change at page 18, line 40
8.2. Informative References 8.2. Informative References
[RFC3339] Klyne, G., Ed. and C. Newman, "Date and Time on the [RFC3339] Klyne, G., Ed. and C. Newman, "Date and Time on the
Internet: Timestamps", RFC 3339, July 2002, Internet: Timestamps", RFC 3339, July 2002,
<https://www.rfc-editor.org/info/rfc3339>. <https://www.rfc-editor.org/info/rfc3339>.
[RFC5891] Klensin, J., "Internationalized Domain Names in [RFC5891] Klensin, J., "Internationalized Domain Names in
Applications (IDNA): Protocol", RFC 5891, August 2010, Applications (IDNA): Protocol", RFC 5891, August 2010,
<https://www.rfc-editor.org/info/rfc5891>. <https://www.rfc-editor.org/info/rfc5891>.
[RFC4122] Leach, P., Mealling, M. and Salz, R., "A Universally
Unique IDentifier (UUID) URN Namespace", RFC 4122, July
2015,
<https://www.rfc-editor.org/info/rfc4122>.
[RFC5952] Kawamura, S. and Kawashima, M., "A Recommendation for IPv6 [RFC5952] Kawamura, S. and Kawashima, M., "A Recommendation for IPv6
Address Text Representation", RFC 5952, August 2010, Address Text Representation", RFC 5952, August 2010,
<https://www.rfc-editor.org/info/rfc5952>. <https://www.rfc-editor.org/info/rfc5952>.
[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 [RFC7942] Sheffer, Y. and Farrel, A., "Improving Awareness of
Running Code: The Implementation Status Section", RFC Running Code: The Implementation Status Section", RFC
skipping to change at page 20, line 5 skipping to change at page 19, line 23
draft-ietf-regext-epp-registry-maintenance draft-ietf-regext-epp-registry-maintenance
Adopted by the REGEXT working group. Adopted by the REGEXT working group.
A.3. Change from 00 to 01 A.3. Change from 00 to 01
Clarified maint:description and maint:environment. Changed Clarified maint:description and maint:environment. Changed
maint:description from complexType to simpleType. Fixed typo. maint:description from complexType to simpleType. Fixed typo.
Added acknowledgment. Added acknowledgment.
A.4. Change from 01 to 02
Update language from Domain Name Registry to Registry. Clarified
XML namespace urn:ietf:params:xml:ns:maintenance-1.0. Changed host
to contain hostName and hostAddr. Changed maint:tlds from MUST to
SHOULD. Fixed maint:status in Schema. Changed UUID to a server
unique id.
Acknowledgments Acknowledgments
The authors wish to thank the following individuals for their The authors wish to thank the following individuals for their
feedback and suggestions (sorted alphabetically by company): feedback and suggestions (sorted alphabetically by company):
o Patrick Mevzek o Patrick Mevzek
o Neal McPherson, 1&1 IONOS o Neal McPherson, 1&1 IONOS
o Anthony Eden, DNSimple o Anthony Eden, DNSimple
o Christopher Martens, Donuts o Christopher Martens, Donuts
o Quoc-Anh Pham, Neustar o Quoc-Anh Pham, Neustar
 End of changes. 32 change blocks. 
34 lines changed or deleted 68 lines changed or added

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