Re: [regext] Benjamin Kaduk's No Objection on draft-ietf-regext-org-11: (with COMMENT)

"Linlin Zhou" <zhoulinlin@cnnic.cn> Wed, 24 October 2018 09:08 UTC

Return-Path: <zhoulinlin@cnnic.cn>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A44ED130E70; Wed, 24 Oct 2018 02:08:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.879
X-Spam-Level:
X-Spam-Status: No, score=-1.879 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_FILL_THIS_FORM_SHORT=0.01, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=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 3WWxDqdBQdFV; Wed, 24 Oct 2018 02:08:19 -0700 (PDT)
Received: from cnnic.cn (smtp13.cnnic.cn [218.241.118.13]) by ietfa.amsl.com (Postfix) with ESMTP id AB116130E82; Wed, 24 Oct 2018 02:08:13 -0700 (PDT)
Received: from zll (unknown [218.241.111.73]) by ocmail02.zx.nicx.cn (Coremail) with SMTP id AQAAf0BJUPByNtBbgyoCAA--.2691S2; Wed, 24 Oct 2018 17:08:02 +0800 (CST)
Date: Wed, 24 Oct 2018 17:09:07 +0800
From: Linlin Zhou <zhoulinlin@cnnic.cn>
To: Benjamin Kaduk <kaduk@mit.edu>, iesg <iesg@ietf.org>
Cc: regext-chairs <regext-chairs@ietf.org>, Pieter Vandepitte <pieter.vandepitte@dnsbelgium.be>, draft-ietf-regext-org <draft-ietf-regext-org@ietf.org>, regext <regext@ietf.org>
References: <154031632201.31224.16179830116962438183.idtracker@ietfa.amsl.com>
X-Priority: 3
X-Has-Attach: no
X-Mailer: Foxmail 7, 2, 5, 136[cn]
Mime-Version: 1.0
Message-ID: <20181024170906096260177@cnnic.cn>
Content-Type: multipart/alternative; boundary="----=_001_NextPart281120365315_=----"
X-CM-TRANSID: AQAAf0BJUPByNtBbgyoCAA--.2691S2
X-Coremail-Antispam: 1UD129KBjvAXoW3tr4UCw13XFW7Ww4rZryUAwb_yoW8JrW5Go WfZw4qyw48tr1rCF4DGF9rGryDWay09r1rJr1jqrWDG3WIqFWUCw1Uu3Wjga43AF4F93Zx J348Jw4rAFWDtFn3n29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3 AaLaJ3UjIYCTnIWjp_UUUOA7k0a2IF6w4kM7kC6x804xWl14x267AKxVWUJVW8JwAFc2x0 x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj4 1l84x0c7CEw4AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26ryj6F1UM28EF7xvwVC0 I7IYx2IY6xkF7I0E14v26F4j6r4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwV C2z280aVCY1x0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40En4AK xVAvwIkv4cxYr24l5I8CrVCF0I0E4I0vr24l5I8CrVC2j2CEjI02ccxYII8I67AEr4CY67 k08wAv7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCj c4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JM4xvF2IEb7IF0Fy264kE64k0F24lFcxC0VAYjx AxZF0Ex2IqxwCjr7xvwVCIw2I0I7xG6c02F41lc2xSY4AK67AK6r4fMxAIw28IcxkI7VAK I48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_JrI_JrWlx2IqxVCjr7 xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY6xII jxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw2 0EY4v20xvaj40_WFyUJVCq3wCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF 7I0E14v26r4j6r4UJwCE64xvF2IEb7IF0Fy7YxBIdaVFxhVjvjDU0xZFpf9x07bwMa5UUU UU=
X-CM-SenderInfo: p2kr3zplqox0w6fq0xffof0/
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/5p-8uGSNLKC0N-1wyWQkLJlTYrM>
Subject: Re: [regext] Benjamin Kaduk's No Objection on draft-ietf-regext-org-11: (with COMMENT)
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Registration Protocols Extensions <regext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/regext>, <mailto:regext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext/>
List-Post: <mailto:regext@ietf.org>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/regext>, <mailto:regext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Oct 2018 09:08:25 -0000

Dear Benjamin,
Thanks for your review. Please find my feedbacks below with [Linlin].

Regards,
Linlin


Linlin Zhou
 
From: Benjamin Kaduk
Date: 2018-10-24 01:38
To: The IESG
CC: regext-chairs; pieter.vandepitte; draft-ietf-regext-org; regext
Subject: [regext] Benjamin Kaduk's No Objection on draft-ietf-regext-org-11: (with COMMENT)
Benjamin Kaduk has entered the following ballot position for
draft-ietf-regext-org-11: No Objection
 
When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)
 
 
Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.
 
 
The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-regext-org/
 
 
 
----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------
 
Some of the element descriptions (e.g., <org:postalInfo>) appear to be
duplicated in several places and are also rather long in prose form.  Is
there value in attempting to consolidate the structural definition to a
single place in the document and just refer to that structure from the
places where it can appear?
[Linlin] This document borrowed the text structure from RFC5731, RFC5732 and RFC5733 of EPP. I think the intension of having some duplicated descriptions is for users' easy reading. When seeing the examples, they do not have to scroll up and down to find the elements definitions. Some descriptions are a little different, although <org:postalInfo> elements appear to be duplicated. Such as, "One or more <org:status> elements" in <info> response and  "Zero or more <org:status> elements" in <create> command. Of course putting all the elements definitions in a section is a concise way for the document structure.
 
 
Section 1
 
   There are many entities, such as registrars, resellers, DNS service
   operators, or privacy proxies involved in the domain registration
   business.  These kind of entities have not been formally defined as
   an object in EPP which will be specified as "organization" in this
   document.
 
nit: run-on sentence.  I suggest:
   These kind of entities have not been formally defined as having
   an object in EPP. This document provides a way to specify them as
   "organization" entities.
[Linlin] OK.
 
Section 2
 
   The XML namespace prefix "org" is used, but implementations MUST NOT
   depend on it and instead employ a proper namespace-aware XML parser
   and serializer to interpret and output the XML documents.
 
I suggest mentioning more explicitly that "org" is used in the examples as
shorthand for the full namespace "urn:ietf:params:xml:ns:epp:org-1.0";
draft-ietf-regext-allocation-token would be a fine example to look at.
[Linlin] Yes. "The XML namespace prefix "org" is used for the namespace "urn:ietf:params:xml:ns:epp:org-1.0".
 
Section 3.4
 
   Status values that can be added or removed by a client are prefixed
   with "client".  Corresponding status values that can be added or
   removed by a server are prefixed with "server".  The "hold" and
   "terminated" status values are server-managed when the organization
   has no parent identifier [Section 3.6] and otherwise MAY be client-
   managed based on server policy.
 
The list/descriptions that follows shows several that don't start with
"client"/"server", including some not mentioned here.  Are we supposed to
assume that these "unprefixed" values are also server-managed?
[Linlin] Yes, other status values that do not begin with either "client" or "server" are server-managed. I'll add this setence to clarify.
 
   o  ok: This is the normal status value for an object that has no
      pending operations or prohibitions.  This value is set and removed
      by the server as other status values are added or removed.
 
I guess this is intended to be parsed as "(pending operations) or
(prohibitions)", but could also be parsed as "pending (operations or
prohibitions)".  Perhaps "operations pending or active prohibitions" is
less prone to misreading.
[Linlin] OK.
 
In general, the sort of "all combinations are permitted, except for these
restrictions" approach taken here can lead to some non-sensical
combinations, if insufficient care is taken by the document authors.  I did
not attempt to validate all possible combinations, but do note that (e.g.)
we make statements about "linked" in combination with "ok" and
"client/serverLinkProhibited", but not about "linked" in combination with
"terminated" or several other status values.  The first of those cases
serves as a limitation on "ok", and the second would seem to be intended to
clarify that an apparent conflict of status is permissible, and so it may
well be okay to leave as the default ("everything goes") for other
combinations, but I hope that the WG has done a careful analysis here.
It may also be useful to list what considerations were used in this
analysis, in case there is ever a need to add a new status value (in which
case the analyses would need to be performed anew for the added value(s)).
[Linlin] The combination statuses of "ok", "linked" and "client/serverlinkProhibited" are allowed in the first example. But "The organization which has been terminated MUST NOT be linked." which is mentioned in the "terminated" definition. So the server will provide service to update the "linked" status for those terminated organizations.
We listed the conflicted combinations of the statuses. Other status combinations not expressly prohibited may be used.
 
Section 3.4
 
(Same comment as above re "pending operations or prohibitions")
[Linlin] I think you mean the "ok" definition in section 3.5. This will be modified as "operations pending or active prohibitions" as well.
 
Section 3.6
 
   Take a reseller organization, for example, the parent identifier is
   not defined for the top level reseller, namely the registrar of the
   registry.  [...]
 
nit: this also looks like a run-on sentence; I'd suggest something like
"The case of reseller organizations provides an example.  The parent
identifier is not defined [...]"
[Linlin] OK. "The case of reseller organizations provides an example. The parent identifier is not defined for the top level reseller, namely the registrar of the registry"
 
   Loops MUST be prohibited.  For example: if organization A has B as
   its parent identifier, organization B should not have organization A
   as its parent identifier.  The same is true for larger loops
   involving three or more organizations.
 
I'd suggest s/should not/cannot/
[Linlin] Yes.
 
Section 4.1.1
 
   In addition to the standard EPP command elements, the <check> command
   MUST contain an <org:check> element.  This element or its ancestor
   element MUST identify the organization namespace.  [...]
 
"the organization namespace" is perhaps ambiguous; am I correct in
inferring that this refers to the full "urn:ietf:params:xml:ns:epp:org-1.0"
namespace value as assigned to the "org" short name?  (I'll refrain from
repeating this comment every time it applies.)
[Linlin] Yes, I'll add the full namespace. 
"This element or its ancestor element MUST identify the organization namespace "urn:ietf:params:xml:ns:epp-1.0"."
 
Section 4.1.2
 
The <org:addr> restrictions seem somewhat contrived/artificially
restricted; for example, there are postal addresses in the US with no
associated city.  Whether an organization would want to use such an address
as its contact location is another question, but I don't have a clear model
of what sort of constraints are intended to be applied by this element.
[Linlin] Sorry that I am not familiar with the US address. If no city is available, how about municipal or county information?
This <postalInfo> element have the same structure with the <postalInfo> defined in RFC5733. This is an existing XML schema in the running EPP system. Domain registries and registrars have already implemented it. Acturally this is an optional info here. You can have no <postalInfo>, one <postalInfo> or two <postalInfo> elements.
 
Section 4.2.1
 
Just to check my understanding, the <org:creData> contains only a short
list of fields because the server is required to either respect the various
<org:role>, <org:postalInfo>, etc. in the <org:create> request or to return
an error?  That is, the client would not need to immediately perform an
<info> query to confirm the status of the organization object at the
server.
[Linlin] The result codes which are defined in RFC5730 will return in the response. Client do not need to perform <info> immediately. If the command has been processed successfully, client will recieve "1000". If fails, client may recieve such as  "2001" means "Command syntax error" to give a hint.
 
Section 4.2.2
 
Is there value in an example of the 2305-error response?
[Linlin] I think the example of 2305 error would like follows,
S:<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> 
S: <response> 
S: <result code="2305"> 
S: <msg lang="en">Object association prohibits operation</msg> 
S: </result> 
S: <trID> 
S: <clTRID>ABC-12345</clTRID> 
S: <svTRID>54321-XYZ</svTRID> 
S: </trID> 
S: </response> 
S:</epp>
 
This example is much the similar with the existing one except for the "code" and "msg".

Section 4.2.5
 
The elements in <org:add>/<org:rem> vs. <org:chg> seem to be disjoint sets;
what factors went into deciding to split them this way?
[Linlin] From my understanding, <org:add>/<org:rem> are used for the one-multiple relations. And <org:chg> is used for the one-one replacement.
 
Section 4.3
 
             The status of the corresponding object MUST clearly reflect
   processing of the pending action.  [...]
 
It's not entirely clear how this sentence is to be interpreted.  From
context, I assume that the intent is that <info> queries and similar must
report that the appropriate pendingFoo status values, but a literal reading
would seem to have this sentence be a requirement that the server change
what it reports for the object status, once the action is actually taken.
(Which is also something desired, but arguably already required by other
text.)
 [Linlin] The "transform command" is mentioned in the previous text. So the status means "status in the response", no need to perform the <info> query. So how about changin like "The status in the response of the corresponding object...".

   The status of the organization object after returning this response
   MUST include "pendingCreate".  The server operator reviews the
   request offline, and informs the client of the outcome of the review
   either by queuing a service message for retrieval via the <poll>
   command or by using an out-of-band mechanism to inform the client of
   the request.
 
I don't think the "either" is appropriate; the earlier text *requires* the
service message, and allows for additional optional notification
mechanisms.
 [Linlin] This <poll>mechanism is supported in section 2.9.2.3 of RFC5730. So this is a easy and convinient way to inform the clients.

(side question: what's the mnemonic for "pan" in "panData"?  "pending
action"?  Ah, the full schema suggests "pending action notification".
Also, why is the top-level a "pan" prefix but the children just "pa"?)
[Linlin] This section was adopted from RFC5731. 
I think "pan" is used to tell clients the following messages are "pending action notification". But for a particular element, this is just a "pending action" tag, not the notification message.
 
Section 7.3.1
 
   Registrant Name: For Standards Track RFCs, state "IESG".  For others,
   give the name of the responsible party.
 
Just to clarify, is the intended behavior for non-standards-track
IETF-stream RFCs that the registrant is one of the RFC authors?  I could
see a case that "IESG" would work for all IETF-stream documents, not just
standards-track ones.
[Linlin] OK.
 
   Registrant Contact Information: an email address, postal address, or
   some other information to be used to contact the registrant.
 
Perhaps a side note, but postal address in particular has come up
frequently in GDPR discussions, with the question of whether it is either
needed or useful.
 [Linlin] This element can be "zero" if you do not like to provide.
Section 9
 
This document is pretty boring from the security perspective (to be clear:
that is a good thing!).  The only thing that came to mind is that in one of
the examples, we show the client asking for <org:id>s of res1523, re1523,
and just 1523.  Only "re1523" was in use, indicating that the other two
would be free for new allcations.  In some contexts this kind of "very
similar looking" identifier can be problematic, especially when a human is
called upon to verify or compare the value(s).  From what I understand of
EPP usage, that doesn't seem likely to be a concern here, but I mention it
in case my understanding is incorrect or incomplete.
[Linlin] Thank you.
 
 
_______________________________________________
regext mailing list
regext@ietf.org
https://www.ietf.org/mailman/listinfo/regext