draft-ietf-regext-org-ext-02.txt   draft-ietf-regext-org-ext-03.txt 
Internet Engineering Task Force L. Zhou Internet Engineering Task Force L. Zhou
Internet-Draft N. Kong Internet-Draft N. Kong
Intended status: Standards Track J. Wei Intended status: Standards Track J. Wei
Expires: September 1, 2018 X. Lee Expires: October 29, 2018 X. Lee
CNNIC CNNIC
J. Gould J. Gould
VeriSign, Inc. VeriSign, Inc.
February 28, 2018 April 27, 2018
Organization Extension for the Extensible Provisioning Protocol (EPP) Organization Extension for the Extensible Provisioning Protocol (EPP)
draft-ietf-regext-org-ext-02 draft-ietf-regext-org-ext-03
Abstract Abstract
This mapping, an extension to EPP object mappings like the EPP domain This mapping, an extension to EPP object mappings like the EPP domain
name mapping [RFC5731], to support assigning an organization to any name mapping [RFC5731], to support assigning an organization to any
existing object (domain, host, contact) as well as any future existing object (domain, host, contact) as well as any future
objects. objects.
Status of This Memo Status of This Memo
skipping to change at page 1, line 37 skipping to change at page 1, line 37
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 1, 2018. This Internet-Draft will expire on October 29, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 4, line 49 skipping to change at page 4, line 49
[RFC5731], host mapping [RFC5732] and contact mapping [RFC5733]. [RFC5731], host mapping [RFC5732] and contact mapping [RFC5733].
4.1.2. EPP <info> Command 4.1.2. EPP <info> Command
This extension does not add any element to the EPP <info> command This extension does not add any element to the EPP <info> command
described in the EPP domain mapping [RFC5731], host mapping [RFC5732] described in the EPP domain mapping [RFC5731], host mapping [RFC5732]
and contact mapping [RFC5733]. However, additional elements are and contact mapping [RFC5733]. However, additional elements are
defined for the <info> response in the EPP domain mapping [RFC5731], defined for the <info> response in the EPP domain mapping [RFC5731],
host mapping [RFC5732] and contact mapping [RFC5733]. host mapping [RFC5732] and contact mapping [RFC5733].
Example <info> command:
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
C: <command>
C: <info>
C: <domain:info
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
C: <domain:name>example.com</domain:name>
C: <domain:authInfo>
C: <domain:pw>fooBAR</domain:pw>
C: </domain:authInfo>
C: </domain:info>
C: </info>
C: <clTRID>ngcl-mIFICBNP</clTRID>
C: </command>
C:</epp>
When an <info> command has been processed successfully, the EPP When an <info> command has been processed successfully, the EPP
<resData> element MUST contain child elements as described in the EPP <resData> element MUST contain child elements as described in the EPP
object extensions. In addition, the EPP <extension> element SHOULD object extensions. In addition, the EPP <extension> element SHOULD
contain a child <orgext:infData> element that identifies the contain a child <orgext:infData> element that identifies the
extension namespace if the object has data associated with this extension namespace if the object has data associated with this
extension and based on its server policy. The <orgext:infData> extension and based on server policy. The <orgext:infData> element
element contains the following child elements: contains the following child elements:
o One or more <orgext:id> elements are allowed that contains the o Zero or more <orgext:id> elements are allowed that contains the
identifier of the organization. An attribute "role" associated identifier of the organization. The "role" attribute is used to
with <orgext:id> is used to represent the relationship an represent the relationship that the organization has to the
organization would have. See Section 7.3 in object. See Section 7.3 in [ID.draft-ietf-regext-org] for a list
[ID.draft-ietf-regext-org] for a list of values. of values.
Example <info> response for an authorized client with multiple Example <info> response for an authorized client with multiple
organizations: organizations:
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
S: <response> S: <response>
S: <result code="1000"> S: <result code="1000">
S: <msg lang="en-US">Command completed successfully</msg> S: <msg lang="en-US">Command completed successfully</msg>
S: </result> S: </result>
skipping to change at page 8, line 28 skipping to change at page 8, line 28
The EPP <create> command provides a transform operation that allows a The EPP <create> command provides a transform operation that allows a
client to create an object. In addition to the EPP command elements client to create an object. In addition to the EPP command elements
described in the EPP object extensions, the command MUST contain an described in the EPP object extensions, the command MUST contain an
<extension> element, and the <extension> element MUST contain a child <extension> element, and the <extension> element MUST contain a child
<orgext:create> element that identifies the extension namespace if <orgext:create> element that identifies the extension namespace if
the client wants to associate data defined in this extension to the the client wants to associate data defined in this extension to the
object. The <orgext:create> element contains the following child object. The <orgext:create> element contains the following child
elements: elements:
o A <orgext:id> element that contains the identifier of the o One or more <orgext:id> element that contains the identifier of
organization. An attribute "role" associated with <orgext:id> is the organization. The "role" attribute is used to represent the
used to represent the relationship an organization would have. relationship that the organization has to the object. See
See Section 7.3 in [ID.draft-ietf-regext-org] for a list of Section 7.3 in [ID.draft-ietf-regext-org] for a list of values.
values.
Example <create> Command with only one organization: Example <create> Command with only one organization:
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
C: <command> C: <command>
C: <create> C: <create>
C: <domain:create C: <domain:create
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
C: <domain:name>example.com</domain:name> C: <domain:name>example.com</domain:name>
C: <domain:period unit="y">3</domain:period> C: <domain:period unit="y">3</domain:period>
C: <domain:ns> C: <domain:ns>
C: <domain:hostObj>ns1.example.com</domain:hostObj> C: <domain:hostObj>ns1.example.com</domain:hostObj>
C: </domain:ns> C: </domain:ns>
C: <domain:registrant>jd1234</domain:registrant> C: <domain:registrant>jd1234</domain:registrant>
C: <domain:contact type="tech">sh8013</domain:contact> C: <domain:contact type="tech">sh8013</domain:contact>
C: <domain:contact type="billing">sh8013</domain:contact> C: <domain:contact type="billing">sh8013</domain:contact>
C: <domain:contact type="admin">sh8013</domain:contact> C: <domain:contact type="admin">sh8013</domain:contact>
C: <domain:authInfo> C: <domain:authInfo>
C: <domain:pw roid="ddddd-dddd">fooBAR</domain:pw> C: <domain:pw>fooBAR</domain:pw>
C: </domain:authInfo> C: </domain:authInfo>
C: </domain:create> C: </domain:create>
C: </create> C: </create>
C: <extension> C: <extension>
C: <orgext:create C: <orgext:create
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0">
C: <orgext:id role="reseller">myreseller</orgext:id> C: <orgext:id role="reseller">myreseller</orgext:id>
C: </orgext:create> C: </orgext:create>
C: </extension> C: </extension>
C: <clTRID>ABC-12345</clTRID> C: <clTRID>ABC-12345</clTRID>
skipping to change at page 10, line 21 skipping to change at page 10, line 21
C: <domain:name>example.com</domain:name> C: <domain:name>example.com</domain:name>
C: <domain:period unit="y">3</domain:period> C: <domain:period unit="y">3</domain:period>
C: <domain:ns> C: <domain:ns>
C: <domain:hostObj>ns1.example.com</domain:hostObj> C: <domain:hostObj>ns1.example.com</domain:hostObj>
C: </domain:ns> C: </domain:ns>
C: <domain:registrant>jd1234</domain:registrant> C: <domain:registrant>jd1234</domain:registrant>
C: <domain:contact type="tech">sh8013</domain:contact> C: <domain:contact type="tech">sh8013</domain:contact>
C: <domain:contact type="billing">sh8013</domain:contact> C: <domain:contact type="billing">sh8013</domain:contact>
C: <domain:contact type="admin">sh8013</domain:contact> C: <domain:contact type="admin">sh8013</domain:contact>
C: <domain:authInfo> C: <domain:authInfo>
C: <domain:pw roid="ddddd-dddd">fooBAR</domain:pw> C: <domain:pw>fooBAR</domain:pw>
C: </domain:authInfo> C: </domain:authInfo>
C: </domain:create> C: </domain:create>
C: </create> C: </create>
C: <extension> C: <extension>
C: <orgext:create C: <orgext:create
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0">
C: <orgext:id role="reseller">myreseller</orgext:id> C: <orgext:id role="reseller">myreseller</orgext:id>
C: <orgext:id role="privacyproxy">myproxy</orgext:id> C: <orgext:id role="privacyproxy">myproxy</orgext:id>
C: </orgext:create> C: </orgext:create>
C: </extension> C: </extension>
skipping to change at page 11, line 22 skipping to change at page 11, line 22
on the organization roles and server policy. on the organization roles and server policy.
4.2.5. EPP <update> Command 4.2.5. EPP <update> Command
This extension defines additional elements for the EPP <update> This extension defines additional elements for the EPP <update>
command described in the EPP domain mapping [RFC5731], host mapping command described in the EPP domain mapping [RFC5731], host mapping
[RFC5732] and contact mapping [RFC5733]. No additional elements are [RFC5732] and contact mapping [RFC5733]. No additional elements are
defined for the EPP <update> response. defined for the EPP <update> response.
The EPP <update> command provides a transform operation that allows a The EPP <update> command provides a transform operation that allows a
client to modify the attributes of a domain object. In addition to client to modify the attribute of an object. In addition to the EPP
the EPP command elements described in the EPP domain mapping, the <update> command elements, the command MUST contain an <extension>
command MUST contain an <extension> element, and the <extension> element, and the <extension> element MUST contain a child
element MUST contain a child <orgext:update> element that identifies <orgext:update> element that identifies the extension namespace if
the extension namespace if the client wants to update the domain the client wants to update the object with data defined in this
object with data defined in this extension. The <orgext:update> extension. The <orgext:update> element contains the following child
element contains the following child elements: elements:
o An OPTIONAL <orgext:add> element that contains attribute values to o An OPTIONAL <orgext:add> element that contains attribute values to
be added to the object. be added to the object.
o An OPTIONAL <orgext:rem> element that contains attribute values to o An OPTIONAL <orgext:rem> element that contains attribute values to
be removed from the object. be removed from the object.
o An OPTIONAL <orgext:chg> element that contains attribute values to o An OPTIONAL <orgext:chg> element that contains attribute values to
be changed. be changed.
At least one and only one <orgext:add>, <orgext:rem> or <orgext:rem> At least one and only one <orgext:add>, <orgext:rem> or <orgext:chg>
element MUST be provided. The <orgext:add>, <orgext:rem> and element MUST be provided. The <orgext:add>, <orgext:rem> and
<orgext:rem> elements contain the following child element: <orgext:chg> elements contain the following child element:
o A <orgext:id> element that contains the identifier of the o One or more <orgext:id> element that contains the identifier of
organization. An attribute "role" associated with <orgext:id> is the organization. The "role" attribute is used to represent the
used to represent the relationship an organization would have. relationship that the organization has to the object. See
See Section 7.3 in [ID.draft-ietf-regext-org] for a list of Section 7.3 in [ID.draft-ietf-regext-org] for a list of values.
values.
Example <update> command, adding a reseller: Example <update> command, adding a reseller:
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
C: <command> C: <command>
C: <update> C: <update>
C: <domain:update C: <domain:update
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
C: <domain:name>example.com</domain:name> C: <domain:name>example.com</domain:name>
skipping to change at page 13, line 5 skipping to change at page 13, line 5
C: <orgext:id role="privacyproxy">myproxy</orgext:id> C: <orgext:id role="privacyproxy">myproxy</orgext:id>
C: </orgext:add> C: </orgext:add>
C: </orgext:update> C: </orgext:update>
C: </extension> C: </extension>
C: <clTRID>ABC-12345</clTRID> C: <clTRID>ABC-12345</clTRID>
C: </command> C: </command>
C:</epp> C:</epp>
Example <update> command, domain with no organization: Example <update> command, domain with no organization:
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
C: <command> <command>
C: <update> <update>
C: <domain:update <domain:update
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
C: <domain:name>example.com</domain:name> <domain:name>example.com</domain:name>
C: </domain:update> </domain:update>
C: </update> </update>
C: <extension> <extension>
C: <orgext:update <orgext:update
C: xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0"> xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0">
C: <orgext:add> <orgext:add/>
C: <orgext:id role="reseller">myreseller</orgext:id> </orgext:update>
C: <orgext:id role="privacyproxy">myproxy</orgext:id> </extension>
C: </orgext:add> <clTRID>ABC-12345</clTRID>
C: </orgext:update> </command>
C: </extension> </epp>
C: <clTRID>ABC-12345</clTRID>
C: </command>
C:</epp> C:</epp>
Example <update> command, removing a reseller: Example <update> command, removing a reseller:
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
C: <command> C: <command>
C: <update> C: <update>
C: <domain:update C: <domain:update
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
skipping to change at page 17, line 5 skipping to change at page 17, line 5
</complexType> </complexType>
<!-- <!--
Child elements of <orgext:update> command Child elements of <orgext:update> command
--> -->
<complexType name="updateType"> <complexType name="updateType">
<sequence> <sequence>
<element <element
name="add" name="add"
type="orgext:addRemChgType" type="orgext:addRemChgType"
minOccurs="0"/> />
<element <element
name="rem" name="rem"
type="orgext:addRemChgType" type="orgext:addRemChgType"
minOccurs="0"/> />
<element <element
name="chg" name="chg"
type="orgext:addRemChgType" type="orgext:addRemChgType"
minOccurs="0"/> />
</sequence> </sequence>
</complexType> </complexType>
<complexType name="addRemChgType"> <complexType name="addRemChgType">
<sequence> <sequence>
<!-- agent identifier the organization, <!-- agent identifier the organization,
e.g. registrar, reseller, privacy proxy, etc. --> e.g. registrar, reseller, privacy proxy, etc. -->
<element <element
name="id" name="id"
type="orgext:orgIdType" type="orgext:orgIdType"
minOccurs="0"
maxOccurs="unbounded"/> maxOccurs="unbounded"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- Child response element --> <!-- Child response element -->
<element <element
name="infData" name="infData"
type="orgext:infDataType"/> type="orgext:infDataType"/>
<!-- <orgext:infData> response elements --> <!-- <orgext:infData> response elements -->
skipping to change at page 18, line 49 skipping to change at page 18, line 49
The EPP extension described in this document should be registered by The EPP extension described in this document should be registered by
the IANA in the EPP Extension Registry described in [RFC7451]. The the IANA in the EPP Extension Registry described in [RFC7451]. The
details of the registration are as follows: details of the registration are as follows:
Name of Extension: Organization Extension Name of Extension: Organization Extension
Document status: Standards Track Document status: Standards Track
Reference: (insert reference to RFC version of this document) Reference: (insert reference to RFC version of this document)
Registrant Name and Email Address: See the "Author's Address" section Registrant Name and Email Address: IESG
of this document.
TLDs: any TLDs: any
IPR Disclosure: none IPR Disclosure: none
Status: active Status: active
Notes: none Notes: none
8. Implementation Status 8. Implementation Status
skipping to change at page 19, line 33 skipping to change at page 19, line 33
be, a catalog of available implementations or their features. be, a catalog of available implementations or their features.
Readers are advised to note that other implementations may exist. Readers are advised to note that other implementations may exist.
According to [RFC6982], "this will allow reviewers and working groups According to [RFC6982], "this will allow reviewers and working groups
to assign due consideration to documents that have the benefit of to assign due consideration to documents that have the benefit of
running code, which may serve as evidence of valuable experimentation running code, which may serve as evidence of valuable experimentation
and feedback that have made the implemented protocols more mature. and feedback that have made the implemented protocols more mature.
It is up to the individual working groups to use this information as It is up to the individual working groups to use this information as
they see fit". they see fit".
CNNIC is in the process of development research to update VeriSign has already implemented this extension. CNNIC and Net::DRI
organization extension from reseller extension. Verisign is also (Patrick Mevzek) are in the process of development research to update
planning to implement this extension. organization extension from reseller extension. Dns Belgium is
planning to implement it after the publication of this document.
8.1. CNNIC Implementation 8.1. CNNIC Implementation
Organization: CNNIC Organization: CNNIC
Name: Organization Extension for EPP Name: Organization Extension for EPP
Description: CNNIC is trying to update organization extension from Description: CNNIC is trying to update organization extension from
previous reseller extension according to this document. previous reseller extension according to this document.
Level of maturity: Research. Level of maturity: Research.
Coverage: Organization extension for EPP. Coverage: Organization extension for EPP.
Contact: zhouguiqing@cnnic.cn Contact: zhouguiqing@cnnic.cn
8.2. Reseller Extension 8.2. Reseller Extension
This document was updated from draft-ietf-regext-reseller-ext. This document was updated from draft-ietf-regext-reseller-ext.
CNNIC, Verisign and Net::DRI (Patrick Mevzek) have already CNNIC, VeriSign and Net::DRI (Patrick Mevzek) have already
implemented this extension. implemented this extension.
9. Security Considerations 9. Security Considerations
The object mapping extension described in this document does not The object mapping extension described in this document does not
provide any other security services or introduce any additional provide any other security services or introduce any additional
considerations beyond those described by [RFC5730], [RFC5731], considerations beyond those described by [RFC5730], [RFC5731],
[RFC5732] and [RFC5733] or those caused by the protocol layers used [RFC5732] and [RFC5733] or those caused by the protocol layers used
by EPP. by EPP.
skipping to change at page 23, line 5 skipping to change at page 23, line 5
extension should support only a name or ID and name. extension should support only a name or ID and name.
Organization WG document-00: Change to a generic organization object Organization WG document-00: Change to a generic organization object
extension. extension.
Organization WG document-01: Added "Implementation Status" section. Organization WG document-01: Added "Implementation Status" section.
Organization WG document-02: Accepted some of the feedbacks on the Organization WG document-02: Accepted some of the feedbacks on the
mailing list. Modified the examples in the document. mailing list. Modified the examples in the document.
Organization WG document-03:
* Updated typos.
* Changed some descriptions about <orgext:id> and role attribute.
* Modified the example of "domain with no organization".
* Updated section 8, adding implementation status of VeriSign.
Authors' Addresses Authors' Addresses
Linlin Zhou Linlin Zhou
CNNIC CNNIC
4 South 4th Street, Zhongguancun, Haidian District 4 South 4th Street, Zhongguancun, Haidian District
Beijing, Beijing 100190 Beijing, Beijing 100190
China China
Phone: +86 10 5881 2677 Phone: +86 10 5881 2677
Email: zhoulinlin@cnnic.cn Email: zhoulinlin@cnnic.cn
 End of changes. 23 change blocks. 
80 lines changed or deleted 67 lines changed or added

This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/