Recursion not always working.

Sam Trenholme strenholme.usenet at gmail.com
Thu Aug 6 10:43:58 EDT 2009


>I'm having an issue where maradns will not do a reverse lookup for a
>particular ip address. (there may be more but I just came across this
>issue and haven't found another.)

This issue should be fixed when I release MaraDNS 2.0.  I *hope* to release
MaraDNS 2.0 before the end of the year, but, being an open source project,
it might take longer.

Here's what happening: I'm rewriting the recursive resolver for MaraDNS.
The old code was always designed to be a placeholder until I wrote a new
recursive resolver.

The new recursive resolver is called "Deadwood"; right now it's a fully
functional non-recursive DNS cache.  It's being actively developed:

http://maradns.blogspot.com/search/label/Deadwood

As an aside, it's an interesting question with computer programmers when you
should rewrite your code.  Joel Spolsky argues you should never rewrite a
program:

http://www.joelonsoftware.com/articles/fog0000000069.html

On the other hand, Bartosz Milewski argues that you should rewrite your code
often to make it as clean and maintainable as possible:

http://www.relisoft.com/book/index.htm

I take the middle road.  I currently have no plans to rewrite the
authoritative code for MaraDNS; the design I had in 2001 works and after
eight years still works today.

The recursive code, however, was never something I was happy with.  I
learned a lot about what a DNS server needs to do to be a good recursive
resolver when I wrote MaraDNS' original recursive resolver; I was, after
months of testing and tweaking, able to get the code to work with the
majority of domains; only a few corner cases don't resolve.

Unfortunately, a lot of that tweaking to get MaraDNS' 1.0 recursive resolver
to work resulted in a lot of ugly hacks to get things I didn't foresee when
I started writing the code to resolve.  By the time MaraDNS 1.0 came out,
the recursive code was quite ugly.  I have, since then, only done some minor
tweaks to the code (getting CNAME-over-PTR working in late 2002; getting
Microsoft.com to resolve again in early 2006).

Since the old recursive code is a bit difficult to maintain, and since I
*am* working on rewriting the recursive code, my rule is that I will only
resolve issues where an Alexa top 500 site can not resolve with MaraDNS'
current recursive resolver at all:

http://maradns.blogspot.com/2009/05/alexa-top-500-list.html

When Deadwood starts being able to process recursive DNS queries, I
encourage people to test it to the limit and report any and all domains that
don't correctly resolve.

- Sam

I do not answer MaraDNS support requests sent by private email without being
compensated for my time. I will discuss rates if you want this kind of
support. Thank you for your understanding.


More information about the list mailing list