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

Benjamin Kaduk <kaduk@mit.edu> Mon, 29 October 2018 17:18 UTC

Return-Path: <kaduk@mit.edu>
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 E8B4713103A; Mon, 29 Oct 2018 10:18:31 -0700 (PDT)
X-Quarantine-ID: <GlqvVcX8bVYs>
X-Virus-Scanned: amavisd-new at amsl.com
X-Amavis-Alert: BAD HEADER SECTION, Non-encoded 8-bit data (char 9C hex): Received: ...s kaduk@ATHENA.MIT.EDU)\n\t\234by outgoing.mit[...]
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] 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 GlqvVcX8bVYs; Mon, 29 Oct 2018 10:18:29 -0700 (PDT)
Received: from dmz-mailsec-scanner-4.mit.edu (dmz-mailsec-scanner-4.mit.edu [18.9.25.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0F770131023; Mon, 29 Oct 2018 10:18:28 -0700 (PDT)
X-AuditID: 1209190f-be7ff70000005fb8-b8-5bd740e23dac
Received: from mailhub-auth-4.mit.edu ( [18.7.62.39]) (using TLS with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by dmz-mailsec-scanner-4.mit.edu (Symantec Messaging Gateway) with SMTP id 05.F6.24504.3E047DB5; Mon, 29 Oct 2018 13:18:27 -0400 (EDT)
Received: from outgoing.mit.edu (OUTGOING-AUTH-1.MIT.EDU [18.9.28.11]) by mailhub-auth-4.mit.edu (8.14.7/8.9.2) with ESMTP id w9THIMZg027802; Mon, 29 Oct 2018 13:18:23 -0400
Received: from kduck.kaduk.org (24-107-191-124.dhcp.stls.mo.charter.com [24.107.191.124]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) �by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id w9THIHlq019493 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 29 Oct 2018 13:18:19 -0400
Date: Mon, 29 Oct 2018 12:18:17 -0500
From: Benjamin Kaduk <kaduk@mit.edu>
To: Linlin Zhou <zhoulinlin@cnnic.cn>
Cc: regext-chairs <regext-chairs@ietf.org>, Pieter Vandepitte <pieter.vandepitte@dnsbelgium.be>, iesg <iesg@ietf.org>, regext <regext@ietf.org>, draft-ietf-regext-org <draft-ietf-regext-org@ietf.org>
Message-ID: <20181029171816.GK45914@kduck.kaduk.org>
References: <154031632201.31224.16179830116962438183.idtracker@ietfa.amsl.com> <20181024170906096260177@cnnic.cn> <20181024183408.GV45914@kduck.kaduk.org> <2018102909552109096040@cnnic.cn>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <2018102909552109096040@cnnic.cn>
User-Agent: Mutt/1.9.1 (2017-09-22)
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupjleLIzCtJLcpLzFFi42IRYrdT133scD3aYNovA4sLlzqZLGb8mchs 8XfvLGaLl11PmS2uTjjCaPHr40tGBzaPTdckPb5POs/usWTJT6YA5igum5TUnMyy1CJ9uwSu jM2HZzMXrHGqeL7yNlMD4xaTLkZODgkBE4njM6+zgdhCAmuYJKYt8+pi5AKyNzJKvDs9nw3C ucsksaDrIJDDwcEioCqxrROsgU1ARaKh+zIziC0CFP5+aj4jSD2zwCNGiecr9oDVCwukSixZ nQ9Swwu07OO/aUwQMw8xSnRPucQGkRCUODnzCQuIzSygJXHj30smkF5mAWmJ5f84QMKcAnoS e/ffZwKxRQWUJfb2HWKfwCgwC0n3LCTdsxC6FzAyr2KUTcmt0s1NzMwpTk3WLU5OzMtLLdI1 0cvNLNFLTSndxAgKak5J/h2Mcxq8DzEKcDAq8fBq6FyPFmJNLCuuzD3EKMnBpCTKa24EFOJL yk+pzEgszogvKs1JLQb6g4NZSYT3vQFQjjclsbIqtSgfJiXNwaIkzjuhZXG0kEB6Yklqdmpq QWoRTFaGg0NJgvelPVCjYFFqempFWmZOCUKaiYMTZDgP0HA2kBre4oLE3OLMdIj8KUZdjhsH /k9nFmLJy89LlRLnXQ1SJABSlFGaBzcHlIwksvfXvGIUB3pLmPcJSBUPMJHBTXoFtIQJaMli oSsgS0oSEVJSDYxOZR9s9vaGyh8/NZdN0i3pCot6v/2N/JMv9zUx294r+L5wm+zNJ/8+6E9Y zLdovqY0y6K6peEHZvWfW7VAa03J8x0nP66Yd2Plcr2sPpMGZvXtm0/ObVR6qjd5jvnPEv2q kGzXbSsaRRmq3hh/Vslfe7Pi4+Hay/JTSqKkc/ms95a8L03KnimqxFKckWioxVxUnAgAvVR1 eyEDAAA=
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/ihtNv6x4LHL1F818WHCKOyxMDuI>
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: Mon, 29 Oct 2018 17:18:32 -0000

On Mon, Oct 29, 2018 at 09:55:22AM +0800, Linlin Zhou wrote:
> Dear Benjamin,
> Please see my feedbacks below. I've removed the clarified items.
> 
> Regards,
> Linlin
> 
> 
> Linlin Zhou
>  
> From: Benjamin Kaduk
> Date: 2018-10-25 02:34
> To: Linlin Zhou
> CC: iesg; regext-chairs; Pieter Vandepitte; draft-ietf-regext-org; regext
> Subject: Re: [regext] Benjamin Kaduk's No Objection on draft-ietf-regext-org-11: (with COMMENT)
> 
> > ----------------------------------------------------------------------
> > 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.
>  
> It sounds like it is not worth making this change for this document, then.
> Thanks for the background explanation!
> [Linlin] On one hand, the duplicated elements are needed to address the server policy differences to make it easier for implementors. And on the other hand, it is consistent with the other EPP RFCs (RFC 5731 - 5733).
> 
> >  
> > 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?
>  
> The type of place I'm thinking of would usually be referred to as
> "unincorporated DeKalb County" or occasionally "unincorporated Chicago"
> with some associated municipal or city information.  (As something of a
> side note, I currently reside in Saint Louis city, which is not part of any
> county; there is a distinct Saint Louis County that covers the surrounding
> areas.  Addresses can be hard; just like (personal) names!)
> [Linlin] Thanks for your information. Learnt a lot.
>  
> > 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.
>  
> I definitely do not want to suggest diverging the definition of
> <postalInfo> from RFC5733, so please treat this entire conversation as a
> side note with no actions to take.
> [Linlin] Ok. Thank you.
>  
> > 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".
>  
> This is true, which suggests that there is not much value in having the
> additional example.  Thank you for showing me what it would look like,
> though.
> [Linlin] OK.
>  
> > 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...".
>  
> I think that's an improvement, thanks.  (There might be further
> improvements possible, but we probably don't need to look for them.)
> [Linlin] Yes, thank you.
>  
> >    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.
>  
> I'm saying that the choice for the server is not "do X or do Y", it's: "do
> X, then either do Y or don't do Y".  The word "either" here implies that it
> is sometimes acceptable to not do X (where X is the queuing of the service
> message).
> [Linlin] In my understanding, I think the text means do X or do Y. You can have two choices to inform the result by <poll> of EPP command or by out-of-band actions. The following <poll> response is an example using <poll> mechanism. Of course you can also send an email to to contact of the organization.
> The text is consistent with EPP RFCs. Maybe we can ask the author to confirm:)
> 

Perhaps I am misreading, but I see this text in Section 4.2 that says that
the server MUST always send a service message to notify the client:

                                                                   Once
   the action has been completed, the client MUST be notified using a
   service message that the action has been completed and that the
   status of the object has changed.  Other notification methods MAY be
   used in addition to the required service message.

The text here in Section 4.3 says:

   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.

which would allow either the service message, or an out-of-band mechanism,
or both mechanisms used together.

My issue with the document is that the document is internally inconsistent
-- in Section 4.2 it says "always do X", but Section 4.3 contradicts that
by saying "you could do X, or you could not do X and do Y instead".  An
implementor has to pick whether to believe Section 4.2 or Section 4.3, and
we should not force them to make such a choice.

-Benjamin