Deadwood 3.2.02 is a stable release. This release has a new parameter: max_ttl, which limits how long an entry can stay in the cache; the default TTL cap is one day (86400 seconds). --- Deadwood 3.2.01 is a stable release. The default timeout has been decreased from 2 to 1 second. This will make resolution faster for the majority of users; for users on slow connections with problems resolving domains, add the following line to a dwood3rc file: timeout_seconds = 3 num_retries now has a default value of 5 instead of 2. To restore the old value, add this to the dwood3rc file: num_retries = 2 --- Deadwood 3.0.04, in addition to fixing a number of bugs, has added some features. In particular: * I consider it a bug if any valid dwood3rc file does not parse in Python 2. That in mind, I have updated the dwood3rc parser to not allow parameters to have any leading whitespace (since whitespace is significant in Python). This is OK: recursive_acl = "127.0.0.1/16, 192.168.1.1/24" But this will raise an error: recursive_acl = "127.0.0.1/16, 192.168.1.1/24" (Observe the extra space in the left of the second example) * It is no longer allowed to set both root_servers or upstream_servers for a given name. In other words, a configuration like this will now raise an error: upstream_servers = {} upstream_servers["example.com."] = "127.0.0.1" root_servers = {} root_servers["example.com."] = "192.168.1.1" * Deadwood now raises a warning when the same name is set more than once. This will now trigger a warning: upstream_servers = {} upstream_servers["example.net."] = "10.1.2.3" upstream_servers["example.net."] = "192.168.1.1" I was tempted to make this fatal, but decided not to because making this fatal would make it more difficult to manage large anti-phish/malware blacklists. * It is no longer permitted to initialize root_servers or upstream_servers more than once. This will now raise an error: upstream_servers = {} upstream_servers["example.net."] = "10.1.2.3" upstream_servers = {} upstream_servers["example.com."] = "192.168.1.1" * Deadwood will now raise an error for invalid lists of root or upstream servers. This is now fatal: root_servers = {} root_servers["."] = "foo" * Deadwood now requires that any bind_address is in the recursive ACL. This is now fatal: bind_address = "127.0.0.1, 192.168.1.42" recursive_acl = "127.0.0.1/16" It can be fixed thusly: bind_address = "127.0.0.1, 192.168.1.42" recursive_acl = "127.0.0.1/16, 192.168.1.1/24" --- Deadwood 3.0.03 is a bugfix-only upgrade of Deadwood 3.0.02. No changes made will impact users. --- Deadwood 3.0.02 is a bugfix-only upgrade of Deadwood 3.0.01. The one update that will noticably impact users is the fact that filter_rfc1918 now filters more DNS replies. In particular, DNS answers with the following IP ranges are now filtered by default: * 192.168.x.x * 172.[16-31].x.x * 10.x.x.x * 127.x.x.x * 169.254.x.x * 224.x.x.x * 0.0.x.x If one of the above IPs is detected in a DNS reply, and filter_rfc1918 has a value of 1, Deadwood will return a synthetic "this host does not reply" response (a SOA record in the NS section) instead of the A record. The reason for this is to provide a "dnswall" that protects users for some kinds of attacks, as described at http://crypto.stanford.edu/dns/ If it is desired to have DNS answers with these IPs, add the following line to dwood3rc.txt: filter_rfc1918 = 0