Tuesday, October 20, 2009

MaraDNS thoughts

I was having a private conversation on the internet with someone who has helped MaraDNS a lot over the years. I told them the following when I mentioned MaraDNS’ future:

I do plan on finishing up MaraDNS 2.0, which should have full ipv6 support, better recursive resolving, and then I plan on finishing up that Python script that converts BIND zone files in to MaraDNS “csv2” zone files. The csv2 zone files already have support for pretty much anything you would see in a BIND zone file; it’s just a matter of finishing up the Python script.

I don’t know when I’ll go back to working on that code, however. Other things are more important. Namely: I need to become really familiar with OO programming to stay competitive in today’s job market. I don’t plan on spending the rest of my life working in an exotic Latin country babysitting Windows computers earning only pennies on the dollar.

Poking around with Google, in addition to finding a lot of really positive things said on Slashdot about MaraDNS (thank you everyone for your kind words), I found a couple of Slashdot comments asking for full IPv6 support; one of the comments asks for BIND zone file support.

MaraDNS right now has full authoritative-only IPv6 support; zone files have native support for AAAA records and, if MaraDNS is compiled without recursion enabled, MaraDNS can bind to and listen on IPv6 sockets. Deadwood, which will some day become MaraDNS’ recursive resolver, has full IPv6 support today for non-recursive DNS queries, and I fully plan on adding full IPv6 recursive support.

I also have been working on and off for years adding BIND zone file support to MaraDNS. I have made a lot of revisions to MaraDNS’ “csv2” zone format to make it easier to convert BIND zones to MaraDNS zone files; I have a Python script that converts BIND zone files to MaraDNS zone files, but the script is incomplete and there’s a lot of corner cases it doesn’t cover. One of my goals is to finish up that script, minimize the corner cases and give MaraDNS good BIND zone file support.

“Plan” being the operative word here. I really need to update my software development skills for the 21st century, and that means mastering OO programming. My beautiful girlfriend has become my beautiful fiancĂ©e—I need to do what it takes to get a job making a living wage like I was making during the dot-com boom again. And, sorry, but making people on Slashdot happy doesn’t pay the bills.