Re: Anyone working on 4310-bis?

Howard Eland <[email protected]>
Newsgroups gmane.ietf.provreg
Message-ID <[email protected]>
On Oct 30, 2009, at 12:30 PM, Klaus Malorny wrote:

> On 30/10/09 15:39, Andrew Sullivan wrote:
>> Hi,
>
> Hi Andrew,
>
>>
>> On Fri, Oct 30, 2009 at 12:39:00PM +0100, Klaus Malorny wrote:
>>
>> [...]
>>> 2) there is a consensus that<add>  and<rem>  elements shall be  
>>> allowed in
>>> a single request, which must be on the other hand mutually  
>>> exclusive to
>>> the<chg>  element.
>>
>> Are we sure that the<add>  and<rem>  elements have to be processed in
>> the order in which they appear?  I am not completely sure.  I recall
>> at least one operator who had an issue related to this
>> processing-order question.  If they do _not_ have to be so processed,
>> then in fact they can't be allowed in a single request because the
>> effect could be different from what is intended.  (Note that this
>> remark also means that there is by no means a consensus on this  
>> matter
>> yet.)
>>
>> [...]
>
> This problem has always been the case with EPP. If I submit a domain  
> update request with adding the status "clientHold" and removing the  
> status "clientHold" at the same time, what is the outcome? This  
> applies to contacts, name servers and other stuff as well.
>
> So the protocol should clearly say how such a situation shall be  
> handled:
> - define a static execution order, e.g. first the removal, then the  
> addition
> - declare this as ambiguous and reject the order
> - declare this as a non-change and ignore
>
> By the way, as there seems to be some confusion: IMHO the order in  
> the XML document should *never* imply any order of execution.

Yes and no - that's _exactly_ what <sequence> is for - to prescribe a  
predetermined order via XML.

If we follow RFC5731 (see below), using domain status as in Klaus'  
example, then the correct thing to do is declare update child elements  
as a <sequence>, with add first, then rem.  The RFC is silent beyond  
that, so I would assume that this means the server must execute all  
adds in any order, then execute all rems in any order, then execute  
all chgs in any order.

    <!--
    Child elements of the <update> command.
    -->
    <complexType name="updateType">
     <sequence>
       <element name="name" type="eppcom:labelType"/>
       <element name="add" type="domain:addRemType"
        minOccurs="0"/>
       <element name="rem" type="domain:addRemType"
        minOccurs="0"/>
       <element name="chg" type="domain:chgType"
        minOccurs="0"/>
     </sequence>
    </complexType>

>
>>
>> Not elements, but attributes, is the way I've got it at the  
>> moment.  I
>> didn't include the attributes other than the hash in the text as it's
>> written, but I think James has convinced me there'd be no harm in
>> adding the other ones.
>
> If this "select" solution is taken, I don't mind whether it is  
> implemented via elements or attributes.
>
> Regards,
>
> Klaus
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
> =-=-=-
> List run by majordomo software.  For (Un-)subscription and similar  
> details
> send "help" to [email protected]
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.