This is a Deadwood release with a significant part of full recursion implemented: The code that analyzes an incoming DNS packet to determine what the next course of action should be (send the reply to the stub resolver, contact another NS server, look up a different hostname because we got a CNAME referral, etc.), complete with security checks like bailiwick verification, has been done.
Right now, the code that caches an entry runs this code to massage a DNS packet; this results in the packets Deadwood returning from cache looking different (anything that isn’t an answer to our question is now removed from a DNS packet). Indeed, I had to overhaul the SQA tests to reflect this change.
This is an important step in giving Deadwood full recursion so I can get MaraDNS 2.0 out the door.
It can be looked at here: