Re: [regext] draft-ietf-regext-epp-fees-02.txt: currency error handling, command wildcard

"Gould, James" <jgould@verisign.com> Tue, 28 March 2017 18:09 UTC

Return-Path: <jgould@verisign.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 D786312944B for <regext@ietfa.amsl.com>; Tue, 28 Mar 2017 11:09:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.002
X-Spam-Level:
X-Spam-Status: No, score=-2.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=verisign.com
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 Ehxc5JvI3-PS for <regext@ietfa.amsl.com>; Tue, 28 Mar 2017 11:09:42 -0700 (PDT)
Received: from mail1.verisign.com (mail1.verisign.com [72.13.63.30]) (using TLSv1.2 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9C0161297A5 for <regext@ietf.org>; Tue, 28 Mar 2017 11:09:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=verisign.com; l=7420; q=dns/txt; s=VRSN; t=1490724577; h=from:to:cc:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version:subject; bh=6HMPSftEs+uv967NvA3voX8MkksEoRyC0Cx1QSlx//M=; b=qEf8jhNZMnujCvNtBhXQ0ov/pPr5COVT9XUgEPllvpo4Ua9fD1oU9uPc IJsZ0dhKVO7tPe2WJS5QPovugZf1rTDWRtLghE3gyjqKabWw6KRU05fsB 0LZStv62DfyP1UL02ES3mlsGu0BoHes4xyqXnWmyuO3MXi1prhDgMDXIo rgrO/fe9mkOiIkXoc5or8NDgzL6pRgKcVP0+dNjxqW0unlSGLQcuyoKOH TVpQxkaLo/NFlAjmfFLhRhqxXbk2s9gWyup1JwlMPgmUCnrHE+Jj6QqbN gB79zRIkOU39KWqliESxSVCwep6PMjfNAr5J1x23+oNcqbmZZkiLItSXO w==;
X-IronPort-AV: E=Sophos;i="5.36,237,1486425600"; d="scan'208";a="2347062"
IronPort-PHdr: 9a23:rYEguhUFOaCFFUOj8d5TH8C37abV8LGtZVwlr6E/grcLSJyIuqrYZRWDvadThVPEFb/W9+hDw7KP9fuxBSpYud6oizMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVrO+/7BpDdj9it1+C15pbffxhEiCCzbL52Ixi6txndutULioZ+N6g9zQfErGFVcOpM32NoIlyTnxf45siu+ZNo7jpdtfE8+cNeSKv2Z6s3Q6BWAzQgKGA1+dbktQLfQguV53sTSXsZnxxVCAXY9h76X5Pxsizntuph3SSRIMP7QawoVTmk8qxmUwHjhjsZODEl8WHXks1wg7xdoBK9vBx03orYbJiIOPZiYq/ReNUXTndDUMlMTSxMGoOyYZUSAeodM+hWrIf9qFkAohu/GQaiC+zgxyRUhnDt2K02z/gtHBvE0QEmAtkAsG7UrNLwNKoKX+y7za7IzSjHb/xLwTv29YzGfQokof6SRrJ8f9faxE4tFwPKiVWQtIjlMC6O2+QTrWeb9etgVfmui24orQF9uCSgxsApioTQgI8e117K9SJ8wIkvJN24TlZ2YcC6H5tKtiGaLIp2QswkQ2FpviY11qcKtoK8fCgP0JgmyRDSZ+aAc4iS7RLvTOeRLilkhHJrYr6/gAyy8Uemx+bhVce0yE5HojdZntXWq3wA1RLe5tKaRvZ98EqtwyiD2g/T5+1cPEw4ibDXJ4Mjz7M+jJYfrETOEjHslEj5iqKda18q9fKy6+v9Z7XrvpqcN4hphQ7gKqkugcm/AfggMggJQmib5fyw1L398k39R7VHluY5krPfsJzHIcQaqau5DBVU0oYn7Ba/Eium3MgGkXUdMlJKZgiHj4nyO1HPL/D4C+2zjEirkDdu3/zGP7vhDYvRLnXbjbvtYaxx51NexQc919xT+pJZB78bLP7tVUL8tMTUDhojPAy1x+bnBs991oQbWW+XAK+ZP6TSsUKM5u0yOOSMepEauCz8K/g+5v7ugnk5lUUBcqmu2JsbcGq4Eeh+I0WFfXrshc8MEXwXvgomVOzqj0eCUSJIanauRa084D47CIW/AYfZXYChmqCO3CC+HpdOfGBJFkiMEWv0d4WDQ/oMcjydIsB/nT0LSbisUI4h2g+ytA/00bZnKfDU+iIAv5L5yNd1//HTlQ019TFsFcSSzXmNQ3tpkWMPWz86xqZ/oUtlylqY3qh4huZXFd1X5/9TTgg6MpvcxfRgC9/uQgLBYsuJSFG+T9u4ATExSdcxzMUVY0pnBdiiiQrD3za0DLIOlLyLAp008rrE33TrOsly1SWO6K50s1khR8JUfUahnLJyv1zvB4nMml7fvKGwaak03yjM7H/FwWfY+AlyXRR2UazfUTgla1bKq9njo23DVLSuBK5vZhFM0YiOLbcMbNrxpVpDTfbnft/ZZjT10329ChuY2vvYdofldnUB9CTQFEZClBocqyWoLw87U22OpH/aAHgmN1vqblimub18p3SmSkMc0QyQblZg2Lzz8RkQ06/PA8gP164J7X9y4w5/G0ywipePU4KN
X-IPAS-Result: A2EkAQDlpdpY//WZrQpaAxkBAQEBAQEBAQEBAQcBAQEBARQBAQEBAQEBAQEBAQcBAQEBAYQKgQsHg1uKD5B5OB+TPYIPgUsbKCqFLkoCGoNIGAEBAQEBAQEBAQEBAoEQgjMiAQwsCw8hCwEBAQEBASYBAQEBAQEBAQEBAQEdAggFMRIBARkBBAEjERMyDgICAQgNDQIfBwICAhkXFRACBAENBRuJZBatEoImgz6HDwEBAQEBAQEBAQEBAQEBAQEBAQEBAR0FgQaFRIIECIFZgQmENwEBBRYHEAoXAg2CBQwuLoIxBY9hjHkGAYZ7jiOOY5NqH4E9WRVBEQGERh0ZgUp1AYcjgSGBDQEBAQ
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 v2SI9ZCR028884 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Tue, 28 Mar 2017 14:09:36 -0400
Received: from BRN1WNEXMBX01.vcorp.ad.vrsn.com ([::1]) by brn1wnexcas01.vcorp.ad.vrsn.com ([::1]) with mapi id 14.03.0301.000; Tue, 28 Mar 2017 14:09:35 -0400
From: "Gould, James" <jgould@verisign.com>
To: Thomas Corte <Thomas.Corte@knipp.de>, Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>, regext <regext@ietf.org>
CC: "support@tango-rs.com" <support@tango-rs.com>
Thread-Topic: [EXTERNAL] Re: [regext] draft-ietf-regext-epp-fees-02.txt: currency error handling, command wildcard
Thread-Index: AQHSp8R8dgOav7nA3UuL9tYyJOOBJaGqpRaA///XhQA=
Date: Tue, 28 Mar 2017 18:09:34 +0000
Message-ID: <24593B92-2498-4770-AD5B-5626651A3ABD@verisign.com>
References: <216C099C-41E6-48EA-8925-E239AA3F2015@verisign.com> <bfe3eb81-dce6-45fe-28a4-3ffdb29639c6@knipp.de>
In-Reply-To: <bfe3eb81-dce6-45fe-28a4-3ffdb29639c6@knipp.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/f.1f.0.170216
x-originating-ip: [10.173.152.4]
Content-Type: text/plain; charset="utf-8"
Content-ID: <EC56577F73D83145957012B6B6FECD76@verisign.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/TcVs2Hwq15IucztBRgZyZ5ZlYNI>
Subject: Re: [regext] draft-ietf-regext-epp-fees-02.txt: currency error handling, command wildcard
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.22
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: Tue, 28 Mar 2017 18:09:45 -0000

Thomas,

Putting the avail attribute at the level of fee:cd addresses use cases where the domain name is invalid, reserved (without pricing), and the currency is invalid.  In these cases, you would not want to return all the commands with an avail=false to indicate that the fee information is not available for the domain.  If the server needs to get down to the detail of providing availability at the command level, then the avail attribute could be added there as well, but there is an extra level of complexity to handle it at the command level.  If the command is invalid, the period is invalid, having the avail flag only at the fee:cd level would fast-fail to not provide any of the fee information.  Although this may not be as functional, it allows the server to fast fail the fee check which is important to keep the availability check more lightweight.   I would prefer to fast fail if possible.  

  
—
 
JG



James Gould
Distinguished Engineer
jgould@Verisign.com

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

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

On 3/28/17, 10:34 AM, "Thomas Corte" <Thomas.Corte@knipp.de> wrote:

    Hello,
    
    On 2017-03-28 15:09, Gould, James wrote:
    
    > I had an action item from the working session yesterday to describe
    > the proposal for the extension to the check response that matches
    > Option C discussed at IETF-95.  The “more complex option” outlined in
    > the list message
    > https://www.ietf.org/mail-archive/web/eppext/current/msg00883.html
    > provides an example of the extension to the check command and
    > response for what was called Option C.  Option C included a single
    > currency and a list of commands that is applied to all the domains in
    > the availability check.  In the case of an invalid currency, the
    > <fee:cd avail=”false”> with a <fee:reason>Invalid
    > currency</fee:reason> could be returned for each of the domain names
    > in the check instead of returning a failure to the availability
    > check.  In this case Option C truly is an extension of the check with
    > a single set of requested fee information.
    
    I like this approach better than the current fee-0.15 solution, which allows/requires restricting the fee checks to a subset of the checked object, and supports a different currency and set of commands for every object. While this may come in handy sometimes, the most common usage would probably select all checked objects and a single currency and set of commands. Most servers will probably only support a single currency anyway.
    
    What I don't like is that the "avail" attribute has been moved to the framing <fee:cd> element, while it's an attribute of <fee:command> in the current fee-0.15 draft. The latter has the big advantage of the server being able to report e.g. the availability of a fee (and the domain in general) for different launch phases.
    
    For example, with fee-0.15, this response could indicate that the domain premium-500.example is available in the launch phase "custom/open-500", but not in "open".
    
    S: <?xml version="1.0"?>
    S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
    S:   <response>
    S:     <result code="1000">
    S:       <msg>Command completed successfully</msg>
    S:     </result>
    S:     <resData>
    S:       <domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
    S:         <domain:cd>
    S:           <domain:name avail="false">premium-500.example</domain:name>
    S:           <domain:reason>not registrable in this phase</domain:reason>
    S:         </domain:cd>
    S:       </domain:chkData>
    S:     </resData>
    S:     <extension>
    S:       <chkData xmlns="urn:ietf:params:xml:ns:fee-0.15">
    S:         <cd>
    S:           <objID>premium-500.example</objID>
    S:           <currency>EUR</currency>
    S:           <command avail="false" name="create" phase="open">
    S: 	       <reason>the requested launch phase is not suitable for the domain</reason>
    S: 	     </command>
    S:           <command name="create" phase="custom" subphase="open-500">
    S:             <period unit="y">1</period>
    S:             <fee applied="immediate" description="domain creation in phase 'open-500'" grace-period="PT1M" refundable="true">500.00</fee>
    S:           </command>
    S:         </cd>
    S:       </chkData>
    S:     </extension>
    S:     <trID>
    S:       <clTRID>e1f8b4cd61f84469436bf16585f976b3</clTRID>
    S:       <svTRID>1490271424463-9</svTRID>
    S:     </trID>
    S:   </response>
    S: </epp>
    
    I'd like to retain this feature. I'm aware that this somewhat "abuses" the fee extension to determine which launch phase is suitable for a domain (and there is an overlap with the extension's "domain class" concept), but it's not too far from the intended use in my opinion.
    
    Best regards,
    
    Thomas
    
    -- 
    TANGO REGISTRY SERVICES® is a product of:
    Knipp Medien und Kommunikation GmbH
    Technologiepark                             Phone: +49 231 9703-222
    Martin-Schmeisser-Weg 9                       Fax: +49 231 9703-200
    D-44227 Dortmund                       E-Mail: support@tango-rs.com
    Germany