rfc9095.original | rfc9095.txt | |||
---|---|---|---|---|
Internet Engineering Task Force J. Yao | Independent Submission J. Yao | |||
Internet-Draft L. Zhou | Request for Comments: 9095 L. Zhou | |||
Intended status: Informational H. Li | Category: Informational H. Li | |||
Expires: December 6, 2021 CNNIC | ISSN: 2070-1721 CNNIC | |||
N. Kong | N. Kong | |||
Consultant | Consultant | |||
W. Tan | ||||
Cloud Registry | ||||
J. Xie | J. Xie | |||
June 3, 2021 | July 2021 | |||
Extensible Provisioning Protocol (EPP) Domain Name Mapping Extension for | Extensible Provisioning Protocol (EPP) Domain Name Mapping Extension for | |||
Strict Bundling Registration | Strict Bundling Registration | |||
draft-yao-regext-bundling-registration-06 | ||||
Abstract | Abstract | |||
This document describes an extension of Extensible Provisioning | This document describes an extension of Extensible Provisioning | |||
Protocol (EPP) domain name mapping for the provisioning and | Protocol (EPP) domain name mapping for the provisioning and | |||
management of strict bundling registration of domain names. | management of strict bundling registration of domain names. | |||
Specified in XML, this mapping extends the EPP domain name mapping to | Specified in XML, this mapping extends the EPP domain name mapping to | |||
provide additional features required for the provisioning of bundled | provide additional features required for the provisioning of bundled | |||
domain names. This is a non-standard proprietary extension. | domain names. This is a nonstandard proprietary extension. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
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 | This is a contribution to the RFC Series, independently of any other | |||
and may be updated, replaced, or obsoleted by other documents at any | RFC stream. The RFC Editor has chosen to publish this document at | |||
time. It is inappropriate to use Internet-Drafts as reference | its discretion and makes no statement about its value for | |||
material or to cite them other than as "work in progress." | implementation or deployment. Documents approved for publication by | |||
the RFC Editor are not candidates for any level of Internet Standard; | ||||
see Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on December 6, 2021. | 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/rfc9095. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | 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. | |||
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 | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Terminology | |||
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Overview | |||
4. Requirement for Bundling Registration of Names . . . . . . . 6 | 4. Requirement for Bundling Registration of Names | |||
5. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 7 | 5. Object Attributes | |||
5.1. RDN . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 5.1. RDN | |||
5.2. BDN . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 5.2. BDN | |||
6. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 7 | 6. EPP Command Mapping | |||
6.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 7 | 6.1. EPP Query Commands | |||
6.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 8 | 6.1.1. EPP <check> Command | |||
6.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . 9 | 6.1.2. EPP <info> Command | |||
6.1.3. EPP <transfer> Query Command . . . . . . . . . . . . 10 | 6.1.3. EPP <transfer> Query Command | |||
6.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 10 | 6.2. EPP Transform Commands | |||
6.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 11 | 6.2.1. EPP <create> Command | |||
6.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 13 | 6.2.2. EPP <delete> Command | |||
6.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 14 | 6.2.3. EPP <renew> Command | |||
6.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 15 | 6.2.4. EPP <transfer> Command | |||
6.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 16 | 6.2.5. EPP <update> Command | |||
7. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 17 | 7. Formal Syntax | |||
8. Internationalization Considerations . . . . . . . . . . . . . 19 | 8. Internationalization Considerations | |||
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | 9. IANA Considerations | |||
9.1. XML Namespace and XML Schema . . . . . . . . . . . . . . 19 | 9.1. XML Namespace and XML Schema | |||
9.1.1. BDN Namespace . . . . . . . . . . . . . . . . . . . . 20 | 9.1.1. BDN Namespace | |||
9.1.2. BDN XML Schema . . . . . . . . . . . . . . . . . . . 20 | 9.1.2. BDN XML Schema | |||
9.2. EPP Extension . . . . . . . . . . . . . . . . . . . . . . 20 | 9.2. EPP Extension | |||
10. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | 10. Security Considerations | |||
11. Implementation Status and some clarifications . . . . . . . . 21 | 11. References | |||
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 | 11.1. Normative References | |||
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 | 11.2. Informative References | |||
13.1. Normative References . . . . . . . . . . . . . . . . . . 22 | Acknowledgements | |||
13.2. Informative References . . . . . . . . . . . . . . . . . 23 | Authors' Addresses | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | ||||
1. Introduction | 1. Introduction | |||
In RFC4290 [RFC4290], the "variant(s)" are character(s) and/or | In RFC 4290 [RFC4290], the "variant(s)" are character(s) and/or | |||
string(s) that are treated as equivalent to the base character. In | string(s) that are treated as equivalent to the base character. In | |||
this document, variants are those strings that are treated to be | this document, variants are those strings that are treated as | |||
equivalent to each other according to the domain name registration | equivalent to each other according to the domain name registration | |||
policy. Bundled domain names are those which share the same Top | policy. Bundled domain names are those that share the same Top-Level | |||
Level Domain (TLD) but whose second level labels are variants, or | Domain (TLD) but whose second-level labels are variants or those that | |||
those which have identical second level labels for which certain | have identical second-level labels for which certain parameters are | |||
parameters are shared in different TLDs. For example, Public | shared in different TLDs. For example, the Public Interest Registry | |||
Interest Registry has requested to implement bundling of second level | has requested to implement bundling of second-level domains for .NGO | |||
domains for .NGO and .ONG. So we have two kinds of bundled domain | and .ONG. So we have two kinds of bundled domain names. The first | |||
names. The first one is in the form of "V-label.TLD" in which the | one is in the form of "V-label.TLD", in which the second-level label | |||
second level label (V-label) is a variant sharing the same TLD; The | (V-label) is a variant sharing the same TLD. The second one is in | |||
second one is in the form of "LABEL.V-tld" in which the second level | the form of "LABEL.V-tld", in which the second-level label (LABEL) | |||
label (LABEL) remains the same but ending with a different TLD | remains the same but ends with a different TLD (V-tld) and these | |||
(V-tld), and these different V-tlds are managed by the same entity. | different V-tlds are managed by the same entity. | |||
Bundled domain names normally share some attributes. Policy-wise | Bundled domain names normally share some attributes. Policy-wise | |||
bundling can be implemented in three ways. The first one is strict | bundling can be implemented in three ways. The first one is strict | |||
bundling, which requires all bundled names to share many of the same | bundling, which requires all bundled names to share many of the same | |||
attributes. When creating, updating, or transferring any of the | attributes. When creating, updating, or transferring any of the | |||
bundled domain names, all bundled domain names will be created, | bundled domain names, all bundled domain names will be created, | |||
updated or transferred atomically. The second one is partial | updated, or transferred atomically. The second one is partial | |||
bundling, which requires the bundled domain names to be registered by | bundling, which requires the bundled domain names to be registered by | |||
the same registrant. The third one is relaxed bundling, which has no | the same registrant. The third one is relaxed bundling, which has no | |||
specific requirements on the domain registration. This document | specific requirements on the domain registration. This document | |||
mainly addresses the strict bundling name registration. | mainly addresses the strict bundling name registration. | |||
For the name variants, different registries have different policies. | For the name variants, different registries have different policies. | |||
Some registries adopt the policy that variant Internationalized | Some registries adopt the policy that variant Internationalized | |||
Domain Name (IDNs) should be blocked. But some registries adopt the | Domain Names (IDNs) should be blocked. But some registries adopt the | |||
policy that variant IDNs which are identified as equivalent are | policy that variant IDNs that are identified as equivalent are | |||
allocated or delegated to the same registrant. For example, most | allocated or delegated to the same registrant. For example, most | |||
registries offering Chinese Domain Name (CDN) adopt a registration | registries offering a Chinese Domain Name (CDN) adopt a registration | |||
policy whereby a registrant can apply for an original CDN in any | policy whereby a registrant can apply for an original CDN in any | |||
forms: Simplified Chinese (SC) form, Traditional Chinese (TC) form, | form: Simplified Chinese (SC) form, Traditional Chinese (TC) form, or | |||
or other variant forms, then the corresponding variant CDN in SC form | other variant forms. The corresponding variant CDN in SC form and in | |||
and that in TC form will also be delegated to the same registrant. | TC form will also be delegated to the same registrant. All variant | |||
All variant names in the same TLD share a common set of attributes. | names in the same TLD share a common set of attributes. This | |||
This document mainly discuss the situation that variant IDNs which | document mainly discusses the situation in which variant IDNs that | |||
are identified as equivalent are allocated or delegated to the same | are identified as equivalent are allocated or delegated to the same | |||
registrant. | registrant. | |||
The basic Extensible Provisioning Protocol (EPP) domain name mapping | The basic Extensible Provisioning Protocol (EPP) domain name mapping | |||
[RFC5731] provides the facility for single domain name registration. | [RFC5731] provides the facility for single domain name registration. | |||
It does not specify how to register the strict bundled names which | It does not specify how to register the strict bundled names that | |||
share many of the attributes. | share many of the attributes. | |||
In order to meet the above requirements of strict bundled name | In order to meet the above requirements of strict bundled name | |||
registration, this document describes an extension of the EPP domain | registration, this document describes an extension of the EPP domain | |||
name mapping [RFC5731] for the provisioning and management of bundled | name mapping [RFC5731] for the provisioning and management of bundled | |||
names. This document describes a non-standard proprietary extension. | names. This document describes a nonstandard proprietary extension. | |||
This extension is especially useful for registries of practicing | This extension is especially useful for registries performing Chinese | |||
Chinese domain name registration. This method is also useful for | Domain Name registration. This method is also useful for other | |||
other language domain names that have similar issues with Chinese | language domain names that have similar issues with Chinese Domain | |||
domain names. This document is specified using Extensible Markup | Names. This document is specified using Extensible Markup Language | |||
Language (XML) 1.0 as described in [W3C.REC-xml-20040204] and XML | (XML) 1.0 as described in [W3C.REC-xml-20040204] and XML Schema | |||
Schema notation as described in [W3C.REC-xmlschema-1-20041028] and | notation as described in [W3C.REC-xmlschema-1-20041028] and | |||
[W3C.REC-xmlschema-2-20041028]. | [W3C.REC-xmlschema-2-20041028]. | |||
The EPP core protocol specification [RFC5730] provides a complete | The EPP core protocol specification [RFC5730] provides a complete | |||
description of EPP command and response structures. A thorough | description of EPP command and response structures. A thorough | |||
understanding of the base protocol specification is necessary to | understanding of the base protocol specification is necessary to | |||
understand the extension mapping described in this document. | understand the extension mapping described in this document. | |||
This document uses many IDN concepts, so a thorough understanding of | This document uses many IDN concepts, so a thorough understanding of | |||
the IDNs for Application (IDNA, described in [RFC5890], [RFC5891], | the IDNs for Application (IDNA, described in [RFC5890], [RFC5891], | |||
and [RFC5892]) and the variant approach discussed in [RFC4290] is | and [RFC5892]) and the variant approach discussed in [RFC4290] is | |||
assumed. | assumed. | |||
2. Terminology | 2. Terminology | |||
Variants in this document are those strings that are treated to be | Variants in this document are those strings that are treated as | |||
equivalent to each other according to the domain name registration | equivalent to each other according to the domain name registration | |||
policy for certain TLDs. | policy for certain TLDs. | |||
Bundled domain names are bundled together according to the domain | Bundled domain names are bundled together according to the domain | |||
name registration policy. For example, many Chinese domain name | name registration policy. For example, many Chinese Domain Name | |||
registries follow the principle described in RFC3743[RFC3743]. | registries follow the principle described in RFC 3743 [RFC3743]. | |||
Bundled domain names should belong to the same owner. If bundled | Bundled domain names should belong to the same owner. If bundled | |||
domain names are under different TLDs, those TLDs should be managed | domain names are under different TLDs, those TLDs should be managed | |||
by the same entity. | by the same entity. | |||
The terms Registered Domain Name(RDN) and Bundled Domain Name(BDN) | The terms "registered domain name" (RDN) and "bundled domain name" | |||
are used in this document. RDN represents the valid domain name that | (BDN) are used in this document. RDN represents the valid domain | |||
registrants submitted for the initial registration. BDN represents | name that registrants submitted for the initial registration. BDN | |||
the bundled domain name produced according to the bundled domain name | represents the bundled domain name produced according to the bundled | |||
registration policy. In current practice, the number of BDNs is | domain name registration policy. In current practice, the number of | |||
usually be kept to one according to the registration policy set by | BDNs is usually kept at one according to the registration policy set | |||
the registry. Both RDN and BDN specified in this document will be | by the registry. Both the RDN and BDN specified in this document | |||
registered via EPP. All other domain names related to the RDN will | will be registered via EPP. All other domain names related to the | |||
be blocked. | RDN will be blocked. | |||
uLabel in this document is used to express the U-label of an | The "uLabel" attribute in this document is used to express the | |||
internationalized domain name as a series of characters where non- | U-label of an Internationalized Domain Name as a series of characters | |||
ASCII characters will be represented in the format of "&#xXXXX;" | where non-ASCII characters will be represented in the format of | |||
where XXXX is a UNICODE point by using the XML escaping mechanism. | "&#xXXXX;" where XXXX is a Unicode point by using the XML escaping | |||
U-Label is defined in [RFC5890]. This document chooses this format | mechanism. The U-label is defined in [RFC5890]. This document | |||
of literal HTML ampersand codes, not the expected UNICODE native | chooses this format of literal HTML ampersand codes, not the expected | |||
characters, is because of that the UNICODE native characters may not | Unicode character codes. Unicode characters may not be displayed | |||
be displayed correctly in some text file readers while literal HTML | correctly in some text file readers, while HTML numeric character | |||
ampersand codes are easy for HTML processors. The implementation | references are easy for HTML processors. The implementation | |||
following this document should use UNICODE native characters | following this document should use Unicode characters directly. | |||
directly. | ||||
This document uses the prefix "b-dn" for the namespace | This document uses the prefix "b-dn" for the namespace | |||
"urn:ietf:params:xml:ns:epp:b-dn" throughout. Implementations cannot | "urn:ietf:params:xml:ns:epp:b-dn" throughout. Implementations cannot | |||
assume that any particular prefix is used, and must employ a | assume that any particular prefix is used and must employ a | |||
namespace-aware XML parser and serializer to interpret and output the | namespace-aware XML parser and serializer to interpret and output the | |||
XML documents. | XML documents. | |||
In examples, "C:" represents lines sent by a protocol client and "S:" | In the examples, "C:" represents lines sent by a protocol client, and | |||
represents lines returned by a protocol server. Indentation and | "S:" represents lines returned by a protocol server. Indentation and | |||
white space in examples are provided only to illustrate element | spacing in the 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 | XML is case sensitive. Unless stated otherwise, the XML | |||
and examples provided in this document must be interpreted in the | specifications and examples provided in this document must be | |||
character case presented to develop a conforming implementation. | interpreted in the character case presented to develop a conforming | |||
implementation. | ||||
3. Overview | 3. Overview | |||
Domain registries have traditionally adopted a registration model | Domain registries have usually adopted a registration model whereby | |||
whereby metadata relating to a domain name, such as its expiration | metadata relating to a domain name, such as its expiration date and | |||
date and sponsoring registrar, are stored as properties of the domain | sponsoring registrar, are stored as properties of the domain object. | |||
object. The domain object is then considered an atomic unit of | The domain object is then considered an atomic unit of registration | |||
registration, on which operations such as update, renewal and | on which operations such as update, renewal, and deletion may be | |||
deletion may be performed. | performed. | |||
Bundled names brought about the need for multiple domain names to be | Bundled names brought about the need for multiple domain names to be | |||
registered and managed as a single package. In this model, the | registered and managed as a single package. In this model, the | |||
registry typically accepts a domain registration request (i.e. EPP | registry typically accepts a domain registration request (i.e., EPP | |||
domain <create> command) containing the domain name to be registered. | domain <create> command) containing the domain name to be registered. | |||
This domain name is referred to as the RDN in this document. As part | This domain name is referred to as the RDN in this document. As part | |||
of the processing of the registration request, the registry generates | of the processing of the registration request, the registry generates | |||
a set of bundled names that are related to the RDN, either | a set of bundled names that are related to the RDN, either | |||
programmatically or with the guidance of registration policies, and | programmatically or with the guidance of registration policies, and | |||
places them in the registration package together with the RDN. | places them in the registration package together with the RDN. | |||
The bundled names share many properties, such as expiration date and | The bundled names share many properties, such as expiration date and | |||
sponsoring registrar, by sharing the same domain object. So when | sponsoring registrar, by sharing the same domain object. So when | |||
registrants update any property of a domain object within a bundle | registrants update any property of a domain object within a bundle | |||
package, that property will be updated at the same time for all other | package, that property will be updated at the same time for all other | |||
domain objects in the bundle package. | domain objects in the bundle package. | |||
4. Requirement for Bundling Registration of Names | 4. Requirement for Bundling Registration of Names | |||
The bundled names whether they are in the form of "V-label.TLD" or in | The bundled names, whether they are in the form of "V-label.TLD" or | |||
the form of "LABEL.V-tld" should share some parameters or attributes | "LABEL.V-tld", should share some parameters or attributes associated | |||
associated with domain names. Typically, bundled names will share | with domain names. Typically, bundled names will share the following | |||
the following parameters or attributes: | parameters or attributes: | |||
o Registrar Ownership | * Registrar ownership | |||
o Registration and Expiry Dates | * Registration and expiry dates | |||
o Registrant, Admin, Billing, and Technical Contacts | * Registrant, admin, billing, and technical contacts | |||
o Name Server Association | * Name server association | |||
o Domain Status | * Domain status | |||
o Applicable grace periods (Add Grace Period, Renewal Grace Period, | * Applicable grace periods (add grace period, renew grace period, | |||
Auto-Renewal Grace Period, Transfer Grace Period, and Redemption | auto-renew grace period, transfer grace period, and redemption | |||
Grace Period) | grace period) [RFC3915] | |||
Because the domain names are bundled and share the same parameters or | Because the domain names are bundled and share the same parameters or | |||
attributes, the EPP command should do some processing for these | attributes, the EPP command should do some processing for these | |||
requirements: | requirements: | |||
o When performing a Domain Check, either BDN or RDN can be queried | * When performing a domain <check> command, either the BDN or RDN | |||
for the EPP command, and will return the same response. | can be queried with the EPP command and will return the same | |||
response. | ||||
o When performing a Domain Info, either BDN or RDN can be queried, | ||||
the same response will include both BDN and RDN information with | ||||
the same attributes. | ||||
o When performing a Domain Create, if the domain name is available, | * When performing a domain <info> command, either the BDN or RDN can | |||
both BDN and RDN will be registered. | be queried, and the same response will include both BDN and RDN | |||
information with the same attributes. | ||||
o When performing a Domain Delete, either BDN or RDN will be | * When performing a domain <create> command, if the domain name is | |||
accepted. If the domain name is registered, both BDN and RDN will | available, both the BDN and RDN will be registered. | |||
be deleted. | ||||
o When performing a Domain Renew, either BDN or RDN will be | * When performing a domain <delete> command, either the BDN or RDN | |||
accepted. Upon a successful domain renewal, both BDN and RDN will | will be accepted. If the domain name is registered, both the BDN | |||
have their expiry date extended by the requested term. Upon a | and RDN will be deleted. | |||
successful domain renewal, both BDN and RDN will conform to the | ||||
same renew grace period. | ||||
o When performing a Domain Transfer, either BDN or RDN will be | * When performing a domain <renew> command, either the BDN or RDN | |||
accepted. Upon successful completion of a domain transfer | will be accepted. Upon a successful domain renewal, both the BDN | |||
request, both BDN and RDN will enter a pendingTransfer status. | and RDN will have their expiry date extended by the requested | |||
term. Upon a successful domain renewal, both the BDN and RDN will | ||||
conform to the same renew grace period. | ||||
Upon approval of the transfer request, both BDN and RDN will be | * When performing a domain <transfer> command, either the BDN or RDN | |||
owned and managed by the same new registrant. | will be accepted. Upon successful completion of a domain transfer | |||
request, both the BDN and RDN will enter a pendingTransfer status. | ||||
Upon approval of the transfer request, both the BDN and RDN will | ||||
be owned and managed by the same new registrant. | ||||
o When performing a Domain Update, either BDN or RDN will be | * When performing a domain <update> command, either the BDN or RDN | |||
accepted. Any modifications to contact associations, name server | will be accepted. Any modifications to contact associations, name | |||
associations, domain status values and authorization information | server associations, domain status values, and authorization | |||
will be applied to both BDN and RDN. | information will be applied to both the BDN and RDN. | |||
5. Object Attributes | 5. Object Attributes | |||
This extension defines following additional elements to the EPP | This extension defines the following additional elements to the EPP | |||
domain name mapping [RFC5731]. All of these additional elements are | domain name mapping [RFC5731]. All of these additional elements are | |||
returned from <domain:info> command. | returned from the <domain:info> command. | |||
5.1. RDN | 5.1. RDN | |||
The RDN is an ASCII name or an IDN with the A-label [RFC5890] form. | The RDN is an ASCII name or an IDN with the A-label [RFC5890] form. | |||
In this document, its corresponding element is <b-dn:rdn>. An | In this document, its corresponding element is <b-dn:rdn>. An | |||
optional attribute "uLabel" associated with <b-dn:rdn> is used to | optional attribute "uLabel" associated with <b-dn:rdn> is used to | |||
represent the U-label [RFC5890] form. | represent the U-label [RFC5890] form. | |||
For example: <b-dn:rdn uLabel="实例.example"> xn-- | For example: | |||
fsq270a.example</b-dn:rdn> | ||||
<b-dn:rdn uLabel="实例.example"> xn-- | ||||
fsq270a.example</b-dn:rdn> | ||||
5.2. BDN | 5.2. BDN | |||
The BDN is an ASCII name or an IDN with the A-label [RFC5890] form | The BDN is an ASCII name or an IDN with the A-label [RFC5890] form | |||
which is converted from the corresponding BDN. In this document, its | that is converted from the corresponding BDN. In this document, its | |||
corresponding element is <b-dn:bdn>. An optional attribute "uLabel" | corresponding element is <b-dn:bdn>. An optional attribute "uLabel" | |||
associated with <b-dn:bdn> is used to represent the U-label [RFC5890] | associated with <b-dn:bdn> is used to represent the U-label [RFC5890] | |||
form. | form. | |||
For example: <b-dn:bdn uLabel="實例.example"> xn-- | For example: | |||
fsqz41a.example</b-dn:bdn> | ||||
<b-dn:bdn uLabel="實例.example"> xn-- | ||||
fsqz41a.example</b-dn:bdn> | ||||
6. EPP Command Mapping | 6. EPP Command Mapping | |||
A detailed description of the EPP syntax and semantics can be found | A detailed description of the EPP syntax and semantics can be found | |||
in the EPP core protocol specification [RFC5730]. The command | in the EPP core protocol specification [RFC5730]. The command | |||
mappings described here are specifically for use in provisioning and | mappings described here are specifically for use in provisioning and | |||
managing bundled names via EPP. | managing bundled names via EPP. | |||
6.1. EPP Query Commands | 6.1. EPP Query Commands | |||
EPP provides three commands to retrieve domain information: <check> | EPP provides three commands to retrieve domain information: <check> | |||
to determine if a domain object can be provisioned within a | to determine if a domain object can be provisioned within a | |||
repository, <info> to retrieve detailed information associated with a | repository, <info> to retrieve detailed information associated with a | |||
domain object, and <transfer> to retrieve domain-object transfer | domain object, and <transfer> to retrieve domain-object transfer | |||
status information. | status information. | |||
6.1.1. EPP <check> Command | 6.1.1. EPP <check> Command | |||
This extension does not add any element to the EPP <check> command or | This extension does not add any element to the EPP <check> command or | |||
<check> response described in the EPP domain name mapping [RFC5731]. | <check> response described in the EPP domain name mapping [RFC5731]. | |||
However, when either RDN or BDN is sent for check, response should | However, when either the RDN or BDN is sent for a check, the response | |||
contain both RDN and BDN information, which may also give some | should contain both RDN and BDN information, which may also give some | |||
explanation in the reason field to tell the registrant that the | explanation in the reason field to tell the registrant that the | |||
associated domain name is a produced name according to some bundle | associated domain name is a produced name according to some bundle | |||
domain name policy. | domain name policy. | |||
Example <check> response: | ||||
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
S: </result> | S: </result> | |||
S: <resData> | S: <resData> | |||
S: <domain:chkData | S: <domain:chkData | |||
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
S: <domain:cd> | S: <domain:cd> | |||
skipping to change at page 9, line 5 ¶ | skipping to change at line 374 ¶ | |||
S: </domain:cd> | S: </domain:cd> | |||
S: </domain:chkData> | S: </domain:chkData> | |||
S: </resData> | S: </resData> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54322-XYZ</svTRID> | S: <svTRID>54322-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S:</epp> | S:</epp> | |||
Figure 1: Example <check> Response | ||||
6.1.2. EPP <info> Command | 6.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]. However, additional | described in the EPP domain mapping [RFC5731]. However, additional | |||
elements are defined for the <info> response. | elements are defined for the <info> response. | |||
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 | |||
domain mapping [RFC5731]. In addition, unless some registration | domain mapping [RFC5731]. In addition, unless some registration | |||
policy has some special processing, the EPP <extension> element | policy has some special processing, the EPP <extension> element | |||
should contain a child <b-dn:infData> element that identifies the | should contain a child <b-dn:infData> element that identifies the | |||
extension namespace if the domain object has data associated with | extension namespace if the domain object has data associated with | |||
this extension and based on its registration policy. The | this extension and based on its registration policy. The | |||
<b-dn:infData> element contains the <b-dn:bundle> which has the | <b-dn:infData> element contains the <b-dn:bundle>, which has the | |||
following child elements: | following child elements: | |||
o An <b-dn:rdn> element that contains the RDN, along with the | * A <b-dn:rdn> element that contains the RDN, along with the | |||
attribute described below. | attribute described below. | |||
o An optional <b-dn:bdn> element that contains the BDN, along with | * An optional <b-dn:bdn> element that contains the BDN, along with | |||
the attribute described below. | the attribute described below. | |||
The above elements contain the following attribute: | The above elements contain the following attribute: | |||
o An optional "uLabel" attribute represents the U-label of the | * An optional "uLabel" attribute represents the U-label of the | |||
element. | element. | |||
Example <info> response for an authorized client: | ||||
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
S: </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>xn--fsq270a.example</domain:name> | S: <domain:name>xn--fsq270a.example</domain:name> | |||
skipping to change at page 10, line 35 ¶ | skipping to change at line 453 ¶ | |||
S: </b-dn:bundle> | S: </b-dn:bundle> | |||
S: </b-dn:infData> | S: </b-dn:infData> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54322-XYZ</svTRID> | S: <svTRID>54322-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S:</epp> | S:</epp> | |||
<info> Response for the unauthorized client has not been changed, see | Figure 2: Example <info> Response for an Authorized Client | |||
[RFC5731] for detail. | ||||
The <info> response for the unauthorized client has not been changed, | ||||
see [RFC5731] for details. | ||||
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. | |||
6.1.3. EPP <transfer> Query Command | 6.1.3. EPP <transfer> Query Command | |||
This extension does not add any element to the EPP <transfer> command | This extension does not add any element to the EPP <transfer> command | |||
or <transfer> response described in the EPP domain mapping [RFC5731]. | or <transfer> response described in the EPP domain mapping [RFC5731]. | |||
6.2. EPP Transform Commands | 6.2. EPP Transform Commands | |||
EPP provides five commands to transform domain objects: <create> to | EPP provides five commands to transform domain objects: <create> to | |||
create an instance of a domain object, <delete> to delete an instance | create an instance of a domain object, <delete> to delete an instance | |||
of a domain object, <renew> to extend the validity period of a domain | of a domain object, <renew> to extend the validity period of a domain | |||
object, <transfer> to manage domain object sponsorship changes, and | object, <transfer> to manage domain object sponsorship changes, and | |||
<update> to change information associated with a domain object. | <update> to change information associated with a domain object. | |||
When theses commands have been processed successfully, the EPP | When these commands have 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 | |||
domain mapping [RFC5731]. Unless some registration policy has some | domain mapping [RFC5731]. Unless some registration policy has some | |||
special processing, this EPP <extension> element should contain the | special processing, this EPP <extension> element should contain the | |||
<b-dn:bundle> which has the following child elements: | <b-dn:bundle>, which has the following child elements: | |||
o An <b-dn:rdn> element that contains the RDN, along with the | * A <b-dn:rdn> element that contains the RDN, along with the | |||
attribute described below. | attribute described below. | |||
o An optional <b-dn:bdn> element that contains the BDN, along with | * An optional <b-dn:bdn> element that contains the BDN, along with | |||
the attribute described below. | the attribute described below. | |||
The above elements contain the following attribute: | The above elements contain the following attribute: | |||
o An optional "uLabel" attribute represents the U-label of the | * An optional "uLabel" attribute represents the U-label of the | |||
element. | element. | |||
6.2.1. EPP <create> Command | 6.2.1. EPP <create> Command | |||
This extension defines additional elements to extend the EPP <create> | This extension defines additional elements to extend the EPP <create> | |||
command described in the EPP domain name mapping [RFC5731] for | command described in the EPP domain name mapping [RFC5731] for | |||
bundled names registration. | bundled names registration. | |||
In addition to the EPP command elements described in the EPP domain | In addition to the EPP command elements described in the EPP domain | |||
mapping [RFC5731], the <create> command shall contain an <extension> | mapping [RFC5731], the <create> command shall contain an <extension> | |||
element. Unless some registration policy has some special | element. Unless some registration policy has some special | |||
processing, the <extension> element should contain a child | processing, the <extension> element should contain a child | |||
<b-dn:create> element that identifies the bundle namespace, and a | <b-dn:create> element that identifies the bundle namespace and a | |||
child <b-dn:rdn> element that identifies the U-Label form of the | child <b-dn:rdn> element that identifies the U-label form of the | |||
registered domain name with the uLabel attribute. U-Label is used | registered domain name with the "uLabel" attribute. The U-label is | |||
for easy reading by the registrants and easy debugging by the | used for easy reading by the registrants and easy debugging by the | |||
registrars and the registries. | registrars and the registries. | |||
Example <create> 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: <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>xn--fsq270a.example</domain:name> | C: <domain:name>xn--fsq270a.example</domain:name> | |||
C: <domain:period unit="y">2</domain:period> | C: <domain:period unit="y">2</domain:period> | |||
C: <domain:registrant>123</domain:registrant> | C: <domain:registrant>123</domain:registrant> | |||
C: <domain:contact type="admin">123</domain:contact> | C: <domain:contact type="admin">123</domain:contact> | |||
skipping to change at page 12, line 35 ¶ | skipping to change at line 535 ¶ | |||
C: xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn"> | C: xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn"> | |||
C: <b-dn:rdn uLabel="实例.example"> | C: <b-dn:rdn uLabel="实例.example"> | |||
C: xn--fsq270a.example | C: xn--fsq270a.example | |||
C: </b-dn:rdn> | C: </b-dn:rdn> | |||
C: </b-dn:create> | C: </b-dn:create> | |||
C: </extension> | C: </extension> | |||
C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
C: </command> | C: </command> | |||
C:</epp> | C:</epp> | |||
Figure 3: Example <create> Command | ||||
When a <create> command has been processed successfully, the EPP | When a <create> command has been processed successfully, the EPP | |||
<creData> element must contain child elements as described in the EPP | <creData> element must contain child elements as described in the EPP | |||
domain mapping [RFC5731]. In addition, unless some registration | domain mapping [RFC5731]. In addition, unless some registration | |||
policy has some special processing, the EPP <extension> element | policy has some special processing, the EPP <extension> element | |||
should contain a child <b-dn:creData> element that identifies the | should contain a child <b-dn:creData> element that identifies the | |||
extension namespace if the domain object has data associated with | extension namespace if the domain object has data associated with | |||
this extension and based on its registration policy. The | this extension and based on its registration policy. The | |||
<b-dn:creData> element contains the <b-dn:bundle> element. | <b-dn:creData> element contains the <b-dn:bundle> element. | |||
Example <create> response: | ||||
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
S: </result> | S: </result> | |||
S: <resData> | S: <resData> | |||
S: <domain:creData | S: <domain:creData | |||
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>xn--fsq270a.example</domain:name> | S: <domain:name>xn--fsq270a.example</domain:name> | |||
skipping to change at page 13, line 41 ¶ | skipping to change at line 580 ¶ | |||
S: </b-dn:bundle> | S: </b-dn:bundle> | |||
S: </b-dn:creData> | S: </b-dn:creData> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54322-XYZ</svTRID> | S: <svTRID>54322-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S:</epp> | S:</epp> | |||
An EPP error response must be returned if an <create> command cannot | Figure 4: Example <create> Response | |||
An EPP error response must be returned if a <create> command cannot | ||||
be processed for any reason. | be processed for any reason. | |||
6.2.2. EPP <delete> Command | 6.2.2. EPP <delete> Command | |||
This extension does not add any element to the EPP <delete> command | This extension does not add any element to the EPP <delete> command | |||
described in the EPP domain mapping [RFC5731]. However, additional | described in the EPP domain mapping [RFC5731]. However, additional | |||
elements are defined for the <delete> response. | elements are defined for the <delete> response. | |||
When a <delete> command has been processed successfully, the EPP | When a <delete> command has been processed successfully, the EPP | |||
<delData> element must contain child elements as described in the EPP | <delData> element must contain child elements as described in the EPP | |||
domain mapping [RFC5731]. In addition, unless some registration | domain mapping [RFC5731]. In addition, unless some registration | |||
policy has some special processing, the EPP <extension> element | policy has some special processing, the EPP <extension> element | |||
should contain a child <b-dn:delData> element that identifies the | should contain a child <b-dn:delData> element that identifies the | |||
extension namespace if the domain object has data associated with | extension namespace if the domain object has data associated with | |||
this extension and based on its registration policy. The | this extension and based on its registration policy. The | |||
<b-dn:delData> element should contain the <b-dn:bundle> element. | <b-dn:delData> element should contain the <b-dn:bundle> element. | |||
Example <delete> response: | ||||
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
S: </result> | S: </result> | |||
S: <extension> | S: <extension> | |||
S: <b-dn:delData | S: <b-dn:delData | |||
S: xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn"> | S: xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn"> | |||
S: <b-dn:bundle> | S: <b-dn:bundle> | |||
skipping to change at page 14, line 38 ¶ | skipping to change at line 626 ¶ | |||
S: </b-dn:bundle> | S: </b-dn:bundle> | |||
S: </b-dn:delData> | S: </b-dn:delData> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54321-XYZ</svTRID> | S: <svTRID>54321-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S:</epp> | S:</epp> | |||
Figure 5: Example <delete> Response | ||||
An EPP error response must be returned if a <delete> command cannot | An EPP error response must be returned if a <delete> command cannot | |||
be processed for any reason. | be processed for any reason. | |||
6.2.3. EPP <renew> Command | 6.2.3. EPP <renew> Command | |||
This extension does not add any element to the EPP <renew> command | This extension does not add any element to the EPP <renew> command | |||
described in the EPP domain name mapping [RFC5731]. However, when | described in the EPP domain name mapping [RFC5731]. However, when | |||
either RDN or BDN is sent for renew, response should contain both RDN | either the RDN or BDN is sent for renewal, the response should | |||
and BDN information. When the command has been processed | contain both RDN and BDN information. When the command has been | |||
successfully, the EPP <extension> element shall be contained in the | processed successfully, the EPP <extension> element shall be | |||
response if the domain object has data associated with bundled names. | contained in the response if the domain object has data associated | |||
Unless some registration policy has some special processing, this EPP | with bundled names. Unless some registration policy has some special | |||
<extension> element should contain the <b-dn:renData> which contains | processing, this EPP <extension> element should contain the | |||
<b-dn:bundle> element. | <b-dn:renData>, which contains the <b-dn:bundle> element. | |||
Example <renew> response: | ||||
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
S: </result> | S: </result> | |||
S: <resData> | S: <resData> | |||
S: <domain:renData | S: <domain:renData | |||
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
skipping to change at page 15, line 40 ¶ | skipping to change at line 676 ¶ | |||
S: </b-dn:bundle> | S: </b-dn:bundle> | |||
S: </b-dn:renData> | S: </b-dn:renData> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54322-XYZ</svTRID> | S: <svTRID>54322-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S:</epp> | S:</epp> | |||
Figure 6: Example <renew> Response | ||||
6.2.4. EPP <transfer> Command | 6.2.4. EPP <transfer> Command | |||
This extension does not add any element to the EPP <transfer> command | This extension does not add any element to the EPP <transfer> command | |||
described in the EPP domain name mapping [RFC5731]. However, | described in the EPP domain name mapping [RFC5731]. However, | |||
additional elements are defined for the <transfer> response in the | additional elements are defined for the <transfer> response in the | |||
EPP object mapping. When the command has been processed | EPP object mapping. When the command has been processed | |||
successfully, the EPP <extension> element shall be contained in the | successfully, the EPP <extension> element shall be contained in the | |||
response if the domain object has data associated with bundled names. | response if the domain object has data associated with bundled names. | |||
Unless some registration policy has some special processing, this EPP | Unless some registration policy has some special processing, this EPP | |||
<extension> element should contain the <b-dn:trnData> which contains | <extension> element should contain the <b-dn:trnData>, which contains | |||
<b-dn:bundle> element. | the <b-dn:bundle> element. | |||
Example <transfer> response: | ||||
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1001"> | S: <result code="1001"> | |||
S: <msg>Command completed successfully; action pending</msg> | S: <msg>Command completed successfully; action pending</msg> | |||
S: </result> | S: </result> | |||
S: <resData> | S: <resData> | |||
S: <domain:trnData | S: <domain:trnData | |||
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> | |||
skipping to change at page 16, line 45 ¶ | skipping to change at line 728 ¶ | |||
S: </b-dn:bundle> | S: </b-dn:bundle> | |||
S: </b-dn:trnData> | S: </b-dn:trnData> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54322-XYZ</svTRID> | S: <svTRID>54322-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S:</epp> | S:</epp> | |||
Figure 7: Example <transfer> Response | ||||
6.2.5. EPP <update> Command | 6.2.5. EPP <update> Command | |||
This extension does not add any element to the EPP <update> command | This extension does not add any element to the EPP <update> command | |||
described in the EPP domain name mapping [RFC5731]. However, | described in the EPP domain name mapping [RFC5731]. However, | |||
additional elements are defined for the <update> response in the EPP | additional elements are defined for the <update> response in the EPP | |||
object mapping. When the command has been processed successfully, | object mapping. When the command has been processed successfully, | |||
the EPP <extension> element shall be contained in the response if the | the EPP <extension> element shall be contained in the response if the | |||
domain object has data associated with bundled names. Unless some | domain object has data associated with bundled names. Unless some | |||
registration policy has some special processing, this EPP <extension> | registration policy has some special processing, this EPP <extension> | |||
element should contain the <b-dn:upData> which contains <b-dn:bundle> | element should contain the <b-dn:upData>, which contains the | |||
element. | <b-dn:bundle> element. | |||
Example <update> response: | ||||
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
S: <response> | S: <response> | |||
S: <result code="1000"> | S: <result code="1000"> | |||
S: <msg>Command completed successfully</msg> | S: <msg>Command completed successfully</msg> | |||
S: </result> | S: </result> | |||
S: <extension> | S: <extension> | |||
S: <b-dn:upData | S: <b-dn:upData | |||
S: xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn"> | S: xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn"> | |||
skipping to change at page 17, line 36 ¶ | skipping to change at line 768 ¶ | |||
S: </b-dn:bundle> | S: </b-dn:bundle> | |||
S: </b-dn:upData> | S: </b-dn:upData> | |||
S: </extension> | S: </extension> | |||
S: <trID> | S: <trID> | |||
S: <clTRID>ABC-12345</clTRID> | S: <clTRID>ABC-12345</clTRID> | |||
S: <svTRID>54322-XYZ</svTRID> | S: <svTRID>54322-XYZ</svTRID> | |||
S: </trID> | S: </trID> | |||
S: </response> | S: </response> | |||
S:</epp> | S:</epp> | |||
Figure 8: Example <update> Response | ||||
7. Formal Syntax | 7. Formal Syntax | |||
An EPP object name mapping extension for bundled names is specified | An EPP object name mapping extension for bundled names is specified | |||
in XML Schema notation. The formal syntax presented here is a | in XML Schema notation. The formal syntax presented here is a | |||
complete schema representation of the object mapping suitable for | complete schema representation of the object mapping suitable for | |||
automated validation of EPP XML instances. The BEGIN and END tags | 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 | are not part of the schema; they are used to note the beginning and | |||
ending of the schema for URI registration purposes. | ending of the schema for URI registration purposes. | |||
BEGIN | <CODE BEGINS> | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<schema targetNamespace="urn:ietf:params:xml:ns:epp:b-dn" | <schema targetNamespace="urn:ietf:params:xml:ns:epp:b-dn" | |||
xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn" | xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn" | |||
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-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 common element types. | |||
skipping to change at page 19, line 23 ¶ | skipping to change at line 853 ¶ | |||
<extension base="eppcom:labelType"> | <extension base="eppcom:labelType"> | |||
<attribute name="uLabel" type="eppcom:labelType"/> | <attribute name="uLabel" type="eppcom:labelType"/> | |||
</extension> | </extension> | |||
</simpleContent> | </simpleContent> | |||
</complexType> | </complexType> | |||
<!-- | <!-- | |||
End of schema. | End of schema. | |||
--> | --> | |||
</schema> | </schema> | |||
<CODE ENDS> | ||||
END | ||||
8. Internationalization Considerations | 8. Internationalization Considerations | |||
EPP is represented in XML, which provides native support for encoding | EPP is represented in XML, which provides 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 | |||
both UTF-8 and UTF-16. Though XML includes provisions to identify | recognize both UTF-8 and UTF-16. Though XML includes provisions to | |||
and use other character encodings through use of an "encoding" | identify and use other character encodings through use of an | |||
attribute in an <?xml?> declaration, use of UTF-8 is recommended. | "encoding" attribute in an <?xml?> declaration, use of UTF-8 is | |||
recommended. | ||||
As an extension of the EPP domain name mapping, the elements, and | As an extension of the EPP domain name mapping, the elements and | |||
element content described in this document must inherit the | element content described in this document must inherit the | |||
internationalization conventions used to represent higher-layer | internationalization conventions used to represent higher-layer | |||
domain and core protocol structures present in an XML instance that | domain and core protocol structures present in an XML instance that | |||
includes this extension. | includes this extension. | |||
9. IANA Considerations | 9. IANA Considerations | |||
9.1. XML Namespace and XML Schema | 9.1. XML Namespace and XML Schema | |||
This document uses URNs to describe XML namespaces and XML schemas | This document uses URNs to describe XML namespaces and XML schemas | |||
conforming to a registry mechanism described in [RFC3688]. | conforming to a registry mechanism described in [RFC3688]. | |||
9.1.1. BDN Namespace | 9.1.1. BDN Namespace | |||
IANA is requested to make an assignment from the IETF XML Registry | IANA has assigned the following for the BDN namespace in the "ns" | |||
"ns" registry as follows for the BDN namespace with this document as | subregistry of the "IETF XML Registry", with this document as the | |||
the reference: | reference: | |||
o URI: urn:ietf:params:xml:ns:epp:b-dn | ||||
o Registrant Contact: See the "Author's Address" section of this | URI: urn:ietf:params:xml:ns:epp:b-dn | |||
Registrant Contact: See the "Authors' Addresses" section of this | ||||
document. | document. | |||
XML: None. The namespace URI does not represent an XML | ||||
o XML: None. Namespace URI does not represent an XML specification. | specification. | |||
9.1.2. BDN XML Schema | 9.1.2. BDN XML Schema | |||
IANA is requested to make an assignment from the IETF XML Registry | IANA has made the following assignment in the "schema" subregistry of | |||
"schema" registry as follows for the BDN XML schema with this | the "IETF XML Registry" for the BDN XML schema, with this document as | |||
document as the reference: | the reference: | |||
o URI: urn:ietf:params:xml:schema:epp:b-dn | ||||
o Registrant Contact: See the "Author's Address" section of this | URI: urn:ietf:params:xml:schema:epp:b-dn | |||
Registrant Contact: See the "Authors' Addresses" section of this | ||||
document. | document. | |||
XML: See the "Formal Syntax" section of this document. | ||||
o XML: See the "Formal Syntax" section of this document. | ||||
9.2. EPP Extension | 9.2. EPP Extension | |||
The EPP extension described in this document should be registered by | IANA has registered the EPP extension described in this document in | |||
IANA in the "Extensions for the Extensible Provisioning Protocol | the "Extensions for the Extensible Provisioning Protocol (EPP)" | |||
(EPP)" registry described in [RFC7451]. The details of the | registry described in [RFC7451]. The details of the registration are | |||
registration are as follows: | as follows: | |||
o Name of Extension: "Domain Name Mapping Extension for Strict | Name of Extension: "Domain Name Mapping Extension for Strict | |||
Bundling Registration" | Bundling Registration" | |||
Document Status: Informational | ||||
o Document status: Informational | Reference: This document | |||
Registrant Name and Email Address: See the "Authors' Addresses" | ||||
o Reference: This document | ||||
o Registrant Name and Email Address: See the "Author's Address" | ||||
section of this document. | section of this document. | |||
TLDs: Any | ||||
o Top-Level Domains (TLDs): Any | IPR Disclosure: https://datatracker.ietf.org/ipr/2479 | |||
Status: Active | ||||
o IPR Disclosure: https://datatracker.ietf.org/ipr/2479 | Notes: None | |||
o Status: Active | ||||
o Notes: None | ||||
10. Security Considerations | 10. Security Considerations | |||
Normally, the EPP server will only be connected by the authorized EPP | Normally, the EPP server will only be connected by the authorized EPP | |||
client which knows whether the EPP server supports the extension | client, which knows whether the EPP server supports the extension | |||
described in this document via out of band service. The EPP client | described in this document via out-of-band service. The EPP client | |||
should avoid to send this extension to the unimplemented EPP server. | should avoid sending this extension to the unimplemented EPP server. | |||
In case that a client that supports this document sends a request to | In case a client that supports this document sends a request to a | |||
a server that does not support this document, the server will return | server that does not support this document, the server will return | |||
the result code 2103 according to the section 3 of RFC5730[RFC5730]. | the result code 2103 according to Section 3 of [RFC5730]. Section 3 | |||
Section 3 of RFC5730[RFC5730] has the following information for | of [RFC5730] has the following information for result code 2103. | |||
result code 2103. | ||||
2103 "Unimplemented extension" | ||||
This response code must be returned when a server receives | | 2103 "Unimplemented extension" | |||
a valid EPP command element that contains a protocol | | | |||
command extension that is not implemented by the server. | | This response code MUST be returned when a server receives a valid | |||
| EPP command element that contains a protocol command extension | ||||
| that is not implemented by the server. | ||||
Some registries and registrars have more than 15 years experience of | Some registries and registrars have more than 15 years' experience | |||
the bundled registration of domain names (especially Chinese domain | with the bundled registration of domain names (especially Chinese | |||
names). They have not found any significant security issues. One | Domain Names). They have not found any significant security issues. | |||
principle that the registry and registrar should let the registrants | One principle that the registry and registrar should let the | |||
know is that bundled registered domain names will be created, | registrants know is that bundled registered domain names will be | |||
transferred, updated, and deleted together as a group. The | created, transferred, updated, and deleted together as a group. The | |||
registrants for bundled domain names should remember this principle | registrants for bundled domain names should remember this principle | |||
when doing some operations to these domain names. [RFC5730] also | when performing operations to these domain names. [RFC5730] also | |||
introduces some security consideration. | introduces some security consideration. | |||
This document does not take a position regarding whether or not the | This document does not take a position regarding whether or not the | |||
bundled domain names share a DS/DNSKEY key. The DNS administrator | bundled domain names share a key for Delegation Signer (DS) and/or | |||
can choose whether DS/DNSKEY information can be shared or not. If a | DNS Public Key (DNSKEY) resource records. The DNS administrator can | |||
DS/DNSKEY key is shared, then the bundled domain names share fate if | choose whether DS/DNSKEY information can be shared or not. If a DS/ | |||
DNSKEY key is shared, then the bundled domain names share fate if | ||||
there is a key compromise. | there is a key compromise. | |||
11. Implementation Status and some clarifications | 11. References | |||
Note to RFC Editor: Please remove this section before publication. | ||||
o The Chinese Domain Name Consortium(CDNC) including CNNIC, TWNIC, | ||||
HKIRC, MONIC, SGNIC and more have followed the principles defined | ||||
in this document for many years. | ||||
o CNNIC and TELEINFO have implemented this extension in their EPP | ||||
based Chinese domain name registration system. | ||||
o Public Interest Registry, has requested to implement technical | ||||
bundling of second level domains for .NGO and .ONG. This means | ||||
that by registering and purchasing a domain in the .ngo TLD, for | ||||
an example, the NGO registrant is also registering and purchasing | ||||
the corresponding name in the .ong TLD (and vice-versa for | ||||
registrations in .ong). | ||||
o Patrick Mevzek has released a new version of Net::DRI, an EPP | ||||
client (Perl library, free software) implementing this extension. | ||||
o The idea and main texts of this document has passed IETF REGEXT WG | ||||
review. | ||||
12. Acknowledgements | ||||
The authors especially thank the authors of [RFC5730] and [RFC5731] | ||||
and the following ones of CNNIC: Weiping Yang, Chao Qi. | ||||
Useful comments were made by John Klensin, Scott Hollenbeck, Patrick | ||||
Mevzek, Edward Lewis,and Adrian Farrel. | ||||
13. References | ||||
13.1. Normative References | 11.1. Normative References | |||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
<https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
[RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", | [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", | |||
STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, | STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, | |||
<https://www.rfc-editor.org/info/rfc5730>. | <https://www.rfc-editor.org/info/rfc5730>. | |||
[RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) | [RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) | |||
skipping to change at page 23, line 15 ¶ | skipping to change at line 990 ¶ | |||
[RFC5892] Faltstrom, P., Ed., "The Unicode Code Points and | [RFC5892] Faltstrom, P., Ed., "The Unicode Code Points and | |||
Internationalized Domain Names for Applications (IDNA)", | Internationalized Domain Names for Applications (IDNA)", | |||
RFC 5892, DOI 10.17487/RFC5892, August 2010, | RFC 5892, DOI 10.17487/RFC5892, August 2010, | |||
<https://www.rfc-editor.org/info/rfc5892>. | <https://www.rfc-editor.org/info/rfc5892>. | |||
[RFC7451] Hollenbeck, S., "Extension Registry for the Extensible | [RFC7451] Hollenbeck, S., "Extension Registry for the Extensible | |||
Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, | Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, | |||
February 2015, <https://www.rfc-editor.org/info/rfc7451>. | February 2015, <https://www.rfc-editor.org/info/rfc7451>. | |||
[W3C.REC-xml-20040204] | [W3C.REC-xml-20040204] | |||
Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and | Bray, T., Paoli, J., Sperberg-McQueen, C.M., Maler, E., | |||
F. Yergeau, ""Extensible Markup Language (XML) 1.0 (Third | and F. Yergeau, "Extensible Markup Language (XML) 1.0 | |||
Edition)", World Wide Web Consortium FirstEdition REC-xml- | (Third Edition)", W3C Recommendation REC-xml-20040204, | |||
20040204", February 2004, | February 2004, | |||
<http://www.w3.org/TR/2004/REC-xml-20040204>. | <http://www.w3.org/TR/2004/REC-xml-20040204>. | |||
[W3C.REC-xmlschema-1-20041028] | [W3C.REC-xmlschema-1-20041028] | |||
Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn, | Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn, | |||
""XML Schema Part 1: Structures Second Edition", World | "XML Schema Part 1: Structures Second Edition", W3C | |||
Wide Web Consortium Recommendation REC-xmlschema- | Recommendation REC-xmlschema-1-20041028, October 2004, | |||
1-20041028", October 2004, | ||||
<http://www.w3.org/TR/2004/REC-xmlschema-1-20041028>. | <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028>. | |||
[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", W3C Recommendation REC-xmlschema- | |||
REC-xmlschema-2-20041028", October 2004, | 2-20041028, October 2004, | |||
<http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>. | <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>. | |||
13.2. Informative References | 11.2. Informative References | |||
[RFC3743] Konishi, K., Huang, K., Qian, H., and Y. Ko, "Joint | [RFC3743] Konishi, K., Huang, K., Qian, H., and Y. Ko, "Joint | |||
Engineering Team (JET) Guidelines for Internationalized | Engineering Team (JET) Guidelines for Internationalized | |||
Domain Names (IDN) Registration and Administration for | Domain Names (IDN) Registration and Administration for | |||
Chinese, Japanese, and Korean", RFC 3743, | Chinese, Japanese, and Korean", RFC 3743, | |||
DOI 10.17487/RFC3743, April 2004, | DOI 10.17487/RFC3743, April 2004, | |||
<https://www.rfc-editor.org/info/rfc3743>. | <https://www.rfc-editor.org/info/rfc3743>. | |||
[RFC3915] Hollenbeck, S., "Domain Registry Grace Period Mapping for | ||||
the Extensible Provisioning Protocol (EPP)", RFC 3915, | ||||
DOI 10.17487/RFC3915, September 2004, | ||||
<https://www.rfc-editor.org/info/rfc3915>. | ||||
[RFC4290] Klensin, J., "Suggested Practices for Registration of | [RFC4290] Klensin, J., "Suggested Practices for Registration of | |||
Internationalized Domain Names (IDN)", RFC 4290, | Internationalized Domain Names (IDN)", RFC 4290, | |||
DOI 10.17487/RFC4290, December 2005, | DOI 10.17487/RFC4290, December 2005, | |||
<https://www.rfc-editor.org/info/rfc4290>. | <https://www.rfc-editor.org/info/rfc4290>. | |||
Acknowledgements | ||||
The authors especially thank the authors of [RFC5730] and [RFC5731] | ||||
and the following members of the China Internet Network Information | ||||
Center (CNNIC): Weiping Yang, Chao Qi. | ||||
Useful comments were made by John Klensin, Scott Hollenbeck, Patrick | ||||
Mevzek, Edward Lewis, Wil Tan, and Adrian Farrel. | ||||
Authors' Addresses | Authors' Addresses | |||
Jiankang Yao | Jiankang Yao | |||
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 3007 | Phone: +86 10 5881 3007 | |||
Email: yaojk@cnnic.cn | Email: yaojk@cnnic.cn | |||
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 | |||
Email: zhoulinlin@cnnic.cn | Email: zhoulinlin@cnnic.cn | |||
Hongtao Li | Hongtao Li | |||
CNNIC | CNNIC | |||
4 South 4th Street,Zhongguancun,Haidian District | 4 South 4th Street, Zhongguancun, Haidian District | |||
Beijing, Beijing 100190 | Beijing | |||
Beijing, 100190 | ||||
China | China | |||
Email: lihongtao@cnnic.cn | Email: lihongtao@cnnic.cn | |||
Ning Kong | Ning Kong | |||
Consultant | Consultant | |||
Email: ietfing@gmail.com | Email: ietfing@gmail.com | |||
Wil Tan | ||||
Cloud Registry | ||||
Suite 32 Seabridge House, 377 Kent St | ||||
Sydney, NSW 2000 | ||||
Australia | ||||
Phone: +61 414 710899 | ||||
Email: wil@cloudregistry.net | ||||
Jiagui Xie | Jiagui Xie | |||
Email: jiagui1984@163.com | Email: jiagui1984@163.com | |||
End of changes. 109 change blocks. | ||||
340 lines changed or deleted | 304 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |