Support this website or
listen to my music
Groundbreaking of Deadwood project
October 5 2007
This was originally posted on my old blog
In today's snapshot of MaraDNS, I have started a new project that I
have been meaning to do for years: A complete rewrite of the recursive
half of MaraDNS. I am calling this project the "Deadwood" project.
My goals is to, step by step, make a non threaded recursive DNS server.
The three stages of the Deadwood project will be
- Make a basic "load
balancing" DNS server that takes incoming DNS requests, sends the request
on to one or more "upstream" DNS servers, and give the reply from the
upstream server back to the client.
- Make a basic caching DNS server,
that will need the upstream server do all the heavy lifting of making the
recursive query, but that will remember queries so the upstream server
doesn't have to do as much work
- A full-featured recursive server, like
what MaraDNS now has
Today, I have begun the first step; it is, if you
will, the "groundbreaking" (first) release of the new MaraDNS recursor.
What I have done is make a simplified buffer-overflow resistant string
library that has all of the parts of MaraDNS's string library that I
actually use, but none of the stuff that I implemented but never use.
My next step is to make a mararc parser, and then I will make the DNS
client.
It is part of the lastest MaraDNS snapshot available
here, in
a directory with the title
deadwood-1While I have
wanted to do this for years now, I'm glad I waited because people have
done a lot of testing with MaraDNS and found some minor security problems.
I now know what coding mistakes to avoid to not even have those minimal
kinds of security problems.