draft-ietf-regext-org-ext-01.txt | draft-ietf-regext-org-ext-02.txt | |||
---|---|---|---|---|
Internet Engineering Task Force L. Zhou | Internet Engineering Task Force L. Zhou | |||
Internet-Draft N. Kong | Internet-Draft N. Kong | |||
Intended status: Standards Track J. Wei | Intended status: Standards Track J. Wei | |||
Expires: June 8, 2018 X. Lee | Expires: September 1, 2018 X. Lee | |||
CNNIC | CNNIC | |||
J. Gould | J. Gould | |||
VeriSign, Inc. | VeriSign, Inc. | |||
December 5, 2017 | February 28, 2018 | |||
Organization Extension for the Extensible Provisioning Protocol (EPP) | Organization Extension for the Extensible Provisioning Protocol (EPP) | |||
draft-ietf-regext-org-ext-01 | draft-ietf-regext-org-ext-02 | |||
Abstract | Abstract | |||
This mapping, an extension to EPP object mappings like the EPP domain | This mapping, an extension to EPP object mappings like the EPP domain | |||
name mapping [RFC5731], to support assigning an organization to any | name mapping [RFC5731], to support assigning an organization to any | |||
existing object (domain, host, contact) as well as any future | existing object (domain, host, contact) as well as any future | |||
objects. Specified in Extensible Markup Language (XML), this | objects. | |||
extended mapping is applied to provide additional features required | ||||
for the provisioning of organizations. | ||||
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 June 8, 2018. | This Internet-Draft will expire on September 1, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2017 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 | |||
(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 | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 2, line 33 ¶ | skipping to change at page 2, line 31 ¶ | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | |||
3. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3.1. Organization Identifier . . . . . . . . . . . . . . . . . 4 | 3.1. Organization Identifier . . . . . . . . . . . . . . . . . 4 | |||
4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 4 | 4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 4 | |||
4.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 4 | 4.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 4 | |||
4.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 4 | 4.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 4 | |||
4.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . 4 | 4.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . 4 | |||
4.1.3. EPP <transfer> Command . . . . . . . . . . . . . . . 7 | 4.1.3. EPP <transfer> Command . . . . . . . . . . . . . . . 7 | |||
4.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 7 | 4.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 8 | |||
4.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 7 | 4.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 8 | |||
4.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 8 | 4.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 10 | |||
4.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 8 | 4.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 10 | |||
4.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 9 | 4.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 11 | |||
4.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 9 | 4.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 11 | |||
5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 11 | 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
6. Internationalization Considerations . . . . . . . . . . . . . 13 | 6. Internationalization Considerations . . . . . . . . . . . . . 18 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 | |||
7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 14 | 7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 18 | |||
7.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 14 | 7.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 18 | |||
8. Implementation Status . . . . . . . . . . . . . . . . . . . . 14 | 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 19 | |||
8.1. CNNIC Impelementation . . . . . . . . . . . . . . . . . . 15 | 8.1. CNNIC Implementation . . . . . . . . . . . . . . . . . . 19 | |||
8.2. Reseller Extension . . . . . . . . . . . . . . . . . . . 15 | 8.2. Reseller Extension . . . . . . . . . . . . . . . . . . . 20 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | |||
10. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 16 | 10. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
11.1. Normative References . . . . . . . . . . . . . . . . . . 16 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 20 | |||
11.2. Informative References . . . . . . . . . . . . . . . . . 17 | 11.2. Informative References . . . . . . . . . . . . . . . . . 21 | |||
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 21 | ||||
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 17 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | ||||
1. Introduction | 1. Introduction | |||
In the business model of domain registration, we usually have 3 roles | In the business model of domain registration, we usually have 3 roles | |||
of entities, a registrant, a registrar and a registry. There may | of entities, a registrant, a registrar and a registry. There may | |||
have some other roles of entities involved in the domain registration | have some other roles of entities involved in the domain registration | |||
process which are not formally defined, such as resellers, DNS | process which are not formally defined, such as resellers, DNS | |||
service operators, privacy proxy, etc. | service operators, privacy proxy, etc. | |||
A domain reseller is an individual or a company that acts as a agent | A domain reseller is an individual or a company that acts as a agent | |||
for accredited registrars. A third-party DNS service operator is | for accredited registrars. A third-party DNS service operator is | |||
responsible for a zone where the operator is neither the registrant | responsible for a zone where the operator is neither the registrant | |||
nor the registrar of records for the delegation. And a privacy proxy | nor the registrar of records for the delegation. And a privacy proxy | |||
is an entity that provides with individuals or organizations domain | is an entity that provides with individuals or organizations domain | |||
registration without exposing their private information. These kind | registration without exposing their private information. These kind | |||
of entities are defined as "organizations" with different role types | of entities are defined as "organizations" with different role types | |||
in this document. | in this document. | |||
In order to facilitate provisioning and management of organization | In order to facilitate provisioning and management of organization | |||
information in a shared central repository, this document proposes a | information in a shared central repository, this document proposes an | |||
organization extension mapping for any EPP object like domain names | organization extension mapping for any EPP object like domain names | |||
in [RFC5731], hosts in [RFC5732] and contacts in [RFC5733]. The | in [RFC5731], hosts in [RFC5732] and contacts in [RFC5733]. The | |||
examples provided in this document are used for the domain object for | examples provided in this document are used for the domain object for | |||
illustration purpose. The host and contact object could be extended | illustration purpose. The host and contact object could be extended | |||
in the same way with the domain object. | in the same way with the domain object. | |||
A organization mapping object defined in [ID.draft-ietf-regext-org] | An organization mapping object defined in [ID.draft-ietf-regext-org] | |||
SHOULD be created first. The organization information specified in | SHOULD be created first. The organization information specified in | |||
this document MUST reference the existing organization identifier. | this document MUST reference the existing organization identifier. | |||
This document is specified using the XML 1.0 as described in | This document is specified using the XML 1.0 as described in | |||
[W3C.REC-xml-20040204] and XML Schema notation as described in | [W3C.REC-xml-20040204] and XML Schema notation as described in | |||
[W3C.REC-xmlschema-1-20041028] and [W3C.REC-xmlschema-2-20041028]. | [W3C.REC-xmlschema-1-20041028] and [W3C.REC-xmlschema-2-20041028]. | |||
2. Conventions Used in This Document | 2. 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", | |||
skipping to change at page 4, line 50 ¶ | skipping to change at page 4, line 46 ¶ | |||
This extension does not add any elements to the EPP <check> command | This extension does not add any elements to the EPP <check> command | |||
or <check> response described in the EPP domain name mapping | or <check> response described in the EPP domain name mapping | |||
[RFC5731], host mapping [RFC5732] and contact mapping [RFC5733]. | [RFC5731], host mapping [RFC5732] and contact mapping [RFC5733]. | |||
4.1.2. EPP <info> Command | 4.1.2. EPP <info> Command | |||
This extension does not add any element to the EPP <info> command | This extension does not add any element to the EPP <info> command | |||
described in the EPP domain mapping [RFC5731], host mapping [RFC5732] | described in the EPP domain mapping [RFC5731], host mapping [RFC5732] | |||
and contact mapping [RFC5733]. However, additional elements are | and contact mapping [RFC5733]. However, additional elements are | |||
defined for the <info> response. | defined for the <info> response in the EPP domain mapping [RFC5731], | |||
host mapping [RFC5732] and contact mapping [RFC5733]. | ||||
Example <info> command: | Example <info> command: | |||
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
C: <command> | C: <command> | |||
C: <info> | C: <info> | |||
C: <domain:info | C: <domain:info | |||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
C: <domain:name>example.com</domain:name> | C: <domain:name>example.com</domain:name> | |||
skipping to change at page 5, line 26 ¶ | skipping to change at page 5, line 26 ¶ | |||
C: </info> | C: </info> | |||
C: <clTRID>ngcl-mIFICBNP</clTRID> | C: <clTRID>ngcl-mIFICBNP</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
When an <info> command has been processed successfully, the EPP | When an <info> command has been processed successfully, the EPP | |||
<resData> element MUST contain child elements as described in the EPP | <resData> element MUST contain child elements as described in the EPP | |||
object extensions. In addition, the EPP <extension> element SHOULD | object extensions. In addition, the EPP <extension> element SHOULD | |||
contain a child <orgext:infData> element that identifies the | contain a child <orgext:infData> element that identifies the | |||
extension namespace if the object has data associated with this | extension namespace if the object has data associated with this | |||
extension and based on its service policy. The <orgext:infData> | extension and based on its server policy. The <orgext:infData> | |||
element contains the following child elements: | element contains the following child elements: | |||
o A <orgext:id> element that contains the identifier of the | o One or more <orgext:id> elements are allowed that contains the | |||
organization. An attribute "role" associated with <orgext:id> is | identifier of the organization. An attribute "role" associated | |||
used to represent the relationship an organization would have. | with <orgext:id> is used to represent the relationship an | |||
See Section 7.3 in [ID.draft-ietf-regext-org] for a list of | organization would have. See Section 7.3 in | |||
values. | [ID.draft-ietf-regext-org] for a list of values. | |||
Example <info> response for an authorized client: | Example <info> response for an authorized client with multiple | |||
organizations: | ||||
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 lang="en-US">Command completed successfully</msg> | S: <msg lang="en-US">Command completed successfully</msg> | |||
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: <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="ok"/> | S: <domain:status s="ok"/> | |||
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> | |||
skipping to change at page 6, line 47 ¶ | skipping to change at page 6, line 47 ¶ | |||
S: <orgext:id role="privacyproxy">myproxy</orgext:id> | S: <orgext:id role="privacyproxy">myproxy</orgext:id> | |||
S: </orgext:infData> | S: </orgext:infData> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ngcl-IvJjzMZc</clTRID> | S: <clTRID>ngcl-IvJjzMZc</clTRID> | |||
S: <svTRID>test142AWQONJZ</svTRID> | S: <svTRID>test142AWQONJZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S:</epp> | S:</epp> | |||
Example <info> response for an authorized client with no | ||||
organization: | ||||
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||||
S: <response> | ||||
S: <result code="1000"> | ||||
S: <msg lang="en-US">Command completed successfully</msg> | ||||
S: </result> | ||||
S: <resData> | ||||
S: <domain:infData | ||||
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||||
S: <domain:name>example.com</domain:name> | ||||
S: <domain:roid>EXAMPLE1-REP</domain:roid> | ||||
S: <domain:status s="ok"/> | ||||
S: <domain:registrant>jd1234</domain:registrant> | ||||
S: <domain:contact type="admin">sh8013</domain:contact> | ||||
S: <domain:contact type="billing">sh8013</domain:contact> | ||||
S: <domain:contact type="tech">sh8013</domain:contact> | ||||
S: <domain:ns> | ||||
S: <domain:hostObj>ns1.example.com</domain:hostObj> | ||||
S: </domain:ns> | ||||
S: <domain:clID>ClientX</domain:clID> | ||||
S: <domain:crID>ClientY</domain:crID> | ||||
S: <domain:crDate>2015-02-06T04:01:21.0Z</domain:crDate> | ||||
S: <domain:exDate>2018-02-06T04:01:21.0Z</domain:exDate> | ||||
S: <domain:authInfo> | ||||
S: <domain:pw>2fooBAR</domain:pw> | ||||
S: </domain:authInfo> | ||||
S: </domain:infData> | ||||
S: </resData> | ||||
S: <extension> | ||||
S: <orgext:infData | ||||
S: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"/> | ||||
S: </extension> | ||||
S: <trID> | ||||
S: <clTRID>ngcl-IvJjzMZc</clTRID> | ||||
S: <svTRID>test142AWQONJZ</svTRID> | ||||
S: </trID> | ||||
S: </response> | ||||
S:</epp> | ||||
An EPP error response MUST be returned if an <info> command cannot be | An EPP error response MUST be returned if an <info> command cannot be | |||
processed for any reason. | processed for any reason. | |||
4.1.3. EPP <transfer> Command | 4.1.3. EPP <transfer> Command | |||
This extension does not add any elements to the EPP <transfer> | This extension does not add any elements to the EPP <transfer> | |||
command or <transfer> response described in the EPP domain name | command or <transfer> response described in the EPP domain name | |||
mapping [RFC5731], host mapping [RFC5732] and contact mapping | mapping [RFC5731], host mapping [RFC5732] and contact mapping | |||
[RFC5733]. | [RFC5733]. | |||
skipping to change at page 7, line 41 ¶ | skipping to change at page 8, line 34 ¶ | |||
the client wants to associate data defined in this extension to the | the client wants to associate data defined in this extension to the | |||
object. The <orgext:create> element contains the following child | object. The <orgext:create> element contains the following child | |||
elements: | elements: | |||
o A <orgext:id> element that contains the identifier of the | o A <orgext:id> element that contains the identifier of the | |||
organization. An attribute "role" associated with <orgext:id> is | organization. An attribute "role" associated with <orgext:id> is | |||
used to represent the relationship an organization would have. | used to represent the relationship an organization would have. | |||
See Section 7.3 in [ID.draft-ietf-regext-org] for a list of | See Section 7.3 in [ID.draft-ietf-regext-org] for a list of | |||
values. | values. | |||
Example <create> Command: | Example <create> Command with only one organization: | |||
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: <create> | C: <create> | |||
C: <domain:create | C: <domain:create | |||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
C: <domain:name>example.com</domain:name> | C: <domain:name>example.com</domain:name> | |||
C: <domain:period unit="y">3</domain:period> | C: <domain:period unit="y">3</domain:period> | |||
C: <domain:ns> | C: <domain:ns> | |||
skipping to change at page 8, line 35 ¶ | skipping to change at page 9, line 35 ¶ | |||
C: <extension> | C: <extension> | |||
C: <orgext:create | C: <orgext:create | |||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | |||
C: <orgext:id role="reseller">myreseller</orgext:id> | C: <orgext:id role="reseller">myreseller</orgext:id> | |||
C: </orgext:create> | C: </orgext:create> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Example <create> Command with multiple organizations: | ||||
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||||
C: <command> | ||||
C: <create> | ||||
C: <domain:create | ||||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||||
C: <domain:name>example.com</domain:name> | ||||
C: <domain:period unit="y">3</domain:period> | ||||
C: <domain:ns> | ||||
C: <domain:hostObj>ns1.example.com</domain:hostObj> | ||||
C: </domain:ns> | ||||
C: <domain:registrant>jd1234</domain:registrant> | ||||
C: <domain:contact type="tech">sh8013</domain:contact> | ||||
C: <domain:contact type="billing">sh8013</domain:contact> | ||||
C: <domain:contact type="admin">sh8013</domain:contact> | ||||
C: <domain:authInfo> | ||||
C: <domain:pw roid="ddddd-dddd">fooBAR</domain:pw> | ||||
C: </domain:authInfo> | ||||
C: </domain:create> | ||||
C: </create> | ||||
C: <extension> | ||||
C: <orgext:create | ||||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | ||||
C: <orgext:id role="reseller">myreseller</orgext:id> | ||||
C: <orgext:id role="privacyproxy">myproxy</orgext:id> | ||||
C: </orgext:create> | ||||
C: </extension> | ||||
C: <clTRID>ABC-12345</clTRID> | ||||
C: </command> | ||||
C:</epp> | ||||
When a <create> command has been processed successfully, the EPP | When a <create> command has been processed successfully, the EPP | |||
response is as described in the EPP object extension. | response is as described in the EPP object extension. | |||
An EPP error response MUST be returned if a <create> command cannot | An EPP error response MUST be returned if a <create> command cannot | |||
be processed for any reason. | be processed for any reason. | |||
4.2.2. EPP <delete> Command | 4.2.2. EPP <delete> Command | |||
This extension does not add any elements to the EPP <delete> command | This extension does not add any elements to the EPP <delete> command | |||
or <delete> response described in the EPP domain mapping [RFC5731], | or <delete> response described in the EPP domain mapping [RFC5731], | |||
skipping to change at page 10, line 26 ¶ | skipping to change at page 12, line 26 ¶ | |||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | |||
C: <orgext:add> | C: <orgext:add> | |||
C: <orgext:id role="reseller">myreseller</orgext:id> | C: <orgext:id role="reseller">myreseller</orgext:id> | |||
C: </orgext:add> | C: </orgext:add> | |||
C: </orgext:update> | C: </orgext:update> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Example <update> command, adding multiple organizations: | ||||
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||||
C: <command> | ||||
C: <update> | ||||
C: <domain:update | ||||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||||
C: <domain:name>example.com</domain:name> | ||||
C: </domain:update> | ||||
C: </update> | ||||
C: <extension> | ||||
C: <orgext:update | ||||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | ||||
C: <orgext:add> | ||||
C: <orgext:id role="reseller">myreseller</orgext:id> | ||||
C: <orgext:id role="privacyproxy">myproxy</orgext:id> | ||||
C: </orgext:add> | ||||
C: </orgext:update> | ||||
C: </extension> | ||||
C: <clTRID>ABC-12345</clTRID> | ||||
C: </command> | ||||
C:</epp> | ||||
Example <update> command, domain with no organization: | ||||
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||||
C: <command> | ||||
C: <update> | ||||
C: <domain:update | ||||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||||
C: <domain:name>example.com</domain:name> | ||||
C: </domain:update> | ||||
C: </update> | ||||
C: <extension> | ||||
C: <orgext:update | ||||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | ||||
C: <orgext:add> | ||||
C: <orgext:id role="reseller">myreseller</orgext:id> | ||||
C: <orgext:id role="privacyproxy">myproxy</orgext:id> | ||||
C: </orgext:add> | ||||
C: </orgext:update> | ||||
C: </extension> | ||||
C: <clTRID>ABC-12345</clTRID> | ||||
C: </command> | ||||
C:</epp> | ||||
Example <update> command, removing a reseller: | Example <update> command, removing a reseller: | |||
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: <update> | C: <update> | |||
C: <domain:update | C: <domain:update | |||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
C: <domain:name>example.com</domain:name> | C: <domain:name>example.com</domain:name> | |||
C: </domain:update> | C: </domain:update> | |||
C: </update> | C: </update> | |||
C: <extension> | C: <extension> | |||
C: <orgext:update | C: <orgext:update | |||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | |||
C: <orgext:rem> | C: <orgext:rem> | |||
C: <orgext:id role="reseller">myreseller</orgext:id> | C: <orgext:id role="reseller"/> | |||
C: </orgext:rem> | ||||
C: </orgext:update> | ||||
C: </extension> | ||||
C: <clTRID>ABC-12345</clTRID> | ||||
C: </command> | ||||
C:</epp> | ||||
Example <update> command, removing multiple organizations: | ||||
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||||
C: <command> | ||||
C: <update> | ||||
C: <domain:update | ||||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||||
C: <domain:name>example.com</domain:name> | ||||
C: </domain:update> | ||||
C: </update> | ||||
C: <extension> | ||||
C: <orgext:update | ||||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | ||||
C: <orgext:rem> | ||||
C: <orgext:id role="reseller"/> | ||||
C: <orgext:id role="privacyproxy"/> | ||||
C: </orgext:rem> | C: </orgext:rem> | |||
C: </orgext:update> | C: </orgext:update> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Example <update> command, updating reseller identifier: | Example <update> command, updating reseller identifier: | |||
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
skipping to change at page 11, line 26 ¶ | skipping to change at page 14, line 50 ¶ | |||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | |||
C: <orgext:chg> | C: <orgext:chg> | |||
C: <orgext:id role="reseller">myreseller</orgext:id> | C: <orgext:id role="reseller">myreseller</orgext:id> | |||
C: </orgext:chg> | C: </orgext:chg> | |||
C: </orgext:update> | C: </orgext:update> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Example <update> command, updating multiple organization identifiers: | ||||
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | ||||
C: <command> | ||||
C: <update> | ||||
C: <domain:update | ||||
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | ||||
C: <domain:name>example.com</domain:name> | ||||
C: </domain:update> | ||||
C: </update> | ||||
C: <extension> | ||||
C: <orgext:update | ||||
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> | ||||
C: <orgext:chg> | ||||
C: <orgext:id role="reseller">myreseller</orgext:id> | ||||
C: <orgext:id role="privacyproxy">myproxy</orgext:id> | ||||
C: </orgext:chg> | ||||
C: </orgext:update> | ||||
C: </extension> | ||||
C: <clTRID>ABC-12345</clTRID> | ||||
C: </command> | ||||
C:</epp> | ||||
When an extended <update> command has been processed successfully, | When an extended <update> command has been processed successfully, | |||
the EPP response is as described in the EPP object extension. | the EPP response is as described in the EPP object extension. | |||
5. Formal Syntax | 5. Formal Syntax | |||
An EPP object mapping is specified in XML Schema notation. The | An EPP object mapping is specified in XML Schema notation. The | |||
formal syntax presented here is a complete schema representation of | formal syntax presented here is a complete schema representation of | |||
the object mapping suitable for automated validation of EPP XML | 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 ending of the schema for URI | are used to note the beginning and ending of the schema for URI | |||
registration purposes. | registration purposes. | |||
BEGIN | BEGIN | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<schema targetNamespace="urn:ietf:params:xml:ns:orgext-1.0" | <schema | |||
xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0" | targetNamespace="urn:ietf:params:xml:ns:orgext-1.0" | |||
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" | xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0" | |||
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-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 namespace="urn:ietf:params:xml:ns:eppcom-1.0" | ||||
schemaLocation="eppcom-1.0.xsd"/> | ||||
<import namespace="urn:ietf:params:xml:ns:epp-1.0" | ||||
schemaLocation="epp-1.0.xsd"/> | ||||
<annotation> | <annotation> | |||
<documentation> | <documentation> | |||
Extensible Provisioning Protocol v1.0 | Extensible Provisioning Protocol v1.0 | |||
Organization Extension Schema v1.0 | Organization Extension Schema v1.0 | |||
</documentation> | </documentation> | |||
</annotation> | </annotation> | |||
<!-- Child elements found in EPP commands. --> | <!-- Child elements found in EPP commands. --> | |||
<element name="create" type="orgext:createType"/> | <element | |||
<element name="update" type="orgext:updateType"/> | name="create" | |||
type="orgext:createType"/> | ||||
<element | ||||
name="update" | ||||
type="orgext:updateType"/> | ||||
<!-- Child elements of the <orgext:create> command | <!-- | |||
All elements must be present at time of creation | Organization identifier with required role | |||
--> | --> | |||
<complexType name="orgIdType"> | ||||
<simpleContent> | ||||
<extension base="token"> | ||||
<attribute | ||||
name="role" | ||||
type="token" | ||||
use="required"/> | ||||
</extension> | ||||
</simpleContent> | ||||
</complexType> | ||||
<!-- | ||||
Child elements of the <orgext:create> command | ||||
All elements must be present at time of creation | ||||
--> | ||||
<complexType name="createType"> | <complexType name="createType"> | |||
<sequence> | <sequence> | |||
<!-- agent identifier or the organization, | <!-- agent identifier or the organization, | |||
e.g. registrar, reseller, privacy proxy, etc. --> | e.g. registrar, reseller, privacy proxy, etc. --> | |||
<element name="id" type="eppcom:clIDType"/> | <element | |||
name="id" | ||||
type="orgext:orgIdType" | ||||
maxOccurs="unbounded"/> | ||||
</sequence> | </sequence> | |||
<attribute name="role" | ||||
type="token" use="required"/> | ||||
</complexType> | </complexType> | |||
<!-- | <!-- | |||
Child elements of <orgext:update> command | Child elements of <orgext:update> command | |||
--> | --> | |||
<complexType name="updateType"> | <complexType name="updateType"> | |||
<sequence> | <sequence> | |||
<element name="add" | <element | |||
type="orgext:addRemChgType" minOccurs="0"/> | name="add" | |||
<element name="rem" | type="orgext:addRemChgType" | |||
type="orgext:addRemChgType" minOccurs="0"/> | minOccurs="0"/> | |||
<element name="chg" | <element | |||
type="orgext:addRemChgType" minOccurs="0"/> | name="rem" | |||
type="orgext:addRemChgType" | ||||
minOccurs="0"/> | ||||
<element | ||||
name="chg" | ||||
type="orgext:addRemChgType" | ||||
minOccurs="0"/> | ||||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<complexType name="addRemChgType"> | <complexType name="addRemChgType"> | |||
<sequence> | <sequence> | |||
<!-- agent identifier the organization, | <!-- agent identifier the organization, | |||
e.g. registrar, reseller, privacy proxy, etc. --> | e.g. registrar, reseller, privacy proxy, etc. --> | |||
<element | ||||
<element name="id" type="eppcom:clIDType" minOccurs="0"/> | name="id" | |||
type="orgext:orgIdType" | ||||
minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
</sequence> | </sequence> | |||
<attribute name="role" | ||||
type="token" use="required"/> | ||||
</complexType> | </complexType> | |||
<!-- Child response element --> | <!-- Child response element --> | |||
<element | ||||
<element name="infData" type="orgext:infDataType"/> | name="infData" | |||
type="orgext:infDataType"/> | ||||
<!-- <orgext:infData> response elements --> | ||||
<!-- <orgext:infData> response elements --> | ||||
<complexType name="infDataType"> | <complexType name="infDataType"> | |||
<sequence> | <sequence> | |||
<!-- agent identifier the organization, | <!-- agent identifier the organization, | |||
e.g. registrar, reseller, privacy proxy, etc. --> | e.g. registrar, reseller, privacy proxy, etc. --> | |||
<element name="id" | <element | |||
type="eppcom:clIDType" minOccurs="0"/> | name="id" | |||
type="orgext:orgIdType" | ||||
minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
</sequence> | </sequence> | |||
<attribute name="role" | ||||
type="token" use="required"/> | ||||
</complexType> | </complexType> | |||
<!-- End of schema. --> | <!-- End of schema. --> | |||
</schema> | </schema> | |||
END | END | |||
6. Internationalization Considerations | 6. Internationalization Considerations | |||
EPP is represented in XML, which provides native support for encoding | EPP is represented in XML, which provides native support for encoding | |||
information using the Unicode character set and its more compact | information using the Unicode character set and its more compact | |||
representations including UTF-8. Conformant XML processors recognize | representations including UTF-8. Conformant XML processors recognize | |||
both UTF-8 and UTF-16. Though XML includes provisions to identify | both UTF-8 and UTF-16. Though XML includes provisions to identify | |||
and use other character encodings through use of an "encoding" | and use other character encodings through use of an "encoding" | |||
skipping to change at page 14, line 48 ¶ | skipping to change at page 19, line 16 ¶ | |||
Status: active | Status: active | |||
Notes: none | Notes: none | |||
8. Implementation Status | 8. Implementation Status | |||
Note to RFC Editor: Please remove this section and the reference to | Note to RFC Editor: Please remove this section and the reference to | |||
[RFC6982] before publication. This section records the status of | [RFC6982] before publication. This section records the status of | |||
known implementations of the protocol defined by this specification | known implementations of the protocol defined by this specification | |||
at the time of posting of this Internet-Draft, and is based on a | at the time of posting of this Internet-Draft, and is based on a | |||
proposal described in [RFC6982]. The description of mplementations | proposal described in [RFC6982]. The description of implementations | |||
in this section is intended to assist the IETF in its decision | in this section is intended to assist the IETF in its decision | |||
processes in progressing drafts to RFCs. Please note that the | processes in progressing drafts to RFCs. Please note that the | |||
listing of any individual implementation here does not imply | listing of any individual implementation here does not imply | |||
endorsement by the IETF. Furthermore, no effort has been spent to | endorsement by the IETF. Furthermore, no effort has been spent to | |||
verify the information presented here that was supplied by IETF | verify the information presented here that was supplied by IETF | |||
contributors. This is not intended as, and must not be construed to | contributors. This is not intended as, and must not be construed to | |||
be, a catalog of available implementations or their features. | be, a catalog of available implementations or their features. | |||
Readers are advised to note that other implementations may exist. | Readers are advised to note that other implementations may exist. | |||
According to [RFC6982], "this will allow reviewers and working groups | According to [RFC6982], "this will allow reviewers and working groups | |||
to assign due consideration to documents that have the benefit of | to assign due consideration to documents that have the benefit of | |||
running code, which may serve as evidence of valuable experimentation | running code, which may serve as evidence of valuable experimentation | |||
and feedback that have made the implemented protocols more mature. | and feedback that have made the implemented protocols more mature. | |||
It is up to the individual working groups to use this information as | It is up to the individual working groups to use this information as | |||
they see fit". | they see fit". | |||
CNNIC is in the process of development research to update | CNNIC is in the process of development research to update | |||
organization extension from reseller extension. Verisign is also | organization extension from reseller extension. Verisign is also | |||
planning to implement this extension. | planning to implement this extension. | |||
8.1. CNNIC Impelementation | 8.1. CNNIC Implementation | |||
Organization: CNNIC | Organization: CNNIC | |||
Name: Organization Extension for EPP | Name: Organization Extension for EPP | |||
Description: CNNIC is trying to update organizaiton extension from | Description: CNNIC is trying to update organization extension from | |||
previous reseller extension according to this document. | previous reseller extension according to this document. | |||
Level of maturity: Research. | Level of maturity: Research. | |||
Coverage: Organization extension for EPP. | Coverage: Organization extension for EPP. | |||
Contact: zhouguiqing@cnnic.cn | Contact: zhouguiqing@cnnic.cn | |||
8.2. Reseller Extension | 8.2. Reseller Extension | |||
This document was updated from draft-ietf-regext-reseller-ext. | This document was updated from draft-ietf-regext-reseller-ext. | |||
CNNIC, Verisign and Patrick Mevzek have already implemented this | CNNIC, Verisign and Net::DRI (Patrick Mevzek) have already | |||
extension. | implemented this extension. | |||
9. Security Considerations | 9. Security Considerations | |||
The object mapping extension described in this document does not | The object mapping extension described in this document does not | |||
provide any other security services or introduce any additional | provide any other security services or introduce any additional | |||
considerations beyond those described by [RFC5730], [RFC5731], | considerations beyond those described by [RFC5730], [RFC5731], | |||
[RFC5732] and [RFC5733] or those caused by the protocol layers used | [RFC5732] and [RFC5733] or those caused by the protocol layers used | |||
by EPP. | by EPP. | |||
10. Acknowledgement | 10. Acknowledgment | |||
The authors would like to thank Rik Ribbers, Marc Groeneweg, Patrick | The authors would like to thank Rik Ribbers, Marc Groeneweg, Patrick | |||
Mevzek, Antoin Verschuren and Scott Hollenbeck for their careful | Mevzek, Antoin Verschuren and Scott Hollenbeck for their careful | |||
review and valuable comments. | review and valuable comments. | |||
11. References | 11. References | |||
11.1. Normative References | 11.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 | |||
skipping to change at page 17, line 28 ¶ | skipping to change at page 21, line 41 ¶ | |||
[W3C.REC-xmlschema-2-20041028] | [W3C.REC-xmlschema-2-20041028] | |||
Biron, P. and A. Malhotra, ""XML Schema Part 2: Datatypes | Biron, P. and A. Malhotra, ""XML Schema Part 2: Datatypes | |||
Second Edition", World Wide Web Consortium Recommendation | Second Edition", World Wide Web Consortium Recommendation | |||
REC-xmlschema-2-20041028", October 2004, | REC-xmlschema-2-20041028", October 2004, | |||
<http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>. | <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>. | |||
11.2. Informative References | 11.2. Informative References | |||
[ID.draft-ietf-regext-org] | [ID.draft-ietf-regext-org] | |||
Zhou, L., Kong, N., Zhou, G., Lee, X., Gould, J., and S. | Zhou, L., Kong, N., Zhou, G., Lee, X., and J. Gould, | |||
Hollenbeck, "Extensible Provisioning Protocol (EPP) | "Extensible Provisioning Protocol (EPP) Reseller Mapping", | |||
Reseller Mapping", Apr 2017, | Feb 2018, | |||
<http://tools.ietf.org/html/draft-ietf-regext-org>. | <http://tools.ietf.org/html/draft-ietf-regext-org>. | |||
Appendix A. Change Log | Appendix A. Change Log | |||
Initial -00: Individual document submitted. | Initial -00: Individual document submitted. | |||
-01: | -01: | |||
* Updated abstract and introduction. | * Updated abstract and introduction. | |||
skipping to change at page 18, line 22 ¶ | skipping to change at page 22, line 34 ¶ | |||
in <info> response. | in <info> response. | |||
-03: | -03: | |||
* Changed author information. | * Changed author information. | |||
* Updated section 3.1. | * Updated section 3.1. | |||
* Removed reseller name element in <info> response. | * Removed reseller name element in <info> response. | |||
* Added acknowledgement. | * Added acknowledgment. | |||
* Revised the typo "resellerr" to "resellerext". | * Revised the typo "resellerr" to "resellerext". | |||
WG document-00: WG document submitted | WG document-00: WG document submitted | |||
WG document-01: Keep document alive for further discussion. The | WG document-01: Keep document alive for further discussion. The | |||
requirement of reseller information is clear for both registrar | requirement of reseller information is clear for both registrar | |||
and registry. What we should reach a consensus is whether the | and registry. What we should reach a consensus is whether the | |||
extension should support only a name or ID and name. | extension should support only a name or ID and name. | |||
Organization WG document-00: Change to a generic organization object | Organization WG document-00: Change to a generic organization object | |||
extension. | extension. | |||
Organization WG document-01: Added "Imeplementation Status" section. | Organization WG document-01: Added "Implementation Status" section. | |||
Organization WG document-02: Accepted some of the feedbacks on the | ||||
mailing list. Modified the examples in the document. | ||||
Authors' Addresses | Authors' Addresses | |||
Linlin Zhou | Linlin Zhou | |||
CNNIC | CNNIC | |||
4 South 4th Street, Zhongguancun, Haidian District | 4 South 4th Street, Zhongguancun, Haidian District | |||
Beijing, Beijing 100190 | Beijing, Beijing 100190 | |||
China | China | |||
Phone: +86 10 5881 2677 | Phone: +86 10 5881 2677 | |||
End of changes. 42 change blocks. | ||||
101 lines changed or deleted | 293 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/ |