Re: [eppext] New draft for keyrelay available

"Gould, James" <JGould@verisign.com> Tue, 13 January 2015 13:22 UTC

Return-Path: <JGould@verisign.com>
X-Original-To: eppext@ietfa.amsl.com
Delivered-To: eppext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E4CEE1A8ADA for <eppext@ietfa.amsl.com>; Tue, 13 Jan 2015 05:22:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.6
X-Spam-Level:
X-Spam-Status: No, score=-3.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, J_CHICKENPOX_19=0.6, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 4Jmnhnyo_oRV for <eppext@ietfa.amsl.com>; Tue, 13 Jan 2015 05:22:37 -0800 (PST)
Received: from exprod6og119.obsmtp.com (exprod6og119.obsmtp.com [64.18.1.234]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5C0971A8AD0 for <eppext@ietf.org>; Tue, 13 Jan 2015 05:22:34 -0800 (PST)
Received: from brn1lxmailout02.vcorp.ad.vrsn.com ([72.13.63.42]) (using TLSv1) by exprod6ob119.postini.com ([64.18.5.12]) with SMTP ID DSNKVLUcGRUtpxydRrjfszlCqQhW6Byy71Kc@postini.com; Tue, 13 Jan 2015 05:22:37 PST
Received: from brn1wnexcas02.vcorp.ad.vrsn.com (brn1wnexcas02.vcorp.ad.vrsn.com [10.173.152.206]) by brn1lxmailout02.vcorp.ad.vrsn.com (8.13.8/8.13.8) with ESMTP id t0DDMWG4031300 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Tue, 13 Jan 2015 08:22:33 -0500
Received: from BRN1WNEXMBX01.vcorp.ad.vrsn.com ([::1]) by brn1wnexcas02.vcorp.ad.vrsn.com ([::1]) with mapi id 14.03.0174.001; Tue, 13 Jan 2015 08:22:32 -0500
From: "Gould, James" <JGould@verisign.com>
To: Rik Ribbers <rik.ribbers@sidn.nl>
Thread-Topic: [eppext] New draft for keyrelay available
Thread-Index: AdArSKQ+n3FmCyCWSq6l2+OWlzutMwA+eoEAALUP4qAAEcW9gA==
Date: Tue, 13 Jan 2015 13:22:31 +0000
Message-ID: <472EF001-1A03-4C50-A7DB-3D6B766B3BA8@verisign.com>
References: <C80127C588F8F2409E2B535AF968B768B927CDA8@kambx2.SIDN.local> <0ED7237B-F4E8-45D7-971F-1625350DB0FC@verisign.com> <C80127C588F8F2409E2B535AF968B768B9280B52@kambx2.SIDN.local>
In-Reply-To: <C80127C588F8F2409E2B535AF968B768B9280B52@kambx2.SIDN.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [10.173.152.4]
Content-Type: multipart/related; boundary="_004_472EF0011A034C50A7DB3D6B766B3BA8verisigncom_"; type="multipart/alternative"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/eppext/sCmOsJZhLRixTS3BRg4PjrFxCnI>
Cc: "eppext@ietf.org" <eppext@ietf.org>
Subject: Re: [eppext] New draft for keyrelay available
X-BeenThere: eppext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: EPPEXT <eppext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/eppext>, <mailto:eppext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/eppext/>
List-Post: <mailto:eppext@ietf.org>
List-Help: <mailto:eppext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/eppext>, <mailto:eppext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Jan 2015 13:22:42 -0000

All,

I agree with Rik that more from the WG must weigh in on this.  I believe Rik and I understood fully each others perspective, but we simply don’t agree.  Please take some time to review the two different approaches and reply to the list with your opinion.

To be clear, my preferred approach is to use an object extension for both the command and the poll message response as in:

Command looks like:

<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
  xmlns:keyrelay="urn:ietf:params:xml:ns:keyrelay-1.0">
 <command>
   <create>
     <keyrelay:create>
       <keyrelay:name>example.org<http://example.org/></keyrelay:name>
       <keyrelay:keyData>
          <secDNS:flags>256</secDNS:flags>
          <secDNS:protocol>3</secDNS:protocol>
          <secDNS:alg>8</secDNS:alg>
          <secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
       </keyrelay:keyData>
       <keyrelay:authInfo>
          <domain:pw>JnSdBAZSxxzJ</domain:pw>
       </keyrelay:authInfo>
       <keyrelay:expiry>
          <keyrelay:relative>P1M13D</keyrelay:relative>
       </keyrelay:expiry>
     </keyrelay:create>
   </create>
   <clTRID>123456</clTRID>
 </command>
</epp>

Poll message looks like:

<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
  xmlns:keyrelay="urn:ietf:params:xml:ns:keyrelay-1.0">
  <response>
    <result code="1301">
       <msg>Command completed successfully; ack to dequeue</msg>
    </result>
    <msgQ count="5" id="12345">
       <qDate>1999-04-04T22:01:00.0Z</qDate>
       <msg>Key Relay message.</msg>
    </msgQ>
    <resData>
      <keyrelay:infData>
        <keyrelay:name paResult="true">example.org<http://example.org/>
        </keyrelay:name>
        <keyrelay:paDate>1999-04-04T22:01:00.0Z
        </keyrelay:paDate>
        <keyrelay:keyData>
          <secDNS:flags>256</secDNS:flags>
          <secDNS:protocol>3</secDNS:protocol>
          <secDNS:alg>8</secDNS:alg>
          <secDNS:pubKey>cmlraXN0aGViZXN0</secDNS:pubKey>
        </keyrelay:keyData>
        <keyrelay:authInfo>
          <domain:pw>JnSdBAZSxxzJ</domain:pw>
        </keyrelay:authInfo>
        <keyrelay:expiry>
          <keyrelay:relative>P24D</keyrelay:relative>
        </keyrelay:expiry>
        <keyrelay:reID>ClientX</keyrelay:reID>
        <keyrelay:acID>ClientY</keyrelay:acID>
      </keyrelay:infData>
    </resData>
    <trID>
       <clTRID>BCD-23456</clTRID>
       <svTRID>65432-WXY</svTRID>
    </trID>
  </response>
</epp>


The latest version of draft-ietf-eppext-keyrelay incorporates a general r:relayData element with a new extension point for concrete data to relay as in k:keyRelayData.  If an object extension was used, new relay data would be represented using another object extension, which will be present in the greeting and login list of objURI’s.  For example, if I wanted to relay a Hello World message, I would create a Hello World object extension with the URI urn:ietf:params:xml:ns:helloworld-1.0, that follows the relay protocol pattern of defining the create command and the info response for the poll message.

Command looks like:

<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
  xmlns:helloworld="urn:ietf:params:xml:ns:helloworld-1.0">
 <command>
   <create>
     <helloworld:create>
       <helloworld:value>Hello World from Jim</keyrelay:name>
     </helloworld:create>
   </create>
   <clTRID>123456</clTRID>
 </command>
</epp>

Poll message looks like:

<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
  xmlns:helloworld="urn:ietf:params:xml:ns:helloworld-1.0">
  <response>
    <result code="1301">
       <msg>Command completed successfully; ack to dequeue</msg>
    </result>
    <msgQ count="5" id="12345">
       <qDate>1999-04-04T22:01:00.0Z</qDate>
       <msg>Hello World Relay message.</msg>
    </msgQ>
    <resData>
      <helloworld:infData>
       <helloworld:value>Hello World from Jim</keyrelay:name>
      </keyrelay:infData>
    </resData>
    <trID>
       <clTRID>BCD-23456</clTRID>
       <svTRID>65432-WXY</svTRID>
    </trID>
  </response>
</epp>


If both the keyrelay and helloworld extensions were supported, the svcMenu element of the login and greeting may look like:


       <svcMenu>
         <version>1.0</version>
         <lang>en</lang>
         <lang>fr</lang>
         <objURI>urn:ietf:params:xml:ns:obj1</objURI>
         <objURI>urn:ietf:params:xml:ns:obj2</objURI>
         <objURI>urn:ietf:params:xml:ns:obj3</objURI>

         ...


         <objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>


         <objURI>urn:ietf:params:xml:ns:helloworld-1.0</objURI>


         ...

<svcExtension> <extURI>http://custom/obj1ext-1.0</extURI> </svcExtension> </svcMenu>

In doing so, the server will be able to know whether or not the client supports the specific relay message type.  There is a general question of what the server should do in the event that the client cannot process a specific poll message.  Comparing the greeting and login services can easily identify relay object support issues.

In the end, there is no need to utilize a protocol extension to create a transient poll message object and mix a protocol extension for the command and an object extension for the response.

Please provide your feedback.

Thanks,


—


JG


[cid:77031CC3-BE7A-4188-A95F-D23115A30A4D@vcorp.ad.vrsn.com]

James Gould
Distinguished Engineer
jgould@Verisign.com

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

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

On Jan 13, 2015, at 5:09 AM, Rik Ribbers <rik.ribbers@sidn.nl<mailto:rik.ribbers@sidn.nl>> wrote:

James,

Thank you for the feedback.

My feedback on issue 1 and 2:

I get a feeling we are running in circles. All arguments have been mentioned in previous posts on this mailinglist. So what it boils down to is what the rest of the WG thinks of this. So I politely , but  urgently ask the other members on this list to respond to the question: Should we reconsider extending EPP with a new command and use the object or protocol extension James proposes (see http://www.ietf.org/mail-archive/web/eppext/current/msg00241.html) If there are no responses the authors and the WG cannot make progress on this document.

For issue 3 and 4: We will incorporate the changes in the next version of the draft.

Gr,
Rik



From: Gould, James [mailto:JGould@verisign.com]
Sent: vrijdag 9 januari 2015 15:29
To: Rik Ribbers
Cc: eppext@ietf.org<mailto:eppext@ietf.org>
Subject: Re: [eppext] New draft for keyrelay available

Rik,

Below is my feedback to the updated draft:


  1.  As noted in past mailing list comments and in person discussions, I don’t agree with the mixing of a protocol extension for the command and an object mapping for the poll response.  I have provided examples of implementing this draft using either an object mapping or a command response extension of domain.  In it’s current form, I’m assuming that the EPP greeting and login would include the urn:ietf:params:xml:ns:relay-1.0 URI in both a <objURI> and an <extURI> element.  I highly recommend that you reconsider this.
  2.  You are making keyrelay more generic by creating a new extension point of the data to relay, with the key data being one concrete type.  I still believe that creating a Key Relay Object Mapping would have been the best route to go, since the creation of a Key Relay object would add it into the poll queue for consumption by the losing registrar.  The only command supported by the mapping is create along with the poll info response.  The create is creating a transient object.  If other types of data need to be “relayed”, a similar approach could be taken without having to add an additional layer of extensibility.  A new EPP object mapping would be defined for the new type.  The key relay along with any other relay objects will be properly exposed in the EPP greeting and login <objURI> elements.
  3.  Nit in 3.1.1, “An OPTIONAL <clTRID> (client transaction identifier) element that MAY be used to uniquely identify the command to the registrar”, should reference client instead of registrar.
  4.  What is the expected response to the <relay> command?  I’m assuming that it’s as EPP response as defined in section 2.6 of RFC 5730 where the <clTRID> value is set with the <r:clTRID> value associated with the command if supplied by the client.


Regards,

—


JG

<image001.png>

James Gould
Distinguished Engineer
jgould@Verisign.com<x-msg://7/jgould@Verisign.com>

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

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

On Jan 8, 2015, at 8:41 AM, Rik Ribbers <rik.ribbers@sidn.nl<mailto:rik.ribbers@sidn.nl>> wrote:


All,

As you (may) have noticed we submitted a new version of the keyrelay draft. In this draft we tried to solve all the open issues, remarks and feedback we received.

The major  changes are:

  1.  Introducing the <relay> command, and thus seperating the data and
       the command.

   2.  Updated the Introduction, describing the general use of relay vs
       the intended use-case of relaying DNSSEC key data.

   3.  Restructuring the document to make it more inline with existing
       EPP extensions.

In the end it has become a major rewrite and as always feedback is welcome.

Kind regards,
Rik Ribbers
_______________________________________________
EppExt mailing list
EppExt@ietf.org<mailto:EppExt@ietf.org>
https://www.ietf.org/mailman/listinfo/eppext