< 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/