I did that RR type implementation several months before I got the response from the author on the proposed erratum. Under the supposition that the author would agree with my obvious correctness, I put in a requirement that all characters in labels be alphanumeric. As it turned out my correctness wasn't obvious to the author after all, and perhaps I should have revisted the coding decision then. The problem is, if BIND receives a zone transfer containing a record like this, it's quite likely to dump a copy of the zone to disk, and if it's using masterformat "text", then it won't be able to reload the zone afterward. This admittedly isn't a huge problem -- it wastes time on unnecessary retransfers, and wastes disk space on copies of the "bad" zone file left around for inpsection, but it doesn't prevent the server from working -- but it is a problem. It really should've been caught before the CAA code point was issued. Anyway, removing the following lines from lib/dns/rdata/generic/caa_257.c should make the FORMERR go away: /* Check the Tag's value */ for (i = 0; i < len; i++) if (!alphanumeric[sr.base[i]]) RETERR(DNS_R_FORMERR);