Wednesday, June 3, 2009

Deadwood 2.4.03 released

I have just released Deadwood 2.4.03. Like all 2.4 releases of Deadwood, this is a testing release; while reasonable effort has been made to keep the code bug-free, the emphasis is on adding new features and not on fixing bugs.

This release is, from the user's point of view, identical to Deadwood 2.4.02. The changes are all under-the-hood changes.

I have changed the code that handles dictionary variables to use the already-in-place code in DwHash.c instead of trying to implement yet another string-indexed array in Deadwood. The changes I made were fairly minor, but needed a lot of testing with Valgrind to make sure I wasn't leaking any memory or doing any double-freeing of elements.

I also made the Valgrind test more fussy; for Deadwood to pass its regression, it now needs to generate no errors when Deadwood is compiled with -DVALGRIND_NOERRORS (Valgrind doesn't like how Deadwood reads uninitialized memory to get more entropy for the random number generator).

I also had to revise the hash_magic_number test a little since the DwDict.c code is now mostly a wrapper for the relevant functions in DwHash.c.

Next: Implement real compression and decompression for DNS RRs, and implement resource record rotation.

It can be downloaded at maradns.org/deadwood/testing.

To keep things clean, I have removed all snapshot releases.