From 4bfd864f10b68b71482b35c818559068ef8d5797 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Wed, 27 Nov 2024 20:54:24 +0100 Subject: doc: Add RFC documents --- doc/rfc/rfc8544.txt | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1235 insertions(+) create mode 100644 doc/rfc/rfc8544.txt (limited to 'doc/rfc/rfc8544.txt') diff --git a/doc/rfc/rfc8544.txt b/doc/rfc/rfc8544.txt new file mode 100644 index 0000000..d3bec94 --- /dev/null +++ b/doc/rfc/rfc8544.txt @@ -0,0 +1,1235 @@ + + + + + + +Internet Engineering Task Force (IETF) L. Zhou +Request for Comments: 8544 CNNIC +Category: Standards Track N. Kong +ISSN: 2070-1721 Consultant + J. Wei + J. Yao + CNNIC + J. Gould + VeriSign, Inc. + April 2019 + + + Organization Extension for the Extensible Provisioning Protocol (EPP) + +Abstract + + This document describes an extension to Extensible Provisioning + Protocol (EPP) object mappings that 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 is an Internet Standards Track document. + + This document is a product of the Internet Engineering Task Force + (IETF). It represents the consensus of the IETF community. It has + received public review and has been approved for publication by the + Internet Engineering Steering Group (IESG). Further information on + Internet Standards is available in Section 2 of RFC 7841. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + https://www.rfc-editor.org/info/rfc8544. + + + + + + + + + + + + + + + + + +Zhou, et al. Standards Track [Page 1] + +RFC 8544 Organization Extension for the EPP April 2019 + + +Copyright Notice + + Copyright (c) 2019 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. + +Table of Contents + + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 + 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 + 3. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 3 + 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 . . . . . . . . . . . . 8 + 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 . . . . . . . . . . . . . 18 + 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 + 7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 18 + 7.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 19 + 8. Security Considerations . . . . . . . . . . . . . . . . . . . 19 + 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 + 9.1. Normative References . . . . . . . . . . . . . . . . . . 19 + 9.2. Informative References . . . . . . . . . . . . . . . . . 21 + Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 21 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 + + + + + + + + +Zhou, et al. Standards Track [Page 2] + +RFC 8544 Organization Extension for the EPP April 2019 + + +1. Introduction + + There are many entities, such as registrars, resellers, DNS service + operators, and privacy proxies, involved in the domain registration + business. These kinds of entities are supported in the Extensible + Provisioning Protocol (EPP) by the "organization" entities in + [RFC8543]. This document provides a way to associate any EPP object + such as domain names in [RFC5731], hosts in [RFC5732], and contacts + in [RFC5733] to "organization" entities in [RFC8543]. The examples + provided in this document are used for the domain object for + illustration purposes. The host and contact object could be extended + in the same way as the domain object. + + Organization object identifiers, defined in [RFC8543], MUST be known + to the server before the organization object can be associated with + the EPP object. + + This document is specified using XML 1.0 as described in + [W3C.REC-xml-20081126] 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", "NOT RECOMMENDED", "MAY", and + "OPTIONAL" in this 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. + + XML is case sensitive. Unless stated otherwise, XML specifications + and examples provided in this document MUST be interpreted in the + character case presented. + + The XML namespace prefix "orgext" is used for the namespace + "urn:ietf:params:xml:ns:epp:orgext-1.0", but implementations MUST NOT + depend on it; instead, they should 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 such + as the EPP domain name mapping [RFC5731]. Only the new elements are + described here. + + + +Zhou, et al. Standards Track [Page 3] + +RFC 8544 Organization Extension for the EPP April 2019 + + +3.1. Organization Identifier + + The organization identifier provides the ID of an organization. Its + corresponding element is , which refers to the + element defined in [RFC8543]. All organization objects are + identified by a server-unique identifier. A "role" attribute is used + to represent the relationship that the organization has to the EPP + object. Any given object MUST have at most one associated + organization ID for any given role value. + +4. EPP Command Mapping + + A detailed description of the EPP syntax and semantics can be found + in the EPP core protocol specification [RFC5730]. The command + mappings described here are specifically for assigning organizations + to EPP objects. + +4.1. EPP Query Commands + + EPP provides three commands to retrieve EPP object information: + to determine if an object can be provisioned within a + repository, to retrieve detailed information associated with + 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 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. This element is returned + if the object has data that is associated with this extension and + that is based on server policy. This element or its ancestor element + + + + + + + + + +Zhou, et al. Standards Track [Page 4] + +RFC 8544 Organization Extension for the EPP April 2019 + + + MUST identify the extension namespace + "urn:ietf:params:xml:ns:epp:orgext-1.0". The + element contains the following child elements: + + o Zero or more elements are allowed that contain the + identifier of the organization, as defined in Section 3.1. The + "role" attribute is used to represent the relationship that the + organization has to the object. See Section 7.3 of [RFC8543] for + a list of values. + + Example response for an authorized client with multiple + organizations: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Zhou, et al. Standards Track [Page 5] + +RFC 8544 Organization Extension for the EPP April 2019 + + + S: + S: + S: + S: + S: Command completed successfully + S: + S: + S: + S: example.com + S: EXAMPLE1-REP + S: + S: jd1234 + S: sh8013 + S: sh8013 + S: sh8013 + S: + S: ns1.example.com + S: + S: ClientX + S: ClientY + S: 2015-02-06T04:01:21.0Z + S: 2018-02-06T04:01:21.0Z + S: + S: 2fooBAR + S: + S: + S: + S: + S: + S: reseller1523 + S: proxy2935 + S: + S: + S: + S: ngcl-IvJjzMZc + S: test142AWQONJZ + S: + S: + S: + + + + + + + + + + +Zhou, et al. Standards Track [Page 6] + +RFC 8544 Organization Extension for the EPP April 2019 + + + Example response for an authorized client with no + organization: + + S: + S: + S: + S: + S: Command completed successfully + S: + S: + S: + S: example.com + S: EXAMPLE1-REP + S: + S: jd1234 + S: sh8013 + S: sh8013 + S: sh8013 + S: + S: ns1.example.com + S: + S: ClientX + S: ClientY + S: 2015-02-06T04:01:21.0Z + S: 2018-02-06T04:01:21.0Z + S: + S: 2fooBAR + S: + S: + S: + S: + S: + S: + S: + S: ngcl-IvJjzMZc + S: test142AWQONJZ + S: + S: + S: + + An EPP error response MUST be returned if an command cannot be + processed for any reason. + + + + + + + +Zhou, et al. Standards Track [Page 7] + +RFC 8544 Organization Extension for the EPP April 2019 + + +4.1.3. EPP Query Command + + This extension does not add any elements to the EPP query + command or query response described in the EPP object + mapping. + +4.2. EPP Transform Commands + + EPP provides five commands to transform EPP objects: to + create an instance of an object, to delete an instance of an + object, to extend the validity period of an object, + to manage the object sponsorship changes, and to + change information associated with an object. + +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. This element is used if the client wants to + associate data defined in this extension to the object. This element + or its ancestor element MUST identify the extension namespace + "urn:ietf:params:xml:ns:epp:orgext-1.0". The element + contains the following child elements: + + o One or more elements that contain the identifier of + the organization, as defined in Section 3.1. The "role" attribute + is used to represent the relationship that the organization has to + the object. See Section 7.3 of [RFC8543] for a list of values. + + + + + + + + + + + + + + + + + +Zhou, et al. Standards Track [Page 8] + +RFC 8544 Organization Extension for the EPP April 2019 + + + Example command with only one organization: + + C: + C: + C: + C: + C: + C: example.com + C: 3 + C: + C: ns1.example.com + C: + C: jd1234 + C: sh8013 + C: sh8013 + C: sh8013 + C: + C: fooBAR + C: + C: + C: + C: + C: + C: reseller1523 + C: + C: + C: ABC-12345 + C: + C: + + + + + + + + + + + + + + + + + + + + +Zhou, et al. Standards Track [Page 9] + +RFC 8544 Organization Extension for the EPP April 2019 + + + Example command with multiple organizations: + + C: + C: + C: + C: + C: + C: example.com + C: 3 + C: + C: ns1.example.com + C: + C: jd1234 + C: sh8013 + C: sh8013 + C: sh8013 + C: + C: fooBAR + C: + C: + C: + C: + C: + C: reseller1523 + C: proxy2935 + C: + C: + C: ABC-12345 + C: + C: + + When a command has been processed successfully, the EPP + response is as described in the EPP object extension. + + An EPP error response MUST be returned if a command cannot + be processed for any reason. + +4.2.2. EPP Command + + This extension does not add any elements to the EPP command + or response described in the EPP object mapping. + +4.2.3. EPP Command + + This extension does not add any elements to the EPP command + or response described in the EPP object mapping. + + + +Zhou, et al. Standards Track [Page 10] + +RFC 8544 Organization Extension for the EPP April 2019 + + +4.2.4. EPP Command + + This extension does not add any elements to the EPP + command or response described in the EPP object mapping, + but after a successful transfer of an object with an assigned + organization, the handling of the assigned organization is dependent + on the organization roles and server policy. + +4.2.5. EPP Command + + 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. This element is used if the client wants to + update the object with data defined in this extension. This element + or its ancestor element MUST identify the extension namespace + "urn:ietf:params:xml:ns:epp:orgext-1.0". The element + contains the following child elements: + + o An OPTIONAL element that contains one or more + elements, as defined in Section 3.1, that add + nonexistent organization roles to the object. The + element MUST have a non-empty organization identifier value. The + server SHOULD validate that the element role does not + exist. + + o An OPTIONAL element that contains one or more + elements, as defined in Section 3.1, that remove + organization roles from the object. The element MAY + have an empty organization identifier value. The server SHOULD + validate the existence of the element role and the + organization identifier if provided. + + o An OPTIONAL element that contains one or more + elements, as defined in Section 3.1, that change + organization role identifiers for the object. The existing + organization identifier value will be replaced for the defined + role. The server SHOULD validate the existence of the + element role. + + At least one , , or element MUST + be provided. + + + +Zhou, et al. Standards Track [Page 11] + +RFC 8544 Organization Extension for the EPP April 2019 + + + Example command, adding a reseller: + + C: + C: + C: + C: + C: + C: example.com + C: + C: + C: + C: + C: + C: reseller1523 + C: + C: + C: + C: ABC-12345 + C: + C: + + Example command, adding multiple organizations: + + C: + C: + C: + C: + C: + C: example.com + C: + C: + C: + C: + C: + C: reseller1523 + C: proxy2935 + C: + C: + C: + C: ABC-12345 + C: + C: + + + + + +Zhou, et al. Standards Track [Page 12] + +RFC 8544 Organization Extension for the EPP April 2019 + + + Example command, removing a reseller: + + C: + C: + C: + C: + C: + C: example.com + C: + C: + C: + C: + C: + C: + C: + C: + C: + C: ABC-12345 + C: + C: + + Example command, removing multiple organizations: + + C: + C: + C: + C: + C: + C: example.com + C: + C: + C: + C: + C: + C: + C: + C: + C: + C: + C: ABC-12345 + C: + C: + + + + + +Zhou, et al. Standards Track [Page 13] + +RFC 8544 Organization Extension for the EPP April 2019 + + + Example command, updating reseller identifier: + + C: + C: + C: + C: + C: + C: example.com + C: + C: + C: + C: + C: + C: reseller1523 + C: + C: + C: + C: ABC-12345 + C: + C: + + Example command, updating multiple organization identifiers: + + C: + C: + C: + C: + C: + C: example.com + C: + C: + C: + C: + C: + C: reseller1523 + C: proxy2935 + C: + C: + C: + C: ABC-12345 + C: + C: + + + + + +Zhou, et al. Standards Track [Page 14] + +RFC 8544 Organization Extension for the EPP April 2019 + + + 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 do 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 do 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 + + + + + + + Extensible Provisioning Protocol v1.0 + Organization Extension Schema v1.0 + + + + + + + + +Zhou, et al. Standards Track [Page 15] + +RFC 8544 Organization Extension for the EPP April 2019 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Zhou, et al. Standards Track [Page 16] + +RFC 8544 Organization Extension for the EPP April 2019 + + + + + + + + + + + + + + + + + + + + + + + + + + + + END + + + + + + +Zhou, et al. Standards Track [Page 17] + +RFC 8544 Organization Extension for the EPP April 2019 + + +6. Internationalization Considerations + + EPP is represented in XML, which provides native support for encoding + information using the Unicode character set [UNICODE] and its more + compact representations, including UTF-8. Conformant XML processors + recognize both UTF-8 [RFC3629] and UTF-16 [RFC2781]. Though XML + includes provisions to identify and use other character encodings + through use of an "encoding" attribute in an declaration, use + of UTF-8 is RECOMMENDED. + + As an extension of the EPP object mapping, the elements and element + content described in this document MUST inherit the + internationalization conventions used to represent higher-layer + domain and core protocol structures present in an XML instance that + 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 has + assigned the following URI. + + 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. + + The organization XML schema: + + URI: urn:ietf:params:xml:schema:epp:orgext-1.0 + + Registrant Contact: IESG + + XML: See the "Formal Syntax" section of RFC 8544 (this document). + + + + + + + + + + + + +Zhou, et al. Standards Track [Page 18] + +RFC 8544 Organization Extension for the EPP April 2019 + + +7.2. EPP Extension Registry + + The EPP extension described in this document has been registered by + IANA in the "Extensions for the Extensible Provisioning Protocol + (EPP)" registry described in [RFC7451]. The details of the + registration are as follows: + + Name of Extension: Organization Extension for the Extensible + Provisioning Protocol (EPP) + + Document Status: Standards Track + + Reference: RFC 8544 + + Registrant Name and Email Address: IESG, iesg@ietf.org + + TLDs: Any + + IPR Disclosure: None + + Status: Active + + Notes: None + +8. Security Considerations + + The object mapping extension described in this document does not + provide any other security services or introduce any additional + considerations beyond those described by [RFC5730], [RFC5731], + [RFC5732], and [RFC5733] or those caused by the protocol layers used + by EPP. + +9. References + +9.1. Normative References + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, + DOI 10.17487/RFC2119, March 1997, + . + + [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO + 10646", STD 63, RFC 3629, DOI 10.17487/RFC3629, November + 2003, . + + [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, + DOI 10.17487/RFC3688, January 2004, + . + + + +Zhou, et al. Standards Track [Page 19] + +RFC 8544 Organization Extension for the EPP April 2019 + + + [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", + STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, + . + + [RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) + Domain Name Mapping", STD 69, RFC 5731, + DOI 10.17487/RFC5731, August 2009, + . + + [RFC5732] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) + Host Mapping", STD 69, RFC 5732, DOI 10.17487/RFC5732, + August 2009, . + + [RFC5733] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) + Contact Mapping", STD 69, RFC 5733, DOI 10.17487/RFC5733, + August 2009, . + + [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC + 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, + May 2017, . + + [UNICODE] The Unicode Consortium, "The Unicode Standard", + . + + [W3C.REC-xml-20081126] + Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and + F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth + Edition)", World Wide Web Consortium Recommendation + REC-xml-20081126, November 2008, + . + + [W3C.REC-xmlschema-1-20041028] + Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn, + "XML Schema Part 1: Structures Second Edition", World Wide + Web Consortium Recommendation REC-xmlschema-1-20041028, + October 2004, + . + + [W3C.REC-xmlschema-2-20041028] + Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes + Second Edition", World Wide Web Consortium Recommendation + REC-xmlschema-2-20041028, October 2004, + . + + + + + + + + +Zhou, et al. Standards Track [Page 20] + +RFC 8544 Organization Extension for the EPP April 2019 + + +9.2. Informative References + + [RFC2781] Hoffman, P. and F. Yergeau, "UTF-16, an encoding of ISO + 10646", RFC 2781, DOI 10.17487/RFC2781, February 2000, + . + + [RFC7451] Hollenbeck, S., "Extension Registry for the Extensible + Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, + February 2015, . + + [RFC8543] Zhou, L., Kong, N., Yao, J., Gould, J., and G. Zhou, + "Extensible Provisioning Protocol (EPP) Organization + Mapping", RFC 8543, DOI 10.17487/RFC8543, March 2019, + . + +Acknowledgments + + The authors would like to thank Rik Ribbers, Marc Groeneweg, Patrick + Mevzek, Antoin Verschuren, and Scott Hollenbeck for their careful + review and valuable comments. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Zhou, et al. Standards Track [Page 21] + +RFC 8544 Organization Extension for the EPP April 2019 + + +Authors' Addresses + + Linlin Zhou + CNNIC + 4 South 4th Street, Zhongguancun, Haidian District + Beijing, Beijing 100190 + China + + Email: zhoulinlin@cnnic.cn + + + Ning Kong + Consultant + + Email: ietfing@gmail.com + + + Junkai Wei + CNNIC + 4 South 4th Street, Zhongguancun, Haidian District + Beijing, Beijing 100190 + China + + Email: weijunkai@cnnic.cn + + + Jiankang Yao + CNNIC + 4 South 4th Street, Zhongguancun, Haidian District + Beijing, Beijing 100190 + China + + Email: yaojk@cnnic.cn + + + James Gould + VeriSign, Inc. + 12061 Bluemont Way + Reston, VA 20190 + United States of America + + Email: jgould@verisign.com + URI: http://www.verisign.com + + + + + + + + +Zhou, et al. Standards Track [Page 22] + -- cgit v1.2.3