| < draft-ietf-provreg-epp-domain-06.txt | draft-ietf-provreg-epp-domain-07.txt > | |||
|---|---|---|---|---|
| Internet Engineering Task Force S. Hollenbeck | Internet Engineering Task Force S. Hollenbeck | |||
| Internet-Draft VeriSign, Inc. | Internet-Draft VeriSign, Inc. | |||
| January 29, 2003 Expires: July 29, 2003 | April 24, 2003 Expires: October 24, 2003 | |||
| Extensible Provisioning Protocol Domain Name Mapping | Extensible Provisioning Protocol Domain Name Mapping | |||
| <draft-ietf-provreg-epp-domain-06.txt> | <draft-ietf-provreg-epp-domain-07.txt> | |||
| Status of this Memo | Status of this Memo | |||
| This document is an Internet-Draft and is in full conformance with all | This document is an Internet-Draft and is in full conformance with all | |||
| provisions of Section 10 of RFC2026. | provisions of Section 10 of RFC2026. | |||
| Internet-Drafts are working documents of the Internet Engineering Task | Internet-Drafts are working documents of the Internet Engineering Task | |||
| Force (IETF), its areas, and its working groups. Note that other | Force (IETF), its areas, and its working groups. Note that other | |||
| groups may also distribute working documents as Internet-Drafts. | groups may also distribute working documents as Internet-Drafts. | |||
| skipping to change at page 2, line 9 ¶ | skipping to change at page 2, line 9 ¶ | |||
| In examples, "C:" represents lines sent by a protocol client and "S:" | In examples, "C:" represents lines sent by a protocol client and "S:" | |||
| represents lines returned by a protocol server. Indentation and white | represents lines returned by a protocol server. Indentation and white | |||
| space in examples is provided only to illustrate element relationships | space in examples is provided only to illustrate element relationships | |||
| and is not a REQUIRED feature of this protocol. | and is not a REQUIRED feature of this protocol. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction ................................................. 3 | 1. Introduction ................................................. 3 | |||
| 1.1 Relationship of Domain Objects and Host Objects ............. 3 | 1.1 Relationship of Domain Objects and Host Objects ............. 3 | |||
| 2. Object Attributes ............................................ 4 | 2. Object Attributes ............................................ 5 | |||
| 2.1 Domain and Host Names ....................................... 4 | 2.1 Domain and Host Names ....................................... 5 | |||
| 2.2 Contact and Client Identifiers .............................. 4 | 2.2 Contact and Client Identifiers .............................. 5 | |||
| 2.3 Status Values ............................................... 4 | 2.3 Status Values ............................................... 5 | |||
| 2.4 Dates and Times ............................................. 6 | 2.4 Dates and Times ............................................. 7 | |||
| 2.5 Validity Periods ............................................ 6 | 2.5 Validity Periods ............................................ 7 | |||
| 2.6 Authorization Information ................................... 7 | 2.6 Authorization Information ................................... 8 | |||
| 3. EPP Command Mapping .......................................... 8 | 2.7 Other DNS Resource Record Attributes ........................ 8 | |||
| 3.1 EPP Query Commands .......................................... 8 | 3. EPP Command Mapping .......................................... 9 | |||
| 3.1.1 EPP <check> Command ....................................... 8 | 3.1 EPP Query Commands .......................................... 9 | |||
| 3.1.2 EPP <info> Command ........................................ 10 | 3.1.1 EPP <check> Command ....................................... 9 | |||
| 3.1.3 EPP <transfer> Query Command .............................. 16 | 3.1.2 EPP <info> Command ........................................ 11 | |||
| 3.2 EPP Transform Commands ...................................... 19 | 3.1.3 EPP <transfer> Query Command .............................. 17 | |||
| 3.2.1 EPP <create> Command ...................................... 19 | 3.2 EPP Transform Commands ...................................... 20 | |||
| 3.2.2 EPP <delete> Command ...................................... 21 | 3.2.1 EPP <create> Command ...................................... 20 | |||
| 3.2.3 EPP <renew> Command ....................................... 23 | 3.2.2 EPP <delete> Command ...................................... 22 | |||
| 3.2.4 EPP <transfer> Command .................................... 25 | 3.2.3 EPP <renew> Command ....................................... 24 | |||
| 3.2.5 EPP <update> Command ...................................... 27 | 3.2.4 EPP <transfer> Command .................................... 26 | |||
| 3.2.6 Offline Review of Requested Actions ....................... 30 | 3.2.5 EPP <update> Command ...................................... 28 | |||
| 4. Formal Syntax ................................................ 33 | 3.2.6 Offline Review of Requested Actions ....................... 31 | |||
| 5. Internationalization Considerations .......................... 42 | 4. Formal Syntax ................................................ 34 | |||
| 6. IANA Considerations .......................................... 42 | 5. Internationalization Considerations .......................... 44 | |||
| 7. Security Considerations ...................................... 43 | 6. IANA Considerations .......................................... 44 | |||
| 8. Acknowledgements ............................................. 43 | 7. Security Considerations ...................................... 45 | |||
| 9. References ................................................... 44 | 8. Acknowledgements ............................................. 45 | |||
| 10. Author's Address ............................................ 45 | 9. References ................................................... 46 | |||
| A. Revisions From Previous Version .............................. 46 | 10. Author's Address ............................................ 47 | |||
| B. Full Copyright Statement ..................................... 47 | A. Revisions From Previous Version .............................. 48 | |||
| B. Full Copyright Statement ..................................... 49 | ||||
| 1. Introduction | 1. Introduction | |||
| This document describes an Internet domain name mapping for version | This document describes an Internet domain name mapping for version | |||
| 1.0 of the Extensible Provisioning Protocol (EPP). This mapping is | 1.0 of the Extensible Provisioning Protocol (EPP). This mapping is | |||
| specified using the Extensible Markup Language (XML) 1.0 as described | specified using the Extensible Markup Language (XML) 1.0 as described | |||
| in [XML] and XML Schema notation as described in [XMLS-1] and [XMLS- | in [XML] and XML Schema notation as described in [XMLS-1] and [XMLS- | |||
| 2]. | 2]. | |||
| [EPP] provides a complete description of EPP command and response | [EPP] provides a complete description of EPP command and response | |||
| structures. A thorough understanding of the base protocol | structures. A thorough understanding of the base protocol | |||
| specification is necessary to understand the mapping described in this | specification is necessary to understand the mapping described in this | |||
| document. | document. | |||
| XML is case sensitive. Unless stated otherwise, XML specifications | XML is case sensitive. Unless stated otherwise, XML specifications | |||
| and examples provided in this document MUST be interpreted in the | and examples provided in this document MUST be interpreted in the | |||
| character case presented to develop a conforming implementation. | character case presented to develop a conforming implementation. | |||
| 1.1 Relationship of Domain Objects and Host Objects | 1.1 Relationship of Domain Objects and Host Objects | |||
| This document assumes that domain name objects have a superordinate | The EPP mapping for host objects is described in [EPP-H]. This | |||
| document assumes that domain name objects have a superordinate | ||||
| relationship to subordinate host name objects. For example, domain | relationship to subordinate host name objects. For example, domain | |||
| name "example.com" has a superordinate relationship to host name | name "example.com" has a superordinate relationship to host name | |||
| "ns1.example.com". EPP actions (such as object transfers) that do not | "ns1.example.com". EPP actions (such as object transfers) that do not | |||
| preserve this relationship MUST be explicitly disallowed. | preserve this relationship MUST be explicitly disallowed. | |||
| A host name object can be created in a repository for which no | A host name object can be created in a repository for which no | |||
| superordinate domain name object exists. For example, host name | superordinate domain name object exists. For example, host name | |||
| "ns1.example.com" can be created in the ".example" repository so that | "ns1.example.com" can be created in the ".example" repository so that | |||
| DNS domains in ".example" can be delegated to the host. Such hosts | DNS domains in ".example" can be delegated to the host. Such hosts | |||
| are described as "external" hosts in this specification since the name | are described as "external" hosts in this specification since the name | |||
| skipping to change at page 4, line 5 ¶ | skipping to change at page 3, line 49 ¶ | |||
| Whether a host is external or internal relates to the repository in | Whether a host is external or internal relates to the repository in | |||
| which the host is being used for delegation purposes. Whether an | which the host is being used for delegation purposes. Whether an | |||
| internal host is subordinate or not relates to a domain within the | internal host is subordinate or not relates to a domain within the | |||
| repository. For example, host ns1.example1.com is a subordinate host | repository. For example, host ns1.example1.com is a subordinate host | |||
| of domain example1.com, but it is a not a subordinate host of domain | of domain example1.com, but it is a not a subordinate host of domain | |||
| example2.com. ns1.example1.com can be used as a name server for | example2.com. ns1.example1.com can be used as a name server for | |||
| example2.com. In this case ns1.example1.com MUST be treated as an | example2.com. In this case ns1.example1.com MUST be treated as an | |||
| internal host, subject to the rules governing operations on | internal host, subject to the rules governing operations on | |||
| subordinate hosts within the same repository. | subordinate hosts within the same repository. | |||
| Name server hosts for domain delegation can be specified as either | ||||
| references to existing host objects or as domain attributes that | ||||
| describe a host machine. A server operator MUST use one name server | ||||
| specification form consistently. A server operator that announces | ||||
| support for host objects in an EPP greeting MUST NOT allow domain | ||||
| attributes to describe a name server host machine. A server operator | ||||
| that does not announce support for host objects MUST allow domain | ||||
| attributes to describe a name server host machine. When domain | ||||
| attributes are used to describe a name server host machine, IP | ||||
| addresses SHOULD be required only as needed to generate DNS glue | ||||
| records. | ||||
| Name servers are specified within a <domain:ns> element. This element | ||||
| MUST contain one or more <domain:hostObj> elements or one or more | ||||
| <domain:hostAttr> elements. A <domain:hostObj> element contains the | ||||
| fully qualified name of a known name server host object. A | ||||
| <domain:hostAttr> element contains the following child elements: | ||||
| - A <domain:hostName> element that contains the fully qualified name | ||||
| of a host. | ||||
| - Zero or more OPTIONAL <domain:hostAddr> elements that contain the IP | ||||
| addresses to be associated with the host. Each element MAY contain an | ||||
| "ip" attribute to identify the IP address format. Attribute value | ||||
| "v4" is used to note IPv4 address format. Attribute value "v6" is | ||||
| used to note IPv6 address format. If the "ip" attribute is not | ||||
| specified, "v4" is the default attribute value. IP address syntax | ||||
| requirements are described in Section 2.5 of the EPP host mapping | ||||
| [EPP-H]. | ||||
| Example host object name server elements for domain example.com: | ||||
| <domain:ns> | ||||
| <domain:hostObj>ns1.example.com</domain:hostObj> | ||||
| <domain:hostObj>ns1.example.net</domain:hostObj> | ||||
| </domain:ns> | ||||
| Example host attribute name server elements for domain example.com: | ||||
| <domain:ns> | ||||
| <domain:hostAttr> | ||||
| <domain:hostName>ns1.example.com</domain:hostName> | ||||
| <domain:hostAddr | ||||
| ip="v4">192.0.2.2</domain:hostAddr> | ||||
| <domain:hostAddr | ||||
| ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr> | ||||
| </domain:hostAttr> | ||||
| <domain:hostAttr> | ||||
| <domain:hostName>ns1.example.net</domain:hostName> | ||||
| </domain:hostAttr> | ||||
| </domain:ns> | ||||
| 2. Object Attributes | 2. Object Attributes | |||
| An EPP domain object has attributes and associated values that can be | An EPP domain object has attributes and associated values that can be | |||
| viewed and modified by the sponsoring client or the server. This | viewed and modified by the sponsoring client or the server. This | |||
| section describes each attribute type in detail. The formal syntax | section describes each attribute type in detail. The formal syntax | |||
| for the attribute values described here can be found in the "Formal | for the attribute values described here can be found in the "Formal | |||
| Syntax" section of this document and in the appropriate normative | Syntax" section of this document and in the appropriate normative | |||
| references. | references. | |||
| 2.1 Domain and Host Names | 2.1 Domain and Host Names | |||
| skipping to change at page 8, line 5 ¶ | skipping to change at page 8, line 17 ¶ | |||
| maximum value. | maximum value. | |||
| 2.6 Authorization Information | 2.6 Authorization Information | |||
| Authorization information is associated with domain objects to | Authorization information is associated with domain objects to | |||
| facilitate transfer operations. Authorization information is assigned | facilitate transfer operations. Authorization information is assigned | |||
| when a domain object is created, and it might be updated in the | when a domain object is created, and it might be updated in the | |||
| future. This specification describes password-based authorization | future. This specification describes password-based authorization | |||
| information, though other mechanisms are possible. | information, though other mechanisms are possible. | |||
| 2.7 Other DNS Resource Record Attributes | ||||
| While the DNS allows many resource record types to be associated with | ||||
| a domain, this mapping only explicitly specifies elements that | ||||
| describe resource records used for domain delegation and resolution. | ||||
| Facilities to provision other domain-related resource record types can | ||||
| be developed by extending this mapping. | ||||
| The provisioning method described in this mapping separates discrete | ||||
| data elements by data type. This method of data definition allows XML | ||||
| Schema processors to perform basic syntax validation tasks, reducing | ||||
| ambiguity and the amount of parsing and syntax-checking work required | ||||
| of protocol processors. Provisioning and extension methods that | ||||
| aggregate data into opaque strings are possible, but such methods | ||||
| SHOULD NOT be used because they impose additional parsing, | ||||
| interpretation, and validation requirements on protocol processors. | ||||
| 3. EPP Command Mapping | 3. EPP Command Mapping | |||
| A detailed description of the EPP syntax and semantics can be found in | A detailed description of the EPP syntax and semantics can be found in | |||
| [EPP]. The command mappings described here are specifically for use | [EPP]. The command mappings described here are specifically for use | |||
| in provisioning and managing Internet domain names via EPP. | in provisioning and managing Internet domain names via EPP. | |||
| 3.1 EPP Query Commands | 3.1 EPP Query Commands | |||
| EPP provides three commands to retrieve domain information: <check> to | EPP provides three commands to retrieve domain information: <check> to | |||
| determine if a domain object can be provisioned within a repository, | determine if a domain object can be provisioned within a repository, | |||
| skipping to change at page 13, line 21 ¶ | skipping to change at page 14, line 21 ¶ | |||
| IDentifier assigned to the domain object when the object was created. | IDentifier assigned to the domain object when the object was created. | |||
| - Zero or more OPTIONAL <domain:status> elements that contain the | - Zero or more OPTIONAL <domain:status> elements that contain the | |||
| current status descriptors associated with the domain. | current status descriptors associated with the domain. | |||
| - If supported by the server, one OPTIONAL <domain:registrant> element | - If supported by the server, one OPTIONAL <domain:registrant> element | |||
| and one or more OPTIONAL <domain:contact> elements that contain | and one or more OPTIONAL <domain:contact> elements that contain | |||
| identifiers for the human or organizational social information objects | identifiers for the human or organizational social information objects | |||
| associated with the domain object. | associated with the domain object. | |||
| - Zero or more OPTIONAL <domain:ns> elements that contain the fully | - An OPTIONAL <domain:ns> element that contains the fully qualified | |||
| qualified names of the delegated host objects (name servers) | names of the delegated host objects or host attributes (name servers) | |||
| associated with the domain object. | associated with the domain object. See section 1.1 for a description | |||
| of the elements used to specify host objects or host attributes. | ||||
| - Zero or more OPTIONAL <domain:host> elements that contain the fully | - Zero or more OPTIONAL <domain:host> elements that contain the fully | |||
| qualified names of the subordinate host objects that exist under this | qualified names of the subordinate host objects that exist under this | |||
| superordinate domain object. | superordinate domain object. | |||
| - A <domain:clID> element that contains the identifier of the | - A <domain:clID> element that contains the identifier of the | |||
| sponsoring client. | sponsoring client. | |||
| - An OPTIONAL <domain:crID> element that contains the identifier of | - An OPTIONAL <domain:crID> element that contains the identifier of | |||
| the client that created the domain object. | the client that created the domain object. | |||
| skipping to change at page 15, line 27 ¶ | skipping to change at page 16, line 27 ¶ | |||
| 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: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 | S: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 | |||
| S: domain-1.0.xsd"> | S: domain-1.0.xsd"> | |||
| S: <domain:name>example.com</domain:name> | S: <domain:name>example.com</domain:name> | |||
| S: <domain:roid>EXAMPLE1-REP</domain:roid> | S: <domain:roid>EXAMPLE1-REP</domain:roid> | |||
| S: <domain:status s="ok"/> | S: <domain:status s="ok"/> | |||
| S: <domain:registrant>jd1234</domain:registrant> | S: <domain:registrant>jd1234</domain:registrant> | |||
| S: <domain:contact type="admin">sh8013</domain:contact> | S: <domain:contact type="admin">sh8013</domain:contact> | |||
| S: <domain:contact type="tech">sh8013</domain:contact> | S: <domain:contact type="tech">sh8013</domain:contact> | |||
| S: <domain:ns>ns1.example.com</domain:ns> | S: <domain:ns> | |||
| S: <domain:ns>ns1.example.net</domain:ns> | S: <domain:hostObj>ns1.example.com</domain:hostObj> | |||
| S: <domain:hostObj>ns1.example.net</domain:hostObj> | ||||
| S: </domain:ns> | ||||
| S: <domain:host>ns1.example.com</domain:host> | S: <domain:host>ns1.example.com</domain:host> | |||
| S: <domain:host>ns2.example.com</domain:host> | S: <domain:host>ns2.example.com</domain:host> | |||
| S: <domain:clID>ClientX</domain:clID> | S: <domain:clID>ClientX</domain:clID> | |||
| S: <domain:crID>ClientY</domain:crID> | S: <domain:crID>ClientY</domain:crID> | |||
| S: <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate> | S: <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate> | |||
| S: <domain:upID>ClientX</domain:upID> | S: <domain:upID>ClientX</domain:upID> | |||
| S: <domain:upDate>1999-12-03T09:00:00.0Z</domain:upDate> | S: <domain:upDate>1999-12-03T09:00:00.0Z</domain:upDate> | |||
| S: <domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate> | S: <domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate> | |||
| S: <domain:trDate>2000-04-08T09:00:00.0Z</domain:trDate> | S: <domain:trDate>2000-04-08T09:00:00.0Z</domain:trDate> | |||
| S: <domain:authInfo> | S: <domain:authInfo> | |||
| skipping to change at page 19, line 42 ¶ | skipping to change at page 20, line 44 ¶ | |||
| domain schema. The <domain:create> element contains the following | domain schema. The <domain:create> element contains the following | |||
| child elements: | child elements: | |||
| - A <domain:name> element that contains the fully qualified name of | - A <domain:name> element that contains the fully qualified name of | |||
| the domain object to be created. | the domain object to be created. | |||
| - An OPTIONAL <domain:period> element that contains the initial | - An OPTIONAL <domain:period> element that contains the initial | |||
| registration period of the domain object. A server MAY define a | registration period of the domain object. A server MAY define a | |||
| default initial registration period if not specified by the client. | default initial registration period if not specified by the client. | |||
| - Zero or more <domain:ns> elements that contain the fully qualified | - An OPTIONAL <domain:ns> element that contains the fully qualified | |||
| name of a known host object to provide resolution services for the | names of the delegated host objects or host attributes (name servers) | |||
| domain. A host object MUST be known to the server before the host | associated with the domain object to provide resolution services for | |||
| object can be associated with a domain object. A server MUST provide | the domain; see section 1.1 for a description of the elements used to | |||
| host object services to provide domain name services. The EPP mapping | specify host objects or host attributes. A host object MUST be known | |||
| for host objects is described in [EPP-H]. | to the server before the host object can be associated with a domain | |||
| object. | ||||
| - An OPTIONAL <domain:registrant> element that contains the identifier | - An OPTIONAL <domain:registrant> element that contains the identifier | |||
| for the human or organizational social information (contact) object to | for the human or organizational social information (contact) object to | |||
| be associated with the domain object as the object registrant. This | be associated with the domain object as the object registrant. This | |||
| object identifier MUST be known to the server before the contact | object identifier MUST be known to the server before the contact | |||
| object can be associated with the domain object. The EPP mapping for | object can be associated with the domain object. The EPP mapping for | |||
| contact objects is described in [EPP-C]. | contact objects is described in [EPP-C]. | |||
| - Zero or more OPTIONAL <domain:contact> elements that contain the | - Zero or more OPTIONAL <domain:contact> elements that contain the | |||
| identifiers for other contact objects to be associated with the domain | identifiers for other contact objects to be associated with the domain | |||
| skipping to change at page 20, line 32 ¶ | skipping to change at page 21, line 37 ¶ | |||
| C: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 | C: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 | |||
| C: epp-1.0.xsd"> | C: epp-1.0.xsd"> | |||
| 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: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 | C: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 | |||
| C: domain-1.0.xsd"> | C: domain-1.0.xsd"> | |||
| C: <domain:name>example.com</domain:name> | C: <domain:name>example.com</domain:name> | |||
| C: <domain:period unit="y">2</domain:period> | C: <domain:period unit="y">2</domain:period> | |||
| C: <domain:ns>ns1.example.com</domain:ns> | C: <domain:ns> | |||
| C: <domain:ns>ns1.example.net</domain:ns> | C: <domain:hostObj>ns1.example.com</domain:hostObj> | |||
| C: <domain:hostObj>ns1.example.net</domain:hostObj> | ||||
| C: </domain:ns> | ||||
| C: <domain:registrant>jd1234</domain:registrant> | C: <domain:registrant>jd1234</domain:registrant> | |||
| C: <domain:contact type="admin">sh8013</domain:contact> | C: <domain:contact type="admin">sh8013</domain:contact> | |||
| C: <domain:contact type="tech">sh8013</domain:contact> | C: <domain:contact type="tech">sh8013</domain:contact> | |||
| C: <domain:authInfo> | C: <domain:authInfo> | |||
| C: <domain:pw>2fooBAR</domain:pw> | C: <domain:pw>2fooBAR</domain:pw> | |||
| C: </domain:authInfo> | C: </domain:authInfo> | |||
| C: </domain:create> | C: </domain:create> | |||
| C: </create> | C: </create> | |||
| C: <clTRID>ABC-12345</clTRID> | C: <clTRID>ABC-12345</clTRID> | |||
| C: </command> | C: </command> | |||
| skipping to change at page 28, line 21 ¶ | skipping to change at page 29, line 21 ¶ | |||
| - An OPTIONAL <domain:rem> element that contains attribute values to | - An OPTIONAL <domain:rem> element that contains attribute values to | |||
| be removed from the object. | be removed from the object. | |||
| - An OPTIONAL <domain:chg> element that contains object attribute | - An OPTIONAL <domain:chg> element that contains object attribute | |||
| values to be changed. | values to be changed. | |||
| At least one <domain:add>, <domain:rem>, or <domain:chg> element MUST | At least one <domain:add>, <domain:rem>, or <domain:chg> element MUST | |||
| be provided. The <domain:add> and <domain:rem> elements contain the | be provided. The <domain:add> and <domain:rem> elements contain the | |||
| following child elements: | following child elements: | |||
| - Zero or more <domain:ns> elements that contain the fully qualified | - An OPTIONAL <domain:ns> element that contains the fully qualified | |||
| name of a known name server host object. A host object MUST be known | names of the delegated host objects or host attributes (name servers) | |||
| to the server before a name server attribute can be added or removed | associated with the domain object to provide resolution services for | |||
| from a domain object. The EPP mapping for host objects is described | the domain; see section 1.1 for a description of the elements used to | |||
| in [EPP-H]. | specify host objects or host attributes. A host object MUST be known | |||
| to the server before the host object can be associated with a domain | ||||
| object. If host attributes are used to specify name servers, note | ||||
| that IP address elements are not needed to identify a name server that | ||||
| is being removed. IP address elements can safely be absent or ignored | ||||
| in this situation. | ||||
| - Zero or more <domain:contact> elements that contain the identifiers | - Zero or more <domain:contact> elements that contain the identifiers | |||
| for contact objects to be associated with or removed from the domain | for contact objects to be associated with or removed from the domain | |||
| object. Contact object identifiers MUST be known to the server before | object. Contact object identifiers MUST be known to the server before | |||
| the contact object can be associated with the domain object. | the contact object can be associated with the domain object. | |||
| - Zero or more <domain:status> elements that contain status values to | - Zero or more <domain:status> elements that contain status values to | |||
| be applied to or removed from the object. When specifying a value to | be applied to or removed from the object. When specifying a value to | |||
| be removed, only the attribute value is significant; element text is | be removed, only the attribute value is significant; element text is | |||
| not required to match a value for removal. | not required to match a value for removal. | |||
| skipping to change at page 29, line 20 ¶ | skipping to change at page 30, line 24 ¶ | |||
| C: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 | C: xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 | |||
| C: epp-1.0.xsd"> | C: epp-1.0.xsd"> | |||
| C: <command> | C: <command> | |||
| C: <update> | C: <update> | |||
| C: <domain:update | C: <domain:update | |||
| C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" | C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" | |||
| C: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 | C: xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 | |||
| C: domain-1.0.xsd"> | C: domain-1.0.xsd"> | |||
| C: <domain:name>example.com</domain:name> | C: <domain:name>example.com</domain:name> | |||
| C: <domain:add> | C: <domain:add> | |||
| C: <domain:ns>ns2.example.com</domain:ns> | C: <domain:ns> | |||
| C: <domain:hostObj>ns2.example.com</domain:hostObj> | ||||
| C: </domain:ns> | ||||
| C: <domain:contact type="tech">mak21</domain:contact> | C: <domain:contact type="tech">mak21</domain:contact> | |||
| C: <domain:status s="clientHold" | C: <domain:status s="clientHold" | |||
| C: lang="en">Payment overdue.</domain:status> | C: lang="en">Payment overdue.</domain:status> | |||
| C: </domain:add> | C: </domain:add> | |||
| C: <domain:rem> | C: <domain:rem> | |||
| C: <domain:ns>ns1.example.com</domain:ns> | C: <domain:ns> | |||
| C: <domain:hostObj>ns1.example.com</domain:hostObj> | ||||
| C: </domain:ns> | ||||
| C: <domain:contact type="tech">sh8013</domain:contact> | C: <domain:contact type="tech">sh8013</domain:contact> | |||
| C: <domain:status s="clientUpdateProhibited"/> | C: <domain:status s="clientUpdateProhibited"/> | |||
| C: </domain:rem> | C: </domain:rem> | |||
| C: <domain:chg> | C: <domain:chg> | |||
| C: <domain:registrant>sh8013</domain:registrant> | C: <domain:registrant>sh8013</domain:registrant> | |||
| C: <domain:authInfo> | C: <domain:authInfo> | |||
| C: <domain:pw>2BARfoo</domain:pw> | C: <domain:pw>2BARfoo</domain:pw> | |||
| C: </domain:authInfo> | C: </domain:authInfo> | |||
| C: </domain:chg> | C: </domain:chg> | |||
| C: </domain:update> | C: </domain:update> | |||
| skipping to change at page 33, line 19 ¶ | skipping to change at page 34, line 19 ¶ | |||
| object mapping suitable for automated validation of EPP XML instances. | 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 | 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 | note the beginning and ending of the schema for URI registration | |||
| purposes. | purposes. | |||
| BEGIN | BEGIN | |||
| <?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <schema targetNamespace="urn:ietf:params:xml:ns:domain-1.0" | <schema targetNamespace="urn:ietf:params:xml:ns:domain-1.0" | |||
| xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" | xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" | |||
| xmlns:host="urn:ietf:params:xml:ns:host-1.0" | ||||
| xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" | xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" | |||
| 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. | |||
| --> | --> | |||
| <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" | <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" | |||
| schemaLocation="eppcom-1.0.xsd"/> | schemaLocation="eppcom-1.0.xsd"/> | |||
| <import namespace="urn:ietf:params:xml:ns:epp-1.0" | <import namespace="urn:ietf:params:xml:ns:epp-1.0" | |||
| schemaLocation="epp-1.0.xsd"/> | schemaLocation="epp-1.0.xsd"/> | |||
| <import namespace="urn:ietf:params:xml:ns:host-1.0" | ||||
| schemaLocation="host-1.0.xsd"/> | ||||
| <annotation> | <annotation> | |||
| <documentation> | <documentation> | |||
| Extensible Provisioning Protocol v1.0 | Extensible Provisioning Protocol v1.0 | |||
| domain provisioning schema. | domain provisioning schema. | |||
| </documentation> | </documentation> | |||
| </annotation> | </annotation> | |||
| <!-- | <!-- | |||
| Child elements found in EPP commands. | Child elements found in EPP commands. | |||
| skipping to change at page 34, line 9 ¶ | skipping to change at page 35, line 13 ¶ | |||
| <element name="update" type="domain:updateType"/> | <element name="update" type="domain:updateType"/> | |||
| <!-- | <!-- | |||
| Child elements of the <create> command. | Child elements of the <create> command. | |||
| --> | --> | |||
| <complexType name="createType"> | <complexType name="createType"> | |||
| <sequence> | <sequence> | |||
| <element name="name" type="eppcom:labelType"/> | <element name="name" type="eppcom:labelType"/> | |||
| <element name="period" type="domain:periodType" | <element name="period" type="domain:periodType" | |||
| minOccurs="0"/> | minOccurs="0"/> | |||
| <element name="ns" type="eppcom:labelType" | <element name="ns" type="domain:nsType" | |||
| minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0"/> | |||
| <element name="registrant" type="eppcom:clIDType" | <element name="registrant" type="eppcom:clIDType" | |||
| minOccurs="0"/> | minOccurs="0"/> | |||
| <element name="contact" type="domain:contactType" | <element name="contact" type="domain:contactType" | |||
| minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
| <element name="authInfo" type="domain:authInfoType"/> | <element name="authInfo" type="domain:authInfoType"/> | |||
| </sequence> | </sequence> | |||
| </complexType> | </complexType> | |||
| <complexType name="periodType"> | <complexType name="periodType"> | |||
| <simpleContent> | <simpleContent> | |||
| skipping to change at page 34, line 42 ¶ | skipping to change at page 35, line 46 ¶ | |||
| </restriction> | </restriction> | |||
| </simpleType> | </simpleType> | |||
| <simpleType name="pUnitType"> | <simpleType name="pUnitType"> | |||
| <restriction base="token"> | <restriction base="token"> | |||
| <enumeration value="y"/> | <enumeration value="y"/> | |||
| <enumeration value="m"/> | <enumeration value="m"/> | |||
| </restriction> | </restriction> | |||
| </simpleType> | </simpleType> | |||
| <complexType name="nsType"> | ||||
| <choice> | ||||
| <element name="hostObj" type="eppcom:labelType" | ||||
| maxOccurs="unbounded"/> | ||||
| <element name="hostAttr" type="domain:hostAttrType" | ||||
| maxOccurs="unbounded"/> | ||||
| </choice> | ||||
| </complexType> | ||||
| <!-- | ||||
| Name servers are either host objects or attributes. | ||||
| --> | ||||
| <complexType name="hostAttrType"> | ||||
| <sequence> | ||||
| <element name="hostName" type="eppcom:labelType"/> | ||||
| <element name="hostAddr" type="host:addrType" | ||||
| minOccurs="0" maxOccurs="unbounded"/> | ||||
| </sequence> | ||||
| </complexType> | ||||
| <!-- | ||||
| If attributes, addresses are optional and follow the | ||||
| structure defined in the host mapping. | ||||
| --> | ||||
| <complexType name="contactType"> | <complexType name="contactType"> | |||
| <simpleContent> | <simpleContent> | |||
| <extension base="eppcom:clIDType"> | <extension base="eppcom:clIDType"> | |||
| <attribute name="type" type="domain:contactAttrType"/> | <attribute name="type" type="domain:contactAttrType"/> | |||
| </extension> | </extension> | |||
| </simpleContent> | </simpleContent> | |||
| </complexType> | </complexType> | |||
| <simpleType name="contactAttrType"> | <simpleType name="contactAttrType"> | |||
| <restriction base="token"> | <restriction base="token"> | |||
| skipping to change at page 37, line 4 ¶ | skipping to change at page 38, line 31 ¶ | |||
| <!-- | <!-- | |||
| Child elements of the <update> command. | Child elements of the <update> command. | |||
| --> | --> | |||
| <complexType name="updateType"> | <complexType name="updateType"> | |||
| <sequence> | <sequence> | |||
| <element name="name" type="eppcom:labelType"/> | <element name="name" type="eppcom:labelType"/> | |||
| <element name="add" type="domain:addRemType" | <element name="add" type="domain:addRemType" | |||
| minOccurs="0"/> | minOccurs="0"/> | |||
| <element name="rem" type="domain:addRemType" | <element name="rem" type="domain:addRemType" | |||
| minOccurs="0"/> | minOccurs="0"/> | |||
| <element name="chg" type="domain:chgType" | <element name="chg" type="domain:chgType" | |||
| minOccurs="0"/> | minOccurs="0"/> | |||
| </sequence> | </sequence> | |||
| </complexType> | </complexType> | |||
| <!-- | <!-- | |||
| Data elements that can be added or removed. | Data elements that can be added or removed. | |||
| --> | --> | |||
| <complexType name="addRemType"> | <complexType name="addRemType"> | |||
| <sequence> | <sequence> | |||
| <element name="ns" type="eppcom:labelType" | <element name="ns" type="domain:nsType" | |||
| minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0"/> | |||
| <element name="contact" type="domain:contactType" | <element name="contact" type="domain:contactType" | |||
| minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
| <element name="status" type="domain:statusType" | <element name="status" type="domain:statusType" | |||
| minOccurs="0" maxOccurs="11"/> | minOccurs="0" maxOccurs="11"/> | |||
| </sequence> | </sequence> | |||
| </complexType> | </complexType> | |||
| <!-- | <!-- | |||
| Data elements that can be changed. | Data elements that can be changed. | |||
| --> | --> | |||
| skipping to change at page 39, line 24 ¶ | skipping to change at page 40, line 50 ¶ | |||
| <complexType name="infDataType"> | <complexType name="infDataType"> | |||
| <sequence> | <sequence> | |||
| <element name="name" type="eppcom:labelType"/> | <element name="name" type="eppcom:labelType"/> | |||
| <element name="roid" type="eppcom:roidType"/> | <element name="roid" type="eppcom:roidType"/> | |||
| <element name="status" type="domain:statusType" | <element name="status" type="domain:statusType" | |||
| minOccurs="0" maxOccurs="11"/> | minOccurs="0" maxOccurs="11"/> | |||
| <element name="registrant" type="eppcom:clIDType" | <element name="registrant" type="eppcom:clIDType" | |||
| minOccurs="0"/> | minOccurs="0"/> | |||
| <element name="contact" type="domain:contactType" | <element name="contact" type="domain:contactType" | |||
| minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
| <element name="ns" type="eppcom:labelType" | <element name="ns" type="domain:nsType" | |||
| minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0"/> | |||
| <element name="host" type="eppcom:labelType" | <element name="host" type="eppcom:labelType" | |||
| minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
| <element name="clID" type="eppcom:clIDType"/> | <element name="clID" type="eppcom:clIDType"/> | |||
| <element name="crID" type="eppcom:clIDType" | <element name="crID" type="eppcom:clIDType" | |||
| minOccurs="0"/> | minOccurs="0"/> | |||
| <element name="crDate" type="dateTime" | <element name="crDate" type="dateTime" | |||
| minOccurs="0"/> | minOccurs="0"/> | |||
| <element name="upID" type="eppcom:clIDType" | <element name="upID" type="eppcom:clIDType" | |||
| minOccurs="0"/> | minOccurs="0"/> | |||
| <element name="upDate" type="dateTime" | <element name="upDate" type="dateTime" | |||
| skipping to change at page 43, line 31 ¶ | skipping to change at page 45, line 31 ¶ | |||
| 8. Acknowledgements | 8. Acknowledgements | |||
| This document was originally written as an individual submission | This document was originally written as an individual submission | |||
| Internet-Draft. The provreg working group later adopted it as a | Internet-Draft. The provreg working group later adopted it as a | |||
| working group document and provided many invaluable comments and | working group document and provided many invaluable comments and | |||
| suggested improvements. The author wishes to acknowledge the efforts | suggested improvements. The author wishes to acknowledge the efforts | |||
| of WG chairs Edward Lewis and Jaap Akkerhuis for their process and | of WG chairs Edward Lewis and Jaap Akkerhuis for their process and | |||
| editorial contributions. | editorial contributions. | |||
| Specific suggestions that have been incorporated into this document | Specific suggestions that have been incorporated into this document | |||
| were provided by Chris Bason, Eric Brunner-Williams, Jordyn Buchanan, | were provided by Joe Abley, Chris Bason, Eric Brunner-Williams, Jordyn | |||
| Dave Crocker, Ayesha Damaraju, Anthony Eden, Sheer El-Showk, Klaus | Buchanan, Dave Crocker, Ayesha Damaraju, Anthony Eden, Sheer El-Showk, | |||
| Malorny, Dan Manley, Michael Mealling, Patrick Mevzek, Asbjorn Steira, | Klaus Malorny, Dan Manley, Michael Mealling, Patrick Mevzek, Asbjorn | |||
| Bruce Tonkin, and Rick Wesson. | Steira, Bruce Tonkin, and Rick Wesson. | |||
| 9. References | 9. References | |||
| Normative References: | Normative References: | |||
| [EPP] S. Hollenbeck: "Extensible Provisioning Protocol", work in | [EPP] S. Hollenbeck: "Extensible Provisioning Protocol", work in | |||
| progress. | progress. | |||
| [EPP-C] S. Hollenbeck: "Extensible Provisioning Protocol Contact | [EPP-C] S. Hollenbeck: "Extensible Provisioning Protocol Contact | |||
| Mapping", work in progress. | Mapping", work in progress. | |||
| skipping to change at page 46, line 10 ¶ | skipping to change at page 48, line 10 ¶ | |||
| 21345 Ridgetop Circle | 21345 Ridgetop Circle | |||
| Dulles, VA 20166-6503 | Dulles, VA 20166-6503 | |||
| USA | USA | |||
| shollenbeck@verisign.com | shollenbeck@verisign.com | |||
| A. Revisions From Previous Version | A. Revisions From Previous Version | |||
| (Note to RFC editor: please remove this section completely before | (Note to RFC editor: please remove this section completely before | |||
| publication as an RFC.) | publication as an RFC.) | |||
| -05 to -06 (IESG review): | -06 to -07 (IESG review): | |||
| Changed domain name examples throughout to use conventions described | ||||
| in RFC 2606 (BCP 32). | ||||
| Removed "This document is being discussed" paragraph from section 1. | ||||
| Reworded the description of external hosts in section 1.1 and added a | ||||
| new paragraph with an example. | ||||
| Added a new sentence to the second paragraph of section 2.3 and | ||||
| clarified how "ok" status is set. | ||||
| Fixed description of <domain:status> from a minimum of one occurrence | ||||
| to a minimum of zero in section 3.1.2. Added a sentence to the | ||||
| authInfo description to note that server policy determines the | ||||
| response if authInfo is not provided or is invalid. | ||||
| Made transfer authInfo optional in sections 3.1.3 and 4 to allow | ||||
| queries in a manner consistent with the <info> command. | ||||
| Removed text from sections 1.1 and 3.2.4 to update external host | ||||
| processing. | ||||
| Updated text in section 3.2.5 to allow removal of optional registrant | ||||
| and authInfo values. Modified schema appropriately. | ||||
| Fixed schema in section 4 to note that the maximum number of status | Added new paragraphs to the end of section 1.1 to describe new | |||
| values that can be set or updated at once is 11. | provisions for using domain attributes for name server delegation. | |||
| Slight rewording of the last sentence of the first paragraph in | Added section 2.7. | |||
| section 5. | ||||
| Rewording to change use of "authorization token" in section 7. | Modified schema and text to allow specification of name servers as a | |||
| choice between host objects or domain attributes. See sections 3.1.2, | ||||
| 3.2.1, and 3.2.5. | ||||
| B. Full Copyright Statement | B. Full Copyright Statement | |||
| Copyright (C) The Internet Society 2002. All Rights Reserved. | Copyright (C) The Internet Society 2003. All Rights Reserved. | |||
| This document and translations of it may be copied and furnished to | This document and translations of it may be copied and furnished to | |||
| others, and derivative works that comment on or otherwise explain it | others, and derivative works that comment on or otherwise explain it | |||
| or assist in its implementation may be prepared, copied, published and | or assist in its implementation may be prepared, copied, published and | |||
| distributed, in whole or in part, without restriction of any kind, | distributed, in whole or in part, without restriction of any kind, | |||
| provided that the above copyright notice and this paragraph are | provided that the above copyright notice and this paragraph are | |||
| included on all such copies and derivative works. However, this | included on all such copies and derivative works. However, this | |||
| document itself may not be modified in any way, such as by removing | document itself may not be modified in any way, such as by removing | |||
| the copyright notice or references to the Internet Society or other | the copyright notice or references to the Internet Society or other | |||
| Internet organizations, except as needed for the purpose of developing | Internet organizations, except as needed for the purpose of developing | |||
| End of changes. 26 change blocks. | ||||
| 94 lines changed or deleted | 184 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/ | ||||