Tuesday, July 22, 2008

Deadwood update

OK, as of today I have ended my break with MaraDNS.

I have just updated Deadwood, which is the next-generation recursive core for MaraDNS. There is a bug where sometimes an empty packet would get in to the cache. This is a big deal; an empty packet in the cache will cause Deadwood to be unable to resolve the name in question until the packet is flushed from the cache.

The update to Deadwood doesn't resolve why these empty packets get in the cache, but works around the issue by making sure any packet from the cache is not empty. Cached empty packets are deleted when seen and then the packet is re-cached.

This resolves the problem I have seen with Deadwood this last week where, every now and then, I'm not able to go to a web page.

In addition, I have revamped the signal handling code so that, when stopping Deadwood with Control-C, Deadwood will write the cache to disk before terminating. This resolves the annoyance of having to open up another windows and send Deadwood a signal if I want the updated cache written.

It can be downloaded here:

http://www.maradns.org/deadwood

- Sam