Parsing the issues and finding a middle ground -- another attempt

John C Klensin klensin at
Tue Mar 3 22:09:51 CET 2009

--On Tuesday, March 03, 2009 15:46 -0500 Andrew Sullivan
<ajs at> wrote:

> On Tue, Mar 03, 2009 at 03:27:11PM -0500, John C Klensin wrote:
>> >> (iii) We tell folks on the lookup side that, if a label in
>> >> native-character form is invalid under IDNA2008 but valid
>> >> under IDNA2003, they SHOULD apply the IDNA2003 mappings and
>> >> look the thing up.  Note that this implies two tests but
>> >> only one lookup in the DNS. ...
>> > 
>> > If we made that a MUST, I'd be happy with it. If it is not a
>> > MUST, then we can always have two kinds of implementations,
>> > which will inevitably cause some interoperability problems.
>> I said "SHOULD" because, in IETF-speak, MUST implies that
>> there are no exceptions and, in particular, no cases in which
>> an implementation (or application specification) might
>> reasonably insist on a "no mapping" approach for absolute
>> precision about what is being done.
> What about something along these lines:
>     If a label in native-character form is invalid under
> IDNA2008 but     valid under IDNA2003, an application SHOULD
> apply the IDNA2003     mapping, and MUST apply the IDNA2003
> mapping by default.     Applications MAY provide a mechanism
> to disable the IDNA2003     mappings according to local
> policy.  Applications MUST NOT use any     other mapping.

Of course, if one says "SHOULD apply the IDNA2003 mapping", then
"MUST apply the IDNA2003 mapping by default" is completely
redundant.   If it means anything at all, it is exactly what
"SHOUD apply..." means.

Also, "MUST NOT use any other mapping" puts our Turkish friends
and a few other edge cases into a situation in which they have a
choice between doing something sensible and conforming to the
standard. That is another situation we should try, IMO, to
avoid, if only because, as soon as we say "to do something
sensible, you have to violate the standard", we sort of
encourage other violations for things others consider sensible.
And that takes us right back to the loose "local mapping"
language to which you, Mark, and others object.

> ?  I kind of hate this (and it's unenforcable anyway), but is
> it is roughly what you're both aiming at?

For the reasons above, my preference is to stick with my
original "SHOULD" statement and leave all of the edge cases in a
gray area.  But I could live with other solutions.

Note that, since we have already had a challenge to the WG on
the basis of a strict interpretation of the charter, I do not
believe I can insert any text into the normative documents that
requires mapping of any sort (even with a "SHOULD") without
explicit instructions from Vint and/or Lisa.  I can put a note
into Rationale, or even a placeholder into Protocol, for further
discussion, but, since we have been forced to stop proceeding on
the basis of figuring out the right thing to do as our primary
objective, I don't see how to go any further right now.   If
nothing else, that means that exact wordsmithing of this
provision is not in the critical path.


More information about the Idna-update mailing list