Re: [provreg] RFC 5733: street changes with contact:update

James Mitchell <james.mitchell@ausregistry.com.au> Fri, 15 November 2013 12:43 UTC

Return-Path: <james.mitchell@ausregistry.com.au>
X-Original-To: provreg@ietfa.amsl.com
Delivered-To: provreg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E731911E8116 for <provreg@ietfa.amsl.com>; Fri, 15 Nov 2013 04:43:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.894
X-Spam-Level:
X-Spam-Status: No, score=-1.894 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8YV8lQpgHV7Z for <provreg@ietfa.amsl.com>; Fri, 15 Nov 2013 04:43:38 -0800 (PST)
Received: from mx01.ausregistry.net.au (mx01.ausregistry.net.au [120.29.249.162]) by ietfa.amsl.com (Postfix) with ESMTP id 99F8E11E814C for <provreg@ietf.org>; Fri, 15 Nov 2013 04:43:37 -0800 (PST)
Received: from unknown (HELO ausregistry.com.au) ([10.30.220.61]) by iron01.off08.stkildard.vic.ausregistry.com.au with ESMTP; 15 Nov 2013 23:42:34 +1100
Received: from MELEX01.ausregistrygroup.local ([10.11.220.61]) by OFFEX01.ausregistrygroup.local ([169.254.2.94]) with mapi id 14.03.0158.001; Fri, 15 Nov 2013 23:43:40 +1100
From: James Mitchell <james.mitchell@ausregistry.com.au>
To: Seth Goldman <sethamin@google.com>, "Hollenbeck, Scott" <shollenbeck@verisign.com>
Thread-Topic: [provreg] RFC 5733: street changes with contact:update
Thread-Index: AQHO4U+kCRAWMhz6P0OOYskO96Wl9pokOycAgAAF/QCAABgkAIAA7jsAgAAuOQCAAAk7AIAAvvuA
Date: Fri, 15 Nov 2013 12:43:38 +0000
Message-ID: <CEAC5D2B.1462B%james.mitchell@ausregistry.com.au>
In-Reply-To: <CAAHh_-J8LBvyUwAcvzBNV8G-kwgDZZs+sPReHPhBxG=ZbjqGHA@mail.gmail.com>
Accept-Language: en-NZ, en-AU, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.3.8.130913
x-originating-ip: [180.181.200.123]
Content-Type: multipart/alternative; boundary="_000_CEAC5D2B1462Bjamesmitchellausregistrycomau_"
MIME-Version: 1.0
Cc: IETF Provreg Mailing List <provreg@ietf.org>
Subject: Re: [provreg] RFC 5733: street changes with contact:update
X-BeenThere: provreg@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: EPP discussion list <provreg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/provreg>, <mailto:provreg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/provreg>
List-Post: <mailto:provreg@ietf.org>
List-Help: <mailto:provreg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/provreg>, <mailto:provreg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 12:43:43 -0000

Seth et al,

The info response would be invalid for contacts having a <postalInfo> with only an <org>. IMO the correct interpretation is that the command changes/modifies only the elements specified, however I’m not sure how one would interpret <chg><postalInfo type="int"><addr><street>A lane</street></addr></postalInfo></chg> - replace the “first” street element or all street elements?

FYI, for backwards compatibility our implementation performs a remove/replace for the direct children of the <chg> element only. The following examples hopefully illustrate the behaviour.

<chg><postalInfo type="loc"/><chg> -> remove the localised postal info
<chg><postalInfo type="int"><org>ACME</org></postalInfo><chg> -> fail, missing required values
<chg><postalInfo type="int"><name>ACME</name><addr><city>Melbourne</city><cc>AU</cc></addr></postalInfo><chg> -> success, previous int postal info replaced

Regards,
James Mitchell
Software Product Manager / ARI Registry Services

From: Seth Goldman <sethamin@google.com<mailto:sethamin@google.com>>
Date: Friday, 15 November 2013 11:19 pm
To: "Hollenbeck, Scott" <shollenbeck@verisign.com<mailto:shollenbeck@verisign.com>>
Cc: IETF Provreg Mailing List <provreg@ietf.org<mailto:provreg@ietf.org>>
Subject: Re: [provreg] RFC 5733: street changes with contact:update




On Fri, Nov 15, 2013 at 6:46 AM, Hollenbeck, Scott <shollenbeck@verisign.com<mailto:shollenbeck@verisign.com>> wrote:
> -----Original Message-----
> From: Klaus Malorny [mailto:Klaus.Malorny@knipp.de<mailto:Klaus.Malorny@knipp.de>]
> Sent: Friday, November 15, 2013 4:01 AM
> To: Hollenbeck, Scott; Seth Goldman
> Cc: IETF Provreg Mailing List
> Subject: Re: [provreg] RFC 5733: street changes with contact:update
>
> On 14.11.2013 19:48, Hollenbeck, Scott wrote:
> > I don’t know how one can make a case that sub-element replacement is
> acceptable.
> > Section 3.2.5 of RFC 5733 says this (emphasis mine):
> >
> > “The EPP <update> command provides a transform operation that allows
> a client to
> > modify the attributes of a contact _/object/_.”
> >
> > and this:
> >
> > “An OPTIONAL <contact:chg> element that contains _/object attribute
> values to be
> > changed/_.”
> >
> > The <update> is thus focused on _/changing/_ the attributes of the
> _/object/_.
> > In the example Klaus provided, the command received is “replace the
> existing
> > <contact:postalInfo> attribute with a new instance of
> <contact:postalInfo>”. The
> > server failed to replace the two <street> elements with the single
> element
> > provided in the <update>. It shouldn’t work that way.
> >
> > Scott
> >
>
> Hi Scot, Seth,
>
> up to now I regarded the name, the organization and the the whole
> address block
> as the replacable units, derived from the associated XML schema. It
> namely
> contains two datatypes, "postalInfoType" for the create command and
> "chgPostalInfoType" for the update command. The first contains the
> <name> and
> <addr> elements as mandatory elements, the latter contains them as
> optional
> elements. If one would consider the postalInfo itself as the replacable
> unit, it
> would not make sense to enforce the name and address on <create>, but
> would
> allow to remove them with a following <update> request.
>
> So simply asked: What does the following schema-wise legal request do?
>
> <contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
>    <contact:id>C20131114-01</contact:id>
>    <contact:chg>
>      <contact:postalInfo type="int"/>
>    </contact:chg>
> </contact:update>
>
> Does it clear the international contact? Does it leave the
> international postal
> data simply unchanged (aside from being illegal in Scot's view to
> submit a
> command that is effectively non-modifying). Does the following command

Go back to what I was trying to say yesterday: <chg> means "replace existing with new". So yes, it would change the international postal info to "empty".

> <contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
>    <contact:id>C20131114-01</contact:id>
>    <contact:chg>
>      <contact:postalInfo type="int">
>        <contact:org>ACME Solutions</contact:org>
>      </contact:postalInfo>
>    </contact:chg>
> </contact:update>
>
> modify the postal info so that it *solely* contains the organization
> and nothing
> else afterwards?

Assuming all other schema requirements are met, yes.

I believe Klaus's point is that under this interpretation, the schema allows you to update a postalInfo to a version that would not be allowed in a create.

I still think your interpretation of the replace semantics is correct. But the schema is inconsistent, so it's understandable to interpret it otherwise.


Scott
_______________________________________________
provreg mailing list
provreg@ietf.org<mailto:provreg@ietf.org>
https://www.ietf.org/mailman/listinfo/provreg