draft-ietf-regext-unhandled-namespaces-07.txt | draft-ietf-regext-unhandled-namespaces-08.txt | |||
---|---|---|---|---|
Network Working Group J. Gould | Network Working Group J. Gould | |||
Internet-Draft VeriSign, Inc. | Internet-Draft VeriSign, Inc. | |||
Intended status: Standards Track M. Casanova | Intended status: Standards Track M. Casanova | |||
Expires: 30 July 2021 SWITCH | Expires: 23 August 2021 SWITCH | |||
26 January 2021 | 19 February 2021 | |||
Extensible Provisioning Protocol (EPP) Unhandled Namespaces | Extensible Provisioning Protocol (EPP) Unhandled Namespaces | |||
draft-ietf-regext-unhandled-namespaces-07 | draft-ietf-regext-unhandled-namespaces-08 | |||
Abstract | Abstract | |||
The Extensible Provisioning Protocol (EPP), as defined in RFC 5730, | The Extensible Provisioning Protocol (EPP), as defined in RFC 5730, | |||
includes a method for the client and server to determine the objects | includes a method for the client and server to determine the objects | |||
to be managed during a session and the object extensions to be used | to be managed during a session and the object extensions to be used | |||
during a session. The services are identified using namespace URIs, | during a session. The services are identified using namespace URIs, | |||
and an "unhandled namespace" is one that is associated with a service | and an "unhandled namespace" is one that is associated with a service | |||
not supported by the client. This document defines an operational | not supported by the client. This document defines an operational | |||
practice that enables the server to return information associated | practice that enables the server to return information associated | |||
skipping to change at page 1, line 39 ¶ | skipping to change at page 1, line 39 ¶ | |||
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 30 July 2021. | This Internet-Draft will expire on 23 August 2021. | |||
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. | |||
Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
skipping to change at page 2, line 18 ¶ | skipping to change at page 2, line 18 ¶ | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
1.1. Conventions Used in This Document . . . . . . . . . . . . 3 | 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 | |||
2. Unhandled Namespaces . . . . . . . . . . . . . . . . . . . . 4 | 2. Unhandled Namespaces . . . . . . . . . . . . . . . . . . . . 4 | |||
3. Use of EPP <extValue> for Unhandled Namespace Data . . . . . 4 | 3. Use of EPP <extValue> for Unhandled Namespace Data . . . . . 4 | |||
3.1. Unhandled Object-Level Extension . . . . . . . . . . . . 5 | 3.1. Unhandled Object-Level Extension . . . . . . . . . . . . 5 | |||
3.2. Unhandled Command-Response Extension . . . . . . . . . . 7 | 3.2. Unhandled Command-Response Extension . . . . . . . . . . 7 | |||
4. Signaling Client and Server Support . . . . . . . . . . . . . 10 | 4. Signaling Client and Server Support . . . . . . . . . . . . . 10 | |||
5. Usage with General EPP Responses . . . . . . . . . . . . . . 10 | 5. Usage with General EPP Responses . . . . . . . . . . . . . . 11 | |||
6. Usage with Poll Message EPP Responses . . . . . . . . . . . . 12 | 6. Usage with Poll Message EPP Responses . . . . . . . . . . . . 13 | |||
7. Implementation Considerations . . . . . . . . . . . . . . . . 15 | 7. Implementation Considerations . . . . . . . . . . . . . . . . 16 | |||
7.1. Client Implementation Considerations . . . . . . . . . . 15 | 7.1. Client Implementation Considerations . . . . . . . . . . 16 | |||
7.2. Server Implementation Considerations . . . . . . . . . . 16 | 7.2. Server Implementation Considerations . . . . . . . . . . 16 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 | |||
8.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 16 | 8.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 17 | |||
8.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 16 | 8.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 17 | |||
9. Implementation Status . . . . . . . . . . . . . . . . . . . . 17 | 9. Implementation Status . . . . . . . . . . . . . . . . . . . . 17 | |||
9.1. Verisign EPP SDK . . . . . . . . . . . . . . . . . . . . 17 | 9.1. Verisign EPP SDK . . . . . . . . . . . . . . . . . . . . 18 | |||
9.2. SWITCH Automated DNSSEC Provisioning Process . . . . . . 18 | 9.2. SWITCH Automated DNSSEC Provisioning Process . . . . . . 18 | |||
10. Security Considerations . . . . . . . . . . . . . . . . . . . 18 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | |||
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 | 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 | |||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . 19 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 19 | |||
12.2. Informative References . . . . . . . . . . . . . . . . . 20 | 12.2. Informative References . . . . . . . . . . . . . . . . . 20 | |||
Appendix A. Change History . . . . . . . . . . . . . . . . . . . 20 | Appendix A. Change History . . . . . . . . . . . . . . . . . . . 20 | |||
A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 20 | A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 20 | |||
A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 20 | A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 21 | |||
A.3. Change from 02 to REGEXT 00 . . . . . . . . . . . . . . . 20 | A.3. Change from 02 to REGEXT 00 . . . . . . . . . . . . . . . 21 | |||
A.4. Change from REGEXT 00 to REGEXT 01 . . . . . . . . . . . 20 | A.4. Change from REGEXT 00 to REGEXT 01 . . . . . . . . . . . 21 | |||
A.5. Change from REGEXT 01 to REGEXT 02 . . . . . . . . . . . 21 | A.5. Change from REGEXT 01 to REGEXT 02 . . . . . . . . . . . 21 | |||
A.6. Change from REGEXT 02 to REGEXT 03 . . . . . . . . . . . 21 | A.6. Change from REGEXT 02 to REGEXT 03 . . . . . . . . . . . 21 | |||
A.7. Change from REGEXT 03 to REGEXT 04 . . . . . . . . . . . 21 | A.7. Change from REGEXT 03 to REGEXT 04 . . . . . . . . . . . 21 | |||
A.8. Change from REGEXT 04 to REGEXT 05 . . . . . . . . . . . 21 | A.8. Change from REGEXT 04 to REGEXT 05 . . . . . . . . . . . 22 | |||
A.9. Change from REGEXT 05 to REGEXT 06 . . . . . . . . . . . 21 | A.9. Change from REGEXT 05 to REGEXT 06 . . . . . . . . . . . 22 | |||
A.10. Change from REGEXT 06 to REGEXT 07 . . . . . . . . . . . 22 | A.10. Change from REGEXT 06 to REGEXT 07 . . . . . . . . . . . 22 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | A.11. Change from REGEXT 07 to REGEXT 08 . . . . . . . . . . . 22 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | ||||
1. Introduction | 1. Introduction | |||
The Extensible Provisioning Protocol (EPP), as defined in [RFC5730], | The Extensible Provisioning Protocol (EPP), as defined in [RFC5730], | |||
includes a method for the client and server to determine the objects | includes a method for the client and server to determine the objects | |||
to be managed during a session and the object extensions to be used | to be managed during a session and the object extensions to be used | |||
during a session. The services are identified using namespace URIs. | during a session. The services are identified using namespace URIs. | |||
How should the server handle service data that needs to be returned | How should the server handle service data that needs to be returned | |||
in the response when the client does not support the required service | in the response when the client does not support the required service | |||
namespace URI, which is referred to as an unhandled namespace? An | namespace URI, which is referred to as an unhandled namespace? An | |||
unhandled namespace is a significant issue for the processing of | unhandled namespace is a significant issue for the processing of | |||
[RFC5730] poll messages, since poll messages are inserted by the | [RFC5730] poll messages, since poll messages are inserted by the | |||
server prior to knowing the supported client services, and the client | server prior to knowing the supported client services, and the client | |||
needs to be capable of processing all poll messages. An unhandled | needs to be capable of processing all poll messages. Returning an | |||
namespace is an issue also for general EPP responses when the server | unhandled namespace poll message is not compliant with the negotiated | |||
has information that it cannot return to the client due to the | services defined in [RFC5730] and returning an error makes the | |||
client's supported services. The server should be able to return | unhandled namespace poll message a poison message by halting the | |||
unhandled namespace information that the client can process later. | processing of the poll queue. An unhandled namespace is an issue | |||
This document defines an operational practice that enables the server | also for general EPP responses when the server has information that | |||
to return information associated with unhandled namespace URIs that | it cannot return to the client due to the client's supported | |||
is compliant with the negotiated services defined in [RFC5730]. | services. The server should be able to return unhandled namespace | |||
information that the client can process later. This document defines | ||||
an operational practice that enables the server to return information | ||||
associated with unhandled namespace URIs that is compliant with the | ||||
negotiated services defined in [RFC5730]. | ||||
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 BCP | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | 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 | |||
skipping to change at page 5, line 17 ¶ | skipping to change at page 5, line 17 ¶ | |||
successful response, with the data for each unsupported namespace | successful response, with the data for each unsupported namespace | |||
moved into an [RFC5730] <extValue> element. The unhandled namespace | moved into an [RFC5730] <extValue> element. The unhandled namespace | |||
will not cause an error response, but the unhandled namespace data | will not cause an error response, but the unhandled namespace data | |||
will instead be moved to an <extValue> element, along with a reason | will instead be moved to an <extValue> element, along with a reason | |||
why the unhandled namespace data could not be included in the | why the unhandled namespace data could not be included in the | |||
appropriate location of the response. The <extValue> element XML | appropriate location of the response. The <extValue> element XML | |||
will not be processed by the XML processor. The <extValue> element | will not be processed by the XML processor. The <extValue> element | |||
contains the following child elements: | contains the following child elements: | |||
<value>: Contains a child-element with the unhandled namespace XML. | <value>: Contains a child-element with the unhandled namespace XML. | |||
The XML namespace and namespace prefix of the child element MUST | The unhandled namespace MUST be declared in the child element or | |||
be defined, which MAY be defined in the <value> element or in the | any containing element including the root element. XML | |||
the child element. XML processing of the <value> element is | processing of the <value> element is disabled by the XML schema | |||
disabled by the XML schema in [RFC5730], so the information can | in [RFC5730], so the information can safely be returned in the | |||
safely be returned in the <value> element. | <value> element. | |||
<reason>: A formatted human-readable message that indicates the | <reason>: A formatted human-readable message that indicates the | |||
reason the unhandled namespace data was not returned in the | reason the unhandled namespace data was not returned in the | |||
appropriate location of the response. The formatted reason | appropriate location of the response. The formatted reason | |||
SHOULD follow the Augmented Backus-Naur Form (ABNF) grammar | SHOULD follow the Augmented Backus-Naur Form (ABNF) grammar | |||
[RFC5234] format: NAMESPACE-URI "not in login services", where | [RFC5234] format: NAMESPACE-URI "not in login services", where | |||
NAMESPACE-URI is the unhandled XML namespace like | NAMESPACE-URI is the unhandled XML namespace like | |||
"urn:ietf:params:xml:ns:domain-1.0" for [RFC5731]. | "urn:ietf:params:xml:ns:domain-1.0" for [RFC5731]. | |||
This document supports handling of unsupported namespaces for | This document applies to the handling of unsupported namespaces for | |||
[RFC3735] object-level extensions and command-response extensions. | [RFC3735] object-level extensions and command-response extensions. | |||
This document does not support [RFC3735] protocol-level extensions or | This document does not apply to the handling of unsupported | |||
authentication information extensions. Refer to the following | namespaces for [RFC3735] protocol-level extensions or authentication | |||
sections on how to handle an unsupported object-level extension | information extensions. Refer to the following sections on how to | |||
namespace or an unsupported command-response extension namespace. | handle an unsupported object-level extension namespace or an | |||
unsupported command-response extension namespace. | ||||
3.1. Unhandled Object-Level Extension | 3.1. Unhandled Object-Level Extension | |||
An object-level extension in [RFC5730] is a child element of the | An object-level extension in [RFC5730] is a child element of the | |||
<resData> element. If the client does not handle the namespace of | <resData> element. If the client does not handle the namespace of | |||
the object-level extension, then the <resData> element is removed and | the object-level extension, then the <resData> element is removed and | |||
its object-level extension child element is moved into a [RFC5730] | its object-level extension child element is moved into a [RFC5730] | |||
<extValue> <value> element, with the namespace URI included in the | <extValue> <value> element, with the namespace URI included in the | |||
corresponding <extValue> <reason> element. The response becomes a | corresponding <extValue> <reason> element. The response becomes a | |||
general EPP response without the <resData> element. | general EPP response without the <resData> element. | |||
skipping to change at page 6, line 21 ¶ | skipping to change at page 6, line 21 ¶ | |||
S: <resData> | S: <resData> | |||
S: [NAMESPACE-XML] | S: [NAMESPACE-XML] | |||
S: </resData> | S: </resData> | |||
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> | |||
Template unhandled namespace response for an unsupported object-level | Template for an unhandled namespace response for an unsupported | |||
extension. The [NAMESPACE-XML] variable represents the object-level | object-level extension. The [NAMESPACE-XML] variable represents the | |||
extension XML and the [NAMESPACE-URI] variable represents the object- | object-level extension XML and the [NAMESPACE-URI] variable | |||
level extension XML namespace URI. | represents the object-level extension XML namespace URI. | |||
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> | |||
S: <extValue> | S: <extValue> | |||
S: <value> | S: <value> | |||
S: [NAMESPACE-XML] | S: [NAMESPACE-XML] | |||
S: </value> | S: </value> | |||
skipping to change at page 6, line 49 ¶ | skipping to change at page 6, line 49 ¶ | |||
S: </result> | S: </result> | |||
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> | |||
The EPP response is converted from an object response to a general | The EPP response is converted from an object response to a general | |||
EPP response by the server when the client does not support the | EPP response by the server when the client does not support the | |||
object-level extension namespace URI. Below is example of converting | object-level extension namespace URI. Below is an example of | |||
the <transfer> query response example in [RFC5731] to an unhandled | converting the <transfer> query response example in Section 3.1.3 of | |||
namespace response. | [RFC5731] to an unhandled namespace response. | |||
[RFC5731] example <transfer> query response converted into an | [RFC5731] example <transfer> query response converted into an | |||
unhandled namespace response. | unhandled namespace response: | |||
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> | |||
S: <extValue> | S: <extValue> | |||
S: <value> | S: <value> | |||
S: <domain:trnData | S: <domain:trnData | |||
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
S: <domain:name>example.com</domain:name> | S: <domain:name>example.com</domain:name> | |||
S: <domain:trStatus>pending</domain:trStatus> | S: <domain:trStatus>pending</domain:trStatus> | |||
S: <domain:reID>ClientX</domain:reID> | S: <domain:reID>ClientX</domain:reID> | |||
S: <domain:reDate>2020-06-06T22:00:00.0Z</domain:reDate> | S: <domain:reDate>2000-06-06T22:00:00.0Z</domain:reDate> | |||
S: <domain:acID>ClientY</domain:acID> | S: <domain:acID>ClientY</domain:acID> | |||
S: <domain:acDate>2020-06-11T22:00:00.0Z</domain:acDate> | S: <domain:acDate>2000-06-11T22:00:00.0Z</domain:acDate> | |||
S: <domain:exDate>2021-09-08T22:00:00.0Z</domain:exDate> | S: <domain:exDate>2002-09-08T22:00:00.0Z</domain:exDate> | |||
S: </domain:trnData> | S: </domain:trnData> | |||
S: </value> | S: </value> | |||
S: <reason> | S: <reason> | |||
S: urn:ietf:params:xml:ns:domain-1.0 not in login services | S: urn:ietf:params:xml:ns:domain-1.0 not in login services | |||
S: </reason> | S: </reason> | |||
S: </extValue> | S: </extValue> | |||
S: </result> | S: </result> | |||
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> | |||
3.2. Unhandled Command-Response Extension | 3.2. Unhandled Command-Response Extension | |||
A command-response extension in [RFC5730] is a child element of the | A command-response extension in [RFC5730] is a child element of the | |||
<extension> element. If the client does not handle the namespace of | <extension> element. If the client does not handle the namespace of | |||
the command-response extension, the command-response child element is | the command-response extension, the command-response child element is | |||
moved into a [RFC5730] <extValue> <value> element, with the namespace | moved into an [RFC5730] <extValue> <value> element, with the | |||
URI included in the corresponding <extValue> <reason> element. If | namespace URI included in the corresponding <extValue> <reason> | |||
after moving the command-response child element there are no | element. If after moving the command-response child element there | |||
additional command-response child elements, the <extension> element | are no additional command-response child elements, the <extension> | |||
MUST be removed. | element MUST be removed. | |||
Template response for a supported command-response extension. The | Template response for a supported command-response extension. The | |||
[NAMESPACE-XML] variable represents the command-response extension | [NAMESPACE-XML] variable represents the command-response extension | |||
XML. | XML. | |||
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 8, line 50 ¶ | skipping to change at page 8, line 50 ¶ | |||
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> | |||
The EPP response is converted to an unhandled namespace response by | The EPP response is converted to an unhandled namespace response by | |||
moving the unhandled command-response extension from under the | moving the unhandled command-response extension from under the | |||
<extension> to an <extValue> element. Below is example of converting | <extension> to an <extValue> element. Below is example of converting | |||
the DS Data Interface <info> response example in [RFC5910] to an | the DS Data Interface <info> response example in Section 5.1.2 of | |||
unhandled namespace response. | [RFC5910] to an unhandled namespace response. | |||
[RFC5910] DS Data Interface <info> response converted into an | [RFC5910] DS Data Interface <info> response converted into an | |||
unhandled namespace response. | unhandled namespace response: | |||
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: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||
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: <extValue> | S: <extValue> | |||
S: <value> | S: <value> | |||
S: <secDNS:infData | S: <secDNS:infData | |||
S: xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"> | S: xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"> | |||
S: <secDNS:dsData> | S: <secDNS:dsData> | |||
S: <secDNS:keyTag>12345</secDNS:keyTag> | S: <secDNS:keyTag>12345</secDNS:keyTag> | |||
S: <secDNS:alg>3</secDNS:alg> | S: <secDNS:alg>3</secDNS:alg> | |||
skipping to change at page 10, line 17 ¶ | skipping to change at page 10, line 18 ¶ | |||
S: </resData> | S: </resData> | |||
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> | |||
4. Signaling Client and Server Support | 4. Signaling Client and Server Support | |||
This document does not define new protocol but an operational | This document does not define new EPP protocol elements but rather | |||
practice using the existing EPP protocol, where the client and the | specifies an operational practice using the existing EPP protocol, | |||
server can signal support for the operational practice using a | where the client and the server can signal support for the | |||
namespace URI in the login and greeting extension services. The | operational practice using a namespace URI in the login and greeting | |||
namespace URI "urn:ietf:params:xml:ns:epp:unhandled-namespaces-1.0" | extension services. The namespace URI | |||
is used to signal support for the operational practice. The client | "urn:ietf:params:xml:ns:epp:unhandled-namespaces-1.0" is used to | |||
includes the namespace URI in an <svcExtension> <extURI> element of | signal support for the operational practice. The client includes the | |||
the [RFC5730] <login> Command. The server includes the namespace URI | namespace URI in an <svcExtension> <extURI> element of the [RFC5730] | |||
in an <svcExtension> <extURI> element of the [RFC5730] Greeting. | <login> Command. The server includes the namespace URI in an | |||
<svcExtension> <extURI> element of the [RFC5730] Greeting. | ||||
A client that receives the namespace URI in the server's Greeting | A client that receives the namespace URI in the server's Greeting | |||
extension services can expect the following supported behavior by the | extension services can expect the following supported behavior by the | |||
server: | server: | |||
1. Support unhandled namespace object-level extensions and command- | 1. Support unhandled namespace object-level extensions and command- | |||
response extensions in EPP poll messages, per Section 6. | response extensions in EPP poll messages, per Section 6. | |||
2. Support the option of unhandled namespace command-response | 2. Support the option of unhandled namespace command-response | |||
extensions in general EPP responses, per Section 5. | extensions in general EPP responses, per Section 5. | |||
skipping to change at page 11, line 21 ¶ | skipping to change at page 11, line 31 ¶ | |||
command extension. The server MAY return an unhandled object-level | command extension. The server MAY return an unhandled object-level | |||
extension to the client as defined in Section 3.1. | extension to the client as defined in Section 3.1. | |||
Returning domain name Redemption Grace Period (RGP) data, based on | Returning domain name Redemption Grace Period (RGP) data, based on | |||
[RFC3915], provides an example of applying the unhandled namespace | [RFC3915], provides an example of applying the unhandled namespace | |||
approach for a general EPP response. If the client does not include | approach for a general EPP response. If the client does not include | |||
the "urn:ietf:params:xml:ns:rgp-1.0" namespace URI in the login | the "urn:ietf:params:xml:ns:rgp-1.0" namespace URI in the login | |||
services, and the domain <info> response of a domain name does have | services, and the domain <info> response of a domain name does have | |||
RGP information, the server MAY exclude the <rgp:infData> element | RGP information, the server MAY exclude the <rgp:infData> element | |||
from the EPP response or MAY include it under the <extValue> element | from the EPP response or MAY include it under the <extValue> element | |||
per Section 3.2. | per Section 3.2. Below is example of converting the domain name | |||
<info> response example in Section 4.1.2 of [RFC3915] to an unhandled | ||||
namespace response. | ||||
[RFC5731] domain name <info> response with the unhandled [RFC3915] | [RFC5731] domain name <info> response with the unhandled [RFC3915] | |||
<rgp:infData> element included under an <extValue> element: | <rgp:infData> element included under an <extValue> element: | |||
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: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
S: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 | ||||
S: epp-1.0.xsd"> | ||||
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: <extValue> | S: <extValue> | |||
S: <value> | S: <value> | |||
S: <rgp:infData xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0"> | S: <rgp:infData xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0" | |||
S: xsi:schemaLocation="urn:ietf:params:xml:ns:rgp-1.0 | ||||
S: rgp-1.0.xsd"> | ||||
S: <rgp:rgpStatus s="redemptionPeriod"/> | S: <rgp:rgpStatus s="redemptionPeriod"/> | |||
S: </rgp:infData> | S: </rgp:infData> | |||
S: </value> | S: </value> | |||
S: <reason> | S: <reason> | |||
S: urn:ietf:params:xml:ns:rgp-1.0 not in login services | S: urn:ietf:params:xml:ns:rgp-1.0 not in login services | |||
S: </reason> | S: </reason> | |||
S: </extValue> | S: </extValue> | |||
S: </result> | S: </result> | |||
S: <resData> | S: <resData> | |||
S: <domain:infData | S: <domain:infData | |||
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" | |||
S: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 | ||||
S: domain-1.0.xsd"> | ||||
S: <domain:name>example.com</domain:name> | S: <domain:name>example.com</domain:name> | |||
S: <domain:roid>EXAMPLE1-REP</domain:roid> | S: <domain:roid>EXAMPLE1-REP</domain:roid> | |||
S: <domain:status s="pendingDelete"/> | S: <domain:status s="pendingDelete"/> | |||
S: <domain:registrant>jd1234</domain:registrant> | S: <domain:registrant>jd1234</domain:registrant> | |||
S: <domain:contact type="admin">sh8013</domain:contact> | S: <domain:contact type="admin">sh8013</domain:contact> | |||
S: <domain:contact type="tech">sh8013</domain:contact> | S: <domain:contact type="tech">sh8013</domain:contact> | |||
S: <domain:ns> | S: <domain:ns> | |||
S: <domain:hostObj>ns1.example.com</domain:hostObj> | S: <domain:hostObj>ns1.example.com</domain:hostObj> | |||
S: <domain:hostObj>ns1.example.net</domain:hostObj> | S: <domain:hostObj>ns1.example.net</domain:hostObj> | |||
S: </domain:ns> | S: </domain:ns> | |||
S: <domain:host>ns1.example.com</domain:host> | S: <domain:host>ns1.example.com</domain:host> | |||
S: <domain:host>ns2.example.com</domain:host> | S: <domain:host>ns2.example.com</domain:host> | |||
S: <domain:clID>ClientX</domain:clID> | S: <domain:clID>ClientX</domain:clID> | |||
S: <domain:crID>ClientY</domain:crID> | S: <domain:crID>ClientY</domain:crID> | |||
S: <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate> | S: <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate> | |||
S: <domain:upID>ClientX</domain:upID> | S: <domain:upID>ClientX</domain:upID> | |||
S: <domain:upDate>2020-12-03T09:00:00.0Z</domain:upDate> | S: <domain:upDate>1999-12-03T09:00:00.0Z</domain:upDate> | |||
S: <domain:exDate>2021-04-03T22:00:00.0Z</domain:exDate> | S: <domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate> | |||
S: <domain:trDate>2000-04-08T09:00:00.0Z</domain:trDate> | S: <domain:trDate>2000-04-08T09:00:00.0Z</domain:trDate> | |||
S: <domain:authInfo> | S: <domain:authInfo> | |||
S: <domain:pw>2fooBAR</domain:pw> | S: <domain:pw>2fooBAR</domain:pw> | |||
S: </domain:authInfo> | S: </domain:authInfo> | |||
S: </domain:infData> | S: </domain:infData> | |||
S: </resData> | S: </resData> | |||
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> | |||
skipping to change at page 12, line 46 ¶ | skipping to change at page 13, line 24 ¶ | |||
poll messages that have been inserted by the server. The <poll> | poll messages that have been inserted by the server. The <poll> | |||
message response is an EPP response that includes the <msgQ> element | message response is an EPP response that includes the <msgQ> element | |||
that provides poll queue meta-data about the message. The unhandled | that provides poll queue meta-data about the message. The unhandled | |||
namespace approach, defined in Section 3, is used for an unhandled | namespace approach, defined in Section 3, is used for an unhandled | |||
object-level extension and for each of the unhandled command-response | object-level extension and for each of the unhandled command-response | |||
extensions attached to the <poll> message response. The resulting | extensions attached to the <poll> message response. The resulting | |||
EPP <poll> message response MAY have either or both the object-level | EPP <poll> message response MAY have either or both the object-level | |||
extension or command-response extensions moved to <extValue> | extension or command-response extensions moved to <extValue> | |||
elements, as defined in Section 3. | elements, as defined in Section 3. | |||
The Change Poll Message, as defined in [RFC8590], which is an | The Change Poll Message, as defined in Section 3.1.2 of [RFC8590], | |||
extension of any EPP object, is an example of applying the unhandled | which is an extension of any EPP object, is an example of applying | |||
namespace approach for EPP <poll> message responses. The object that | the unhandled namespace approach for EPP <poll> message responses. | |||
will be used in the examples is a [RFC5731] domain name object. | Below are examples of converting the domain name <info> response | |||
example in Section 3.1.2 of [RFC8590] to an unhandled namespace | ||||
response. The object that will be used in the examples is a | ||||
[RFC5731] domain name object. | ||||
[RFC5731] domain name <info> <poll> message response with the | [RFC5731] domain name <info> <poll> message response with the | |||
unhandled [RFC8590] <changePoll:changeData> element included under an | unhandled [RFC8590] <changePoll:changeData> element included under an | |||
<extValue> element: | <extValue> element: | |||
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="1301"> | S: <result code="1301"> | |||
S: <msg>Command completed successfully; ack to dequeue</msg> | S: <msg lang="en-US"> | |||
S: Command completed successfully; ack to dequeue</msg> | ||||
S: <extValue> | S: <extValue> | |||
S: <value> | S: <value> | |||
S: <changePoll:changeData | S: <changePoll:changeData | |||
S: xmlns:changePoll= | S: xmlns:changePoll="urn:ietf:params:xml:ns:changePoll-1.0" | |||
S: "urn:ietf:params:xml:ns:changePoll-1.0" | S: state="after"> | |||
S: state="after"> | ||||
S: <changePoll:operation>update</changePoll:operation> | S: <changePoll:operation>update</changePoll:operation> | |||
S: <changePoll:date> | S: <changePoll:date> | |||
S: 2020-11-22T05:00:00.000Z</changePoll:date> | S: 2013-10-22T14:25:57.0Z</changePoll:date> | |||
S: <changePoll:svTRID>12345-XYZ</changePoll:svTRID> | S: <changePoll:svTRID>12345-XYZ</changePoll:svTRID> | |||
S: <changePoll:who>URS Admin</changePoll:who> | S: <changePoll:who>URS Admin</changePoll:who> | |||
S: <changePoll:caseId type="urs">urs123 | S: <changePoll:caseId type="urs">urs123 | |||
S: </changePoll:caseId> | S: </changePoll:caseId> | |||
S: <changePoll:reason>URS Lock</changePoll:reason> | S: <changePoll:reason>URS Lock</changePoll:reason> | |||
S: </changePoll:changeData> | S: </changePoll:changeData> | |||
S: </value> | S: </value> | |||
S: <reason> | S: <reason> | |||
S: urn:ietf:params:xml:ns:changePoll-1.0 not in login services | S: urn:ietf:params:xml:ns:changePoll-1.0 not in login services | |||
S: </reason> | S: </reason> | |||
S: </extValue> | S: </extValue> | |||
S: </result> | S: </result> | |||
S: <msgQ count="15" id="1"> | S: <msgQ count="201" id="1"> | |||
S: <qDate>2020-11-22T05:00:00.000Z</qDate> | S: <qDate>2013-10-22T14:25:57.0Z</qDate> | |||
S: <msg>Registry initiated update of domain.</msg> | S: <msg>Registry initiated update of domain.</msg> | |||
S: </msgQ> | S: </msgQ> | |||
S: <resData> | S: <resData> | |||
S: <domain:infData | S: <domain:infData | |||
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
S: <domain:name>change-poll.tld</domain:name> | S: <domain:name>domain.example</domain:name> | |||
S: <domain:roid>EXAMPLE1-REP</domain:roid> | S: <domain:roid>EXAMPLE1-REP</domain:roid> | |||
S: <domain:status s="serverUpdateProhibited"/> | S: <domain:status s="ok"/> | |||
S: <domain:status s="serverDeleteProhibited"/> | ||||
S: <domain:status s="serverTransferProhibited"/> | ||||
S: <domain:registrant>jd1234</domain:registrant> | S: <domain:registrant>jd1234</domain:registrant> | |||
S: <domain:contact type="admin">sh8013</domain:contact> | S: <domain:contact type="admin">sh8013</domain:contact> | |||
S: <domain:contact type="tech">sh8013</domain:contact> | S: <domain:contact type="tech">sh8013</domain:contact> | |||
S: <domain:clID>ClientX</domain:clID> | S: <domain:clID>ClientX</domain:clID> | |||
S: <domain:crID>ClientY</domain:crID> | S: <domain:crID>ClientY</domain:crID> | |||
S: <domain:crDate>2012-05-03T04:00:00.000Z</domain:crDate> | S: <domain:crDate>2012-04-03T22:00:00.0Z</domain:crDate> | |||
S: <domain:upID>ClientZ</domain:upID> | S: <domain:exDate>2014-04-03T22:00:00.0Z</domain:exDate> | |||
S: <domain:upDate>2020-11-22T05:00:00.000Z</domain:upDate> | ||||
S: <domain:exDate>2021-05-03T04:00:00.000Z</domain:exDate> | ||||
S: </domain:infData> | S: </domain:infData> | |||
S: </resData> | S: </resData> | |||
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> | |||
Unhandled [RFC5731] domain name <info> <poll> message response and | Unhandled [RFC5731] domain name <info> <poll> message response and | |||
skipping to change at page 14, line 29 ¶ | skipping to change at page 15, line 4 ¶ | |||
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="1301"> | S: <result code="1301"> | |||
S: <msg>Command completed successfully; ack to dequeue</msg> | S: <msg>Command completed successfully; ack to dequeue</msg> | |||
S: <extValue> | S: <extValue> | |||
S: <value> | S: <value> | |||
S: <domain:infData | S: <domain:infData | |||
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
S: <domain:name>change-poll.tld</domain:name> | S: <domain:name>domain.example</domain:name> | |||
S: <domain:roid>EXAMPLE1-REP</domain:roid> | S: <domain:roid>EXAMPLE1-REP</domain:roid> | |||
S: <domain:status s="serverUpdateProhibited"/> | S: <domain:status s="ok"/> | |||
S: <domain:status s="serverDeleteProhibited"/> | ||||
S: <domain:status s="serverTransferProhibited"/> | ||||
S: <domain:registrant>jd1234</domain:registrant> | S: <domain:registrant>jd1234</domain:registrant> | |||
S: <domain:contact type="admin">sh8013</domain:contact> | S: <domain:contact type="admin">sh8013</domain:contact> | |||
S: <domain:contact type="tech">sh8013</domain:contact> | S: <domain:contact type="tech">sh8013</domain:contact> | |||
S: <domain:clID>ClientX</domain:clID> | S: <domain:clID>ClientX</domain:clID> | |||
S: <domain:crID>ClientY</domain:crID> | S: <domain:crID>ClientY</domain:crID> | |||
S: <domain:crDate>2012-05-03T04:00:00.000Z</domain:crDate> | S: <domain:crDate>2012-04-03T22:00:00.0Z</domain:crDate> | |||
S: <domain:upID>ClientZ</domain:upID> | S: <domain:exDate>2014-04-03T22:00:00.0Z</domain:exDate> | |||
S: <domain:upDate>2020-11-22T05:00:00.000Z</domain:upDate> | ||||
S: <domain:exDate>2021-05-03T04:00:00.000Z</domain:exDate> | ||||
S: </domain:infData> | S: </domain:infData> | |||
S: </value> | S: </value> | |||
S: <reason> | S: <reason> | |||
S: urn:ietf:params:xml:ns:domain-1.0 not in login services | S: urn:ietf:params:xml:ns:domain-1.0 not in login services | |||
S: </reason> | S: </reason> | |||
S: </extValue> | S: </extValue> | |||
S: <extValue> | S: <extValue> | |||
S: <value> | S: <value> | |||
S: <changePoll:changeData | S: <changePoll:changeData | |||
S: xmlns:changePoll="urn:ietf:params:xml:ns:changePoll-1.0" | S: xmlns:changePoll= | |||
S: "urn:ietf:params:xml:ns:changePoll-1.0" | ||||
S: state="after"> | S: state="after"> | |||
S: <changePoll:operation>update</changePoll:operation> | S: <changePoll:operation>update</changePoll:operation> | |||
S: <changePoll:date> | S: <changePoll:date> | |||
S: 2020-11-22T05:00:00.000Z</changePoll:date> | S: 2013-10-22T14:25:57.0Z</changePoll:date> | |||
S: <changePoll:svTRID>12345-XYZ</changePoll:svTRID> | S: <changePoll:svTRID>12345-XYZ</changePoll:svTRID> | |||
S: <changePoll:who>URS Admin</changePoll:who> | S: <changePoll:who>URS Admin</changePoll:who> | |||
S: <changePoll:caseId type="urs">urs123 | S: <changePoll:caseId type="urs">urs123 | |||
S: </changePoll:caseId> | S: </changePoll:caseId> | |||
S: <changePoll:reason>URS Lock</changePoll:reason> | S: <changePoll:reason>URS Lock</changePoll:reason> | |||
S: </changePoll:changeData> | S: </changePoll:changeData> | |||
S: </value> | S: </value> | |||
S: <reason> | S: <reason> | |||
S: urn:ietf:params:xml:ns:changePoll-1.0 not in login services | S: urn:ietf:params:xml:ns:changePoll-1.0 not in login services | |||
S: </reason> | S: </reason> | |||
S: </extValue> | S: </extValue> | |||
S: </result> | S: </result> | |||
S: <msgQ count="15" id="1"> | S: <msgQ count="201" id="1"> | |||
S: <qDate>2020-11-22T05:00:00.000Z</qDate> | S: <qDate>2013-10-22T14:25:57.0Z</qDate> | |||
S: <msg>Registry initiated update of domain.</msg> | S: <msg>Registry initiated update of domain.</msg> | |||
S: </msgQ> | S: </msgQ> | |||
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> | |||
7. Implementation Considerations | 7. Implementation Considerations | |||
skipping to change at page 16, line 4 ¶ | skipping to change at page 16, line 23 ¶ | |||
To reduce the likelihood of a client receiving unhandled namespace | To reduce the likelihood of a client receiving unhandled namespace | |||
information, the client should consider implementing the following: | information, the client should consider implementing the following: | |||
1. Ensure that the client presents the complete set of what it | 1. Ensure that the client presents the complete set of what it | |||
supports when presenting its login services. If there are gaps | supports when presenting its login services. If there are gaps | |||
between the services supported by the client and the login | between the services supported by the client and the login | |||
services included in the login command, the client may receive | services included in the login command, the client may receive | |||
unhandled namespace information that the client could have | unhandled namespace information that the client could have | |||
supported. | supported. | |||
2. Support all of the services included in the server greeting | 2. Support all of the services included in the server greeting | |||
services that may be included in an EPP response, including the | services that may be included in an EPP response, including the | |||
poll queue responses. The client should evaluate the gaps | poll queue responses. The client should evaluate the gaps | |||
between the greeting services and the login services provided in | between the greeting services and the login services provided in | |||
the login command to identify extensions that need to be | the login command to identify extensions that need to be | |||
supported. | supported. | |||
3. Proactively monitor for unhandled namespace information in the | 3. Proactively monitor for unhandled namespace information in the | |||
EPP responses, by looking for the inclusion of the <extValue> | EPP responses by looking for the inclusion of the <extValue> | |||
element in successful responses, recording the unsupported | element in successful responses, recording the unsupported | |||
namespace included in the <reason> element, and recording the | namespace included in the <reason> element, and recording the | |||
unhandled namespace information included in the <value> element | unhandled namespace information included in the <value> element | |||
for later processing. The unhandled namespace should be | for later processing. The unhandled namespace should be | |||
implemented by the client to ensure that information is processed | implemented by the client to ensure that information is processed | |||
fully in future EPP responses. | fully in future EPP responses. | |||
7.2. Server Implementation Considerations | 7.2. Server Implementation Considerations | |||
To assist the clients in recognizing unhandled namespaces, the server | To assist the clients in recognizing unhandled namespaces, the server | |||
skipping to change at page 18, line 47 ¶ | skipping to change at page 19, line 19 ¶ | |||
URL: https://www.nic.ch/cds | URL: https://www.nic.ch/cds | |||
10. Security Considerations | 10. Security Considerations | |||
This document does not provide any security services beyond those | This document does not provide any security services beyond those | |||
described by EPP [RFC5730] and protocol layers used by EPP. The | described by EPP [RFC5730] and protocol layers used by EPP. The | |||
security considerations described in these other specifications apply | security considerations described in these other specifications apply | |||
to this specification as well. Since the unhandled namespace context | to this specification as well. Since the unhandled namespace context | |||
is XML that is not processed in the first pass by the XML parser, the | is XML that is not processed in the first pass by the XML parser, the | |||
client SHOULD consider validating the XML when the content is | client SHOULD validate the XML when the content is processed to | |||
processed to protect against the inclusion of malicious content. | protect against the inclusion of malicious content. | |||
11. Acknowledgements | 11. Acknowledgements | |||
The authors wish to thank the following persons for their feedback | The authors wish to thank the following persons for their feedback | |||
and suggestions: Thomas Corte, Scott Hollenbeck, Patrick Mevzek, and | and suggestions: Thomas Corte, Scott Hollenbeck, Patrick Mevzek, and | |||
Marcel Parodi. | Marcel Parodi. | |||
12. References | 12. References | |||
12.1. Normative References | 12.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>. | |||
[RFC3915] Hollenbeck, S., "Domain Registry Grace Period Mapping for | ||||
the Extensible Provisioning Protocol (EPP)", RFC 3915, | ||||
DOI 10.17487/RFC3915, September 2004, | ||||
<https://www.rfc-editor.org/info/rfc3915>. | ||||
[RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax | [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax | |||
Specifications: ABNF", STD 68, RFC 5234, | Specifications: ABNF", STD 68, RFC 5234, | |||
DOI 10.17487/RFC5234, January 2008, | DOI 10.17487/RFC5234, January 2008, | |||
<https://www.rfc-editor.org/info/rfc5234>. | <https://www.rfc-editor.org/info/rfc5234>. | |||
[RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", | [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", | |||
STD 69, RFC 5730, DOI 10.17487/RFC5730, 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>. | |||
[RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) | [RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) | |||
Domain Name Mapping", STD 69, RFC 5731, | Domain Name Mapping", STD 69, RFC 5731, | |||
DOI 10.17487/RFC5731, August 2009, | DOI 10.17487/RFC5731, August 2009, | |||
<https://www.rfc-editor.org/info/rfc5731>. | <https://www.rfc-editor.org/info/rfc5731>. | |||
[RFC5910] Gould, J. and S. Hollenbeck, "Domain Name System (DNS) | ||||
Security Extensions Mapping for the Extensible | ||||
Provisioning Protocol (EPP)", RFC 5910, | ||||
DOI 10.17487/RFC5910, May 2010, | ||||
<https://www.rfc-editor.org/info/rfc5910>. | ||||
[RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | |||
Code: The Implementation Status Section", BCP 205, | Code: The Implementation Status Section", BCP 205, | |||
RFC 7942, DOI 10.17487/RFC7942, July 2016, | RFC 7942, DOI 10.17487/RFC7942, July 2016, | |||
<https://www.rfc-editor.org/info/rfc7942>. | <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>. | |||
[RFC8590] Gould, J. and K. Feher, "Change Poll Extension for the | ||||
Extensible Provisioning Protocol (EPP)", RFC 8590, | ||||
DOI 10.17487/RFC8590, May 2019, | ||||
<https://www.rfc-editor.org/info/rfc8590>. | ||||
12.2. Informative References | 12.2. Informative References | |||
[RFC3735] Hollenbeck, S., "Guidelines for Extending the Extensible | [RFC3735] Hollenbeck, S., "Guidelines for Extending the Extensible | |||
Provisioning Protocol (EPP)", RFC 3735, | Provisioning Protocol (EPP)", RFC 3735, | |||
DOI 10.17487/RFC3735, March 2004, | DOI 10.17487/RFC3735, March 2004, | |||
<https://www.rfc-editor.org/info/rfc3735>. | <https://www.rfc-editor.org/info/rfc3735>. | |||
[RFC3915] Hollenbeck, S., "Domain Registry Grace Period Mapping for | ||||
the Extensible Provisioning Protocol (EPP)", RFC 3915, | ||||
DOI 10.17487/RFC3915, September 2004, | ||||
<https://www.rfc-editor.org/info/rfc3915>. | ||||
[RFC5910] Gould, J. and S. Hollenbeck, "Domain Name System (DNS) | ||||
Security Extensions Mapping for the Extensible | ||||
Provisioning Protocol (EPP)", RFC 5910, | ||||
DOI 10.17487/RFC5910, May 2010, | ||||
<https://www.rfc-editor.org/info/rfc5910>. | ||||
[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>. | |||
[RFC8590] Gould, J. and K. Feher, "Change Poll Extension for the | ||||
Extensible Provisioning Protocol (EPP)", RFC 8590, | ||||
DOI 10.17487/RFC8590, May 2019, | ||||
<https://www.rfc-editor.org/info/rfc8590>. | ||||
Appendix A. Change History | Appendix A. Change History | |||
A.1. Change from 00 to 01 | A.1. Change from 00 to 01 | |||
1. Removed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 1. Removed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
reference from examples. | reference from examples. | |||
2. removed <extension></extension> block from example. | 2. removed <extension></extension> block from example. | |||
3. added SWITCH Automated DNSSEC Provisioning Process at | 3. added SWITCH Automated DNSSEC Provisioning Process at | |||
Implementation Status | Implementation Status | |||
A.2. Change from 01 to 02 | A.2. Change from 01 to 02 | |||
1. Ping update | 1. Ping update | |||
A.3. Change from 02 to REGEXT 00 | A.3. Change from 02 to REGEXT 00 | |||
1. Changed to regext working group draft by changing draft-gould- | 1. Changed to regext working group draft by changing draft-gould- | |||
skipping to change at page 22, line 26 ¶ | skipping to change at page 22, line 45 ¶ | |||
5. In section 8.2, changed the Registrant Name from "IESG" to | 5. In section 8.2, changed the Registrant Name from "IESG" to | |||
"IETF". | "IETF". | |||
6. In section 10, changed "The document do not provide" to "This | 6. In section 10, changed "The document do not provide" to "This | |||
document does not provide". | document does not provide". | |||
7. In section 10, added the sentence "Since the unhandled namespace | 7. In section 10, added the sentence "Since the unhandled namespace | |||
context is XML that is not processed in the first pass by the XML | context is XML that is not processed in the first pass by the XML | |||
parser, the client SHOULD consider validating the XML when the | parser, the client SHOULD consider validating the XML when the | |||
content is processed to protect against the inclusion of | content is processed to protect against the inclusion of | |||
malicious content.". | malicious content.". | |||
A.11. Change from REGEXT 07 to REGEXT 08 | ||||
1. Nit updates made based on the feedback provided by Peter Yee. | ||||
2. Update to the definition of the <value> element based on feedback | ||||
from Sabrina Tanamal. | ||||
3. Added a sentence in the Introduction section to cover the poison | ||||
poll message motivation based on feedback from Qin Wu. | ||||
4. Changed "does not define new protocol" to "does not define new | ||||
EPP protocol elements" based on feedback from Erik Kline. | ||||
5. Changed to use "apply" instead of "support" language in Section 3 | ||||
based on feedback from Benjamin Kaduk. | ||||
6. Updated the examples that reference RFC examples to reference the | ||||
RFC section of the example and have the starting XML match based | ||||
on feedback from Benjamin Kaduk. | ||||
7. Changed "SHOULD consider validating" to "SHOULD validate" in the | ||||
Security Considerations section based on feedback from Benjamin | ||||
Kaduk. | ||||
8. Moved RFC 3915, RFC 5910, and RFC 8590 as informational | ||||
references based on feedback from Benjamin Kaduk. | ||||
Authors' Addresses | Authors' Addresses | |||
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: http://www.verisigninc.com | |||
End of changes. 54 change blocks. | ||||
124 lines changed or deleted | 158 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/ |