--- 1/draft-ietf-regext-org-ext-07.txt 2018-08-19 20:13:10.231235541 -0700 +++ 2/draft-ietf-regext-org-ext-08.txt 2018-08-19 20:13:10.275236606 -0700 @@ -1,22 +1,24 @@ Internet Engineering Task Force L. Zhou -Internet-Draft N. Kong -Intended status: Standards Track J. Wei -Expires: December 17, 2018 X. Lee +Internet-Draft CNNIC +Intended status: Standards Track N. Kong +Expires: February 21, 2019 Consultant + J. Wei + J. Yao CNNIC J. Gould Verisign, Inc. - June 15, 2018 + August 20, 2018 Organization Extension for the Extensible Provisioning Protocol (EPP) - draft-ietf-regext-org-ext-07 + draft-ietf-regext-org-ext-08 Abstract This document describes an extension to EPP object mappings, which is designed to support assigning an organization to any existing object (domain, host, contact) as well as any future objects. Status of This Memo This Internet-Draft is submitted in full conformance with the @@ -25,91 +27,79 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on December 17, 2018. + This Internet-Draft will expire on February 21, 2019. Copyright Notice Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. - This document may contain material from IETF Documents or IETF - Contributions published or made publicly available before November - 10, 2008. The person(s) controlling the copyright in some of this - material may not have granted the IETF Trust the right to allow - modifications of such material outside the IETF Standards Process. - Without obtaining an adequate license from the person(s) controlling - the copyright in such materials, this document may not be modified - outside the IETF Standards Process, and derivative works of it may - not be created outside the IETF Standards Process, except to format - it for publication as an RFC or to translate it into languages other - than English. - Table of Contents - 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 3. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Organization Identifier . . . . . . . . . . . . . . . . . 4 4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 4 4.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 4 4.1.1. EPP Command . . . . . . . . . . . . . . . . . 4 4.1.2. EPP Command . . . . . . . . . . . . . . . . . 4 4.1.3. EPP Query Command . . . . . . . . . . . . 7 4.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 8 4.2.1. EPP Command . . . . . . . . . . . . . . . . 8 4.2.2. EPP Command . . . . . . . . . . . . . . . . 10 4.2.3. EPP Command . . . . . . . . . . . . . . . . . 10 4.2.4. EPP Command . . . . . . . . . . . . . . . 11 4.2.5. EPP Command . . . . . . . . . . . . . . . . 11 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 15 6. Internationalization Considerations . . . . . . . . . . . . . 17 - 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 - 7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 17 + 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 + 7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 18 7.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 18 - 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 18 + 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 19 8.1. Verisign EPP SDK . . . . . . . . . . . . . . . . . . . . 19 - 8.2. CNNIC Implementation . . . . . . . . . . . . . . . . . . 19 - 9. Security Considerations . . . . . . . . . . . . . . . . . . . 19 + 8.2. CNNIC Implementation . . . . . . . . . . . . . . . . . . 20 + 9. Security Considerations . . . . . . . . . . . . . . . . . . . 20 10. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . 20 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 11.1. Normative References . . . . . . . . . . . . . . . . . . 20 11.2. Informative References . . . . . . . . . . . . . . . . . 21 - Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 21 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 + Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 22 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 1. Introduction In the business model of domain registration, we usually have 3 roles - of entities, a registrant, a registrar and a registry. There may be + of entities: a registrant, a registrar and a registry. There may be other roles of entities involved in the domain registration process which are not formally defined, such as resellers, DNS service - operators, privacy proxy, etc. + operators, privacy proxies, 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 an agent for accredited registrars. A third-party DNS service operator is responsible for a zone where the operator is neither the registrant nor the registrar of record for the delegation. A privacy proxy is an entity used for domain registrations to protect the private information of the individuals and organizations. These kind of entities are defined as "organizations" with different role types in this document. In order to facilitate provisioning and management of organization information in a shared central repository, this document proposes an @@ -124,36 +114,36 @@ this document MUST reference the existing organization identifier. 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-xmlschema-1-20041028] and [W3C.REC-xmlschema-2-20041028]. 2. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this - document are to be interpreted as described in [RFC2119]. + document are to be interpreted as described in BCP 14 + [RFC2119][RFC8174] when, and only when, they appear in all capitals, + as shown here. In examples, "C:" represents lines sent by a protocol client and "S:" represents lines returned by a protocol server. Indentation and white space in examples are provided only to illustrate element - relationships and are not a REQUIRED feature of this specification. + relationships and are not a required feature of this specification. XML is case sensitive. Unless stated otherwise, XML specifications and examples provided in this document MUST be interpreted in the character case presented to develop a conforming implementation. - orgext-1.0 in this document is used as an abbreviation for - urn:ietf:params:xml:ns:orgext-1.0. The XML namespace prefix "orgext" - is used, but implementations MUST NOT depend on it and instead employ - a proper namespace-aware XML parser and serializer to interpret and - output the XML documents. + The XML namespace prefix "orgext" is used, but implementations MUST + NOT depend on it and instead employ a proper namespace-aware XML + parser and serializer to interpret and output the XML documents. 3. Object Attributes This extension adds additional elements to EPP object mappings like the EPP domain name mapping [RFC5731]. Only the new elements are described here. 3.1. Organization Identifier Organization identifier provides the ID of an organization. Its @@ -176,33 +166,33 @@ an object, and to retrieve object transfer status information. 4.1.1. EPP Command This extension does not add any elements to the EPP command or response described in the EPP object mapping. 4.1.2. EPP Command - This extension does not add any element to the EPP command + This extension does not add any elements to the EPP command described in the EPP object mapping. However, additional elements are defined for the response in the EPP object mapping. When an command has been processed successfully, the EPP element MUST contain child elements as described in the EPP object extensions. In addition, the EPP element SHOULD - contain a child element that identifies the - extension namespace if the object has data associated with this - extension and based on server policy. The element - contains the following child elements: + contain a child element. This element or its + ancestor element MUST identify the extension namespace if the object + has data associated with this extension and based on server policy. + The element contains the following child elements: - o Zero or more elements are allowed that contains the + o Zero or more elements are allowed that contain the identifier of the organization. The "role" attribute is used to represent the relationship that the organization has to the object. See Section 7.3 in [ID.draft-ietf-regext-org] for a list of values. Example response for an authorized client with multiple organizations: S: S: @@ -308,26 +298,26 @@ 4.2.1. EPP Command This extension defines additional elements for the EPP command described in the EPP object extensions. No additional elements are defined for the EPP response. The EPP command provides a transform operation that allows a client to create an object. In addition to the EPP command elements described in the EPP object extensions, the command MUST contain an element, and the element MUST contain a child - element that identifies the extension namespace if - the client wants to associate data defined in this extension to the - object. The element contains the following child - elements: + element. This element or its ancestor element MUST + identify the extension namespace if the client wants to associate + data defined in this extension to the object. The + element contains the following child elements: - o One or more elements that contains the identifier of + o One or more elements that contain the identifier of the organization. The "role" attribute is used to represent the relationship that the organization has to the object. See Section 7.3 in [ID.draft-ietf-regext-org] for a list of values. Example Command with only one organization: C: C: C: C: @@ -418,39 +408,39 @@ This extension defines additional elements for the EPP command described in the EPP domain mapping [RFC5731], host mapping [RFC5732] and contact mapping [RFC5733]. No additional elements are defined for the EPP response. The EPP command provides a transform operation that allows a client to modify the attributes of an object. In addition to the EPP command elements, the command MUST contain an element, and the element MUST contain a child - element that identifies the extension namespace if - the client wants to update the object with data defined in this - extension. The element contains the following child - elements: + element. This element or its ancestor element MUST + identify the extension namespace if the client wants to update the + object with data defined in this extension. The + element contains the following child elements: o An OPTIONAL element that contains attribute values to be added to the object. o An OPTIONAL element that contains attribute values to be removed from the object. o An OPTIONAL element that contains attribute values to be changed. - At least one and only one , or - element MUST be provided. The , and - elements contain the following child element: + Exactly one , or element MUST + be provided. The , and + elements contain the following child element: - o One or more elements that contains the identifier of + o One or more elements that contain the identifier of the organization. The "role" attribute is used to represent the relationship that the organization has to the object. See Section 7.3 in [ID.draft-ietf-regext-org] for a list of values. Example command, adding a reseller: C: C: C: C: @@ -585,20 +575,37 @@ C: C: C: C: ABC-12345 C: C: When an extended command has been processed successfully, the EPP response is as described in the EPP object extension. + An EPP error response MUST be returned if an command cannot + be processed for any reason. An attempt to add one organization ID + or multiple organization IDs with a particular role value when at + least one of them already exists does not change the object at all. + A server SHOULD notify clients that object relationships exist by + sending a 2305 error response code. An attempt to remove an + organization ID or multiple organization IDs with a particular role + value when at least one of them does not exist does not change the + object at all. A server SHOULD notify clients that object + relationships does not exist by sending a 2305 error response code. + An attempt to change an organization ID or multiple organization IDs + with a particular role value when at least one of them does not exist + does not change the object at all. A server SHOULD notify clients + that object relationships does not exist by sending a 2305 error + response code. Response format with error value elements is defined + in Section 2.6 of [RFC5730]. + 5. Formal Syntax An EPP object mapping is specified in XML Schema notation. The formal syntax presented here is a complete schema representation of the object mapping suitable for automated validation of EPP XML 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 registration purposes. BEGIN @@ -725,23 +735,32 @@ includes this extension. 7. IANA Considerations 7.1. XML Namespace This document uses URNs to describe XML namespaces and XML schemas conforming to a registry mechanism described in [RFC3688]. IANA is requested to assignment the following URI. - Registration request for the organization namespace: + Registration request for the organization extension namespace: + + URI: urn:ietf:params:xml:ns:epp:orgext-1.0 + + Registrant Contact: IESG + + XML: None. Namespace URIs do not represent an XML specification. + + Registration request for the organization XML schema: + + URI: urn:ietf:params:xml:schema:epp:orgext-1.0 - URI: urn:ietf:params:xml:ns:orgext-1.0 Registrant Contact: IESG XML: See the "Formal Syntax" section of this document. 7.2. EPP Extension Registry The EPP extension described in this document should be registered by the IANA in the EPP Extension Registry described in [RFC7451]. The details of the registration are as follows: @@ -859,20 +877,24 @@ [RFC5733] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) Contact Mapping", STD 69, RFC 5733, DOI 10.17487/RFC5733, August 2009, . [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running Code: The Implementation Status Section", BCP 205, RFC 7942, DOI 10.17487/RFC7942, July 2016, . + [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC + 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, + May 2017, . + [W3C.REC-xml-20040204] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and F. Yergeau, ""Extensible Markup Language (XML) 1.0 (Third Edition)", World Wide Web Consortium FirstEdition REC-xml- 20040204", February 2004, . [W3C.REC-xmlschema-1-20041028] Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn, ""XML Schema Part 1: Structures Second Edition", World @@ -992,53 +1014,53 @@ * Added "Query" for " Query Command". * Change "Registrant Contact" to IESG in section 7.1. * Modified section 7.2. Organization WG document-07: * Updated "Abstraction". + Organization WG document-08: + + * Updated error codes of response. + + * Modified XML namespace and schema. + Authors' Addresses Linlin Zhou CNNIC 4 South 4th Street, Zhongguancun, Haidian District Beijing, Beijing 100190 China - Phone: +86 10 5881 2677 Email: zhoulinlin@cnnic.cn Ning Kong - CNNIC - 4 South 4th Street, Zhongguancun, Haidian District - Beijing, Beijing 100190 - China + Consultant + + Email: ietfing@gmail.com - Phone: +86 10 5881 3147 - Email: nkong@cnnic.cn Junkai Wei CNNIC 4 South 4th Street, Zhongguancun, Haidian District Beijing, Beijing 100190 China - Phone: +86 10 5881 3494 Email: weijunkai@cnnic.cn - - Xiaodong Lee + Jiankang Yao CNNIC 4 South 4th Street, Zhongguancun, Haidian District Beijing, Beijing 100190 China - Email: xl@cnnic.cn + Email: yaojk@cnnic.cn James Gould Verisign, Inc. 12061 Bluemont Way Reston, VA 20190 US Email: jgould@verisign.com