Djbdns
The djbdns software package is a DNS implementation. It was created by Daniel J. Bernstein in response to his frustrations with repeated security holes in the widely used BIND DNS software. As a challenge, Bernstein offered a $1000 prize for the first person to find a security hole in djbdns, which was awarded in March 2009 to Matthew Dempsky.
, djbdns's tinydns component was the second most popular DNS server in terms of the number of domains for which it was the authoritative server, and third most popular in terms of the number of DNS hosts running it.
djbdns has never been vulnerable to the widespread cache poisoning vulnerability reported in July 2008, but it has been discovered that it is vulnerable to a related attack.
The source code has not been centrally managed since its release in 2001, and was released into the public domain in 2007. As of March 2009, there are a number of forks, one of which is dbndns, and more than a dozen patches to modify the released version.
While djbdns does not directly support DNSSEC, there are third party patches to add DNSSEC support to djbdns' authoritative-only tinydns component.
Components
The djbdns software consists of servers, clients, and miscellaneous configuration tools.Servers
- dnscache — the DNS resolver and cache.
- tinydns — a database-driven DNS server.
- walldns — a "reverse DNS wall", providing IP address-to-domain name lookup only.
- rbldns — a server designed for DNS blacklisting service.
- pickdns — a database-driven server that chooses from matching records depending on the requestor's location.
- axfrdns — a zone transfer server.
Client tools
- axfr-get — a zone-transfer client.
- dnsip — simple address from name lookup.
- dnsipq — address from name lookup with rewriting rules.
- dnsname — simple name from address lookup.
- dnstxt — simple text record from name lookup.
- dnsmx — mail exchanger lookup.
- dnsfilter — looks up names for addresses read from stdin, in parallel.
- dnsqr — recursive general record lookup.
- dnsq — non-recursive general record lookup, useful for debugging.
- dnstrace — comprehensive testing of the chains of authority over DNS servers and their names.