Subject: [dnssd] Comparison of DNS names with subtype

From: Ilya Kulakov <[email-masked]>
Date: Wed, 18 Dec 2013 22:58:27 +0100

According to RFC 6763, subtypes have absolutely no constraints and can be expressed using arbitrary 8-bit data.
However, there is the note about comparison:
Note, however, that even when using arbitrary 8-bit data for
subtype strings, DNS name comparisons are still case-insensitive, so
(for example) the byte values 0x41 and 0x61 will be considered
equivalent for subtype comparison purposes.
But as all we know, “lowering” is locale-dependant operation. I believe that authors meant very specific translation map for lowering subtype strings, but I cannot find it.

Could you either point me to an RFC that defines such map or clarify the process of lowering subtype strings?

---

From: Andrew Sullivan <[email-masked]>
Date: Wed, 18 Dec 2013 17:16:12 -0500

> According to RFC 6763, subtypes have absolutely no constraints and can be expressed using arbitrary 8-bit data.

Yes.

> equivalent for subtype comparison purposes.

Ugh.  This clearly should have been "still case-insensitive for
comparison of ASCII-range characters" or something like that.  The DNS
RFCs are quite clear that the case insensitivity is for comparison of
ASCII characters only, because when they were written there was no way
to know what the eventual internationalization story would be.

The bizarre effect of this, actually, is that E and e match for the
purposes of the DNS _even if_ the rest of the string isn't all ASCII
characters.  The upshot of this is that école, éCole, écOLE, and so on
all match; but école and École (and Ecole) do not.

Note that I, at least, consider this matching rule a bug (or rather, a
mistake in the design) in STD13.

> But as all we know, “lowering” is locale-dependant operation. I believe that authors meant very specific translation map for lowering subtype strings, but I cannot find it.

This isn't case fold.  It's just case folding for the ASCII range, so
the locale doesn't enter into it.

Best regards,

A

-- 
Andrew Sullivan
[email-masked]