Re: [regext] I-D Action: draft-ietf-regext-change-poll-07.txt

Martin Casanova <martin.casanova@switch.ch> Wed, 31 January 2018 15:48 UTC

Return-Path: <martin.casanova@switch.ch>
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 A7DB212EC0B for <regext@ietfa.amsl.com>; Wed, 31 Jan 2018 07:48:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.909
X-Spam-Level:
X-Spam-Status: No, score=-6.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=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 yd9pTK4pJbF0 for <regext@ietfa.amsl.com>; Wed, 31 Jan 2018 07:48:45 -0800 (PST)
Received: from iberico.switch.ch (iberico.switch.ch [IPv6:2001:620:0:1002::27]) (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 8045B1316F7 for <regext@ietf.org>; Wed, 31 Jan 2018 07:47:45 -0800 (PST)
Received: from surlej.switch.ch (surlej.switch.ch [IPv6:2001:620:0:1001::69]) by iberico.switch.ch (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id w0VFlftQ009748 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 31 Jan 2018 16:47:42 +0100
Received: from [2001:620:0:4a:e9f4:788d:1efd:b04e] by surlej.switch.ch with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.72) (envelope-from <martin.casanova@switch.ch>) id 1egubt-0000sJ-C7; Wed, 31 Jan 2018 16:47:41 +0100
To: "Gould, James" <jgould@verisign.com>, regext@ietf.org
References: <3266784A-E663-4465-8ABF-A3305B83C253@verisign.com> <e7916b75-1555-14e3-43bc-644059cd68f0@switch.ch> <605AC23F-D7B3-4A37-876E-45EC8E6BEEB8@verisign.com>
From: Martin Casanova <martin.casanova@switch.ch>
Message-ID: <84309e91-dbe9-8865-fd06-528266aa93e7@switch.ch>
Date: Wed, 31 Jan 2018 16:47:41 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0
MIME-Version: 1.0
In-Reply-To: <605AC23F-D7B3-4A37-876E-45EC8E6BEEB8@verisign.com>
Content-Type: multipart/alternative; boundary="------------C1CB0544863DD18B833746CC"
Content-Language: en-US
X-SWITCHham-Score:
X-CanIt-Geo: ip=2001:620:0:1001::69; country=CH; region=Zurich; city=Zurich; latitude=47.3667; longitude=8.5500; http://maps.google.com/maps?q=47.3667,8.5500&z=6
X-CanItPRO-Stream: switch-ch:outbound (inherits from switch-ch:default, base:default)
X-Canit-Stats-ID: Bayes signature not available
X-Scanned-By: CanIt (www . roaringpenguin . com)
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/yHTnyZOzzl6CczgSlrtWYl4A8bs>
Subject: Re: [regext] I-D Action: draft-ietf-regext-change-poll-07.txt
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: Wed, 31 Jan 2018 15:48:50 -0000

James,

Thanks for your fast answer. I think your suggestion is a good way to
solve this issue.

We discussed it in our team and have 2 thoughts about it:

1. The <msgQ><msg> field is described as human-readable message that is
not validated and even can have a language attribute. Therefore we agree
that this field should be used as "last resort" only due to the lack of
other options.
The only other way I could think of was to define an optional:
<msgQ><extension><changePoll:changeData
xmlns:changePoll="urn:ietf:params:xml:ns:changePoll-1.0" msg = “not
supported in login services”/>
Element. This way it is up to the change poll RFC, how to transmit the
message, that the client should enable the extension in the Login
command if it wants to receive all the information the change poll
extension has to offer.
Drawback here: We are already sending this tiny part of the extension
even when not specified in Login.


2. Normally we respond with the following error code if a client sends a
request containing an extension element that was not enabled at Login:

<msg><result code="2307">
<msg lang="en">Unimplemented object service</msg>
</result>

This return code could also be returned instead of the
<result code="1301">
<msg>Command completed successfully; ack to dequeue</msg>
</result>

That way more already implemented clients would remark the freshly
implemented change poll extension since the result code is more likely
to be evaluated than the <msgQ><msg> field.
On the other hand also more clients would potentially fail for this
reason and stop working until this case is handled. Since this is not
client initiated maybe it is not appropriate to return 2307 in this case ?


Martin Casanova


-- 
SWITCH 
Martin Casanova, Domain Applications
Werdstrasse 2, P.O. Box, 8021 Zurich, Switzerland 
phone +41 44 268 15 55, direct +41 44 268 16 25
martin.casanova@switch.ch, www.switch.ch 
 
Working for a better digital world



On 30.01.2018 19:07, Gould, James wrote:
>
> Martin,
>
>  
>
> Yes, that is an excellent point that we need to consider for any poll
> message extension.  What should the server do with a poll message that
> the client does not support based on the login services?  We need to
> consider two poll extension cases:
>
>  
>
>  1. Object Extension – This is the case for an extension like the
>     Registry Maintenance Notifications for EPP
>     (https://tools.ietf.org/html/draft-sattler-epp-registry-maintenance)
>     that is being discussed on rr_ry_techops list. 
>  2. Command Response Extension – This is the case for the Change Poll
>     extension, where it extends the info response of EPP objects
>     (domain, host, contact, …).
>
>   
>
> To be protocol compliant the server must not return an extension
> (Object or Command Response) that is not supported by the client based
> on the login services.  I really only see one solution that would
> apply to both types of extensions, which would be to return a
> successful EPP Poll Response with an appropriate message indicating
> the poll message namespaces that are not supported by the client logic
> services.  The client could add support for the poll messsage or
> choose to ack it to move to the next message in the queue.  The only
> element in the EPP response that we can use is the <msgQ> <msg>
> element.  You could leverage the <result><msg> as well, but I don’t
> believe that would help here.  I don’t advocate encoding something in
> the <msg> element, which is the point I made about including JSON in
> the <msg> element for the Registry Maintenance Notifications for EPP. 
> In this case, I don’t believe there is much of a choice to stay
> protocol compliant and to ensure that the poll queue can continue to
> be processed.  How about encoding the <msg> element as below when the
> server needs to return a poll message to a client that doesn’t support
> one or more extensions based on their login services?
>
>  
>
> msg = extension-namespaces “ not supported in login services”
>
> extension-namespaces = extension-namespace / extension-namespace “,”
> extension-namespaces
>
> extension-namespace = /XML namespace of EPP extension/
>
>  
>
> An example of a Change Poll <msg> element of a supported object (e.g.,
> domain) is “urn:ietf:params:xml:ns:changePoll-1.0 not supported in
> login services”.  An example of a Change Poll <msg> element of an
> unsupported object (e.g., .NAME Email Forwarding object) is
> “http://www.nic.name/epp/emailFwd-1.0,urn:ietf:params:xml:ns:changePoll-1.0
> not supported in login services”.  The full EPP response for the first
> Change Poll <msg> element is included below:
>  
>  
> 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="1301">
> S:      <msg>Command completed successfully; ack to dequeue</msg>
> S:    </result>
> S:    <msgQ count="5" id="12345">
> S:      <qDate>2000-06-08T22:00:00.0Z</qDate>
> S:      <msg>urn:ietf:params:xml:ns:changePoll-1.0 not supported in
> login services</msg>
> S:    </msgQ>
> S:    <resData>
> S:      <obj:trnData
> S:       xmlns:obj="urn:ietf:params:xml:ns:obj-1.0">
> S:        <obj:name>example.com</obj:name>
> S:        <obj:trStatus>pending</obj:trStatus>
> S:        <obj:reID>ClientX</obj:reID>
> S:        <obj:reDate>2000-06-08T22:00:00.0Z</obj:reDate>
> S:        <obj:acID>ClientY</obj:acID>
> S:        <obj:acDate>2000-06-13T22:00:00.0Z</obj:acDate>
> S:        <obj:exDate>2002-09-08T22:00:00.0Z</obj:exDate>
> S:      </obj:trnData>
> S:    </resData>
> S:    <trID>
> S:      <clTRID>ABC-12345</clTRID>
> S:      <svTRID>54321-XYZ</svTRID>
> S:    </trID>
> S:  </response>
> S:</epp>
>
>  
>
>  
>
> Thoughts?
>
>  
>
> —
>
>  
>
> JG
>
>
> cid:image001.png@01D255E2.EB933A30
>
> *James Gould
> *Distinguished Engineer
> jgould@Verisign.com
>
> 703-948-3271
> 12061 Bluemont Way
> Reston, VA 20190
>
> Verisign.com <http://verisigninc.com/>
>
> *From: *regext <regext-bounces@ietf.org> on behalf of Martin Casanova
> <martin.casanova@switch.ch>
> *Date: *Tuesday, January 30, 2018 at 9:14 AM
> *To: *"regext@ietf.org" <regext@ietf.org>
> *Subject: *[EXTERNAL] Re: [regext] I-D Action:
> draft-ietf-regext-change-poll-07.txt
>
>  
>
> Hi
>
> Thank you for the new version 07 of the draft-ietf-regext-change-poll.
>
> May I ask a question about it?
>
> "RFC5730 states: The <svcs> element MAY contain an OPTIONAL
> <svcExtension> element that contains one or more <extURI> elements
> that identify object extensions to be used during the session."
>
> The extension should be specified in the EPP Login command otherwise
> it will not be available for the client during that EPP session. I
> suppose this is also the case for this change-poll extension..
>
> What happens if a client does not specify the change-poll extension in
> the Login command but starts consuming all its poll messages? Are the
> change-poll messages delivered just without the
>
> <extension> <changePoll> element or are these poll messages retained
> until a change-poll enabled EPP-Session polls them?
>
> Thank you.
>
> Martin Casanova
>
>  
>
>  
>
>  
>
>  
>
> On 29.01.2018 20:40, Gould, James wrote:
>
>     Hi,
>
>      
>
>     I published the revised draft-ietf-regext-change-poll based on the
>     feedback received during the WGLC.  Please provide any additional
>     feedback on the list. 
>
>      
>
>     Thanks,
>
>      
>
>     —
>
>     JG
>
>      
>
>      
>
>      
>
>     James Gould
>
>     Distinguished Engineer
>
>     jgould@Verisign.com<mailto:jgould@Verisign.com>
>
>      
>
>     703-948-3271
>
>     12061 Bluemont Way
>
>     Reston, VA 20190
>
>      
>
>     Verisign.com <http://verisigninc.com/><http://verisigninc.com/>
>
>     On 1/29/18, 2:38 PM, "regext on behalf of
>     internet-drafts@ietf.org<mailto:internet-drafts@ietf.org>"
>     <regext-bounces@ietf.org on behalf of
>     internet-drafts@ietf.org><mailto:regext-bounces@ietf.orgonbehalfofinternet-drafts@ietf.org>wrote:
>
>      
>
>        
>
>         A New Internet-Draft is available from the on-line
>     Internet-Drafts directories.
>
>         This draft is a work item of the Registration Protocols
>     Extensions WG of the IETF.
>
>        
>
>                 Title           : Change Poll Extension for the
>     Extensible Provisioning Protocol (EPP)
>
>                 Authors         : James Gould
>
>                                   Kal Feher
>
>                Filename        : draft-ietf-regext-change-poll-07.txt
>
>                Pages           : 26
>
>                Date            : 2018-01-29
>
>        
>
>         Abstract:
>
>            This document describes an Extensible Provisioning Protocol
>     (EPP)
>
>            extension for notifying clients of operations on client
>     sponsored
>
>            objects that were not initiated by the client through EPP. 
>     These
>
>            operations may include contractual or policy requirements
>     including
>
>            but not limited to regular batch processes, customer
>     support actions,
>
>            Uniform Domain-Name Dispute-Resolution Policy (UDRP) or
>     Uniform Rapid
>
>            Suspension (URS) actions, court directed actions, and bulk
>     updates
>
>            based on customer requests.  Since the client is not directly
>
>            involved or knowledgable of these operations, the extension
>     is used
>
>            along with an EPP object mapping to provide the resulting
>     state of
>
>            the post-operation object, and optionally a pre-operation
>     object,
>
>            with the operation meta-data of what, when, who, and why.
>
>        
>
>         
>
>         The IETF datatracker status page for this draft is:
>
>         https://datatracker.ietf.org/doc/draft-ietf-regext-change-poll/
>
>        
>
>         There are also htmlized versions available at:
>
>         https://tools.ietf.org/html/draft-ietf-regext-change-poll-07
>
>        
>     https://datatracker.ietf.org/doc/html/draft-ietf-regext-change-poll-07
>
>        
>
>         A diff from the previous version is available at:
>
>         https://www.ietf.org/rfcdiff?url2=draft-ietf-regext-change-poll-07
>
>        
>
>         
>
>         Please note that it may take a couple of minutes from the time
>     of submission
>
>         until the htmlized version and diff are available at
>     tools.ietf.org.
>
>        
>
>         Internet-Drafts are also available by anonymous FTP at:
>
>         ftp://ftp.ietf.org/internet-drafts/
>
>        
>
>         _______________________________________________
>
>         regext mailing list
>
>         regext@ietf.org<mailto:regext@ietf.org>
>
>         https://www.ietf.org/mailman/listinfo/regext
>
>        
>
>      
>
>     _______________________________________________
>
>     regext mailing list
>
>     regext@ietf.org<mailto:regext@ietf.org>
>
>     https://www.ietf.org/mailman/listinfo/regext
>
>
>
> -- 
> SWITCH
> Martin Casanova, Domain Applications
> Werdstrasse 2, P.O. Box, 8021 Zurich, Switzerland
> phone +41 44 268 15 55, direct +41 44 268 16 25
> martin.casanova@switch.ch<mailto:martin.casanova@switch.ch>,
> www.switch.ch<http://www.switch.ch>
>  
> Working for a better digital world