BIND started replying to queries for .com with .COM

Phil Mayers p.mayers at
Wed Mar 30 10:58:50 UTC 2016

On 30/03/16 10:50, Tony Finch wrote:

> Yes, we encountered that problem recently :-) You can revert to the old
> behaviour using
> 	no-case-compress { any; };

+1 super confusing when we first ran into it (Exim dnslookup.c, by any 
chance? ;o)

In detail, since I spent ages figuring this out:

Previously, bind would compress DNS labels in a reply case-insensitively.

Bind *also* forces the case of the "question" section to be *exactly* 
the same as that sent by the client.

This means that, previously, anything in the ans/auth/add sections of a 
reply matching the query name or any suffix of it would effectively be 
forced to the case of the matching part of the query name i.e. what the 
client sent, not what the cache contains.

With the new case-sensitive compression, bind won't consider 
"" and "example.COM" the same, so they won't be 
label-compressed and the mixed-case value starts appearing in replies 
(again to emphasise, only the ans/auth/add section - qname will match 
the client value exactly).

Standards aside, it's damn confusing to see ans/auth/add sections in a 
dig reply with crazy mixed case, triggered by some completely random 
previous client. I will have to rewrite that bit of my brain :o)

More information about the bind-users mailing list