Subject: Re: [dnssd] Comparison of DNS names with subtype

From: Stuart Cheshire <[email-masked]>
Date: Wed, 22 Jan 2014 21:44:21 -0800

On 18 Dec, 2013, at 14:16, Andrew Sullivan <[email-masked]> wrote:

> On Wed, Dec 18, 2013 at 10:58:27PM +0100, Ilya Kulakov wrote:
> 
>> According to RFC 6763, subtypes have absolutely no constraints and can be expressed using arbitrary 8-bit data.
> 
> Yes.
> 
>> 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.
> 
> 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.

Yes, our intent was merely to remind the reader of case insensitivity as defined in RFC 1034 -- i.e., US ASCII characters 0x41-0x5A are equivalent to 0x61-0x7A. There are no other automatic equivalences.

This text went in because some developers were using Base64 to generate subtype strings, and were then caught off-guard when they got matches they weren’t expecting.

Stuart Cheshire