draft-ietf-regext-change-poll-05.txt | draft-ietf-regext-change-poll-06.txt | |||
---|---|---|---|---|
Network Working Group J. Gould | Network Working Group J. Gould | |||
Internet-Draft VeriSign, Inc. | Internet-Draft VeriSign, Inc. | |||
Intended status: Standards Track K. Feher | Intended status: Standards Track K. Feher | |||
Expires: July 6, 2018 Neustar | Expires: July 9, 2018 Neustar | |||
January 2, 2018 | January 5, 2018 | |||
Change Poll Extension for the Extensible Provisioning Protocol (EPP) | Change Poll Extension for the Extensible Provisioning Protocol (EPP) | |||
draft-ietf-regext-change-poll-05 | draft-ietf-regext-change-poll-06 | |||
Abstract | Abstract | |||
This document describes an Extensible Provisioning Protocol (EPP) | This document describes an Extensible Provisioning Protocol (EPP) | |||
extension for notifying clients of operations on client sponsored | extension for notifying clients of operations on client sponsored | |||
objects that were not initiated by the client through EPP. These | objects that were not initiated by the client through EPP. These | |||
operations MAY include contractual or policy requirements including | operations MAY include contractual or policy requirements including | |||
but not limited to regular batch processes, customer support actions, | but not limited to regular batch processes, customer support actions, | |||
Uniform Domain-Name Dispute-Resolution Policy (UDRP) or Uniform Rapid | Uniform Domain-Name Dispute-Resolution Policy (UDRP) or Uniform Rapid | |||
Suspension (URS) actions, court directed actions, and bulk updates | Suspension (URS) actions, court directed actions, and bulk updates | |||
skipping to change at page 1, line 42 ¶ | skipping to change at page 1, line 42 ¶ | |||
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 http://datatracker.ietf.org/drafts/current/. | Drafts is at http://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 July 6, 2018. | This Internet-Draft will expire on July 9, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 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 | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://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 | |||
skipping to change at page 2, line 21 ¶ | skipping to change at page 2, line 21 ¶ | |||
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. Conventions Used in This Document . . . . . . . . . . . . 3 | 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 | |||
2. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2.1. Operation . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.1. Operation . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2.2. Who . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.2. State . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2.3. Dates and Times . . . . . . . . . . . . . . . . . . . . . 5 | 2.3. Who . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
2.4. Dates and Times . . . . . . . . . . . . . . . . . . . . . 5 | ||||
3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 5 | 3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 5 | 3.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 5 | |||
3.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 5 | 3.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 6 | |||
3.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . 5 | 3.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . 6 | |||
3.1.3. EPP <transfer> Command . . . . . . . . . . . . . . . 15 | 3.1.3. EPP <transfer> Command . . . . . . . . . . . . . . . 16 | |||
3.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 15 | 3.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 16 | |||
3.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 15 | 3.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 16 | |||
3.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 15 | 3.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 16 | |||
3.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 15 | 3.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 16 | |||
3.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 15 | 3.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 16 | |||
3.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 15 | 3.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 16 | |||
4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 15 | 4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
4.1. Change Poll Extension Schema . . . . . . . . . . . . . . 16 | 4.1. Change Poll Extension Schema . . . . . . . . . . . . . . 17 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | |||
5.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 18 | 5.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 19 | |||
5.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 19 | 5.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 20 | |||
6. Implementation Status . . . . . . . . . . . . . . . . . . . . 19 | 6. Implementation Status . . . . . . . . . . . . . . . . . . . . 20 | |||
6.1. Verisign EPP SDK . . . . . . . . . . . . . . . . . . . . 20 | 6.1. Verisign EPP SDK . . . . . . . . . . . . . . . . . . . . 21 | |||
6.2. Verisign Consolidated Top Level Domain (CTLD) SRS . . . . 20 | 6.2. Verisign Consolidated Top Level Domain (CTLD) SRS . . . . 21 | |||
6.3. Verisign .COM / .NET SRS . . . . . . . . . . . . . . . . 20 | 6.3. Verisign .COM / .NET SRS . . . . . . . . . . . . . . . . 21 | |||
6.4. Neustar EPP SDK . . . . . . . . . . . . . . . . . . . . . 21 | 6.4. Neustar EPP SDK . . . . . . . . . . . . . . . . . . . . . 22 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 22 | |||
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 | 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 | |||
9. Normative References . . . . . . . . . . . . . . . . . . . . 22 | 9. Normative References . . . . . . . . . . . . . . . . . . . . 23 | |||
Appendix A. Change History . . . . . . . . . . . . . . . . . . . 22 | Appendix A. Change History . . . . . . . . . . . . . . . . . . . 23 | |||
A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 22 | A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 23 | |||
A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 23 | A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 24 | |||
A.3. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 23 | A.3. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 24 | |||
A.4. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 23 | A.4. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 24 | |||
A.5. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 23 | A.5. Change from 04 to 05 . . . . . . . . . . . . . . . . . . 24 | |||
A.6. Change from 05 to REGEXT 00 . . . . . . . . . . . . . . . 23 | A.6. Change from 05 to REGEXT 00 . . . . . . . . . . . . . . . 24 | |||
A.7. Change from REGEXT 00 to REGEXT 01 . . . . . . . . . . . 23 | A.7. Change from REGEXT 00 to REGEXT 01 . . . . . . . . . . . 24 | |||
A.8. Change from REGEXT 01 to REGEXT 02 . . . . . . . . . . . 23 | A.8. Change from REGEXT 01 to REGEXT 02 . . . . . . . . . . . 24 | |||
A.9. Change from REGEXT 02 to REGEXT 03 . . . . . . . . . . . 23 | A.9. Change from REGEXT 02 to REGEXT 03 . . . . . . . . . . . 24 | |||
A.10. Change from REGEXT 03 to REGEXT 04 . . . . . . . . . . . 23 | A.10. Change from REGEXT 03 to REGEXT 04 . . . . . . . . . . . 24 | |||
A.11. Change from REGEXT 04 to REGEXT 05 . . . . . . . . . . . 23 | A.11. Change from REGEXT 04 to REGEXT 05 . . . . . . . . . . . 24 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | A.12. Change from REGEXT 05 to REGEXT 06 . . . . . . . . . . . 25 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 | ||||
1. Introduction | 1. Introduction | |||
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 Provisioning Protocol (EPP) [RFC5730]. This mapping, an | Extensible Provisioning Protocol (EPP) [RFC5730]. This mapping, an | |||
extension to EPP object mappings like the EPP domain name mapping | extension to EPP object mappings like the EPP domain name mapping | |||
[RFC5731], is used to notify clients of operations they are not | [RFC5731], is used to notify clients of operations they are not | |||
directly involved in, on objects that the client sponsors. It is up | directly involved in, on objects that the client sponsors. It is up | |||
to server policy to determine what transform operations and clients | to server policy to determine what transform operations and clients | |||
to notify. Using this extension, clients can more easily keep their | to notify. Using this extension, clients can more easily keep their | |||
skipping to change at page 4, line 20 ¶ | skipping to change at page 4, line 20 ¶ | |||
2.1. Operation | 2.1. Operation | |||
An operation consists of any transform operation that impacts objects | An operation consists of any transform operation that impacts objects | |||
that the client sponsers and SHOULD be notified of. The | that the client sponsers and SHOULD be notified of. The | |||
<changePoll:operation> element defines the operation. The OPTIONAL | <changePoll:operation> element defines the operation. The OPTIONAL | |||
"op" attribute is used to define a sub-operation or the name of a | "op" attribute is used to define a sub-operation or the name of a | |||
"custom" operation. The enumerated list of <changePoll:operation> | "custom" operation. The enumerated list of <changePoll:operation> | |||
values include: | values include: | |||
"create" Create operation as defined in [RFC5730]. | "create": Create operation as defined in [RFC5730]. | |||
"delete" Delete operation as defined in [RFC5730]. If the delete | "delete": Delete operation as defined in [RFC5730]. If the delete | |||
operation results in an immediate purge of the object, then the | operation results in an immediate purge of the object, then the | |||
"op" attribute MUST be set to "purge". | "op" attribute MUST be set to "purge". | |||
"renew" Renew operation as defined in [RFC5730]. | "renew": Renew operation as defined in [RFC5730]. | |||
"transfer" Transfer operation as defined in [RFC5730] that MUST set | "transfer": Transfer operation as defined in [RFC5730] that MUST set | |||
the "op" attribute with one of the possible transfer type values | the "op" attribute with one of the possible transfer type values | |||
that include "request", "approve", "cancel", or "reject". | that include "request", "approve", "cancel", or "reject". | |||
"update" Update operation as defined in [RFC5730]. | "update": Update operation as defined in [RFC5730]. | |||
"restore" Restore operation as defined in [RFC3915] that MUST set | "restore": Restore operation as defined in [RFC3915] that MUST set | |||
the "op" attribute with one of the possible restore type values | the "op" attribute with one of the possible restore type values | |||
that include "request" or "report". | that include "request" or "report". | |||
"autoRenew" Auto renew operation executed by the server. | "autoRenew": Auto renew operation executed by the server. | |||
"autoDelete" Auto delete operation executed by the server. If the | "autoDelete": Auto delete operation executed by the server. If the | |||
"autoDelete" operation results in an immediate purge of the | "autoDelete" operation results in an immediate purge of the | |||
object, then the "op" attribute MUST be set to "purge". | object, then the "op" attribute MUST be set to "purge". | |||
"autoPurge" Auto purge operation executed by the server when | "autoPurge": Auto purge operation executed by the server when | |||
removing the object after it had the "pendingDelete" status. | removing the object after it had the "pendingDelete" status. | |||
"custom" Custom operation that MUST set the "op" attribute with the | "custom": Custom operation that MUST set the "op" attribute with the | |||
custom operation name. | custom operation name. | |||
2.2. Who | 2.2. State | |||
The state attribute reflects the state of the object "before" or | ||||
"after" the operation. The state is defined using the OPTIONAL | ||||
"state" attribute of the <changePoll:changeData> element, with the | ||||
possible values "before" or "after" and with a default value of | ||||
"after". The server MAY support both the "before" state and the | ||||
"after" state of the operation, by using one poll message for the | ||||
"before" state and one poll message for the "after" state. The | ||||
"before" state poll message MUST be inserted prior to the "after" | ||||
state poll message. | ||||
For operations in Section 2.1 that don't have an "after" state, the | ||||
server MUST use the "before" state poll message. For example, for | ||||
the "delete" operation with the "op" attribute set to "purge", or the | ||||
"autoPurge" operation, the server includes the state of the object | ||||
prior to being purged in the "before" state poll message. | ||||
For operations in Section 2.1 that don't have a "before" state, the | ||||
server MUST use the "after" state poll message. For example, for the | ||||
"create" operation, the server includes the state of the object after | ||||
creation in the "after" state poll message. | ||||
2.3. Who | ||||
The <changePoll:who> element defines who executed the operation for | The <changePoll:who> element defines who executed the operation for | |||
audit purposes. The scheme used for the possible set of | audit purposes. The scheme used for the possible set of | |||
<changePoll:who> element values is up to server policy. The server | <changePoll:who> element values is up to server policy. The server | |||
MAY identify the <changePoll:who> element value based on: | MAY identify the <changePoll:who> element value based on: | |||
"Identifier" Unique user identifier of the user that executed the | "Identifier": Unique user identifier of the user that executed the | |||
operation. An example is "ClientX". | operation. An example is "ClientX". | |||
"Name" Name of the user that executed the operation. An example is | "Name": Name of the user that executed the operation. An example is | |||
"John Doe". | "John Doe". | |||
"Role": Role of the user that executed operation. An example is | ||||
"Role" Role of the user that executed operation. An example is | ||||
"CSR" for a Customer Support Representative or "Batch" for a | "CSR" for a Customer Support Representative or "Batch" for a | |||
server batch. | server batch. | |||
2.3. Dates and Times | 2.4. Dates and Times | |||
Date and time attribute values MUST be represented in Universal | Date and time attribute values MUST be represented 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 | date-time form using upper case "T" and "Z" characters defined in | |||
[W3C.REC-xmlschema-2-20041028] MUST be used to represent date-time | [W3C.REC-xmlschema-2-20041028] MUST be used to represent date-time | |||
values, as XML Schema does not support truncated date-time forms or | values, as XML Schema does not support truncated date-time forms or | |||
lower case "T" and "Z" characters. | lower case "T" and "Z" characters. | |||
3. EPP Command Mapping | 3. EPP Command Mapping | |||
skipping to change at page 5, line 50 ¶ | skipping to change at page 6, line 25 ¶ | |||
This extension adds operation detail of EPP object mapping operations | This extension adds operation detail of EPP object mapping operations | |||
Section 2.1 to an EPP poll response, as described in [RFC5730], that | Section 2.1 to an EPP poll response, as described in [RFC5730], that | |||
is an extension of the EPP object mapping info response. Any | is an extension of the EPP object mapping info response. Any | |||
transform operation to an object defined in an EPP object mapping, by | transform operation to an object defined in an EPP object mapping, by | |||
a client other than the sponsoring client, MAY result in extending | a client other than the sponsoring client, MAY result in extending | |||
the <info> response of the object for inserting an EPP poll message | the <info> response of the object for inserting an EPP poll message | |||
with the operation detail. The sponsoring client will then receive | with the operation detail. The sponsoring client will then receive | |||
the state of the object with operation detail like what, who, when, | the state of the object with operation detail like what, who, when, | |||
and why the object was changed. The <changePoll:changeData> element | and why the object was changed. The <changePoll:changeData> element | |||
contains the operation detail along with an indication of whether the | contains the operation detail along with an indication of whether the | |||
object reflects the state before or after the operation, using the | object reflects the state before or after the operation as defined in | |||
OPTIONAL "state" attribute, with the possible values of "before" or | Section 2.2. The <changePoll:changeData> element includes the | |||
"after", and with a default value of "after". The "state" attribute | operation detail with the following child elements: | |||
describes the state of the response data or <resData> block returned | ||||
in the poll response. The server MAY support providing the "before" | ||||
state and "after" state to the operation, by using one poll message | ||||
for the "before" state and one poll message for the "after" state. | ||||
When using the "before" state poll message, it MUST be inserted prior | ||||
to the "after" state poll message. The <changePoll:changeData> | ||||
element includes the operation detail with the following child | ||||
elements: | ||||
<changePoll:operation> Transform operation executed on the object as | <changePoll:operation>: Transform operation executed on the object | |||
defined in Section 2.1. | as defined in Section 2.1. | |||
<changePoll:date> Date and time when the operation was executed. | <changePoll:date>: Date and time when the operation was executed. | |||
<changePoll:svTRID> Server transaction identifier of the operation. | <changePoll:svTRID>: Server transaction identifier of the operation. | |||
<changePoll:who> Who executed the operation as defined in | <changePoll:who>: Who executed the operation as defined in | |||
Section 2.2. | Section 2.3. | |||
<changePoll:caseId> OPTIONAL case identifer associated with the | <changePoll:caseId>: OPTIONAL case identifer associated with the | |||
operation. The required "type" attribute defines the type of | operation. The required "type" attribute defines the type of | |||
case with an enumerated list of case types including: | case with an enumerated list of case types including: | |||
udrp a Uniform Domain-Name Dispute-Resolution Policy (UDRP) | udrp: a Uniform Domain-Name Dispute-Resolution Policy (UDRP) | |||
case. | case. | |||
urs a Uniform Rapid Suspension (URS) case. | urs: a Uniform Rapid Suspension (URS) case. | |||
custom A custom case that is defined using the "name" attribute. | custom: A custom case that is defined using the "name" | |||
<changePoll:reason> OPTIONAL reason for executing the operation. If | attribute. | |||
present, this element contains the server-specific text to help | <changePoll:reason>: OPTIONAL reason for executing the operation. | |||
explain the reason the operation was executed. This text MUST be | If present, this element contains the server-specific text to | |||
represented in the response language previously negotiated with | help explain the reason the operation was executed. This text | |||
the client; an OPTIONAL "lang" attribute MAY be present to | MUST be represented in the response language previously | |||
identify the language if the negotiated value is something other | negotiated with the client; an OPTIONAL "lang" attribute MAY be | |||
than the default value of "en" (English). | present to identify the language if the negotiated value is | |||
something other than the default value of "en" (English). | ||||
Example poll <info> response with the <changePoll:changeData> | Example poll <info> response with the <changePoll:changeData> | |||
extension for a URS lock transaction on the domain.example domain | extension for a URS lock transaction on the domain.example domain | |||
name, with the "before" state. The "before" state is reflected in | name, with the "before" state. The "before" state is reflected in | |||
the <resData> block: | the <resData> block: | |||
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="1301"> | S: <result code="1301"> | |||
skipping to change at page 24, line 18 ¶ | skipping to change at page 25, line 18 ¶ | |||
3. Rephrased the first sentence of the Who section. | 3. Rephrased the first sentence of the Who section. | |||
4. Added references to the <changePoll:who> element in the Who | 4. Added references to the <changePoll:who> element in the Who | |||
section. | section. | |||
5. Revise the sentence that describes how the extension extends | 5. Revise the sentence that describes how the extension extends | |||
the info response in the EPP <info> Command section. | the info response in the EPP <info> Command section. | |||
6. Refer to EPP Object Mapping as EPP object mapping throughout | 6. Refer to EPP Object Mapping as EPP object mapping throughout | |||
the document. | the document. | |||
7. Add a Dates and Times section to the Object Attributes | 7. Add a Dates and Times section to the Object Attributes | |||
section. | section. | |||
A.12. Change from REGEXT 05 to REGEXT 06 | ||||
1. Added the "State" sub-section to the "Object Attributes" section | ||||
to describe the expected behavior for the "before" and "after" | ||||
states, based on feedback from Patrick Mevzek. | ||||
2. Added a colon suffix to each hangText entry to provide better | ||||
separation. | ||||
Authors' Addresses | Authors' Addresses | |||
James Gould | James Gould | |||
VeriSign, Inc. | VeriSign, Inc. | |||
12061 Bluemont Way | 12061 Bluemont Way | |||
Reston, VA 20190 | Reston, VA 20190 | |||
US | US | |||
Email: jgould@verisign.com | Email: jgould@verisign.com | |||
URI: http://www.verisigninc.com | URI: http://www.verisigninc.com | |||
End of changes. 21 change blocks. | ||||
85 lines changed or deleted | 110 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |