Re: U-labels and draft-obispo-epp-idn-00

Andrew Sullivan <[email protected]>
Newsgroups gmane.ietf.provreg
Message-ID <[email protected]>
Hi,

At the risk of creating a stain on the ground where once there was a
horse that had already been beaten to death, let me try once more.

On Wed, Feb 15, 2012 at 08:57:17AM +0100, Patrik Fältström wrote:

> > The examples I gave are not U-labels, no.  But they're Unicode forms
> > of IDNA2003-compliant systems that happen to generate Punycode forms
> > that are perfectly good A-labels.  If I got a candidate U-label that
> > didn't match the A-label, I could detect this.  If I just get the
> > A-label, I can't.
> 
> Bingo!
> 
> Sending U-labels in addition to A-labels does not make any sense.

Of course if we could be sure that every time we had what looked like
an A-label, the party that sent it did in fact have the U-label, then
I agree that there would be no reason whatever to send them both.  The
nice thing about IDNA2008 is that every A-label corresponds to exactly
one U-label.

The nasty thing about IDNA2008, however, is that some A-labels also
correspond to Punycode forms from IDNA2003, and those Punycode forms
do not always match a Unicode form that is the same as the U-label
you'd get under IDNA2008.  See upthread for examples.

This incompatibility is one of the reasons that Unicode pushes UTS 46.
I'm trying to suggest a way to ensure no confusion, by ensuring we
have a (standard) way at registration time of detecting when something
is wrong.  I want to make the element optional precisely so that, at
some brave happy day in the future when we have no reason to suppose
anyone is sending an IDNA2003-based Punycode form, we could turn the
thing off.  Moreover, I'm aware that some registries don't like to do
this sort of additional verification of client-supplied data, and that
therefore it cannot be a required element.  Even RFC 5891 doesn't say
you need to submit both; it just says that it would be better.

> But then you do no longer talk about sending U-labels and A-labels!
> 
> You send unicode strings and A-labels!

Yes, in a case where the U-label and A-label are not products of one
another, then either the U-label or the A-label is wrong.  But in some
of those cases, it is _indeterminate_ which one is wrong.  For
instance, suppose I have a string with a final form sigma in the
middle of it (because it's made up by putting together two strings
that would be words in Greek), an IDNA2003 transformation will not
include Punycode that will get you a final form sigma.  The final form
sigma is mapped away, as you know.  Now, if you have the input of the
candidate U-label and the candidate A-label, you can tell whether they
are in fact the U-label and A-label for one another.  If you only have
the A-label, you can generate a perfectly good U-label, but it isn't
the one the EPP client thought it was requesting.

I maintain -- and I think the plain meaning of RFC 5891 agrees with me
-- that this additional check should result in the rejection of the
registration request.  If it makes you happier to call the element
where we put the candidate U-label "unicodestring", or
"bobsgreatuncle", or "greatpointlesslongnameforelement", instead of
"u-label", I don't care.  My point is merely that it is entirely
reasonable for a registry to have this requirement, and to enforce it.

Best,

A

-- 
Andrew Sullivan
[email protected]
_______________________________________________
provreg mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/provreg
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.