DNSSEC, by the way, is a bug and not a feature.
DNSSEC, by the way, is a bug and not a feature.
I switched to PowerDNS mainly for this reason.
I remember that djbdns had some other quirks too. Like I had to setup a supervisor to run it (no integration with the init system), I had to run one instance for IPv4, one for IPv6 and one for IPv4 zone transfers. Also it didn't support zone transfers over IPv6.
Maybe all these have been fixed, it is a couple years since I last used it.
https://github.com/pflanze/tinydns-scm
I'll send you notification when done if you give me your email (you can contact me at the URL in my profile). (Or supposedly you could "watch" the Github repo above for similar effect.)
Edit: the functionality on Github to get notifications is "watch", not "star".
TinyDNS and dnscache can each be sped up by about a factor of two by replacing a few of a hand-rolled primitives with their SIMD equivalents, but even after that neither is terribly fast and it's very easy to exhaust their limits. axfrdns is deal-breaker slow; it forks a new process for each TCP connection.
And with apologies for the domain name; http://dnsneedsfuckingtcp.info/ .
To generalize my point; DOS is a very significant risk to DNS server availability these days, and the first and best defense is to have a fast server (Knot's target of 500k qps is in the right ballpark). djbdns is single threaded, single process and doesn't even use epoll/kqueue, it's just not up to it and tops out within a few 10k qps, axfrdns won't get close to that.
https://github.com/abh/djbdns/blob/master/byte_copy.c is a good example of my earlier point too; last time I profiled tinydns it spent a lot of time in vanity routines like that; the libc implementations are factored to CPU instructions and are much better.
No disagreement with your points about Bind though.
Being secure is a notable achievement, but that shouldn't completely hold up iterative improvements.
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1191
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0858
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4392
It just has the fewest. But they still popup from time to time.