Re: [eppext] I-D Action: draft-zhou-eppext-reseller-00.txt

"Gould, James" <JGould@verisign.com> Mon, 18 May 2015 13:07 UTC

Return-Path: <JGould@verisign.com>
X-Original-To: eppext@ietfa.amsl.com
Delivered-To: eppext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7FB141A00CD for <eppext@ietfa.amsl.com>; Mon, 18 May 2015 06:07:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.301
X-Spam-Level: *
X-Spam-Status: No, score=1.301 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HTML_MESSAGE=0.001, J_CHICKENPOX_57=0.6, J_CHICKENPOX_84=0.6, RCVD_IN_DNSWL_LOW=-0.7] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N7bgKVEv4qHq for <eppext@ietfa.amsl.com>; Mon, 18 May 2015 06:07:42 -0700 (PDT)
Received: from mail-qg0-f100.google.com (mail-qg0-f100.google.com [209.85.192.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ADB211A004C for <eppext@ietf.org>; Mon, 18 May 2015 06:07:40 -0700 (PDT)
Received: by qgdq107 with SMTP id q107so3807363qgd.1 for <eppext@ietf.org>; Mon, 18 May 2015 06:07:39 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:thread-topic:thread-index :date:message-id:references:in-reply-to:accept-language :content-language:content-type:mime-version; bh=Le/L6A9zhtbiv19IHtCYBwAmc+85uKGL4gRD1t62Bw8=; b=fbvTI5CVfwkeezZrUf+ODH6ca18cHgeDoe1Yz/6gbCjBqFrrvnepfEETanXQAMS/dj CRqvwXt1H2gv9HE1r4iHNSnEAZVeh4HORdr58XwezgbQs5M4kkMe8URl+iSE8GbyvDD1 0RNiazlu3jpWF2z8gOT34xlyvW2WaqiiyeKY8NR+3q8QDhMOhJTmlHSDsoeMtjYuBAgw ObNWAuje1/HH/V81fY6FkGuXW0sgkGk0tADAgDgjQGdbxF7eK+OjGIqivUV9aLjjLiWR +oEkK31vRoMNeS34X38Wy4lfG7EUVTFvVlTkLk5GY2iOFE4cW8I/q2L8UYOOrZEWzLa1 lYyw==
X-Gm-Message-State: ALoCoQlu3rolLCktoaccXtYzdXevUSOINurkriwlz2b93l+0GESNa5+c92mb/hFqojIT/yZi2np1+CoRG8sOXk/J8V11XGji6g==
X-Received: by 10.55.17.89 with SMTP id b86mr21022276qkh.6.1431954459382; Mon, 18 May 2015 06:07:39 -0700 (PDT)
Received: from brn1lxmailout02.verisign.com (brn1lxmailout02.verisign.com. [72.13.63.42]) by mx.google.com with ESMTPS id y7sm2580849qci.3.2015.05.18.06.07.38 (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 18 May 2015 06:07:39 -0700 (PDT)
X-Relaying-Domain: verisign.com
Received: from brn1wnexcas01.vcorp.ad.vrsn.com (brn1wnexcas01 [10.173.152.205]) by brn1lxmailout02.verisign.com (8.13.8/8.13.8) with ESMTP id t4ID7XFH026137 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Mon, 18 May 2015 09:07:36 -0400
Received: from BRN1WNEXMBX01.vcorp.ad.vrsn.com ([::1]) by brn1wnexcas01.vcorp.ad.vrsn.com ([::1]) with mapi id 14.03.0174.001; Mon, 18 May 2015 09:07:33 -0400
From: "Gould, James" <JGould@verisign.com>
To: Linlin Zhou <zhoulinlin@cnnic.cn>
Thread-Topic: [eppext] I-D Action: draft-zhou-eppext-reseller-00.txt
Thread-Index: AQHQkWuaDooPCdHfakyq77b/3EpUOQ==
Date: Mon, 18 May 2015 13:07:33 +0000
Message-ID: <E6882177-8A94-4105-826A-EC4AE0F8F266@verisign.com>
References: <20150504162934440371144@cnnic.cn> <,> <20150517001433.GA26237@home.patoche.org> <2015051812000406846958@cnnic.cn>
In-Reply-To: <2015051812000406846958@cnnic.cn>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [10.173.152.4]
Content-Type: multipart/related; boundary="_004_E68821778A944105826AEC4AE0F8F266verisigncom_"; type="multipart/alternative"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/eppext/7GbasZtjLXBIEmBJDC0-d8zTYss>
Cc: Patrick Mevzek <pm@dotandco.com>, "eppext@ietf.org" <eppext@ietf.org>
Subject: Re: [eppext] I-D Action: draft-zhou-eppext-reseller-00.txt
X-BeenThere: eppext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: EPPEXT <eppext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/eppext>, <mailto:eppext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/eppext/>
List-Post: <mailto:eppext@ietf.org>
List-Help: <mailto:eppext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/eppext>, <mailto:eppext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 18 May 2015 13:07:46 -0000

My feedback to the feedback is below.



—


JG


[cid:77031CC3-BE7A-4188-A95F-D23115A30A4D@vcorp.ad.vrsn.com]

James Gould
Distinguished Engineer
jgould@Verisign.com

703-948-3271
12061 Bluemont Way
Reston, VA 20190

VerisignInc.com<http://VerisignInc.com>

On May 18, 2015, at 12:00 AM, Linlin Zhou <zhoulinlin@cnnic.cn<mailto:zhoulinlin@cnnic.cn>> wrote:

Hi Patrick,
Thanks for your review. Please see my feedback below.

Regards,
Linlin

> -----原始邮件-----
> 发件人: "Patrick Mevzek" <pm@dotandco.com<mailto:pm@dotandco.com>>
> 发送时间: 2015-05-17 08:14:33 (星期日)
> 收件人: eppext@ietf.org<mailto:eppext@ietf.org>
> 抄送:
> 主题: Re: [eppext] Fw: I-D Action: draft-zhou-eppext-reseller-00.txt
>
> Hello Linlin, Ning, Chao, Xiaodong, and James,
>
> Linlin Zhou <zhoulinlin@cnnic.cn<mailto:zhoulinlin@cnnic.cn>> 2015-05-04 10:28
> > A New Internet-Draft is available from the on-line Internet-Drafts directories.
> >
> >
> > Title : Registry Reseller Extension for the Extensible Provisioning Protocol (EPP)
> > Authors : Linlin Zhou
> > Ning Kong
> > Chao Qi
> > Xiaodong Lee
> > James Gould
> > Filename : draft-zhou-eppext-reseller-00.txt
> > Pages : 16
> > Date : 2015-05-04
>
> I'm implementing it in my opensource EPP client, and I have the
> following comments/questions:
>
> - the resName node is of type "string", without any lower limit of
> length, I believe it would make sense to mandate at least one
> character…
>
Agree. A minLength attibute will be added.


I would match the resellerext:resName element of draft-zhou-eppext-reseller with the reseller:name element of draft-zhou-eppext-reseller-mapping, which is of type contact:postalLineType.  Within draft-zhou-eppext-reseller  I would directly define the resName type in the schema in place of creating a dependency to the contact mapping.  For example:

…

      <element name="resName" type=“resellerext:resNameType"/>


...


  <simpleType name=“resNameType">
     <restriction base="normalizedString">
       <minLength value="1"/>
       <maxLength value="255"/>
     </restriction>
  </simpleType>



> - since create and update operations are extended for all 3 kind of
> core EPP objects (domain, host, contact), there should be some more
> explanations on what happens when a domain name is created with
> reseller X, where in-bailiwick hosts of this domain are created with
> reseller Y and contacts used for the domain were created with reseller
> Z. Does that make any sense? Does the registry want to permit this
> case?
>
I think this issue depends on registry policy. In many registries, this scenario is allowed.


Yes, this depends on registry policy, but in general the objects are independently managed (domain from client X can reference a host or contact from client Y).  Child hosts are typically only managed by the sponsoring client of the parent domain, but I would not attempt to try to define any policies around object relationships within the extension.


> - there should be some explanations on what happens for a domain name
> with a reseller that get transfered to another registrar (where
> obvisouly the given previous reseller would not exist). Will the
> reseller info be automatically removed after the transfer finishes?
>
If a domain is transfered to a new registrar, the registrar or reseller will do a domian update operation to update the corresponding reseller information.


I agree that some clarifying text would be helpful here.  Even though the reseller object is managed as a first class object via draft-zhou-eppext-reseller-mapping, the reseller is tightly coupled with the sponsoring client (registrar).  Change of the sponsoring client via a successful transfer (directly for an object like domain or indirectly for an object like host) should impact the reseller setting as well.  This could be added to section 4.2.4 "EPP <transfer> Command”, where “This extension does not add any elements to the EPP <transfer> command or <transfer> response described in the [RFC5730], but after a successful transfer of an object with an assigned reseller, the server SHOULD clear the assigned reseller value.”

We could update draft-zhou-eppext-reseller to be more object agnostic similar to the text in draft-gould-change-poll “This mapping, an extension to EPP object mappings like the EPP domain name mapping [RFC5731]”, to support assigning a reseller to any existing object (domain, host, contact) as well as any future objects.


> - I'm not sure to understand completely the update case.
> In short, in my understanding, I would expect that there would be a
> sentence stating that "only one add, or rem or chg element is
> permitted", so that there are not mix of add/rem/chg, because in that
> later case it would be difficult to understand what happens.
> Also in that case there should be explanations on what happens when
> the registrar does an add where the domain already has a reseller (for
> me that should be rejected, because a registrar should do a chg in
> that case), and what happens for a del where the domain has no
> reseller (this could be handled as a noop), and what happens for a chg
> where there is no reseller for now (this should be rejected)
>
Yes, this should be "only one" element, I'll make it explicitely.
The three examples you mentioned should be rejected. Error codes defined in RFC5730 should be included in the response.


This could be simplified by just supporting a <resellerext:update> element that takes the <resellerext:resID> element along with the optional <resellerext:resName> element to set or replace the existing value and with the support for an empty <resellerext:update> element to clear or remove the reseller as in <resellerext:update xmlns:resellerext=“urn:ietf:params:xml:ns:resellerext-1.0”/>.  The semantics of add and remove really don’t apply if there is a one to one relationship between the provisioning object and the reseller.


> For the chg case, there should be a clear explanation on what happens
> if we have a resID+resName currently but the chg element contains only
> the resID… will the resName be removed automatically? This should be
> more specified, as it is similar to that postalAddress problem in core
> EPP.
Yes, it is similar to the postalAddress problem. I think this is also a registry policy issue. For example, many registries do not allow to updat ID only. You must update ID and at least a name.
I'd like to see more feedbacks from WG. If this problem indeed makes others confused, I'll try to add some text next version.

There actually may be little need for the <resellerext:resName> element for the extension to create and update in draft-zhou-eppext-reseller, since the <reseller:resID> references a <reseller:id> in draft-zhou-eppext-reseller-mapping.  The reseller object defined by the <resellerext:resID> should already exist, and the management of the name (along with other attributes) should be handled by draft-zhou-eppext-reseller-mapping.  The reseller name can be returned in the extension to the info response of draft-zhou-eppext-reseller as a convenience.

>
> --
> Patrick Mevzek
>
> _______________________________________________
> EppExt mailing list
> EppExt@ietf.org<mailto:EppExt@ietf.org>
> https://www.ietf.org/mailman/listinfo/eppext
_______________________________________________
EppExt mailing list
EppExt@ietf.org<mailto:EppExt@ietf.org>
https://www.ietf.org/mailman/listinfo/eppext