[regext] AD Review: draft-ietf-regext-change-poll-09

Adam Roach <adam@nostrum.com> Fri, 19 October 2018 22:54 UTC

Return-Path: <adam@nostrum.com>
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 4A367130DD4; Fri, 19 Oct 2018 15:54:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.88
X-Spam-Level:
X-Spam-Status: No, score=-1.88 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=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 O-xaRNVP3E15; Fri, 19 Oct 2018 15:54:12 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 23F2012D4F2; Fri, 19 Oct 2018 15:54:09 -0700 (PDT)
Received: from Svantevit.local (99-152-146-228.lightspeed.dllstx.sbcglobal.net [99.152.146.228]) (authenticated bits=0) by nostrum.com (8.15.2/8.15.2) with ESMTPSA id w9JMs7ab024536 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Fri, 19 Oct 2018 17:54:08 -0500 (CDT) (envelope-from adam@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host 99-152-146-228.lightspeed.dllstx.sbcglobal.net [99.152.146.228] claimed to be Svantevit.local
To: draft-ietf-regext-change-poll@ietf.org, "regext@ietf.org" <regext@ietf.org>
From: Adam Roach <adam@nostrum.com>
Message-ID: <04b3c99f-10db-d5af-f499-82544edc2ee6@nostrum.com>
Date: Fri, 19 Oct 2018 17:54:02 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.2.1
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/QkK7yfcFt1DjMwg7QiCNTjHYoCg>
Subject: [regext] AD Review: draft-ietf-regext-change-poll-09
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: Fri, 19 Oct 2018 22:54:14 -0000

This is my AD review for draft-ietf-regext-change-poll-09.  I have a 
handful of
comments below that I'd like to see addressed prior to asking the IESG to
consider the document. Please treat them as you would any other last-call
comments.

There is also one blocking comment that needs to be resolved prior to 
IETF last
call.

Thanks to everyone who worked on this document.

/a


---------------------------------------------------------------------------

This is a blocking comment, although it may stem from a misunderstanding 
on my
part.

Page 13:

 >  Example poll <info> response with the <changePoll:changeData>
 >  extension for a "delete" operation on the domain.example domain name
 >  that is immediately purged, with the default "after" state. The
 >  "after" state is reflected in the <resData> block

The example then shows a "delete" operation with an "op" of "purge".

I'm having a hard time squaring this with the following text in §2.2:

 >  For operations in Section 2.1 that don't have an "after" state, the
 >  server MUST use the "before" state poll message.  For example, for
 >  the "delete" operation with the "op" attribute set to "purge", or the
 >  "autoPurge" operation, the server includes the state of the object
 >  prior to being purged in the "before" state poll message.

This seems to be an issue with the example on page 14 as well, which 
shows an
"autoPurge" operation using the (default) state of "after".

Have I misunderstood the normative language in §2.2, or are these examples
showing prohibited behavior?

---------------------------------------------------------------------------

The remaining comments below are non-blocking.

---------------------------------------------------------------------------

General:

My understanding is that EPP is a request/response protocol. The examples in
this document show only responses. It would be ideal if at least one of them
showed the <poll> request sent by the client to trigger these responses.

---------------------------------------------------------------------------

Abstract:

 >  extension for notifying clients of operations on client sponsored

Nit: "...client-sponsored..."

 >  Suspension (URS) actions, court directed actions, and bulk updates

Nit: "...court-directed..."

---------------------------------------------------------------------------

§1.1:

 >  "changePoll-1.0" is used as an abbreviation for
 >  "urn:ietf:params:xml:ns:changePoll-1.0".

This abbreviation does not appear to be used anywhere. I suggest 
removing this
sentence.

---------------------------------------------------------------------------

§2.1:

 >  An operation consists of any transform operation that impacts objects
 >  that the client sponsers and SHOULD be notified of.

This seems an awkward use of normative language. I believe the document 
means
"should" rather than "SHOULD" in this sentence.

---------------------------------------------------------------------------

§2.1:

 >  The OPTIONAL
 >  "op" attribute is an identifier, represented in the 7-bit US-ASCII
 >  character set, that is used to define a sub-operation or the name of
 >  a "custom" operation.

Please add a normative reference to RFC 20 for "7-bit US-ASCII."

---------------------------------------------------------------------------

§2.1:

 >  "custom":  Custom operation that MUST set the "op" attribute with the
 >      custom operation name.

I presume these custom operations are a matter of local policy decided
bilaterally between the two parties? If so, please add text clarifying 
this --
otherwise, we might need to worry about issues like operation name 
collisions
and IANA registration.

---------------------------------------------------------------------------

§3.1.2:

 >  This extension adds operation detail of EPP object mapping operations
 >  Section 2.1 to an EPP poll response, as described in [RFC5730], that
 >  is an extension of the EPP object mapping info response.

I'm having a hard time parsing this sentence. I'd make a concrete 
suggestion,
but I literally can't figure out its meaning. As it appears to be trying to
say two different things (what something *does* and what something *is*), I
suspect it would benefit from being broken up into two sentences for 
clarity.

---------------------------------------------------------------------------

§3.1.2:

 >  Any
 >  transform operation to an object defined in an EPP object mapping, by
 >  a client other than the sponsoring client, MAY...

Nit: "...EPP object mapping by a client other than the sponsoring client 
MAY..."
(remove commas)

---------------------------------------------------------------------------


§3.1.2:

 >      an OPTIONAL "lang" attribute MAY be
 >      present to identify the language if the negotiated value is
 >      something other than the default value of "en" (English).

This implies that the "lang" attribute must not appear if the language 
is "en".
That's probably not what was intended.

---------------------------------------------------------------------------

Page 15:

 >  S:        <host:addr ip="v6">1080:0:0:0:8:800:200C:417A</host:addr>

Please use an address from the IPv6 space set aside for documentation 
purposes
by RFC 3849 (i.e., one from the 2001:db8::/32 block).