view Side-By-Side changes
Network Working Group A. Newton Internet-Draft VeriSign, Inc. Expires:MayDecember 5, 2003November 04, 2002June 06, 2003 IRIS - A Domain RegistrySchema draft-ietf-crisp-iris-dreg-01(dreg) Type for the Internet Registry Information Service draft-ietf-crisp-iris-dreg-02 Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents asInternet- Drafts.Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http:// www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire onMayDecember 5, 2003. Copyright Notice Copyright (C) The Internet Society(2002).(2003). All Rights Reserved. Abstract This document describes an IRIS(draft-ietf-crisp-iris-core-01.txt(draft-ietf-crisp-iris-core-02.txt ) registry schema for registered DNS information. The schema extends the necessary query and result operations of IRIS to provide the functional information service needs for syntaxes and results used by domain registries and registrars. Newton ExpiresMayDecember 5, 2003 [Page 1] Internet-Draft iris-dregNovember 2002June 2003 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Document Terminology . . . . . . . . . . . . . . . . . . . . 4 3. Schema Description . . . . . . . . . . . . . . . . . . . . . 5 3.1 Query Derivatives . . . . . . . . . . . . . . . . . . . . . 5 3.1.1 <listRegistrars> Query . . . . . . . . . . . . . . . . . . . 5 3.1.2 <findDomainsByRegistrant> Query . . . . . . . . . . . . . . 5 3.1.3 <findDomainsByName> Query . . . . . . . . . . . . . . . . . 5 3.1.4 <findDomainsByI18NName> Query . . . . . . . . . . . . . . . 6 3.1.5 <findContacts> Query . . . . . . . . . . . . . . . . . . . . 63.1.53.1.6 <findDomainsByHost> Query . . . . . . . . . . . . . . . . . 6 3.1.7 Contact Search Group . . . . . . . . . . . . . . . . . . . . 7 3.2 Result Derivatives . . . . . . . . . . . . . . . . . . . . .67 3.2.1<domain> ResultOmission Types . . . . . . . . . . . . . . . . . . . . . .6. 7 3.2.2<host><domain> Result . . . . . . . . . . . . . . . . . . . . . ..8 3.2.3<contact> Result<domainVariant> . . . . . . . . . . . . . . . . . . . . . .910 3.2.4<registrationAuthority><host> Result . . . . . . . . . . . . . . . . . .10 3.3 Generic Code Derivatives. . . . . 11 3.2.5 <contact> Result . . . . . . . . . . . . . . . . . . . . . . 113.4 Support for <iris:lookupEntity>3.2.6 <registrationAuthority> . . . . . . . . . . . . . .11 4. Domain Registry Width. . . . 13 3.3 Generic Code Derivatives . . . . . . . . . . . . . . . . . . 13 3.3.1 <searchTooWide> .12 4.1 "Thick". . . . . . . . . . . . . . . . . . . . . 13 3.3.2 <languageNotSupported> . . . . .12 4.2 "Thin". . . . . . . . . . . . . . 13 3.4 Support for <iris:lookupEntity> . . . . . . . . . . . . . .12 5.13 4. Formal XML Syntax . . . . . . . . . . . . . . . . . . . . .14 6.15 5. BEEP Transport Compliance . . . . . . . . . . . . . . . . .25 6.130 5.1 Message Pattern . . . . . . . . . . . . . . . . . . . . . .25 6.2 Authority Resolution30 5.2 Server Authentication . . . . . . . . . . . . . . . . . . . 30 6. URI Resolution .25 6.3 Server Authentication. . . . . . . . . . . . . . . . . . .25. . . 31 7. Internationalization Considerations . . . . . . . . . . . .2632 8. IANA Considerations . . . . . . . . . . . . . . . . . . . .2733 9. Security Considerations . . . . . . . . . . . . . . . . . .2834 References . . . . . . . . . . . . . . . . . . . . . . . . .2935 Author's Address . . . . . . . . . . . . . . . . . . . . . .3036 A. An Example Request and Response . . . . . . . . . . . . . .3137 B. An Example Database Serialization . . . . . . . . . . . . .34 Full Copyright Statement41 C. Acknowledgements . . . . . . . . . . . . . . . . . .37. . . . 44 Intellectual Property and Copyright Statements . . . . . . . 45 Newton ExpiresMayDecember 5, 2003 [Page 2] Internet-Draft iris-dregNovember 2002June 2003 1. Introduction This document describes an IRIS registry schema for Internet domain registries using an XML Schema [4] derived from and using the IRIS [5] schema. The query and result types outlined in this document are based on the functional requirements described in CRISP [11]. The schema given is this document is specified using the Extensible Markup Language (XML) 1.0 as described in XML [1], XML Schema notation as described in XML_SD [3] and XML_SS [4], and XML Namespaces as described in XML_NS [2]. Newton ExpiresMayDecember 5, 2003 [Page 3] Internet-Draft iris-dregNovember 2002June 2003 2. Document Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119 [13]. Newton ExpiresMayDecember 5, 2003 [Page 4] Internet-Draft iris-dregNovember 2002June 2003 3. Schema Description IRIS requires the derivation of both query and result elements by a registry schemas. These descriptions follow. References to XML elements with no namespace qualifier are from the schema defined in Section5.4. References to elements with the "iris" XML namespace qualifier are from the schema defined in IRIS [5]. The descriptions contained within this section refer to XML elements and attributes and their relation to the exchange of data within the protocol. These descriptions also contain specifications outside the scope of the formal XML syntax. Therefore, this section will use terms defined by RFC 2119 [13] to describe the specification outside the scope of the formal XML syntax. While reading this section, please reference Section54 for needed details on the formal XML syntax. 3.1 Query Derivatives 3.1.1 <listRegistrars> Query This query MUST return a result set of zero or more <registrationAuthority> elements. See Section3.2.4.3.2.6. 3.1.2 <findDomainsByRegistrant> Query <findDomainsByRegistrant> findsadomains by searches on fields associated withthea domain's registrant. A search constraint of <baseDomain> MUST restrict the results to domains only underneath the domain specified by its content if it is present. The<field> element containsallowable search fields are handled with either thename<contactHandle> element or one of thefield associated withelements in theregistrant"contactSearchGroup" (see Section 3.1.7). The <contactHandle> element allows for the domains to beused inselected based on thesearch. See forregistrant having thelist of allowable content for this element. The <beginsWith> elementspecified contact handle. This query also provides optional <language> elements containing language tags. Clients maybe useduse these elements tospecifyinform thebeginning partserver ofthe <field> target. The <endsWith> elementa desired search algorithm that maybe used to specifybenefit from theending partdetermination of the<field> target.desired languages. Servers MAY use this information in processing the query, such as input to normalization routines to aid in more effective searches. 3.1.3 <findDomainsByName> Query The <findDomainsByName> query findsadomains by the name ofthea domain Newton Expires December 5, 2003 [Page 5] Internet-Draft iris-dreg June 2003 as it is known in DNS. A search constraint of <baseDomain> MUST restrict the results to domains only underneath the domain specified by its content if it is present. The content of this element MUST be a valid domain name according to RFC 1035 [12]. The <namePart> element restricts the scope of the query with its child elements. The <beginsWith> element specifies the beginning of the domain name. The <endsWith> element specifies the end of the domain name.Newton Expires May 5, 2003 [Page 5] Internet-Draft iris-dreg November 2002The contents of <beginsWith> and <endsWith> elements MUST be ASCII. 3.1.4<findContacts><findDomainsByI18NName> Query<findContacts> searches for contacts given search constraints.The<field> element specifies<findDomainsByI18NName> query finds a domains by thedataname of thecontact to be useddomain as it is known in DNS. It differs from the <findDomainsByName> query by allowing the scope of the query tonarrowtake into consideration internationalized domain names. A search constraint of <baseDomain> MUST restrict thesearch. See Section 3.2.3 forresults to domains only underneath theallowabledomain specified by its content if it is present. The content of thiselement.element MUST be a valid domain name according to RFC 1035 [12]. The <namePart> element restricts the scope of the query with its child elements. The <beginsWith> element specifies the beginningpartof the<field> target.domain name. The <endsWith> element specifies the endpartof the<field> target.domain name. This query also provides optional <language> elements containing language tags. Clients may use these elements to inform the server of a desired search algorithm that may benefit from the determination of the desired languages. Servers MAY use this information in processing the query, such as input to normalization routines to aid in more effective searches. 3.1.5 <findContacts> Query <findContacts> searches for contacts given search constraints. The allowable search fields are handled by one of the elements in the "contactSearchGroup" (see Section 3.1.7). This query also provides optional <language> elements containing language tags. Clients may use these elements to inform the server of a desired search algorithm that may benefit from the determination of the desired languages. Servers MAY use this information in processing the query, such as input to normalization routines to aid in more effective searches. 3.1.6 <findDomainsByHost> Query This query does a simple search for the domains being hosted by a Newton Expires December 5, 2003 [Page 6] Internet-Draft iris-dreg June 2003 name server. The search is constrained using either the host name, host handle, IPv4 address, or IPv6 address of the name server.3.2 Result Derivatives 3.2.1 <domain> Result3.1.7 Contact Search Group Some of the queries above have similar query contraints for searching on contacts. This section describes those common parameters. <commonName> allows the query to be contrained based on the common name of the contact. The<domain> result representscontraint can either contrain the query by aninstance ofexact match using the <exactMatch> element, or it may contrain the query by adomain assignment. The childrensubset of the<domain> element are as follows: o <domainName> -common name using thefull<startsWith> and <endsWith> elements. <organiztion> allows the query to be contrained based on the organization name of thedomaincontact. It has the same semantics asit is in DNS. The contentsthe <commonName> element. <eMail> contrains the query based on the e-mail address ofthis element MUSTthe contact. This may bea domain name as specifieddone byRFC 1035 [12]. o <domainHandle> - a registry unique assigned identifier to a domain. o <nameServers> - an element containing multiple children. Each child isan<iris:entityURI>exact e-mail address using the <exactMatch> elementas describedor byIRIS [5].any e-mail address in a domain using the <inDomain> element. Thereferent of each <iris:entityURI> element<inDomain> MUSTbeonly contain a<host> (Section 3.2.2) result. o <registrant> -valid domain according to RFC 1035 [12] (i.e. no '@' symbol). The <city>, <region>, and <postalCode> elements restrict the scope of the query based on the city, region, or postal code of the contact, respectively. Each one must only contain an <exactMatch> element containinga <iris:entityURI> reference totheregistrantexact city, region, or postal code (i.e. no substring searches). 3.2 Result Derivatives 3.2.1 Omission Types Several of the results in thisdomain. The referent MUSTregistry type have values that cannot bea <contact> (Section 3.2.3) result.given but must be specified as present. In order to achieve this, some of the results use the following element types: o<domainContacts>"dateTimeOmissionType" -an element representing contacts associated with the domain. Each of its children are <contact> container elementscontainsan <iris:entityURI> reference to a <contact> (Section 3.2.3) result coupled with a <role> element. The <role> elementthe XML Schema [3] data type "dateTime". o "stringOmissionType" - containsone ofthefollowing domain-to-contact relationships: * billing * technicalXML Schema [3] data type "string". o "normalizedStringOmissionType" - contains the XML Schema [3] data type "normalizedString". o "tokenOmissionType" - contains the XML Schema [3] data type Newton ExpiresMayDecember 5, 2003 [Page6]7] Internet-Draft iris-dregNovember 2002 * administrative * legal * zone * otherJune 2003 "token". As specified, they are nillable and therefore may be present with empty content or present with their specified content. And their specified cardinality allows their absense. Each of these element types MUST have one or more of the following boolean attributes if they are present without content: o<lastContactModificationDateTime>'private' - if true, this specifies that thelast time a contact for the domain was added or removed.content is absent because it may never be published. o<lastContactModificationBy>'denied' -an element with a child of <iris:entityURI>. The referentif true, this specifies that the content isa <contact> (Section 3.2.3) result responsible forabsent because policy does not allow it to be given under thelast addition or removalcurrent level ofa contact for this domain.access. o<activationStatus>'unspecified' -an element specifyingif true, this specifies that thestatuscontent is absent for an unspecified reason. 3.2.2 <domain> Result The <domain> result represents an instance ofthe domain. This element contains onea domain assignment. The children of thefollowing: * reservedDelegation - permanently inactive * assignedAndActive - normal state * assignedAndInactive - new delegation * assignedAndOnHold - dispute * revoked - database purge pending * unspecified<domain> element are as follows: o<delegationReference><domainName> -an element containing an <iris:entityURI> element,thereferentfull name ofwhichthe domain as it isa <domain> (Section 3.2.1).in DNS. Theintentioncontents of this elementis to point to the downstream delegation reference. Therefore, if this is a result given back byMUST be a domainregistry, it should point to the domain in the domain registrar or registrant service.name as specified by RFC 1035 [12]. o<registry><domainHandle> -containsachild of <iris:entityURI> specifying the domainregistryoperator for this domain representedunique assigned identifier to a domain. o <nameServers> - an element containing multiple children. Each child is an <iris:entity> element as described by IRIS [5]. The referent of each <iris:entity> element MUST be a<registrationAuthority><host> (Section 3.2.4) result. o<registrar><registrant> -containsan element containing achild of <iris:entityURI> specifying<iris:entity> reference to thedomain registrar operator forregistrant of thisdomain represented bydomain. The referent MUST be a<registrationAuthority><contact> (Section3.2.4).3.2.5) result. o<initialDelegationDateTime>Domain contacts -an element containingthedate and time offollowing elements contain contacts with a relationship to theinitial delegation of thisdomain. The children of these elements are <iris:entity> elements as described by IRIS [5]. The referent of each <iris:entity> element MUST be a <host> (Section 3.2.5) result. * <billingContacts> Newton ExpiresMayDecember 5, 2003 [Page7]8] Internet-Draft iris-dregNovember 2002 o <lastRenewalDateTime> - an element containing the date and time of last renewal of this domain. o <expirationDateTime> - an element containing the date and time of the expiration of this domain.June 2003 * <technicalContacts> * <administrativeContacts> * <legalContacts> * <zoneContacts> * <abuseContacts> * <securityContacts> * <otherContacts> o<lastDelegationModificationDateTime><lastContactModificationDateTime> -an element containing the date and time ofspecifies the last timeone ofa contact for thenameserversdomain was added orremoved for the delegation of this domain.removed. o<lastDelegationModificationBy><lastContactModificationBy> - an element with a child of<iris:entityURI>.<iris:entity>. The referentMUST beis a <contact> (Section3.2.3)3.2.5) resultand beresponsible for the last addition or removal of anameservercontact for this domain. o<lastVerificationDateTime>One of the following status elements: * <reservedDelegationStatus> - permanently inactive * <assignedAndActiveStatus> - normal state * <assignedAndInactiveStatus> - new delegation * <assignedAndOnHoldStatus> - dispute * <revokedStatus> - database purge pending * <unspecifiedStatus> o <delegationReference> - an element containing an <iris:entity> element, thedate and time of the last time the data for this domain was verified by the responsible registration authority. o <iris:seeAlso> - an element containing <iris:entityURI> elements specifying entities that are indirectly associated with this domain. 3.2.2 <host> Result The <host> element represents an instancereferent of which is ahost registration.<domain> (Section 3.2.2). Thechildrenintention ofthe <host>this elementare as follows: <hostHandle> - a registry unique assigned identifier for the host. <hostName> - the fully qualified domain name ofis to point to thehost. The contents ofdownstream delegation reference. Therefore, if thiselement areis a result given back by a domainname and MUST conformregistry, it should point toRFC 1035 [12]. <ipV4Addresses>the domain in the domain registrar or registrant service. o <registry> - contains alist of <ipV4Address> elements, the contentchild ofwhich MUST conform to<iris:entity> specifying thea valid IP version 4 host address as specifieddomain registry operator for this domain represented byRFC 791 [8]. <ipV6Addresses>a <registrationAuthority> (Section 3.2.6) result. o <registrar> - contains alist of <ipV6Address> elements, the contentchild ofwhich MUST conform to<iris:entity> specifying thea valid IP version 6 host address as specifiedNewton Expires December 5, 2003 [Page 9] Internet-Draft iris-dreg June 2003 domain registrar operator for this domain represented byRFC 2373 [7]. <hostContact> -alist<registrationAuthority> (Section 3.2.6). o <initialDelegationDateTime> - an element containing the date and time of the initial delegation of<iris:entityURI> elements specifying contacts associated withthishost. The referents MUST be <contact> (Section 3.2.3) results. <createdDateTime>domain. o <lastRenewalDateTime> - an element containing the date and time of last renewal of thisNewton Expires May 5, 2003 [Page 8] Internet-Draft iris-dreg November 2002 host was created. <lastModificationDateTime>domain. o <expirationDateTime> - an element containing the date and time of the expiration of thishost was last modified. <iris:seeAlso>domain. o <lastDelegationModificationDateTime> - an element containing<iris:entityURI> elements specifying entities that are indirectly associated with this host. 3.2.3 <contact> Result The <contact> element represents an instance of a contact registration. The children of the <contact> element are as follows: <contactHandle> - a registry unique assigned identifier for this contact. <commonName> - the name ofthecontact. <language> - a specificationdate and time of thelanguage code to use to localize the data in this result. <organization> - an element containing the organization namelast time one of thecontact. <eMail> - elements containing the e-mail address for this contact. <address> - an element containing the street address for this contact. <city> - an element containing the city for this contact. <region> - an element containing the national region for this contact. <postalCode> - an element containing the postal codenameservers was added or removed forthis contact. <country> - an element containingthecountry fordelegation of thiscontact. <phone>domain. o <lastDelegationModificationBy> - an elementcontaining the voice phone numberwith a child of <iris:entity>. The referent MUST be a <contact> (Section 3.2.5) result and be responsible forthis contact. <fax> - an element containingthefacsimile phone numberlast addition or removal of a nameserver for thiscontact. <createdDateTime>domain. o <lastVerificationDateTime> - an element containing the date and timethis contact was created. Newton Expires May 5, 2003 [Page 9] Internet-Draft iris-dreg November 2002 <lastModificationDateTime> - an element containingof thedate and time this contact waslastmodified. <lastVerificationDateTime> - an element containing the date andtimethisthe data for thiscontactdomain waslastverifiedto be correctby theappropriateresponsible registration authority. o <iris:seeAlso> - an element containing<iris:entityURI><iris:entity> elements specifying entities that are indirectly associated with thiscontact.domain. 3.2.3 <domainVariant> The"contactSearchFieldType" definition specifies<domainVariant> result represents an instance of alistinternationalized domain name variant. The children of theabove fields allowable to be used for<domainVariant> element are as follows: o <domainName> - thepurposefull name ofnarrowing searches that may yield contact or contact-related results. Searches MUST use only these fields.the domain as it is in DNS. Thefield list is: o contactHandle o commonName o organization o eMailcontents of this element MUST be a domain name as specified by RFC 1035 [12]. ocity<variantOf> - an element with a child of <iris:entity>. The referent MUST be a <domain> (Section 3.2.2) result and be the internationalized domain name for which this is a variant. oregion<blockedStatus> - an element indicating that this variant is blocked from registration. opostalCode<unblockedStatus> - an element indicating that this variant is not Newton Expires December 5, 2003 [Page 10] Internet-Draft iris-dreg June 2003 blocked from registration. ocountry 3.2.4 <registrationAuthority><registeredDomain> - an element with a child of <iris:entity>. The<registrationAuthority>referent MUST be a <domain> (Section 3.2.2) result and be the domain representation if this variant is registered. The <registeredDomain> element is only allowed if the <unblockedStatus> element is present, but it is not required. 3.2.4 <host> Result The <host> element represents anentity capableinstance ofregistering domains.a host registration. The<serviceInstance>children of the <host> element are as follows: o <hostHandle> - a registry unique assigned identifier for the host. o <hostName> - the fully qualified domain name of the host. The contents of this element are a domain name and MUST conform to RFC 1035 [12]. o <ipV4Addresses> - contains a list of <ipV4Address> elements, the content of which MUST conform to the a valid IP version 4 host address as specified by RFC 791 [8]. o <ipV6Addresses> - contains a list of <ipV6Address> elements, the content of which MUST conform to the a valid IP version 6 host address as specified by RFC 2373 [7]. o <hostContact> - a list of <iris:entity> elements specifying contacts associated with this host. The referents MUST be <contact> (Section 3.2.5) results. o <createdDateTime> - an element containing the date and time this host was created. o <lastModificationDateTime> - an<entityURI>elementpointing to the entity "id" in the entity class "service-definition". The authority areas found incontaining thereferent MUST be domainsdate and time this host was last modified. o <iris:seeAlso> - an element containing <iris:entity> elements specifying entities that arethe domains for which a given registration authority has control.indirectly associated with this host. 3.2.5 <contact> Result The<type> child<contact> elementdetermines the role in which this registration authority plays in the processrepresents an instance ofregistering domains.a contact registration. Theintentchildren ofthis element is to explainthevarious roles<contact> element are as follows: o <contactHandle> - aregistration authority may have with regards to the authority areas pointed to by the <serviceInstance> element. A client MAY understandregistry unique assigned identifier for this Newton ExpiresMayDecember 5, 2003 [Page10]11] Internet-Draft iris-dregNovember 2002 the relationship of a registration authority with respect to a domain byJune 2003 contact. o <commonName> - theplacementname of thereference in the domain (e.g. <registry> or <registrar>). 3.3 Generic Code Derivatives This schema defines only one <genericCode> derivative, <searchTooWide>. Servers MUST use this error code whencontact. o <language> - aquery capablespecification ofusingthe"contactSearchFieldType" (see Section 3.2.3) must be narrowedlanguage code toyield ause to localize the data in this result.3.4 Support for <iris:lookupEntity> The following types of named entities are recognized byo <organization> - an element containing the<lookupEntity> query of IRIS via derivationorganization name of the<entityClass> element:contact. ohost-name<eMail> - elements containing thefully qualified domain name of a nameserver. Yields a <host> (Section 3.2.2) ine-mail address for this contact. o <address> - an element containing the street address for this contact. o <city> - an element containing theresponse.city for this contact. ohost-handle<region> - an element containing theregistry unique identifier given a nameserver. Yields a <host> (Section 3.2.2) in the response.national region for this contact. odomain-name<postalCode> - an element containing thefully qualified name of a domain. Yields a <domain> (Section 3.2.1) in the response.postal code for this contact. odomain-handle<country> - an element containing theregistry unique identifier given a domain. Yields a <domain> (Section 3.2.1) in the response.country for this contact. ocontact-handle<phone> - an element containing theregistry unique identifier given avoice phone number for this contact.Yields a <contact> (Section 3.2.3) ino <fax> - an element containing theresponse.facsimile phone number for this contact. oipv4-address<createdDateTime> - an element containing theIPv4 address of a nameserver. Yields a <host> (Section 3.2.2) indate and time this contact was created. o <lastModificationDateTime> - an element containing theresponse.date and time this contact was last modified. oipv6-address<lastVerificationDateTime> - an element containing theIPv6 addressdate and time this data for this contact was last verified to be correct by the appropriate registration authority. o <translatedContacts> - an element containing <iris:entity> elements specifying equivalents ofa nameserver. Yields a <host>this result that have been tranlated into other languages. The referents MUST be <contact> (Section3.2.2) in the response.3.2.5) results. o <iris:seeAlso> - an element containing <iris:entity> elements specifying entities that are indirectly associated with this Newton ExpiresMayDecember 5, 2003 [Page11]12] Internet-Draft iris-dregNovember 2002 4. Domain Registry Width As describedJune 2003 contact. 3.2.6 <registrationAuthority> The <registrationAuthority> result represents an entity capable of registering domains. The <serviceInstance> child element of <registrationAuthority> contains an <entity> element pointing to the entity "id" in the entity class "service-definition". The authority areas found inCRISP [11], domain registries have differing widths. Some are "thick"the referent MUST be domains andsomeare"thin." Regardless ofthedomain registry width, it is importantdomains forall levels ofwhich a given registration authority has control. The registration authority type child elements, <registry>, <registrar>, and <other>, determine thehierarchy ofrole in which this registration authority plays in thedomain delegation treeprocess of registering domains. The intent of this element is tohaveexplain thesame appearance fromvarious roles aschema perspective. This allows clients to traverse this treeregistration authority may have withonlyregards to theneedauthority areas pointed toknowby the <serviceInstance> element. A client MAY understand thefingerprintrelationship of a"domain registry" and without the needregistration authority with respect toknow separate fingerprints for what isa domainregistry, aby the placement of the reference in the domainregistrar,(e.g. <registry> oreven<registrar>). 3.3 Generic Code Derivatives 3.3.1 <searchTooWide> Servers MAY use the <searchTooWide> error code when adomain registrant. Therefore,query capable of using one of theschema defined in this document MUSTelements from the contact search group (Section 3.1.7) must beused at all levels despitenarrowed to yield a result set acceptable to thewidthpolicies of thedomain registry model. However, implementers will need to take into consideration the instances where search continuationsserver operator. 3.3.2 <languageNotSupported> The queries <findDomainsByRegistrant>, <findDomainsByI18NName>, andentity references either defined in this document or defined as part of<findContacts> support optional language tags that allow a client to suggest to a server thebase result, as definedlanguages inIRIS [5], will need to be employedwhich tosupportscope theappropriate registry width. The following sections are only guidelines andqueries. If a client passes to the server a languagespecified in Section 2 does not apply and is not used. Implementers should determine the appropriate results for their particular implementation aswhich thetwo following sections are generalized and mayserver does notbe appropriate to all models of registries. All guidelines noted insupport, thefollowing sections are subjectserver MAY use this error code topolicy settingsindicate that one of theoperators involved. 4.1 "Thick" For thick registries, searcheslanguages is not supported. 3.4 Support forand lookups of domains should result in a <domain> element. This element should contain most<iris:lookupEntity> The following types of entity classes are recognized by thecontact information if privileges allow<lookupEntity> query of IRIS forit. To referencethis registry: o host-name - theequivalentfully qualified domainentity inname of aregistrants service instance, an entity URI should be returned usingnameserver. Newton Expires December 5, 2003 [Page 13] Internet-Draft iris-dreg June 2003 Yields a <host> (Section 3.2.4) in the<domainReference> element ofresponse. o host-handle - the<domain> object. Searches for contacts or holders should not yield search continuations. 4.2 "Thin" When <domain> elements are returned inregistry unique identifier given aresult, thin registries should also return an entity URI tonameserver. Yields a <host> (Section 3.2.4) in the response. o domain-name - theequivalentfully qualified name of a domain. This a domainentityname as specified by RFC 1035 [12]. Yields a <domain> (Section 3.2.2) in theregistrars service instance usingresponse. o domain-handle - the<domainReference> child. Likewise, whenregistry unique identifier given aregistrar's service instance returnsdomain. Yields a <domain>instance, it SHOULD use(Section 3.2.2) in thesame element to referenceresponse. o domain-variant - the fully qualified name of a domainentityvariant. This a domain name as specified by RFC 1035 [12]. Yields a <domain> (Section 3.2.2) in theregistrant's service instance, if one is available. Because thin registries do not contain contact information, certain searches will yield nothing but search continuations. These are Newton Expires May 5, 2003 [Page 12] Internet-Draft iris-dreg November 2002 listed here: o <findDomainsByRegistrant> o <findContacts>response. oentity lookupscontact-handle - the registry unique identifier given a contact. Yields a <contact> (Section 3.2.5) in the"contact-handle" class Because handles for hosts and domains can be assigned by both registries and registrars, entity lookupsresponse. o ipv4-address - the IPv4 address of a nameserver. Yields a <host> (Section 3.2.4) in theregistryresponse. o ipv6-address - the IPv6 address of a nameserver. Yields a <host> (Section 3.2.4) in the"host-handle" and "domain-handle" classes can yield bothresponse. o registration-authority - the name of a<result> derivative,registration authority. Yields a <registrationAuthority> (Section 3.2.6) inthisthe response. o All names in these entity classes are case<host> and <domain> respectively, and search continuations.insensitive. Newton ExpiresMayDecember 5, 2003 [Page13]14] Internet-Draft iris-dregNovember 2002 5.June 2003 4. Formal XML Syntax This registry schema is specified in the XML Schema notation. The formal syntax presented here is a complete schema representation suitable for automated validation of an XML instance when combined with the formal schema syntax of IRIS. <?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:dreg="urn:ietf:params:xml:ns:dreg1" xmlns:iris="urn:ietf:params:xml:ns:iris1" targetNamespace="urn:ietf:params:xml:ns:dreg1" elementFormDefault="qualified" > <import namespace="urn:ietf:params:xml:ns:iris1" /> <annotation> <documentation> Domain registry schema derived from IRIS schema </documentation> </annotation> <!-- --> <!-- Query types --> <!-- --> <complexType name="listRegistrarsType"> <complexContent> <extension base="iris:queryType"> <sequence> <elementname="baseDomain" type="normalizedString"ref="dreg:baseDomain" minOccurs="0" maxOccurs="1" /> </sequence> </extension> </complexContent> </complexType> <element name="listRegistrars" type="dreg:listRegistrarsType" substitutionGroup="iris:query" /> <complexType name="findDomainsByRegistrantType"> <complexContent> <extension base="iris:queryType"> <sequence> <element ref="dreg:baseDomain" Newton ExpiresMayDecember 5, 2003 [Page14]15] Internet-Draft iris-dregNovember 2002 <element name="baseDomain" type="normalizedString"June 2003 minOccurs="0" maxOccurs="1" /><element name="field" type="dreg:contactSearchFieldsType"<choice> <group ref="dreg:contactSearchGroup" /> <elementname="beginsWith" minOccurs="0" maxOccurs="1"> <simpleType> <restriction base="token"> <minLength value="3"/> </restriction> </simpleType> </element>name="contactHandle" type="dreg:exactMatchParameter" /> </choice> <elementname="endsWith"name="language" type="language" minOccurs="0"maxOccurs="1"> <simpleType> <restriction base="token"> <minLength value="2"/> </restriction> </simpleType> </element>maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <element name="findDomainsByRegistrant" type="dreg:findDomainsByRegistrantType" substitutionGroup="iris:query" /> <complexType name="findDomainsByNameType"> <complexContent> <extension base="iris:queryType"> <sequence> <elementname="baseDomain" type="normalizedString"ref="dreg:baseDomain" minOccurs="0" maxOccurs="1" /> <elementname="beginsWith" minOccurs="1" maxOccurs="1" > <simpleType> <restriction base="token"> <minLength value="3"/> </restriction> </simpleType> </element>name="namePart" type="dreg:partialMatchParameter" /> </sequence> </extension> </complexContent> </complexType> <elementname="endsWith"name="findDomainsByName" type="dreg:findDomainsByNameType" substitutionGroup="iris:query" /> <complexType name="findDomainsByI18NNameType"> <complexContent> <extension base="iris:queryType"> <sequence> <element ref="dreg:baseDomain" minOccurs="0" maxOccurs="1"> <simpleType>/> <element name="namePart" type="dreg:partialMatchParameter" /> <element name="language" type="language" minOccurs="0" maxOccurs="unbounded"/> </sequence> </extension> Newton ExpiresMayDecember 5, 2003 [Page15]16] Internet-Draft iris-dregNovember 2002 <restriction base="token"> <minLength value="2"/> </restriction> </simpleType> </element>June 2003 </complexContent> </complexType> <element name="findDomainsByI18NName" type="dreg:findDomainsByI18NNameType" substitutionGroup="iris:query" /> <complexType name="findContactsType"> <complexContent> <extension base="iris:queryType"> <sequence> <group ref="dreg:contactSearchGroup" /> <element name="language" type="language" minOccurs="0" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <elementname="findDomainsByName" type="dreg:findDomainsByNameType"name="findContacts" type="dreg:findContactsType" substitutionGroup="iris:query" /> <complexTypename="findContactsType">name="findDomainsByHostType"> <complexContent> <extension base="iris:queryType"> <sequence> <elementname="field" type="dreg:contactSearchFieldsType"ref="dreg:baseDomain" minOccurs="0" maxOccurs="1" /> <choice> <element name="hostName" type="dreg:exactMatchParameter" /> <element name="hostHandle" type="dreg:exactMatchParameter" /> <element name="ipV4Address" type="dreg:exactMatchParameter" /> <element name="ipV6Address" type="dreg:exactMatchParameter" /> </choice> </sequence> </extension> </complexContent> </complexType> <element name="findDomainsByHost" type="dreg:findDomainsByHostType" substitutionGroup="iris:query" /> Newton Expires December 5, 2003 [Page 17] Internet-Draft iris-dreg June 2003 <group name="contactSearchGroup"> <choice> <element name="commonName" type="dreg:exactOrPartialMatchParameter" /> <element name="organization" type="dreg:exactOrPartialMatchParameter" /> <element name="eMail" type="dreg:domainResourceParameter" /> <element name="city" type="dreg:exactMatchParameter" /> <element name="region" type="dreg:exactMatchParameter" /> <element name="postalCode" type="dreg:exactMatchParameter" /> </choice> </group> <complexType name="exactOrPartialMatchParameter"> <choice> <group ref="dreg:partialMatchGroup" /> <group ref="dreg:exactMatchGroup" /> </choice> </complexType> <complexType name="exactMatchParameter"> <group ref="dreg:exactMatchGroup" /> </complexType> <complexType name="partialMatchParameter"> <sequence> <group ref="dreg:partialMatchGroup" /> </sequence> </complexType> <complexType name="domainResourceParameter" > <choice> <group ref="dreg:exactMatchGroup" /> <element name="inDomain" type="token" /> </choice> </complexType> <element name="baseDomain" type="normalizedString" /> <group name="partialMatchGroup"> <sequence> <element name="beginsWith"minOccurs="0"Newton Expires December 5, 2003 [Page 18] Internet-Draft iris-dreg June 2003 minOccurs="1" maxOccurs="1" > <simpleType> <restriction base="token"> <minLengthvalue="3"/>value="1"/> </restriction> </simpleType> </element> <element name="endsWith" minOccurs="0" maxOccurs="1" > <simpleType> <restriction base="token"> <minLengthvalue="2"/>value="1"/> </restriction> </simpleType> </element> </sequence></extension> </complexContent> </complexType> <element name="findContacts" type="dreg:findContactsType" substitutionGroup="iris:query" /> <complexType name="findDomainsByHostType"> <complexContent> <extension base="iris:queryType"> Newton Expires May 5, 2003 [Page 16] Internet-Draft iris-dreg November 2002 <choice> <element name="hostName" type="normalizedString" /> <element name="hostHandle" type="normalizedString" /> <element name="ipV4Address" type="normalizedString" /></group> <group name="exactMatchGroup"> <sequence> <elementname="ipV6Address"name="exactMatch" type="normalizedString" /></choice> </extension> </complexContent> </complexType> <element name="findDomainsByHost" type="dreg:findDomainsByHostType" substitutionGroup="iris:query" /></sequence> </group> <!-- --> <!-- Result types --> <!-- --> <complexType name="domainType"> <complexContent> <extension base="iris:resultType"> <sequence> <element name="domainName" type="normalizedString" /> <element name="domainHandle"type="normalizedString"type="dreg:normalizedStringOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="nameServers"minOccurs="1"minOccurs="0" maxOccurs="1" > <complexType> <sequence> <elementref="iris:entityURI" minOccurs="0"ref="iris:entity" minOccurs="1" maxOccurs="unbounded" /> </sequence> </complexType> </element> Newton Expires December 5, 2003 [Page 19] Internet-Draft iris-dreg June 2003 <element name="registrant" minOccurs="0" maxOccurs="1"> <complexType> <sequence> <element ref="iris:entity" minOccurs="1" maxOccurs="1" /> </sequence> </complexType> </element> <element name="billingContacts" minOccurs="0" maxOccurs="1"> <complexType> <sequence> <elementref="iris:entityURI"ref="iris:entity" minOccurs="1" maxOccurs="unbounded" /> </sequence> </complexType> </element> <element name="technicalContacts" minOccurs="0"maxOccurs="1"maxOccurs="1"> <complexType> <sequence> <element ref="iris:entity" minOccurs="1" maxOccurs="unbounded" /> </sequence> </complexType> </element> <element name="administrativeContacts" minOccurs="0" maxOccurs="1"> <complexType> <sequence> <element ref="iris:entity" minOccurs="1" maxOccurs="unbounded" /> </sequence> </complexType> </element> <element name="legalContacts" minOccurs="0" maxOccurs="1"> <complexType> <sequence> <element ref="iris:entity" minOccurs="1" maxOccurs="unbounded" /> </sequence> </complexType> </element> <element name="zoneContacts" minOccurs="0" maxOccurs="1"> <complexType> Newton ExpiresMayDecember 5, 2003 [Page17]20] Internet-Draft iris-dregNovember 2002 </element>June 2003 <sequence> <elementname="domainContacts"ref="iris:entity" minOccurs="1"maxOccurs="1"> <complexType> <sequence>maxOccurs="unbounded" /> </sequence> </complexType> </element> <elementname="contact"name="abuseContacts" minOccurs="0"maxOccurs="unbounded">maxOccurs="1"> <complexType> <sequence> <elementref="iris:entityURI"ref="iris:entity" minOccurs="1" maxOccurs="unbounded" /> </sequence> </complexType> </element> <elementname="role"name="securityContacts" minOccurs="0" maxOccurs="1"><simpleType> <restriction base="token"> <enumeration value="billing" /> <enumeration value="technical" /> <enumeration value="administrative" /> <enumeration value="legal" /> <enumeration value="zone" /> <enumeration value="other"<complexType> <sequence> <element ref="iris:entity" minOccurs="1" maxOccurs="unbounded" /></restriction> </simpleType> </element></sequence> </complexType> </element> <element name="otherContacts" minOccurs="0" maxOccurs="1"> <complexType> <sequence> <element ref="iris:entity" minOccurs="1" maxOccurs="unbounded" /> </sequence> </complexType> </element> <element name="lastContactModificationDateTime"type="dateTime"type="dreg:dateTimeOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="lastContactModificationBy" minOccurs="0" maxOccurs="1"> <complexType> <sequence> <elementref="iris:entityURI"ref="iris:entity" /> </sequence> </complexType> </element><element name="activationStatus"<choice minOccurs="0" maxOccurs="1"><simpleType> <restriction base="token"> <enumeration value="reservedDelegation" /> <enumeration value="assignedAndActive" /> <enumeration value="assignedAndInactive" /> <enumeration value="assignedAndOnHold" /><element name="reservedDelegationStatus" Newton ExpiresMayDecember 5, 2003 [Page18]21] Internet-Draft iris-dregNovember 2002 <enumeration value="revoked"June 2003 nillable="true" type="dreg:dateTimeOmissionType" /><enumeration value="unspecified"<element name="assignedAndActiveStatus" nillable="true" type="dreg:dateTimeOmissionType" /></restriction> </simpleType> </element><element name="assignedAndInactiveStatus" nillable="true" type="dreg:dateTimeOmissionType" /> <element name="assignedAndOnHoldStatus" nillable="true" type="dreg:dateTimeOmissionType" /> <element name="revokedStatus" nillable="true" type="dreg:dateTimeOmissionType" /> <element name="unspecifiedStatus" nillable="true" type="dreg:dateTimeOmissionType" /> </choice> <element name="delegationReference" minOccurs="0" maxOccurs="1"> <complexType> <sequence> <elementref="iris:entityURI"ref="iris:entity" /> </sequence> </complexType> </element> <element name="registry" minOccurs="0" maxOccurs="1"> <complexType> <sequence> <elementref="iris:entityURI"ref="iris:entity" /> </sequence> </complexType> </element> <element name="registrar" minOccurs="0" maxOccurs="1"> <complexType> <sequence> <elementref="iris:entityURI"ref="iris:entity" minOccurs="0" maxOccurs="1" /> </sequence> </complexType> </element> <element name="initialDelegationDateTime"type="dateTime"type="dreg:dateTimeOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="lastRenewalDateTime"type="dateTime"Newton Expires December 5, 2003 [Page 22] Internet-Draft iris-dreg June 2003 type="dreg:dateTimeOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="expirationDateTime"type="dateTime"type="dreg:dateTimeOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="lastDelegationModificationDateTime"type="dateTime"type="dreg:dateTimeOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="lastDelegationModificationBy" minOccurs="0" maxOccurs="1"> <complexType> <sequence> <elementref="iris:entityURI"ref="iris:entity" /> </sequence> </complexType> </element> <element name="lastVerificationDateTime" type="dreg:dateTimeOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element ref="iris:seeAlso" minOccurs="0" maxOccurs="1" /> </sequence> </extension> </complexContent> </complexType> <element name="domain" type="dreg:domainType" substitutionGroup="iris:result" /> <complexType name="domainVariantType"> <complexContent> <extension base="iris:resultType"> <sequence> <element name="domainName" type="normalizedString" /> <element name="variantOf" minOccurs="0" maxOccurs="1"> <complexType> <sequence> <element ref="iris:entity" /> </sequence> </complexType> </element> Newton ExpiresMayDecember 5, 2003 [Page19]23] Internet-Draft iris-dregNovember 2002 </complexType> </element> <element name="lastVerificationDateTime" type="dateTime"June 2003 <choice minOccurs="0"maxOccurs="1"maxOccurs="1"> <element name="blockedStatus" nillable="true" type="dreg:dateTimeOmissionType" /> <sequence> <element name="unblockedStatus" nillable="true" type="dreg:dateTimeOmissionType" /> <elementref="iris:seeAlso"name="registeredDomain" minOccurs="0"maxOccurs="1"maxOccurs="1"> <complexType> <sequence> <element ref="iris:entity" /> </sequence> </complexType> </element> </sequence> </choice> </sequence> </extension> </complexContent> </complexType><element name="domain" type="dreg:domainType" substitutionGroup="iris:result" /><complexType name="hostType"> <complexContent> <extension base="iris:resultType"> <sequence> <element name="hostHandle"type="normalizedString"type="dreg:normalizedStringOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="hostName" type="normalizedString" /> <elementname="ipV4Addresses">name="ipV4Addresses" minOccurs="0" maxOccurs="1" > <complexType> <sequence> <element name="ipV4Address"type="normalizedString" minOccurs="0"type="token" minOccurs="1" maxOccurs="unbounded" /> </sequence> </complexType> </element> <elementname="ipV6Addresses">name="ipV6Addresses" minOccurs="0" maxOccurs="1"> <complexType> <sequence> Newton Expires December 5, 2003 [Page 24] Internet-Draft iris-dreg June 2003 <element name="ipV6Address"type="normalizedString" minOccurs="0"type="token" minOccurs="1" maxOccurs="unbounded" /> </sequence> </complexType> </element> <elementname="hostContacts">name="hostContacts" minOccurs="0" maxOccurs="1" > <complexType> <sequence> <elementref="iris:entityURI" minOccurs="0"ref="iris:entity" minOccurs="1" maxOccurs="unbounded" />Newton Expires May 5, 2003 [Page 20] Internet-Draft iris-dreg November 2002</sequence> </complexType> </element> <element name="createdDateTime"type="dateTime"type="dreg:dateTimeOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="lastModificationDateTime"type="dateTime"type="dreg:dateTimeOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="lastVerificationDateTime"type="dateTime"type="dreg:dateTimeOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element ref="iris:seeAlso" minOccurs="0" maxOccurs="1" /> </sequence> </extension> </complexContent> </complexType> <element name="host" type="dreg:hostType" substitutionGroup="iris:result" /> <complexType name="contactType"> <complexContent> <extension base="iris:resultType"> <sequence> <element name="contactHandle" type="normalizedString" /> <element name="commonName"type="normalizedString" />type="dreg:normalizedStringOmissionType" nillable="true" minOccurs="0" maxOccurs="1"/> Newton Expires December 5, 2003 [Page 25] Internet-Draft iris-dreg June 2003 <element name="language" type="language" minOccurs="0" maxOccurs="1" /> <element name="organization"type="normalizedString"type="dreg:normalizedStringOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="eMail"type="string"type="dreg:stringOmissionType" nillable="true" minOccurs="0" maxOccurs="2" /> <element name="address"type="string"type="dreg:stringOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="city"type="string"type="dreg:stringOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="region"type="string" Newton Expires May 5, 2003 [Page 21] Internet-Draft iris-dreg November 2002type="dreg:stringOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="postalCode"type="normalizedString"type="dreg:normalizedStringOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="country"type="token"type="dreg:tokenOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="phone"type="normalizedString"type="dreg:normalizedStringOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="fax"type="normalizedString"type="dreg:normalizedStringOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="createdDateTime"type="dateTime"type="dreg:dateTimeOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="lastModificationDateTime"type="dateTime"type="dreg:dateTimeOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="lastVerificationDateTime"type="dateTime"Newton Expires December 5, 2003 [Page 26] Internet-Draft iris-dreg June 2003 type="dreg:dateTimeOmissionType" nillable="true" minOccurs="0" maxOccurs="1" /> <element name="translatedContacts" type="iris:seeAlsoType" nillable="true" minOccurs="0"maxOccurs="unbounded"maxOccurs="1" /> <element ref="iris:seeAlso" minOccurs="0" maxOccurs="1" /> </sequence> </extension> </complexContent> </complexType> <element name="contact" type="dreg:contactType" substitutionGroup="iris:result" /><simpleType name="contactSearchFieldsType"> <restriction base="token"> <enumeration value="contactHandle" /> <enumeration value="commonName" /> <enumeration value="organization" /> <enumeration value="eMail" /> <enumeration value="city" /> <enumeration value="region" /> <enumeration value="postalCode" /> <enumeration value="country" /> </restriction> </simpleType> Newton Expires May 5, 2003 [Page 22] Internet-Draft iris-dreg November 2002<complexType name="registrationAuthorityType"> <complexContent> <extension base="iris:resultType"> <sequence> <element name="serviceInstance"> <complexType> <sequence> <elementref="iris:entityURI"ref="iris:entity" /> </sequence> </complexType> </element> <element name="organizationName" type="string" minOccurs="0" maxOccurs="1" /><element name="type"<choice minOccurs="0" maxOccurs="3"><simpleType> <restriction base="token"> <enumeration value="registry" /> <enumeration value="registrar" /> <enumeration value="other" /> </restriction> </simpleType><element name="registry"> <complexType/> </element> <element name="registrar"> <complexType/> </element> <element name="other"> <complexType/> </element> </choice> </sequence> </extension> </complexContent> </complexType> Newton Expires December 5, 2003 [Page 27] Internet-Draft iris-dreg June 2003 <element name="registrationAuthority" type="dreg:registrationAuthorityType" substitutionGroup="iris:result" /> <attributeGroup name="omissionAttributeGroup"> <attribute name="private" type="boolean" /> <attribute name="denied" type="boolean" /> <attribute name="unspecified" type="boolean" /> </attributeGroup> <complexType name="dateTimeOmissionType"> <simpleContent> <extension base="dateTime"> <attributeGroup ref="dreg:omissionAttributeGroup" /> </extension> </simpleContent> </complexType> <complexType name="stringOmissionType"> <simpleContent> <extension base="string"> <attributeGroup ref="dreg:omissionAttributeGroup" /> </extension> </simpleContent> </complexType> <complexType name="normalizedStringOmissionType"> <simpleContent> <extension base="normalizedString"> <attributeGroup ref="dreg:omissionAttributeGroup" /> </extension> </simpleContent> </complexType> <complexType name="tokenOmissionType"> <simpleContent> <extension base="token"> <attributeGroup ref="dreg:omissionAttributeGroup" /> </extension> </simpleContent> </complexType> <!-- --> <!-- Error types --> <!-- --><complexType name="searchTooWideType"> <complexContent> <extension base="iris:codeType"> <sequence><elementname="useField" type="dreg:contactSearchFieldsType" minOccurs="0" maxOccurs="unbounded" /> </sequence> </extension> </complexContent> </complexType>name="searchTooWide" type="iris:codeType" Newton ExpiresMayDecember 5, 2003 [Page23]28] Internet-Draft iris-dregNovember 2002 <element name="searchTooWide" type="dreg:searchTooWideType"June 2003 substitutionGroup="iris:genericCode" /><!-- --> <!-- Global types --> <!-- --> <simpleType name="entityClassType"> <restriction base="iris:entityClassType"> <enumeration value="domain-name" /> <enumeration value="domain-handle" /> <enumeration value="host-name" /> <enumeration value="host-handle" /> <enumeration value="contact-handle" /> <enumeration value="ipv4-address" /> <enumeration value="ipv6-address" /> </restriction> </simpleType><elementname="entityClass" type="dreg:entityClassType" substitutionGroup="iris:entityClass"name="languageNotSupported" type="iris:codeType" substitutionGroup="iris:genericCode" /> </schema> Figure 1 Newton ExpiresMayDecember 5, 2003 [Page24]29] Internet-Draft iris-dregNovember 2002 6.June 2003 5. BEEP Transport Compliance IRIS allows several extensions of the core capabilities. This section outlines those extensions allowable by IRIS-BEEP [6].6.15.1 Message Pattern This registry type uses the default message pattern as described in IRIS-BEEP [6].6.2 Authority5.2 Server Authentication This registry type uses the default server authentication method as described in IRIS-BEEP [6]. Newton Expires December 5, 2003 [Page 30] Internet-Draft iris-dreg June 2003 6. URI Resolution The authority resolution of an IRIS URI for this registry type is similar to the default resolution spelled out inIRIS-BEEP [6].IRIS [5]. The default authority resolution process allows for the authority to be o a domain name o a domain name accompanied by a port number o an IP address o an IP address accompanied by a port number The resolution process for this registry only differs if the authority is only a domain name (i.e. without the port number). The process for this condition is as follows:1. The SRV algorithm is used with a service parameter of "iris" and a protocol parameter of "tcp" to determine1. The IRIS [5] default resolution process is tried on theIP/TCP addressing information.domain name (e.g. "example.com" ). 2. If noSRVrecords arefound (e.g. for "_iris._tcp.example.com"),found, then the left-most component of the domain name is removed, and the first step is repeated again (e.g.for "_iris._tcp.com")."com" ). 3. If all the components of the domain name are removed and noSRVrecords are found, then the DNS is queried for the A records corresponding to the original domain name and the portnumberused is the well-known portassigned by the IANAforIRIS using BEEP. 6.3 Server Authentication Thisthe default protocol of IRIS. The application service label associated with this registry typeusesMUST be "XP-DN". This label has no particular significance other than "XP" is short for "CRISP" and "DN" is short for "Domain Name". Because thedefault server authentication method as described in IRIS-BEEP [6].service field, of which this label is just one of many components, is limited to 32 characters, this label is purposefully meaningful but short. Newton ExpiresMayDecember 5, 2003 [Page25]31] Internet-Draft iris-dregNovember 2002June 2003 7. Internationalization Considerations Implementers should be aware of considerations for internationalization in IRIS [5]. In addition, this document specifies the lookup of domainnames. Current efforts are under waynames, both the traditional ASCII form and the IDN form. In addition, the social data associated with contacts may also be in Unicode. Server implementations should take care with normalization processes of Unicode during searches. The <language> element is provided in queries that have potential toprovide "internationalized" domain names. This document does not yet strivetraverse such data. Clients should use these elements to indicate tomake distinctions betweenthetwo. However, becauseserver the target languages desired, and servers should use these elements to better enable normalization and search processes. Clients needing to localize the data tags in this protocol should take note that localization is only needed on the names of XML elements and attributes. The schema for this registry has been designed so that clients need not interpret the content of elements or attributes for localization. Clients should also make use of the <language> elements provided in many of the results. Results containing data that may bespecifiedinUTF-8, it is possibleUnicode are accompanied by these elements in order tosupport internationalization efforts for domain names.aid better presentation of the data to the user. Newton ExpiresMayDecember 5, 2003 [Page26]32] Internet-Draft iris-dregNovember 2002June 2003 8. IANA Considerations The following URN will need to be registered with IANA according to the IANA considerations defined in IRIS [5]: urn:ietf:params:xml:ns:dreg1 The following NAPSTR application service label will need to be registered with IANA according to the IANA considerations defined in IRIS [5]: XP-DN Newton ExpiresMayDecember 5, 2003 [Page27]33] Internet-Draft iris-dregNovember 2002June 2003 9. Security Considerations This document lays out no new considerations for security precautions beyond that specified in IRIS [5]. Newton ExpiresMayDecember 5, 2003 [Page28]34] Internet-Draft iris-dregNovember 2002June 2003 References [1] World Wide Web Consortium, "Extensible Markup Language (XML) 1.0", W3C XML, February 1998,<http://www.w3.org/TR/1998/REC- xml-19980210>.<http://www.w3.org/TR/1998/ REC-xml-19980210>. [2] World Wide Web Consortium, "Namespaces in XML", W3C XML Namespaces, January 1999,<http://www.w3.org/TR/1999/REC-xml- names-19990114>.<http://www.w3.org/TR/1999/ REC-xml-names-19990114>. [3] World Wide Web Consortium, "XML Schema Part 2: Datatypes", W3C XML Schema, October 2000,<http://www.w3.org/TR/2001/REC- xmlschema-2-20010502/>.<http://www.w3.org/TR/2001/ REC-xmlschema-2-20010502/>. [4] World Wide Web Consortium, "XML Schema Part 1: Structures", W3C XML Schema, October 2000,<http://www.w3.org/TR/2001/REC- xmlschema-1-20010502/>.<http://www.w3.org/TR/2001/ REC-xmlschema-1-20010502/>. [5] Newton, A., "Internet Registry Information Service",draft- ietf-crisp-iris-core-01draft-ietf-crisp-iris-core-01 (work in progress), November 2002. [6] Newton, A., "Internet Registry Information Service (IRIS) over Blocks Exstensible Exchange Protocol (BEEP)",draft-ietf-crisp- iris-beep-01draft-ietf-crisp-iris-beep-01 (work in progress), November 2002. [7] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 2373, July 1998. [8] Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981. [9] Reynolds, J. and J. Postel, "ASSIGNED NUMBERS", RFC 1700, STD 2, October 1994. [10] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", RFC 2434, BCP 26, October 1998. [11] Newton, A., "Cross Registry Internet Service Protocol (CRISP) Requirements", draft-ietf-crisp-requirements-00 (work in progress), August 2002. [12] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987. [13] Bradner, S., "Key words for use in RFCs to Indicate RequirementLevels", RFC 2119, BCP 14, March 1997.Newton ExpiresMayDecember 5, 2003 [Page29]35] Internet-Draft iris-dregNovember 2002June 2003 Levels", RFC 2119, BCP 14, March 1997. Author's Address Andrew L. Newton VeriSign, Inc. 21345 Ridgetop Circle Sterling, VA 20166 USA Phone: +1 703 948 3382 EMail: anewton@verisignlabs.com; anewton@ecotroph.net URI: http://www.verisignlabs.com/ Newton ExpiresMayDecember 5, 2003 [Page30]36] Internet-Draft iris-dregNovember 2002June 2003 Appendix A. An Example Request and Response The following is an example of an IRIS request and response using this registry schema.---------------------------------------------------------------------This XML instance is a request to search for domains by the registrant's name. <?xml version="1.0"?> <request xmlns="urn:ietf:params:xml:ns:iris1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd" > <searchSet> <dreg:findDomainsByRegistrant xmlns:dreg="urn:ietf:params:xml:ns:dreg1" xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd" > <dreg:baseDomain>com</dreg:baseDomain><dreg:field>commonName</dreg:field><dreg:commonName> <dreg:beginsWith> The Cobbler Shoppe </dreg:beginsWith> </dreg:commonName> </dreg:findDomainsByRegistrant> <bag> AAAAB3NzaC1yc2EAAAABIwAAAIEA0ddD+W3Agl0Lel98G1r77fZ c3nBl8CHdkmKuVGUy/ijmvdO5QxuSlU0R4BoCLZk/Sob22RApTn T+ROMbXFQBrxGH08daAOy98WqpfAutWJri61JLpubIbaqhGyB48 Qt69V6OhYfFsJjvoNEOh1k2dgzXhSlzP3OMVSKRlBzGcO8= </bag> </searchSet> </request> Figure 2: dreg-request.xml--------------------------------------------------------------------- ---------------------------------------------------------------------This XML instance is a response from Figure 2. <?xml version="1.0"?> <response xmlns="urn:ietf:params:xml:ns:iris1" xmlns:iris="urn:ietf:params:xml:ns:iris1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd" > <resultSet> <answer>Newton ExpiresMayDecember 5, 2003 [Page31]37] Internet-Draft iris-dregNovember 2002June 2003 xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd" > <resultSet> <answer> <dreg:domain xmlns="urn:ietf:params:xml:ns:dreg1" xmlns:dreg="urn:ietf:params:xml:ns:dreg1" xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd"thisEntityURI="iris://com/dreg1/domainHandle/tcs-com-1">authority="com" registryType="dreg1" entityClass="domain-handle" entityName="tcs-com-1" > <domainName>thecobblershoppe.com</domainName> <nameServers><iris:entityURI> iris://com/dreg1/host-handle/research7 </iris:entityURI> <iris:entityURI> iris://com/dreg1/host-handle/nso1184 </iris:entityURI><iris:entity authority="com" registryType="dreg1" entityClass="host-handle" entityName="research7" /> <iris:entity authority="com" registryType="dreg1" entityClass="host-handle" entityName="nsol184" /> </nameServers> <registrant><iris:entityURI displayName="Bill Eckels"<iris:entity authority="com" registryType="dreg1" entityClass="contact-handle" entityName="beb140"> <iris:displayName language="en">iris://com/dreg1/contact-handle/beb140 </iris:entityURI>Bill Eckels </iris:displayName> </iris:entity> </registrant><domainContacts> <contact> <iris:entityURI displayName="Mark Kosters"<technicalContacts> <iris:entity bagRef="x1" authority="com" registryType="dreg1" entityClass="contact-handle" entityName="mak21"> <iris:displayName language="en">iris://com/dreg1/contact-handle/mak21 </iris:entityURI> <role>technical</role> </contact> </domainContacts>Mark Kosters </iris:displayName> </iris:entity> </technicalContacts> <assignedAndActiveStatus denied="true" xsi:nil="true" /> <iris:seeAlso><iris:entityURI> iris://com/dreg1/service-definition/notice </iris:entityURI><iris:entity authority="com" registryType="dreg1" entityClass="service-definition" entityName="notice" /> </iris:seeAlso> </dreg:domain> Newton Expires December 5, 2003 [Page 38] Internet-Draft iris-dreg June 2003 </answer> <additional> <dreg:contact xmlns="urn:ietf:params:xml:ns:dreg1" xmlns:dreg="urn:ietf:params:xml:ns:dreg1" xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd"thisEntityURI="iris://com/dreg1/contact-handle/beb140">authority="com" registryType="dreg1" entityClass="contact-handle" entityName="beb140" > <contactHandle>beb140</contactHandle> <commonName> Bill Eckels </commonName> <organization> The Cobbler ShoppeNewton Expires May 5, 2003 [Page 32] Internet-Draft iris-dreg November 2002</organization><eMail> bille@bjmk.com </eMail><eMail private="true" xsi:nil="true" /> <address> 21 North Main Street </address> <city> Britt </city> <region> IA </region> <postalCode> 50423 </postalCode> <country> US </country> <phone> 515-843-3521 </phone> </dreg:contact> <simpleEntitythisEntityURI="iris://com/dreg1/service-definition/notice"authority="com" registryType="dreg1" entityClass="service-definition" entityName="notice" > <property name="legal" language="en"> It is illegal to use information from this service for the purposes of sending unsolicited bulk email. </property> </simpleEntity> </additional> Newton Expires December 5, 2003 [Page 39] Internet-Draft iris-dreg June 2003 <bags> <bag id="x1"> AAAAB3NzaC1yc2EAAAABIwAAAIEA0ddD+W3Agl0Lel98G1r77fZ c3nBl8CHdkmKuVGUy/ijmvdO5QxuSlU0R4BoCLZk/Sob22RApTn T+ROMbXFQBrxGH08daAOy98WqpfAutWJri61JLpubIbaqhGyB48 Qt69V6OhYfFsJjvoNEOh1k2dgzXhSlzP3OMVSKRlBzGcO8= </bag> </bags> </resultSet> </response> Figure 3: dreg-response.xml---------------------------------------------------------------------Newton ExpiresMayDecember 5, 2003 [Page33]40] Internet-Draft iris-dregNovember 2002June 2003 Appendix B. An Example Database Serialization The following is an example of serializing domain data.---------------------------------------------------------------------This example shows the serialization of a domain, a host, and some named queries. <iris:serialization xmlns:iris="urn:ietf:params:xml:ns:iris1" xmlns:dreg="urn:ietf:params:xml:ns:dreg1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:iris1iris.xsd"iris.xsd urn:ietf:params:xml:ns:dreg1 dreg.xsd" > <dreg:domainxmlns:dreg="urn:ietf:params:xml:ns:dreg1"xmlns="urn:ietf:params:xml:ns:dreg1"xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd" thisEntityURI="iris://com/dreg1/domain-handle/tcs-com-1"authority="com" registryType="dreg1" entityClass="domain-handle" entityName="tcs-com-1" > <domainName>thecobblershoppe.com</domainName> <nameServers><iris:serializedEntityURI> iris://com/dreg1/host-handle/research7 </iris:serializedEntityURI> <iris:serializedEntityURI> iris://com/dreg1/host-handle/nso1184 </iris:serializedEntityURI><iris:serializedEntity authority="com" registryType="dreg1" entityClass="host-handle" entityName="research7" /> <iris:serializedEntity authority="com" registryType="dreg1" entityClass="host-handle" entityName="nsol184" /> </nameServers> <registrant><iris:entityURI> iris://net/dreg1/contact-handle/beb140 </iris:entityURI><iris:entity authority="net" registryType="dreg1" entityClass="contact-handle" entityName="beb140" /> </registrant><domainContacts> <contact> <iris:entityURI displayName="Mark Kosters"<technicalContacts> <iris:entity authority="net" registryType="dreg1" entityClass="contact-handle" entityName="mak21" > <iris:displayName language="en">iris://net/dreg1/contact-handle/mak21 </iris:entityURI> <role>technical</role> </contact> </domainContacts>Mark Kosters </iris:displayName> </iris:entity> </technicalContacts> </dreg:domain> <dreg:hostxmlns:dreg="urn:ietf:params:xml:ns:dreg1"xmlns="urn:ietf:params:xml:ns:dreg1" authority="com" registryType="dreg1" Newton ExpiresMayDecember 5, 2003 [Page34]41] Internet-Draft iris-dregNovember 2002 xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd" thisEntityURI="iris://com/dreg1/host-handle/nsol184"June 2003 entityClass="host-handle" entityName="nsol184" > <hostHandle>nsol184</hostHandle> <hostName>ns1.netsol.com</hostName> <ipV4Addresses> <ipV4Address>216.168.224.200</ipV4Address> </ipV4Addresses><ipV6Addresses> </ipV6Addresses><hostContacts><iris:serializedEntityURI displayName="David Blacka"<iris:serializedEntity authority="com" registryType="dreg1" entityClass="contact-handle" entityName="dblacka" > <iris:displayName language="en">iris://com/dreg1/contact-handle/dblacka </iris:serializedEntityURI>David Blacka </iris:displayName> </iris:serializedEntity> </hostContacts> </dreg:host> <iris:searchContinuationthisEntityURI="iris://com/dreg1/contact-handle/dblacka">authority="com" registryType="dreg1" entityClass="contact-handle" entityName="dblacka" > <iris:authority> net </iris:authority><iris:searchSet> <iris:lookupEntity registryID="dreg1"> <iris:entityName>dblacka</iris:entityName> <dreg:entityClass xmlns:dreg="urn:ietf:params:xml:ns:dreg1" xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd" > contact-handle </dreg:entityClass> </iris:lookupEntity> </iris:searchSet><dreg:listRegistrars> <dreg:baseDomain>com</dreg:baseDomain> </dreg:listRegistrars> </iris:searchContinuation> <iris:serializedNamedQueryregistryID="dreg1"registryType="dreg1" entityClass="named-query" entityName="my-servers" > <iris:resultSet> <iris:answer><iris:serializedEntityURI> iris://verisignlabs.com/dreg1/host-handle/nsol184 </iris:serializedEntityURI> <iris:serializedEntityURI> iris://verisignlabs.com/dreg1/host-handle/research7 </iris:serializedEntityURI> <iris:serializedEntityURI><iris:serializedEntity authority="verisignlabs.com" registryType="dreg1" entityClass="host-handle" entityName="nsol184" /> <iris:serializedEntity authority="verisignlabs.com" registryType="dreg1" entityClass="host-handle" entityName="research7" /> <iris:serializedEntity authority="verisignlabs.com" registryType="dreg1" entityClass="host-handle" entityName="scooter" /> </iris:answer> Newton ExpiresMayDecember 5, 2003 [Page35]42] Internet-Draft iris-dregNovember 2002 iris://verisignlabs.com/dreg1/host-handle/scooter </iris:serializedEntityURI> </iris:answer>June 2003 </iris:resultSet> </iris:serializedNamedQuery> </iris:serialization> Figure 4: dreg-serialization.xml---------------------------------------------------------------------Newton ExpiresMayDecember 5, 2003 [Page36]43] Internet-Draft iris-dregNovember 2002June 2003 Appendix C. Acknowledgements Many of the concepts concerning the use of SRV records for step-wise refinement towards finding authoritative servers and many of the details of result objects in this draft were originally created by Eric A. Hall in his memos regarding the use of LDAP to satisfy the CRISP requirements. These concepts have contributed significantly to the development of this protocol. Newton Expires December 5, 2003 [Page 44] Internet-Draft iris-dreg June 2003 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. Full Copyright Statement Copyright (C) The Internet Society(2002).(2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors orassigns.assignees. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION Newton Expires December 5, 2003 [Page 45] Internet-Draft iris-dreg June 2003 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Newton ExpiresMayDecember 5, 2003 [Page37]46] ----