This is a little disturbing; nsd is kind of a big deal, and afl on zone files is a pretty basic test to run. Kudos to the author for doing it, but why haven't the authors of nsd done it already, and what else haven't they done?<p>There is really no good reason for DNS servers to be written in C anymore.
Nobody knows how to parse zone files.<p>I fuzzed a few zone file parsers several years ago, but to find the differences between implementations rather than crashes.<p>The problem is the format is really poorly specified, has been refined over about 10 RFCs, and still riddled with ambiguities. Every implementation out there handles things slightly differently.<p>I'll just dump some notes I wrote at the time, containing a list of RFCs and some findings, to gist:<p><a href="https://gist.github.com/nlyan/2a958fa476182e1b07955a945f0d7052" rel="nofollow">https://gist.github.com/nlyan/2a958fa476182e1b07955a945f0d70...</a>