Update on Deadwood (MaraDNS rewrite)

Sam Trenholme strenholme.usenet at gmail.com
Wed Apr 8 13:30:16 EDT 2009


> Does not really matter if the authoritative lives on 127.0.0.1 and you
> have similar functionality as you do in 1.3.x that effectively relays
> particular domains to particular IP's....it would need to be a 'pass
> through' non-caching option though.

It matters if people have to materially change their MaraDNS
configuration to update to a new version.  My rule for software
updates is that I don't like forcing users to make substantial changes
to their configuration when upgrading.  This is why MaraDNS 1 will
still be (minimally) supported after 2.0 comes out so as to ease
transition.  My rule is three years of support for an older version
once a new version compatible with the older version is released.

> I would imagine that this would help keep the codebases very separate
> and the 'pass-though no cache' hack would be rather non-invasive.

I have some tentative plans on keeping the authoritative codebase
separate and have it so I have to do the minimum amount of
modifications to update things for MaraDNS 2.2.  The mararc underlying
parser has already been rewritten for Deadwood, so code that interacts
with the parser (main() in MaraDNS) will be redone for MaraDNS 2.2.
[1]

> [1] we need DNS views

It is going to take a few years for me to implement that, since that's
a change to the authoritative code. [2]  There's a lot of stuff the
authoritative code needs: DNS views; the ability to reload zones
without restarting MaraDNS (one of my sponsors asked me for this);
full Notify, IXFR, and AXFR support.

All of this matters, but it's more important right now to rewrite the
recursive cache, since the recursive code was always "something that
works until I can rewrite it", and got quite messy by the time it was
able to reasonably well resolve names on the internet [3].

Just to let people know, I will not have access to email starting
today until Sunday night or Monday, so will not be able to send
replies.

- Sam

[1] MaraDNS 2.0 will be Deadwood with full recursion + MaraDNS with
recursion disabled.

[2] If someone is willing to sponsor me to do this, it would be quite
expensive; you basically will have to hire me and it will then take
three to six months of me working on the code eight hours a day, five
days a week.

[3] This is why I don't like making changes to the recursive code; the
code needs to be rewritten; band-aid solutions to hosts that don't
resolve are just that: Band aid solutions.  It's akin to Windows ME at
this point; the best thing we can do to move forward is to no longer
use this code and rewrite the code from scratch.  Which is what I've
been doing on and off since 2007.


More information about the list mailing list