Network Working Group                                          A. Newton
Internet-Draft                                            VeriSign, Inc.
Expires: April 23, 2004                                 October 24, 2003


     IRIS - A Domain Registry (dreg) Type for the Internet Registry
                          Information Service
                     draft-ietf-crisp-iris-dreg-04

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 as
   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 on April 23, 2004.

Copyright Notice

   Copyright (C) The Internet Society (2003).  All Rights Reserved.

Abstract

   This document describes an IRIS 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                   Expires April 23, 2004                 [Page 1]

Internet-Draft                 iris-dreg                    October 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 <findDomainsByContact> Query . . . . . . . . . . . . . . . .  5
   3.1.3 <findDomainsByName> Query  . . . . . . . . . . . . . . . . .  6
   3.1.4 <findDomainsByIDNName> Query . . . . . . . . . . . . . . . .  6
   3.1.5 <findContacts> Query . . . . . . . . . . . . . . . . . . . .  6
   3.1.6 <findDomainsByHost> Query  . . . . . . . . . . . . . . . . .  7
   3.1.7 Contact Search Group . . . . . . . . . . . . . . . . . . . .  7
   3.2   Result Derivatives . . . . . . . . . . . . . . . . . . . . .  7
   3.2.1 Privacy Labels . . . . . . . . . . . . . . . . . . . . . . .  7
   3.2.2 <domain> Result  . . . . . . . . . . . . . . . . . . . . . .  9
   3.2.3 <host> Result  . . . . . . . . . . . . . . . . . . . . . . . 11
   3.2.4 <contact> Result . . . . . . . . . . . . . . . . . . . . . . 12
   3.2.5 <registrationAuthority>  . . . . . . . . . . . . . . . . . . 13
   3.3   Generic Code Derivatives . . . . . . . . . . . . . . . . . . 13
   3.3.1 <searchTooWide>  . . . . . . . . . . . . . . . . . . . . . . 13
   3.3.2 <languageNotSupported> . . . . . . . . . . . . . . . . . . . 14
   3.4   Support for <iris:lookupEntity>  . . . . . . . . . . . . . . 14
   4.    Formal XML Syntax  . . . . . . . . . . . . . . . . . . . . . 15
   5.    BEEP Transport Compliance  . . . . . . . . . . . . . . . . . 35
   5.1   Message Pattern  . . . . . . . . . . . . . . . . . . . . . . 35
   5.2   Server Authentication  . . . . . . . . . . . . . . . . . . . 35
   6.    URI Resolution . . . . . . . . . . . . . . . . . . . . . . . 36
   6.1   Application Service Label  . . . . . . . . . . . . . . . . . 36
   6.2   Bottom-Up Resolution . . . . . . . . . . . . . . . . . . . . 36
   6.3   Top-Down Resolution  . . . . . . . . . . . . . . . . . . . . 36
   7.    Internationalization Considerations  . . . . . . . . . . . . 38
   8.    IANA Considerations  . . . . . . . . . . . . . . . . . . . . 39
   9.    Security Considerations  . . . . . . . . . . . . . . . . . . 40
         References . . . . . . . . . . . . . . . . . . . . . . . . . 41
         Author's Address . . . . . . . . . . . . . . . . . . . . . . 42
   A.    Example Requests and Responses . . . . . . . . . . . . . . . 43
   A.1   Example 1  . . . . . . . . . . . . . . . . . . . . . . . . . 43
   A.2   Example 2  . . . . . . . . . . . . . . . . . . . . . . . . . 44
   B.    An Example Database Serialization  . . . . . . . . . . . . . 48
   C.    Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 51
         Intellectual Property and Copyright Statements . . . . . . . 52









Newton                   Expires April 23, 2004                 [Page 2]

Internet-Draft                 iris-dreg                    October 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].

   Examples of client/server XML exchanges with this registry type are
   available in Appendix A.





































Newton                   Expires April 23, 2004                 [Page 3]

Internet-Draft                 iris-dreg                    October 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                   Expires April 23, 2004                 [Page 4]

Internet-Draft                 iris-dreg                    October 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 Section 4.  References to elements and attributes
   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 Section 4 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 Section 3.2.5.

3.1.2 <findDomainsByContact> Query

   <findDomainsByContact> finds domains by searches on fields associated
   with a domain's contact.  A search constraint of <baseDomain> MUST
   restrict the results to domains only underneath the domain specified
   by its content if it is present.

   The allowable search fields are handled with either the
   <contactHandle> element or one of the elements in the
   "contactSearchGroup" (see Section 3.1.7).  The <contactHandle>
   element allows for the domains to be selected based on the contact
   having the specified contact handle.

   The query MAY also be constrained further using the optional <role>
   element.  The contents of this element signify the role the contact
   has with the domain.

   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



Newton                   Expires April 23, 2004                 [Page 5]

Internet-Draft                 iris-dreg                    October 2003


   in more effective searches.

3.1.3 <findDomainsByName> Query

   The <findDomainsByName> query finds domains by the name of a domain
   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.  The
   contents of <beginsWith> and <endsWith> elements MUST be ASCII.

3.1.4 <findDomainsByIDNName> Query

   The <findDomainsByIDNName> query finds domains by the name of the
   domain as it is known.  It differs from the <findDomainsByName> query
   by allowing the scope of the query to take into consideration
   internationalized domain names.

   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.  The <exactMatch> element
   specifies an equivalance with respect to rules governing
   internationalization of domain names.  The contents of <beginsWith>,
   <endsWith>, and <exactMatch> MUST be normalized according to the
   processes of RFC 3491 [15].

   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



Newton                   Expires April 23, 2004                 [Page 6]

Internet-Draft                 iris-dreg                    October 2003


   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
   name server.  The search is constrained using either the host name,
   host handle, IPv4 address, or IPv6 address of the name server.

3.1.7 Contact Search Group

   Some of the queries above have similar query constraints for
   searching on contacts.  This section describes those common
   parameters.

   <commonName> allows the query to be constrained based on the common
   name of the contact.  The constraint can either constrain the query
   by an exact match using the <exactMatch> element, or it may constrain
   the query by a subset of the common name using the <startsWith> and
   <endsWith> elements.

   <organization> allows the query to be constrained based on the
   organization name of the contact.  It has the same semantics as the
   <commonName> element.

   <eMail> constrains the query based on the e-mail address of the
   contact.  This may be done by an exact e-mail address using the
   <exactMatch> element or by any e-mail address in a domain using the
   <inDomain> element.  The <inDomain> MUST only contain a valid domain
   name (i.e.  no '@' symbol).  If either the contents of the <inDomain>
   element or domain part of the contents of the <exactMatch> element
   contain a name with Unicode characters, they must be normalized
   according to the processes of RFC 3491 [15].

   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
   containing the exact city, region, or postal code (i.e.  no substring
   searches).

3.2 Result Derivatives

3.2.1 Privacy Labels

   Several of the results in this registry type have values that cannot



Newton                   Expires April 23, 2004                 [Page 7]

Internet-Draft                 iris-dreg                    October 2003


   be given but must be specified as present or must be flagged so that
   clients do not divulge them.  In order to achieve this, some of the
   results use the following element types:

   o  "dateTimePrivacyType" - contains the XML Schema [3] data type
      "dateTime".

   o  "stringPrivacyType" - contains the XML Schema [3] data type
      "string".

   o  "normalizedStringPrivacyType" - contains the XML Schema [3] data
      type "normalizedString".

   o  "tokenPrivacyType" - contains the XML Schema [3] data type
      "token".

   o  "domainStatusType" - contains an optional element of <appliedDate>
      indicating the date and time the status was applied and an
      optional element of <description> with required attribute
      'language' indicating a description of the status.  This element
      also has an optional attribute of 'scope' to indicate the scope or
      origin of the status value.

   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 absence.

   Each of these element types MUST have one or more of the following
   boolean attributes if they are present without content:

   o  'private' - if true, this specifies that the content is absent
      because it may never be published.

   o  'denied' - if true, this specifies that the content is absent
      because policy does not allow it to be given under the current
      level of access.

   Each of these element types MAY have one or more of the following
   boolean attributes if they are present with content:

   o  'doNotRedistribute' - if true, this specifies that the content is
      not to be redistributed.

   o  'specialAccess' - if true, this specifies that the content has
      been provided due to special access rights.






Newton                   Expires April 23, 2004                 [Page 8]

Internet-Draft                 iris-dreg                    October 2003


3.2.2 <domain> Result

   The <domain> result represents an instance of a domain assignment.
   The children of the <domain> element are as follows:

   o  <domainName> - the full name of the domain as it is in DNS.  The
      contents of this element MUST be a domain name as specified by RFC
      1035 [12].

   o  <idn> - the name of the domain in nameprep form if applicable.
      See RFC 3491 [15].

   o  <domainHandle> - a registry unique assigned identifier to a
      domain.

   o  <nameServer> - MUST contain an entity reference to a referent of
      type <host> (Section 3.2.3).

   o  <registrant> - an element containing an entity reference to the
      registrant of this domain.  The referent MUST be a <contact>
      (Section 3.2.4) result.

   o  Domain contacts - the following elements contain an entity
      reference with a relationship to the domain.  The referent of each
      MUST be a <contact> (Section 3.2.4).

      *  <billingContacts>

      *  <technicalContacts>

      *  <administrativeContacts>

      *  <legalContacts>

      *  <zoneContacts>

      *  <abuseContacts>

      *  <securityContacts>

      *  <otherContacts>

   o  <lastContactModificationDateTime> - specifies the last time a
      contact for the domain was added or removed.

   o  <lastContactModificationBy> - MUST contain an entity reference a
      referent of type <contact> (Section 3.2.4) responsible for the
      last addition or removal of a contact for this domain.



Newton                   Expires April 23, 2004                 [Page 9]

Internet-Draft                 iris-dreg                    October 2003


   o  <status> - contains one or more of the following elements of type
      'domainStatusType' (see Section 3.2.1).

      *  <reservedDelegation> - permanently inactive

      *  <assignedAndActive> - normal state

      *  <assignedAndInactive> - new delegation

      *  <assignedAndOnHold> - dispute

      *  <revoked> - database purge pending

      *  <transferPending> - change of authority pending

      *  <registryLock> - on hold by registry

      *  <registrarLock> - on hold by registrar

   o  <domainVariance> - contains an entity reference, the referent of
      which MUST be a <domain> (Section 3.2.2).

   o  <delegationReference> - an element containing an entity reference,
      the referent of which MUST be a <domain> (Section 3.2.2).  The
      intention of this element is to point to the downstream delegation
      reference.  Therefore, if this is a result given back by a domain
      registry, it should point to the domain in the domain registrar or
      registrant service.

   o  <registry> - contains an entity reference specifying the domain
      registry operator for this domain which MUST be a
      <registrationAuthority> (Section 3.2.5).

   o  <registrar> - contains an entity reference specifying the domain
      registrar operator for this domain which MUST be a
      <registrationAuthority> (Section 3.2.5).

   o  <initialDelegationDateTime> - an element containing the date and
      time of the initial delegation of this domain.

   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.

   o  <lastDelegationModificationDateTime> - an element containing the
      date and time of the last time one of the nameservers was added or



Newton                   Expires April 23, 2004                [Page 10]

Internet-Draft                 iris-dreg                    October 2003


      removed for the delegation of this domain.

   o  <lastDelegationModificationBy> - an element containing an entity
      reference.  The referent MUST be a <contact> (Section 3.2.4)
      result and be responsible for the last addition or removal of a
      nameserver for this domain.

   o  <lastVerificationDateTime> - an element containing the date and
      time of the last time the data for this domain was verified by the
      responsible registration authority.

   o  <iris:seeAlso> - an element containing an entity reference
      specifying a referent that is indirectly associated with this
      domain.


3.2.3 <host> Result

   The <host> element represents an instance of a host registration.
   The 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> - an element containing an entity reference
      specifying a contact associated with this host.  The referent MUST
      be <contact> (Section 3.2.4) results.

   o  <createdDateTime> - an element containing the date and time this
      host was created.

   o  <lastModificationDateTime> - an element containing the date and
      time this host was last modified.

   o  <iris:seeAlso> - an element containing an entity reference
      specifying a referent that is indirectly associated with this
      host.



Newton                   Expires April 23, 2004                [Page 11]

Internet-Draft                 iris-dreg                    October 2003


3.2.4 <contact> Result

   The <contact> element represents an instance of a contact
   registration.  The children of the <contact> element are as follows:

   o  <contactHandle> - a registry unique assigned identifier for this
      contact.

   o  <commonName> - the name of the contact.

   o  <language> - a specification of the language code to use to
      localize the data in this result.

   o  <organization> - an element containing the organization name of
      the contact.

   o  <eMail> - elements containing an e-mail address for this contact.

   o  <utf8eMail> - elements containing an e-mail address translated
      into UTF-8.

   o  <sip> - elements containing a SIP address for this contact.

   o  <address> - an element containing the street address for this
      contact.

   o  <city> - an element containing the city for this contact.

   o  <region> - an element containing the national region for this
      contact.

   o  <postalCode> - an element containing the postal code for this
      contact.

   o  <country> - an element containing the country for this contact.
      This must be compliant with ISO 3166 [14].

   o  <phone> - elements containing a voice phone number for this
      contact.

   o  <fax> - elements containing a facsimile phone number for this
      contact.

   o  <createdDateTime> - an element containing the date and time this
      contact was created.

   o  <lastModificationDateTime> - an element containing the date and
      time this contact was last modified.



Newton                   Expires April 23, 2004                [Page 12]

Internet-Draft                 iris-dreg                    October 2003


   o  <lastVerificationDateTime> - an element containing the date and
      time this data for this contact was last verified to be correct by
      the appropriate registration authority.

   o  <translatedContacts> - an element containing an entity reference
      specifying equivalents of this contact that have been translated
      into other languages.  The referent MUST be <contact> (Section
      3.2.4) results.

   o  <iris:seeAlso> - an element containing an entity reference
      specifying a referent that is indirectly associated with this
      contact.


3.2.5 <registrationAuthority>

   The <registrationAuthority> result represents an entity capable of
   registering domains.

   The <serviceInstance> child element of <registrationAuthority>
   contains an entity reference pointing to the entity "id" in the
   entity class "service-definition".  The authority areas found in the
   referent MUST be domains and are the domains for which a given
   registration authority has control.

   The <organizationName> child element contains the name of the
   registration authority.

   The registration authority type child elements, <registry>,
   <registrar>, and <other>, determine the role in which this
   registration authority plays in the process of registering domains.
   The intent of this element is to explain the various roles a
   registration authority may have with regards to the authority areas
   pointed to by the <serviceInstance> element.  A client MAY understand
   the relationship of a registration authority with respect to a domain
   by the placement of the reference in the domain (e.g.  <registry> or
   <registrar>).

   The <domain> child elements each contain one domain name signifying
   the domains for which this registration authority may register
   sub-domains.

3.3 Generic Code Derivatives

3.3.1 <searchTooWide>

   Servers MAY use the <searchTooWide> error code when a query capable
   of using one of the elements from the contact search group (Section



Newton                   Expires April 23, 2004                [Page 13]

Internet-Draft                 iris-dreg                    October 2003


   3.1.7) must be narrowed to yield a result set acceptable to the
   policies of the server operator.

3.3.2 <languageNotSupported>

   The queries <findDomainsByRegistrant>, <findDomainsByI18NName>, and
   <findContacts> support optional language tags that allow a client to
   suggest to a server the languages in which to scope the queries.  If
   a client passes to the server a language which the server does not
   support, the server MAY use this error code to indicate that one of
   the languages is not supported.

3.4 Support for <iris:lookupEntity>

   The following types of entity classes are recognized by the
   <lookupEntity> query of IRIS for this registry:

   o  host-name - the fully qualified domain name of a nameserver.
      Yields a <host> (Section 3.2.3) in the response.

   o  host-handle - the registry unique identifier given a nameserver.
      Yields a <host> (Section 3.2.3) in the response.

   o  domain-name - the fully qualified name of a domain.  This a domain
      name as specified by RFC 1035 [12].  Yields a <domain> (Section
      3.2.2) in the response.

   o  idn - the fully qualified name of a domain in nameprep form (see
      RFC 3491 [15]).  Yields a <domain> (Section 3.2.2) in the
      response.

   o  domain-handle - the registry unique identifier given a domain.
      Yields a <domain> (Section 3.2.2) in the response.

   o  contact-handle - the registry unique identifier given a contact.
      Yields a <contact> (Section 3.2.4) in the response.

   o  ipv4-address - the IPv4 address of a nameserver.  Yields a <host>
      (Section 3.2.3) in the response.

   o  ipv6-address - the IPv6 address of a nameserver.  Yields a <host>
      (Section 3.2.3) in the response.

   o  registration-authority - the name of a registration authority.
      Yields a <registrationAuthority> (Section 3.2.5) in the response.

   o  All names in these entity classes are case insensitive.




Newton                   Expires April 23, 2004                [Page 14]

Internet-Draft                 iris-dreg                    October 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                               -->
     <!--                                           -->
     <!-- ========================================= -->

     <!--                                           -->
     <!-- List Registrars                           -->
     <!--                                           -->

     <complexType
       name="listRegistrarsType">
       <complexContent>
         <extension
           base="iris:queryType">
           <sequence>
             <element
               ref="dreg:baseDomain"
               minOccurs="0"
               maxOccurs="1" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>



Newton                   Expires April 23, 2004                [Page 15]

Internet-Draft                 iris-dreg                    October 2003


     <element
       name="listRegistrars"
       type="dreg:listRegistrarsType"
       substitutionGroup="iris:query" />

     <!--                                           -->
     <!-- Find Domains By Contact                   -->
     <!--                                           -->

     <complexType
       name="findDomainsByContactType">
       <complexContent>
         <extension
           base="iris:queryType">
           <sequence>
             <element
               ref="dreg:baseDomain"
               minOccurs="0"
               maxOccurs="1" />
             <choice>
               <group
                 ref="dreg:contactSearchGroup" />
               <element
                 name="contactHandle"
                 type="dreg:exactMatchParameter" />
             </choice>
             <element
               name="role"
               minOccurs="0"
               maxOccurs="1" >
               <simpleType>
                 <restriction
                   base="string" >
                   <enumeration
                     value="registrant" />
                   <enumeration
                     value="billingContact" />
                   <enumeration
                     value="technicalContact" />
                   <enumeration
                     value="administrativeContact" />
                   <enumeration
                     value="legalContact" />
                   <enumeration
                     value="zoneContact" />
                   <enumeration
                     value="abuseContact" />
                   <enumeration



Newton                   Expires April 23, 2004                [Page 16]

Internet-Draft                 iris-dreg                    October 2003


                     value="securityContact" />
                   <enumeration
                     value="otherContact" />
                 </restriction>
               </simpleType>
             </element>
             <element
               name="language"
               type="language"
               minOccurs="0"
               maxOccurs="unbounded"/>
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="findDomainsByContact"
       type="dreg:findDomainsByContactType"
       substitutionGroup="iris:query" />

     <!--                                           -->
     <!-- Find Domains By Name                      -->
     <!--                                           -->

     <complexType
       name="findDomainsByNameType">
       <complexContent>
         <extension
           base="iris:queryType">
           <sequence>
             <element
               ref="dreg:baseDomain"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="namePart"
               type="dreg:partialMatchParameter" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="findDomainsByName"
       type="dreg:findDomainsByNameType"
       substitutionGroup="iris:query" />




Newton                   Expires April 23, 2004                [Page 17]

Internet-Draft                 iris-dreg                    October 2003


     <!--                                           -->
     <!-- Find Domains By Internationalized Name    -->
     <!--                                           -->

     <complexType
       name="findDomainsByIDNType">
       <complexContent>
         <extension
           base="iris:queryType">
           <sequence>
             <element
               ref="dreg:baseDomain"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="namePart"
               type="dreg:exactOrPartialMatchParameter" />
             <element
               name="language"
               type="language"
               minOccurs="0"
               maxOccurs="unbounded"/>
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="findDomainsByIDN"
       type="dreg:findDomainsByIDNType"
       substitutionGroup="iris:query" />

     <!--                                           -->
     <!-- Find Contacts                             -->
     <!--                                           -->

     <complexType
       name="findContactsType">
       <complexContent>
         <extension
           base="iris:queryType">
           <sequence>
             <group
               ref="dreg:contactSearchGroup" />
             <element
               name="language"
               type="language"
               minOccurs="0"



Newton                   Expires April 23, 2004                [Page 18]

Internet-Draft                 iris-dreg                    October 2003


               maxOccurs="unbounded"/>
            </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="findContacts"
       type="dreg:findContactsType"
       substitutionGroup="iris:query" />

     <!--                                           -->
     <!-- Find Domains By Host                      -->
     <!--                                           -->

     <complexType
       name="findDomainsByHostType">
       <complexContent>
         <extension
           base="iris:queryType">
           <sequence>
             <element
               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 April 23, 2004                [Page 19]

Internet-Draft                 iris-dreg                    October 2003


     <!--                                           -->
     <!-- Contact Search Group                      -->
     <!--                                           -->

     <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



Newton                   Expires April 23, 2004                [Page 20]

Internet-Draft                 iris-dreg                    October 2003


           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="1"
           maxOccurs="1" >
           <simpleType>
             <restriction
               base="token">
               <minLength
                 value="1"/>
             </restriction>
           </simpleType>
         </element>
         <element
           name="endsWith"
           minOccurs="0"
           maxOccurs="1" >
           <simpleType>
             <restriction
               base="token">
               <minLength
                 value="1"/>
             </restriction>
           </simpleType>
         </element>
       </sequence>
     </group>



Newton                   Expires April 23, 2004                [Page 21]

Internet-Draft                 iris-dreg                    October 2003


     <group
       name="exactMatchGroup">
       <sequence>
         <element
           name="exactMatch"
           type="normalizedString" />
       </sequence>
     </group>

     <!-- ========================================= -->
     <!--                                           -->
     <!-- Result Types                              -->
     <!--                                           -->
     <!-- ========================================= -->

     <!--                                           -->
     <!-- Domain                                    -->
     <!--                                           -->

     <complexType
       name="domainType">
       <complexContent>
         <extension
           base="iris:resultType">
           <sequence>
             <element
               name="domainName"
               type="token" />
             <element
               name="idn"
               type="token"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="domainHandle"
               type="dreg:normalizedStringPrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="nameServer"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="registrant"
               type="iris:entityType"
               minOccurs="0"



Newton                   Expires April 23, 2004                [Page 22]

Internet-Draft                 iris-dreg                    October 2003


               maxOccurs="1" />
             <element
               name="billingContact"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="technicalContact"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="administrativeContact"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="legalContact"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="zoneContact"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="abuseContact"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="securityContact"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="otherContact"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="lastContactModificationDateTime"
               type="dreg:dateTimePrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element



Newton                   Expires April 23, 2004                [Page 23]

Internet-Draft                 iris-dreg                    October 2003


               name="lastContactModificationBy"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="status"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
   		          <sequence>
   		            <element
   		              name="reservedDelegation"
   		              minOccurs="0"
   		              maxOccurs="1"
   		              type="dreg:domainStatusType" />
   		            <element
   		              name="assignedAndActive"
   		              minOccurs="0"
   		              maxOccurs="1"
   		              type="dreg:domainStatusType" />
   		            <element
   		              name="assignedAndInactive"
   		              minOccurs="0"
   		              maxOccurs="1"
   		              type="dreg:domainStatusType" />
   		            <element
   		              name="assignedAndOnHold"
   		              minOccurs="0"
   		              maxOccurs="1"
   		              type="dreg:domainStatusType" />
   		            <element
   		              name="revoked"
   		              minOccurs="0"
   		              maxOccurs="1"
   		              type="dreg:domainStatusType" />
   		            <element
   		              name="transferPending"
   		              minOccurs="0"
   		              maxOccurs="1"
   		              type="dreg:domainStatusType" />
   		            <element
   		              name="registryLock"
   		              minOccurs="0"
   		              maxOccurs="1"
   		              type="dreg:domainStatusType" />
   		            <element
   		              name="registrarLock"
   		              minOccurs="0"



Newton                   Expires April 23, 2004                [Page 24]

Internet-Draft                 iris-dreg                    October 2003


   		              maxOccurs="1"
   		              type="dreg:domainStatusType" />
   		            <element
   		              name="other"
   		              minOccurs="0"
   		              maxOccurs="1"
   		              type="dreg:domainStatusType" />
   		          </sequence>
               </complexType>
             </element>
             <element
               name="domainVariance"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="delegationReference"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="registry"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="registrar"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="initialDelegationDateTime"
               type="dreg:dateTimePrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastRenewalDateTime"
               type="dreg:dateTimePrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="expirationDateTime"
               type="dreg:dateTimePrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />



Newton                   Expires April 23, 2004                [Page 25]

Internet-Draft                 iris-dreg                    October 2003


             <element
               name="lastDelegationModificationDateTime"
               type="dreg:dateTimePrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastDelegationModificationBy"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastVerificationDateTime"
               type="dreg:dateTimePrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               ref="iris:seeAlso"
               minOccurs="0"
               maxOccurs="unbounded" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="domain"
       type="dreg:domainType"
       substitutionGroup="iris:result" />

     <!--                                           -->
     <!-- Host                                      -->
     <!--                                           -->

     <complexType
       name="hostType">
       <complexContent>
         <extension
           base="iris:resultType">
           <sequence>
             <element
               name="hostHandle"
               type="dreg:normalizedStringPrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element



Newton                   Expires April 23, 2004                [Page 26]

Internet-Draft                 iris-dreg                    October 2003


               name="hostName"
               type="normalizedString" />
             <element
               name="ipV4Addresses"
               minOccurs="0"
               maxOccurs="1" >
               <complexType>
                 <sequence>
                   <element
                     name="ipV4Address"
                     type="token"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="ipV6Addresses"
               minOccurs="0"
               maxOccurs="1">
               <complexType>
                 <sequence>
                   <element
                     name="ipV6Address"
                     type="token"
                     minOccurs="1"
                     maxOccurs="unbounded" />
                 </sequence>
               </complexType>
             </element>
             <element
               name="hostContact"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="createdDateTime"
               type="dreg:dateTimePrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastModificationDateTime"
               type="dreg:dateTimePrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element



Newton                   Expires April 23, 2004                [Page 27]

Internet-Draft                 iris-dreg                    October 2003


               name="lastVerificationDateTime"
               type="dreg:dateTimePrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               ref="iris:seeAlso"
               minOccurs="0"
               maxOccurs="unbounded" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="host"
       type="dreg:hostType"
       substitutionGroup="iris:result" />

     <!--                                           -->
     <!-- Contact                                   -->
     <!--                                           -->

     <complexType
       name="contactType">
       <complexContent>
         <extension
           base="iris:resultType">
           <sequence>
             <element
               name="contactHandle"
               type="normalizedString" />
             <element
               name="commonName"
               type="dreg:normalizedStringPrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1"/>
             <element
               name="language"
               type="language"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="organization"
               type="dreg:normalizedStringPrivacyType"
               nillable="true"
               minOccurs="0"



Newton                   Expires April 23, 2004                [Page 28]

Internet-Draft                 iris-dreg                    October 2003


               maxOccurs="1" />
             <element
               name="eMail"
               type="dreg:stringPrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="utf8eMail"
               type="dreg:stringPrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="sip"
               type="dreg:stringPrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="address"
               type="dreg:stringPrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="city"
               type="dreg:stringPrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="region"
               type="dreg:stringPrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="postalCode"
               type="dreg:normalizedStringPrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="country"
               type="dreg:tokenPrivacyType"
               nillable="true"
               minOccurs="0"



Newton                   Expires April 23, 2004                [Page 29]

Internet-Draft                 iris-dreg                    October 2003


               maxOccurs="1" />
             <element
               name="phone"
               type="dreg:normalizedStringPrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="fax"
               type="dreg:normalizedStringPrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               name="createdDateTime"
               type="dreg:dateTimePrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastModificationDateTime"
               type="dreg:dateTimePrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="lastVerificationDateTime"
               type="dreg:dateTimePrivacyType"
               nillable="true"
               minOccurs="0"
               maxOccurs="1" />
             <element
               name="translatedContact"
               type="iris:entityType"
               minOccurs="0"
               maxOccurs="unbounded" />
             <element
               ref="iris:seeAlso"
               minOccurs="0"
               maxOccurs="unbounded" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="contact"
       type="dreg:contactType"



Newton                   Expires April 23, 2004                [Page 30]

Internet-Draft                 iris-dreg                    October 2003


       substitutionGroup="iris:result" />

     <!--                                           -->
     <!-- Registration Authority                    -->
     <!--                                           -->

     <complexType
       name="registrationAuthorityType">
       <complexContent>
         <extension
           base="iris:resultType">
           <sequence>
             <element
               name="serviceInstance"
               type="iris:entityType" />
             <element
               name="organizationName"
               type="string"
               minOccurs="0"
               maxOccurs="1" />
             <choice
               minOccurs="0"
               maxOccurs="3">
               <element
                 name="registry">
                 <complexType/>
               </element>
               <element
                 name="registrar">
                 <complexType/>
               </element>
               <element
                 name="other">
                 <complexType/>
               </element>
             </choice>
             <element
               name="domain"
               type="token"
               minOccurs="0"
               maxOccurs="unbounded" />
           </sequence>
         </extension>
       </complexContent>
     </complexType>

     <element
       name="registrationAuthority"



Newton                   Expires April 23, 2004                [Page 31]

Internet-Draft                 iris-dreg                    October 2003


       type="dreg:registrationAuthorityType"
       substitutionGroup="iris:result" />

     <!--                                           -->
     <!-- Privacy Label Types                       -->
     <!--                                           -->

     <attributeGroup
       name="privacyLabelAttributeGroup">
       <attribute
         name="private"
         type="boolean" />
       <attribute
         name="denied"
         type="boolean" />
       <attribute
         name="doNotRedistribute"
         type="boolean" />
       <attribute
         name="specialAccess"
         type="boolean" />
     </attributeGroup>

     <complexType
       name="dateTimePrivacyType">
       <simpleContent>
         <extension
           base="dateTime">
           <attributeGroup
             ref="dreg:privacyLabelAttributeGroup" />
         </extension>
       </simpleContent>
     </complexType>

     <complexType
       name="stringPrivacyType">
       <simpleContent>
         <extension
           base="string">
           <attributeGroup
             ref="dreg:privacyLabelAttributeGroup" />
         </extension>
       </simpleContent>
     </complexType>

     <complexType
       name="normalizedStringPrivacyType">
       <simpleContent>



Newton                   Expires April 23, 2004                [Page 32]

Internet-Draft                 iris-dreg                    October 2003


         <extension
           base="normalizedString">
           <attributeGroup
             ref="dreg:privacyLabelAttributeGroup" />
         </extension>
       </simpleContent>
     </complexType>

     <complexType
       name="tokenPrivacyType">
       <simpleContent>
         <extension
           base="token">
           <attributeGroup
             ref="dreg:privacyLabelAttributeGroup" />
         </extension>
       </simpleContent>
     </complexType>

     <complexType
       name="domainStatusType">
       <sequence>
         <element
           name="appliedDate"
           type="dateTime"
           minOccurs="0"
           maxOccurs="1" />
         <element
           name="description"
           minOccurs="0"
           maxOccurs="1">
           <complexType>
   	        <simpleContent>
   	          <extension
   	            base="string">
   	            <attribute
   	              name="language"
   	              type="language"
   	              use="required" />
   	          </extension>
   	        </simpleContent>
           </complexType>
         </element>
       </sequence>
       <attributeGroup
         ref="dreg:privacyLabelAttributeGroup" />
       <attribute
         name="scope"



Newton                   Expires April 23, 2004                [Page 33]

Internet-Draft                 iris-dreg                    October 2003


         type="string" />
     </complexType>

     <!-- ========================================= -->
     <!--                                           -->
     <!-- Error Codes                               -->
     <!--                                           -->
     <!-- ========================================= -->

     <!--                                           -->
     <!-- Search Too Wide                           -->
     <!--                                           -->

     <element
       name="searchTooWide"
       type="iris:codeType"
       substitutionGroup="iris:genericCode" />

     <!--                                           -->
     <!-- Language Not Supported                    -->
     <!--                                           -->

     <element
       name="languageNotSupported"
       type="iris:codeType"
       substitutionGroup="iris:genericCode" />

   </schema>

                           Figure 1: dreg.xsd





















Newton                   Expires April 23, 2004                [Page 34]

Internet-Draft                 iris-dreg                    October 2003


5. BEEP Transport Compliance

   IRIS allows several extensions of the core capabilities.  This
   section outlines those extensions allowable by IRIS-BEEP [6].

5.1 Message Pattern

   This registry type uses the default message pattern as described in
   IRIS-BEEP [6].

5.2 Server Authentication

   This registry type uses the default server authentication method as
   described in IRIS-BEEP [6].





































Newton                   Expires April 23, 2004                [Page 35]

Internet-Draft                 iris-dreg                    October 2003


6. URI Resolution

6.1 Application Service Label

   The application service label associated with this registry type MUST
   be "DREG1".  This is the abbreviated form the URN for this registry
   type, urn:ietf:params:xml:ns:dreg1.

6.2 Bottom-Up Resolution

   The bottom-up alternative resolution method MUST be identified as
   'bottom' in IRIS URI's.

   The process for this resolution method differs from the
   direct-resolution method if the authority is only a domain name (i.e.
   without the port number).  The process for this condition is as
   follows:

   1.  The IRIS [5] direct resolution process is tried on the domain
       name (e.g.  "example.com" ).

   2.  If no records are found, then the left-most component of the
       domain name is removed, and the first step is repeated again
       (e.g.  "com" ).

   3.  If all the components of the domain name are removed and no
       records are found, then the DNS is queried for the A records
       corresponding to the original domain name and the port used is
       the well-known port for the default protocol of IRIS.


6.3 Top-Down Resolution

   The top-down alternative resolution method MUST be identified as
   'top' in IRIS URI's.

   The process for this resolution method differs from the
   direct-resolution method if the authority is only a domain name (i.e.
   without the port number).  The process for this condition is as
   follows:

   1.  The domain name is reduced to its leftmost component.  This is
       always '.'.

   2.  The IRIS [5] direct resolution process is tried on the domain
       name.

   3.  If no records are found, then the original component to the right



Newton                   Expires April 23, 2004                [Page 36]

Internet-Draft                 iris-dreg                    October 2003


       of the left-most component of the domain name is prepended, and
       the second step is repeated again (e.g.  if "." then "com", if
       "com" then "example.com").

   4.  If all the components of the original domain are present and no
       records are found, then the DNS is queried for the A records
       corresponding to the original domain name and the port used is
       the well-known port for the default protocol of IRIS.











































Newton                   Expires April 23, 2004                [Page 37]

Internet-Draft                 iris-dreg                    October 2003


7. Internationalization Considerations

   Implementers should be aware of considerations for
   internationalization in IRIS [5].

   In addition, this document specifies the lookup of domain names, 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 to traverse such data.  Clients should
   use these elements to indicate to the server 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 with the exception of elements containing
   date and time information.  The schema for this registry has been
   designed so that clients need not interpret the content of elements
   or attributes for localization, other than those elements containing
   date and time information.

   Clients should also make use of the <language> elements provided in
   many of the results.  Results containing data that may be in Unicode
   are accompanied by these elements in order to aid better presentation
   of the data to the user.
























Newton                   Expires April 23, 2004                [Page 38]

Internet-Draft                 iris-dreg                    October 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]:

      DREG1







































Newton                   Expires April 23, 2004                [Page 39]

Internet-Draft                 iris-dreg                    October 2003


9. Security Considerations

   This document lays out no new considerations for security precautions
   beyond that specified in IRIS [5].















































Newton                   Expires April 23, 2004                [Page 40]

Internet-Draft                 iris-dreg                    October 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>.

   [2]   World Wide Web Consortium, "Namespaces in XML", W3C XML
         Namespaces, January 1999, <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/>.

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

   [5]   Newton, A., "Internet Registry Information Service",
         draft-ietf-crisp-iris-core-01 (work in progress), November
         2002.

   [6]   Newton, A., "Internet Registry Information Service (IRIS) over
         Blocks Extensible Exchange Protocol (BEEP)",
         draft-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 Requirement



Newton                   Expires April 23, 2004                [Page 41]

Internet-Draft                 iris-dreg                    October 2003


         Levels", RFC 2119, BCP 14, March 1997.

   [14]  International Organization for Standardization, "Codes for the
         representation of names of countries, 3rd edition", ISO
         Standard 3166, August 1988.

   [15]  Hoffman, P. and M. Blanchet, "Nameprep: A Stringprep Profile
         for Internationalized Domain Names (IDN)", RFC 3491, March
         2003.


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                   Expires April 23, 2004                [Page 42]

Internet-Draft                 iris-dreg                    October 2003


Appendix A. Example Requests and Responses

   The examples in this section use the string "C:" to denote data sent
   by a client to a server and the string "S:" to denote data sent by a
   server to a client.

A.1 Example 1

   The following is an example of an entity lookup in a dreg1 registry
   for the contact-handle of 'mak21'.  The response shows the ability to
   specify data as being withheld because it is private.

   C: <?xml version="1.0"?>
   C: <request xmlns="urn:ietf:params:xml:ns:iris1"
   C:   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   C:   xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd" >
   C:
   C:   <searchSet>
   C:
   C:     <lookupEntity
   C:       registryType="urn:ietf:params:xml:ns:dreg1"
   C:       entityClass="contact-handle"
   C:       entityName="mak21" />
   C:
   C:   </searchSet>
   C:
   C: </request>

   S: <?xml version="1.0"?>
   S: <iris:response xmlns:iris="urn:ietf:params:xml:ns:iris1"
   S:   xmlns="urn:ietf:params:xml:ns:dreg1"
   S:   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   S:   xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd
   S:     urn:ietf:params:xml:ns:dreg1 dreg.xsd" >
   S:
   S:   <iris:resultSet>
   S:     <iris:answer>
   S:
   S:       <contact
   S:         authority="com" registryType="dreg1"
   S:         entityClass="contact-handle" entityName="mak21" >
   S:
   S:         <contactHandle>mak21</contactHandle>
   S:
   S:         <commonName>
   S:           Mark Kosters
   S:         </commonName>
   S:



Newton                   Expires April 23, 2004                [Page 43]

Internet-Draft                 iris-dreg                    October 2003


   S:         <organization>
   S:           VeriSign, Inc.
   S:         </organization>
   S:
   S:         <eMail>markk@verisignlabs.com</eMail>
   S:
   S:         <phone private="true" xsi:nil="true" />
   S:
   S:       </contact>
   S:
   S:     </iris:answer>
   S:   </iris:resultSet>
   S:
   S: </iris:response>

                          Figure 2: Example 1


A.2 Example 2

   The following is an example of a domain search based on a
   registrant's name beginning with the string 'The Cobbler Shoppe'.
   This example also shows the use of bags.

   C: <?xml version="1.0"?>
   C: <request xmlns="urn:ietf:params:xml:ns:iris1"
   C:          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   C:          xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd" >
   C:
   C:   <searchSet>
   C:     <bag>
   C:        AAAAB3NzaC1yc2EAAAABIwAAAIEA0ddD+W3Agl0Lel98G1r77fZ
   C:        c3nBl8CHdkmKuVGUy/ijmvdO5QxuSlU0R4BoCLZk/Sob22RApTn
   C:        T+ROMbXFQBrxGH08daAOy98WqpfAutWJri61JLpubIbaqhGyB48
   C:        Qt69V6OhYfFsJjvoNEOh1k2dgzXhSlzP3OMVSKRlBzGcO8=
   C:     </bag>
   C:     <dreg:findDomainsByContact
   C:       xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
   C:       xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd" >
   C:       <dreg:baseDomain>com</dreg:baseDomain>
   C:       <dreg:commonName>
   C:         <dreg:beginsWith>
   C:           The Cobbler Shoppe
   C:         </dreg:beginsWith>
   C:       </dreg:commonName>
   C:       <dreg:role>registrant</dreg:role>
   C:     </dreg:findDomainsByContact>
   C:   </searchSet>



Newton                   Expires April 23, 2004                [Page 44]

Internet-Draft                 iris-dreg                    October 2003


   C:
   C: </request>

   S: <?xml version="1.0"?>
   S: <response xmlns="urn:ietf:params:xml:ns:iris1"
   S:           xmlns:iris="urn:ietf:params:xml:ns:iris1"
   S:           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   S:           xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd" >
   S:
   S:   <resultSet>
   S:     <answer>
   S:       <dreg:domain
   S:         xmlns="urn:ietf:params:xml:ns:dreg1"
   S:         xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
   S:         xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd"
   S:         authority="com" registryType="dreg1"
   S:         entityClass="domain-handle" entityName="tcs-com-1" >
   S:         <domainName>thecobblershoppe.com</domainName>
   S:         <nameServer
   S:           iris:referentType="dreg:host"
   S:           authority="com" registryType="dreg1"
   S:           entityClass="host-handle" entityName="research7" />
   S:         <nameServer
   S:           iris:referentType="dreg:host"
   S:           authority="com" registryType="dreg1"
   S:           entityClass="host-handle" entityName="nsol184" />
   S:         <registrant
   S:           iris:referentType="dreg:contact"
   S:           authority="com" registryType="dreg1"
   S:           entityClass="contact-handle" entityName="beb140">
   S:           <iris:displayName language="en">
   S:             Bill Eckels
   S:           </iris:displayName>
   S:         </registrant>
   S:         <technicalContact
   S:           bagRef="x1"
   S:           iris:referentType="dreg:contact"
   S:           authority="com" registryType="dreg1"
   S:           entityClass="contact-handle" entityName="mak21">
   S:           <iris:displayName language="en">
   S:             Mark Kosters
   S:           </iris:displayName>
   S:         </technicalContact>
   S:         <status>
   S:           <assignedAndActive denied="true" />
   S:         </status>
   S:         <iris:seeAlso
   S:           iris:referentType="ANY"



Newton                   Expires April 23, 2004                [Page 45]

Internet-Draft                 iris-dreg                    October 2003


   S:           authority="com" registryType="dreg1"
   S:           entityClass="service-definition" entityName="notice" />
   S:       </dreg:domain>
   S:     </answer>
   S:     <additional>
   S:       <dreg:contact
   S:         xmlns="urn:ietf:params:xml:ns:dreg1"
   S:         xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
   S:         xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd"
   S:         authority="com" registryType="dreg1"
   S:         entityClass="contact-handle" entityName="beb140" >
   S:         <contactHandle>beb140</contactHandle>
   S:         <commonName>
   S:           Bill Eckels
   S:         </commonName>
   S:         <organization>
   S:           The Cobbler Shoppe
   S:         </organization>
   S:         <eMail private="true" xsi:nil="true" />
   S:         <address>
   S:           21 North Main Street
   S:         </address>
   S:         <city>
   S:           Britt
   S:         </city>
   S:         <region>
   S:           IA
   S:         </region>
   S:         <postalCode>
   S:           50423
   S:         </postalCode>
   S:         <country>
   S:           US
   S:         </country>
   S:         <phone>
   S:           515-843-3521
   S:         </phone>
   S:       </dreg:contact>
   S:       <simpleEntity
   S:         authority="com" registryType="dreg1"
   S:         entityClass="service-definition" entityName="notice" >
   S:         <property name="legal" language="en">
   S:           It is illegal to use information from this service
   S:           for the purposes of sending unsolicited bulk email.
   S:         </property>
   S:       </simpleEntity>
   S:     </additional>
   S:   </resultSet>



Newton                   Expires April 23, 2004                [Page 46]

Internet-Draft                 iris-dreg                    October 2003


   S:   <bags>
   S:     <bag id="x1">
   S:        AAAAB3NzaC1yc2EAAAABIwAAAIEA0ddD+W3Agl0Lel98G1r77fZ
   S:        c3nBl8CHdkmKuVGUy/ijmvdO5QxuSlU0R4BoCLZk/Sob22RApTn
   S:        T+ROMbXFQBrxGH08daAOy98WqpfAutWJri61JLpubIbaqhGyB48
   S:        Qt69V6OhYfFsJjvoNEOh1k2dgzXhSlzP3OMVSKRlBzGcO8=
   S:     </bag>
   S:   </bags>
   S:
   S: </response>

                          Figure 3: Example 2







































Newton                   Expires April 23, 2004                [Page 47]

Internet-Draft                 iris-dreg                    October 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:iris1 iris.xsd
       urn:ietf:params:xml:ns:dreg1 dreg.xsd" >

     <dreg:domain
       xmlns="urn:ietf:params:xml:ns:dreg1"
       authority="com" registryType="dreg1"
       entityClass="domain-handle" entityName="tcs-com-1" >
       <domainName>thecobblershoppe.com</domainName>
       <nameServer
         iris:referentType="dreg:host"
         authority="" registryType="dreg1"
         entityClass="host-handle" entityName="research7" />
       <nameServer
         iris:referentType="dreg:host"
         authority="" registryType="dreg1"
         entityClass="host-handle" entityName="nsol184" />
       <registrant
         iris:referentType="dreg:contact"
         authority="net" registryType="dreg1"
         entityClass="contact-handle" entityName="beb140" />
       <technicalContact
         iris:referentType="dreg:contact"
         authority="net" registryType="dreg1"
         entityClass="contact-handle"
         entityName="mak21" >
         <iris:displayName language="en">
           Mark Kosters
         </iris:displayName>
       </technicalContact>
     </dreg:domain>

     <dreg:host
       xmlns="urn:ietf:params:xml:ns:dreg1"
       authority="com" registryType="dreg1"
       entityClass="host-handle" entityName="nsol184" >
       <hostHandle>nsol184</hostHandle>



Newton                   Expires April 23, 2004                [Page 48]

Internet-Draft                 iris-dreg                    October 2003


       <hostName>ns1.netsol.com</hostName>
       <ipV4Addresses>
         <ipV4Address>216.168.224.200</ipV4Address>
       </ipV4Addresses>
       <hostContact
         iris:referentType="dreg:contact"
         authority="com" registryType="dreg1"
         entityClass="contact-handle"
         entityName="dblacka" >
         <iris:displayName language="en">
           David Blacka
         </iris:displayName>
       </hostContact>
     </dreg:host>

     <iris:searchContinuation
       authority="com" registryType="dreg1"
       entityClass="contact-handle" entityName="dblacka" >
       <iris:authority> net </iris:authority>

       <dreg:listRegistrars>
         <dreg:baseDomain>com</dreg:baseDomain>
       </dreg:listRegistrars>

     </iris:searchContinuation>

     <iris:serializedNamedQuery
       registryType="dreg1" entityClass="named-query"
       entityName="my-servers" >
       <iris:resultSet>
         <iris:answer>

           <iris:entity
             iris:referentType="dreg:host"
             authority="" registryType="dreg1"
             entityClass="host-handle" entityName="nsol184" />

           <iris:entity
             iris:referentType="dreg:host"
             authority="" registryType="dreg1"
             entityClass="host-handle" entityName="research7" />

           <iris:entity
             iris:referentType="dreg:host"
             authority="" registryType="dreg1"
             entityClass="host-handle" entityName="scooter" />

         </iris:answer>



Newton                   Expires April 23, 2004                [Page 49]

Internet-Draft                 iris-dreg                    October 2003


       </iris:resultSet>
     </iris:serializedNamedQuery>

   </iris:serialization>


                    Figure 4: dreg-serialization.xml












































Newton                   Expires April 23, 2004                [Page 50]

Internet-Draft                 iris-dreg                    October 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 April 23, 2004                [Page 51]

Internet-Draft                 iris-dreg                    October 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 (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 or 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 April 23, 2004                [Page 52]

Internet-Draft                 iris-dreg                    October 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                   Expires April 23, 2004                [Page 53]