[regext] AD Review: draft-ietf-regext-org-ext-07

Adam Roach <adam@nostrum.com> Fri, 27 July 2018 23:04 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 A8995130DEA for <regext@ietfa.amsl.com>; Fri, 27 Jul 2018 16:04:57 -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 j3yKEz4N56rk for <regext@ietfa.amsl.com>; Fri, 27 Jul 2018 16:04:55 -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 40D9D130D7A for <regext@ietf.org>; Fri, 27 Jul 2018 16:04:55 -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 w6RN4q1Z041499 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Fri, 27 Jul 2018 18:04:53 -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-org-ext@tools.ietf.org, "regext@ietf.org" <regext@ietf.org>
From: Adam Roach <adam@nostrum.com>
Message-ID: <c33925d0-eff9-62f2-2975-49cd413f4ebb@nostrum.com>
Date: Fri, 27 Jul 2018 18:04:47 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.9.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/-rUIhlntkCrpg5fndyPsoharjv4>
Subject: [regext] AD Review: draft-ietf-regext-org-ext-07
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.27
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, 27 Jul 2018 23:04:58 -0000

This is my AD review for draft-ietf-regext-org-ext-07.  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 are also two blocking comments that need to be resolved prior to 
IETF last
call.

Thanks to everyone who worked on this document.

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

This is a blocking comment.

This document raises the same question as draft-ietf-regext-org-08 does
regarding the allowable placement of XML namespace declarations within the
document; see, e.g., the following text:

 >  In addition to the EPP command elements
 >  described in the EPP object extensions, the command MUST contain an
 >  <extension> element, and the <extension> element MUST contain a child
 >  <orgext:create> element that identifies the extension namespace if
 >  the client wants to associate data defined in this extension to the
 >  object.

I presume the same answer will apply to this document as does to
draft-ietf-regext-org-08.

Affected elements appear to also include <orgext:update> and 
<orgext:infData>.

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

This is a blocking comment, as it impacts interoperability.

§4.2.5:

This section defines remove and change elements that use "role" as a key. It
is unclear whether an attempt to remove or change an identifier 
corresponding to
a role that is not present in the object results in an error, or is 
treated as
success.

For example, if an "example.com" is currently in the system as a 
reseller, but
is *not* in the system as a privacyproxy, would an update containing the
following elements return a success response or an error response?

    C:      <orgext:update
    C:        xmlns:orgext="urn:ietf:params:xml:ns:orgext-1.0">
    C:        <orgext:rem>
    C:          <orgext:id role="privacyproxy"/>
    C:        </orgext:rem>
    C:      </orgext:update>

If the answer is that an error is returned, then that error needs to be 
clearly
specified in this document.

The same question needs to be answered for <orgext:chg>. Additionally: if no
error is returned, then behavior for <orgext:chg> needs to clearly spell out
whether attempts to update a role that is not already present in the object
causes that role to be added, or if the object remains unchanged.

Similarly, if <orgext:add> is issued for a role that already exists in the
object, does this result in an error, or is the existing role identifier
silently overridden?

If the answer to "is this an error" is "yes" for any or all of the
preceding questions: this document needs to clearly spell out what 
happens when
an <orgext:...> element contains multiple <orgext:id> elements, and 
*some* of
them cause an error while *some* of them do not. If this is the case, my 
strong
recommendation is to specify that operations are atomic (that is, they 
either
succeed completely or make no state change whatsoever).

Finally, if the <orgext:add> and <orgext:chg> elements do not result in 
errors
in the cases described above, then this document should clearly specify how
processing is different between those two elements, or clearly specify that
handling of both elements is identical.

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

"Copyright Notice" section:

 >  This document may contain material from IETF Documents or IETF
 >  Contributions published or made publicly available before November
 >  10, 2008.  The person(s) controlling the copyright in some of this
 >  material may not have granted the IETF Trust the right to allow
 >  modifications of such material outside the IETF Standards Process.

This is typically only true of revisions of older documents, which 
necessarily
obsolete published RFCs. So, to double-check: is this the correct 
boilerplate
for this document?


===========================================================================

The remaining comments on this document are minor and editorial.

§1:

 >  In the business model of domain registration, we usually have 3 roles
 >  of entities, a registrant, a registrar and a registry.

"...of entities: a registrant,..."
                ^

 >  operators, privacy proxy, etc.

"...proxies..."

 >  A domain reseller is an individual or a company that acts as a agent

"...an agent..."

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

§2:

 >  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 >  "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
 >  document are to be interpreted as described in [RFC2119].

Please update this boilerplate to match RFC 8174.

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

§2:

 >  white space in examples are provided only to illustrate element
 >  relationships and are not a REQUIRED feature of this specification.

This isn't really how RFC-2119-defined terms are intended to be used. 
Suggest
changing "REQUIRED" to lowercase.

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

§2:

 >  orgext-1.0 in this document is used as an abbreviation for
 >  urn:ietf:params:xml:ns:orgext-1.0.

I can't find where this abbreviation is used. I suggest removing this 
sentence.

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

§4.1.2:

 >  This extension does not add any element to the EPP <info> command

"...elements..."

 >  o  Zero or more <orgext:id> elements are allowed that contains the

"...contain..."

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

§4.2.5:

 >  At least one and only one <orgext:add>, <orgext:rem> or <orgext:chg>
 >  element MUST be provided.

This is kind of an odd phrasing that may confuse readers. I think what's 
meant
here is "Exactly one of <orgext:add>..." -- if so, please change the 
description
to be more straightforward.

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

§4.2.5:

 >  o  One or more <orgext:id> elements that contains the identifier of

"...that contain..."