I've upgraded to bind 9.4.0rc1 form 9.4.0b4 and I've discovered they both have
some odd behaviour when I enable IDN.

If I do:
$ dig _ldap._tcp.example.com
dig: convert UTF-8 textname to IDN encoding: prohibited character found

Removing the underscores makes it not complain. I assumed the problem was with
idnkit, but when I tested this:
$ echo _ldap._tcp.example.com | idnconv
_ldap._tcp.example.com

idnkit seems happy to pass the underscores through. It also handles:
$ echo _ldap._tcp.démonstration.com | idnconv
_ldap._tcp.xn--dmonstration-beb.com

So, idnkit is willing to deal with names with _, but dig is not. If I disable
IDN (either by using the IDN_DISABLE environment variable or recompiling), I
can do:
$ dig _ldap._tcp.example.com
with no problem.

Are IDN and _ names mutually exclusive? Thanks.
--
--Andre Masella (andre at masella.no-ip.org)