Re: Anyone working on 4310-bis?

James Gould <[email protected]>
Newsgroups gmane.ietf.provreg
Message-ID <C71079A0.3586E%[email protected]>
Klaus,

Thanks for the summary of the topic.  I personally liked the schema updates
that you had proposed with the added text around returning an error for use
of the existing <rem><keyTag> method when more than one DS record matches
and clarity around the use of the <chg>, so my responses are pretty much in
line with that proposal below.

-- 


JG 

-------------------------------------------------------
James F. Gould
Principal Software Engineer
VeriSign Naming Services
[email protected]
Direct: 703.948.3271
Mobile: 703.628.7063

 
21345 Ridgetop Circle
LS2-2-1
Dulles, VA 20166

Notice to Recipient:  This e-mail contains confidential, proprietary and/or
Registry  Sensitive information intended solely for the recipient and, thus
may not be  retransmitted, reproduced or disclosed without the prior written
consent of  VeriSign Naming and Directory Services.  If you have received
this e-mail message in error, please notify the sender immediately by
telephone or reply e-mail and destroy the original message without making a
copy.  Thank you.



From: Klaus Malorny <[email protected]>
Date: Fri, 30 Oct 2009 07:39:00 -0400
To: EPP Provreg <[email protected]>
Subject: Re: [ietf-provreg] Anyone working on 4310-bis?



Hi all,

trying to catch up on the e-mails of yesterday, I'd like to summarize the
state
of the discussion as far as I understand:

1) it is a little bit unclear to me whether we still want to create an
update of
RFC 4310 that is fully backward compatible, XML-wise and mostly
semantically.

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.

I agree the <add> and <rem> should be allowed at the same time.  This makes
it consistent with the other EPP RFC¹s.  If <add> and <rem> were supported
at the same time, if we could uniquely identify each DS record, and if we
weren¹t worried about backward compatibility, then the <chg> option could be
removed.  

3) there is a consensus that as of RFC 4310, the <chg> is a replace-all
operation, i.e. all existing DS records are removed completely and
independently
from the data provided and the provided DS records are added.

In it¹s current form, for the current specification to work, the <chg> needs
to be interpreted as a replace  all.  Having to split an update with
multiple DS across multiple commands, is not a good practice and increases
the risk of domains be published in an in-the-middle invalid state.

4) there is a disagreement of how to interpret a
<rem><keytag>1234</keytag></rem> in the case that multiple DS records with
this
key tag have been provisioned earlier. One choice is to reject the
operation,
the other is to remove all DS records matching the key tag. There is a third
choice of removing the the <keytag> element at all.

I believe that it should be reject if there is a mechanism to uniquely
identify a DS record.  We are planning on deleting all of the matching DS
records with the current specification, which is one of the areas of
confusion that I would like to be fixed.  EPP should be explicit to what the
client really wants to do, so I¹m in favor of rejecting if there is
ambiguity and we¹re supporting the existing form of <rem> for backward
compatibility.  This is at list backward compatibility from an XML schema
perspective.  

5) there is a disagreement of how to repair the <rem> element. One choice is
to
use the existing "dsDataType", with the semantics that it must match exactly
an
existing DS record, otherwise the request will fail (questionable though
what an
exact match is). The other choice is to create a separate "selectType"
datatype
which contains optional elements only. All existing DS records are tested
against the respective element. If a key tag, algorithm, digest type or
digest
has been specified, the respective component must match, otherwise the DS
record
is retained. While easy to define, still unknown what happens if no DS
records
match or a DS record matches multiple "selectType" instances.

I prefer just using the dsDataType since there should be no question related
to matching the DS.  I don¹t believe that there should be two DS records for
a domain with the same four elements (keyTag, alg, digestType, and digest)
and the registry should ensure this.  There is the very remotely possibility
of having more than one DS record with the combination of a subset of the
elements.  Although I agree the likelihood of duplicate digest values is
statistically impossible.  I don¹t see any huge advantage to use a subset of
the elements since it leaves no ambiguity.  Supporting the existing
<rem><keyTag> scheme for backward compatibility should return an error when
more than one DS records matches if the dsDataType scheme is supported.

6) if we break backward compatibility, the <keyData> element can be
revisited.
It is unclear to me whether registries exist that would prefer to have the
key
data *instead* of the DS data and not *in addition*.

We are not planning on supporting the optional <keyData> element.

Please feel free to correct me if I misunderstood something.

-------

Now my further comments:

* If we break compatibility, then we should consider removing either
<add>/<rem>
or <chg> for the sake of symmetry to the base EPP standards and extensions.
As
far as I understand the Scott Hollenbeck's design pattern, there is *either*
a
replace-all/change strategy *or* an add/remove strategy on a certain data
element. For example, the registrant contact adheres the "change" strategy,
while the other contacts adhere an add/remove strategy. RFC 4310 breaks it.

* I am a little bit undetermined regarding the "selectType" approach. While
it
is a nice idea, it is also some kind of novelty in the EPP world. As far as
I
can remember, always the same datatype has been used for both the removal
and
addition. Of course, not in all cases all data fields have been used for
comparison. For example, I assume no registry implementation will check the
human readable text and the language for a removal of a status value, while
it
is possible to specify it. Also, I don't see that much the use cases. IMHO
the
most frequent use will be the KSK rollover, and for that purpose, this
flexibility is not required.

* regarding 4), the <keytag> element, I think the least trouble is to allow
the
removal of multiple DS records, but still rejecting the request, if no DS
record
is found at all.

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.