Showing posts with label stable release. Show all posts
Showing posts with label stable release. Show all posts

Tuesday, September 28, 2010

MaraDNS 2.0.01 released

I have released MaraDNS 2.0.01. This is simply MaraDNS 1.4 with the deprecated MaraDNS 1.x recursive DNS server removed, and with the documentation updated to reflect the fact that Deadwood 3 is now used for MaraDNS’ recursion. People, of course, are free to use MaraDNS 1.4 for as long as they want, but its recursive code is now deprecated and only supported for critical security updates.

I encourage users of MaraDNS to use Deadwood for all recursion with MaraDNS.

Sunday, September 26, 2010

Friday, September 24, 2010

Deadwood 3.0.01 released

I have released Deadwood 3.0.01 today. With this release made, no new features will be added to the Deadwood recursive resolver for the foreseeable future. However, bug fixes and other routine maintenance will still be applied to this software package.

Deadwood is now a stable recursive resolver suitable for embedded systems, desktop PCs, or on internet servers. Deadwood is fully 64-bit compatible, has optional support for IPv6, and does not require threads to resolve records.

Deadwood 3.0.01 will be the recursive resolver for MaraDNS 2.0, which I will release shortly, as well as being an optional recursive DNS server to use in MaraDNS 1.4.

It has been a pleasure developing Deadwood and MaraDNS for nearly a decade. I will continue to support MaraDNS and Deadwood but have no plans to add new features once MaraDNS 2.0 is released.

In addition, I no longer need to accept donations for MaraDNS. All Deadwood and MaraDNS support needs to be done via the MaraDNS mailing list.

The 3.0.01 release of Deadwood is available here:

http://maradns.org/deadwood/stable/

Wednesday, August 11, 2010

Deadwood 2.3.06 released

I released Deadwood 2.3.06 today. This is a minor update to the older caching-only branch of Deadwood; most users of Deadwood will want to use the current 2.9 branch of Deadwood which has full recursion.

The update is one with possible (but not readily exploitable) security implications. There is a potential null pointer dereference in Deadwood’s underlying string library that the four-line patch assures never happens. As far as I know, there is no way to exploit this issue in Deadwood 2.3 (the bug only popped up when stressing the string library more in the recursive code in Deadwood 2.9), but it is prudent to update the older tiny branch of Deadwood.

Most of the work making this release was updating the tests to work with CentOS 5.5. CentOS 5.4 → 5.5 was supposed to be a bugfix-only update, but, not only did they update Valgrind to a newer version with different output, they also broke select(). The SQA tests have been updated to pass in CentOS 5.5.

The main advantage of the tiny branch of Deadwood is that its binary is only about 32 kilobytes in size, as opposed to Deadwood 2.9’s 64 kilobyte binary. There may be certain tiny embedded systems where this matters. Another advantage is that it can be optionally compiled without caching, making it act as a DNS load balancer. The main disadvantage is that it is a non-recursive cache; it needs another recursive server (like Deadwood 2.9) to do the “heavy lifting” of recursively solving DNS queries.

It can be looked at here:

http://maradns.org/deadwood/tiny

Since this is a maintenance update to an older branch of Deadwood, I have not made Windows binaries. Windows users: Please compile it yourself or, better yet, just use Deadwood 2.9 instead. Really, I can’t think of a machine out there that can run Windows XP (Deadwood won’t run on 95/98/Me because it is a service) where it matters whether the DNS server is 32 or 64 kilobytes in size. The 90s are, like, so over.

Saturday, July 31, 2010

MaraDNS 1.4.04 released

Now that Deadwood is feature-complete, I have released MaraDNS 1.4.04. This is the most current stable release of MaraDNS; if using an older MaraDNS, please update to this release (yes, I ran a bunch of SQA tests so anything that worked before should work in 1.4.04).

While the old recursive code is still in place to allow people to slowly make the transition to using Deadwood as their recursive DNS server, Deadwood 2.9.02 is included. The Windows version of MaraDNS has had its documentation updated to encourage people to use Deadwood for recursion instead of MaraDNS; I will also start nudging *NIX users along.

I have also, as blogged about yesterday, made a tool for getting entropy from the OS and putting it in a file. This is currently a very simple tool; it makes a random 64-byte file called secret.txt which MaraDNS and Deadwood can use. It acts like a UNIX command: There is no user interface; when it is run, it just silently creates the 64-byte random secret.txt file, overwriting any already existing secret.txt, and only outputting something if something goes wrong.

It’s a lot better than the old “just type in some random text to make secret.txt” directions I have given. I plan on making it a little more friendly (failing if secret.txt already exists, and stating the secret.txt file has been created, and always pausing and having the user hit a key so they know what the program is doing if called from the GUI.)

In addition, I fixed the bug with delegation NS records and ANY queries, as well as incorporating a NAPTR bugfix I made a few months ago in to the code. There is a full changelog.

It can be looked at here:

http://maradns.org/download.html

Or here:

http://sourceforge.net/projects/maradns

Sunday, June 27, 2010

Deadwood 2.5.03 released: Memory leak plugged

While working on Deadwood 2.6.03, I found a memory leak that affects the 2.5 “stable” branch of Deadwood (but not the 2.3 branch); I have backported the plug for this memory leak to the 2.5 branch of Deadwood and have just released Deadwood 2.5.03:

http://maradns.org/deadwood/stable/

As an aside, the 2.5 stable branch of Deadwood is going to no longer be maintained when Deadwood 2.9.01 is released, hopefully in a week or two. I only made the Deadwood 2.4 and 2.5 stable branches because the fully recursive Deadwood code was taking longer than I expected, and I wanted a version of Deadwood taking advantage of all of the infrastructure I was building up for use until I had a fully recursive Deadwood out the door.

Now that I am very close to having Deadwood be fully recursive, there soon will no longer be a need to use Deadwood 2.4/2.5. I will maintain Deadwood 2.3 for the foreseeable future, since it nicely fills the niche of an open-source tiny (32k) little non-recursive caching (or non-caching if you prefer) DNS server.

That in mind, this release of Deadwood does not include a TCC version for easy compiling on Windows; people who want to compile Deadwood in Windows without installing MinGW (or Cygwin, for that matter) should compile Deadwood 2.6.03.



Google search fail: Around 2007, Stephen G. Hartke made some freely available fonts and put them up on a Geocities page. These fonts were then rounded up by the various “download this font” websites out there (Font Squirrel, etc.). Because of how Google indexes pages, the sites that mirrored the font appear first in the Google’s search results.

This would not be a problem, except for the fact that the GeoCities page has since been taken down. It took me 30 minutes of searching to find the official page for Stephen G. Hartke’s fonts (most notably Aurulent Sans).

My general experience is that Google has not handled the expansion of the internet in the first 2000s decade very well. It used to be that search results would quickly put you on interesting pages made by enthusiasts with truly useful content. These days, searches for things like obscure video games or what not will pop up a list of pages for the topic in question on the same small list of websites which happen to have a high Google ranking, regardless of whether the page in question has any interesting content. It often times takes a lot of digging around to find actually useful information.

Friday, March 5, 2010

New Deadwood stable branch: Deadwood 2.5

I have updated the stable release of Deadwood to use the 2.5 branch. This gives us two significant features compared to 2.4:
  • DNS wall functionality (enabled by default; if a DNS reply gives us a 10.x.x.x, 192.168.x.x, or 172.[16-31].x.x IP, we discard the reply)
  • TCC support, allowing people to compile Deadwood in Windows without needing to install an entire development suite
The release I have made is Deadwood 2.5.02; compared to Deadwood 2.5.01, the only change is a small bugfix to the decompression code; there were minor problems with incorrect rdlengths in decompressed packets (see this blog entry for details).

I have done a full test battery for Deadwood 2.5.02; all of the 32-bit and 64-bit SQA tests were done to verify there are no regressions; I also have made sure both the TCC compile and premade binary for Windows work (and, indeed, am using the Windows binary of Deadwood 2.5.02 for DNS lookups writing this blog entry).

In addition to releasing Deadwood 2.5.02, which is available at http://maradns.org/deadwood/ and on MaraDNS’ download page, I have also updated the MaraDNS snapshot to use Deadwood 2.5.02 (available here), as well as the “head” branch of Deadwood (here).

Friday, January 8, 2010

MaraDNS 1.4.02 released

I have just released MaraDNS 1.4.02 today. This has one important bug-fix: csv2_default_zonefile works again. Also, I’ve updated the documentation to reflect 1.4 being the current MaraDNS release, and the SQA regressions work in my current development environment (CentOS 5) — using these tests is how I found the csv2_default_zonefile bug.

It can be downloaded at Sourceforge and on the MaraDNS download page:

http://maradns.org/download.html

There is also a changelog.

Monday, December 21, 2009

MaraDNS 1.4.01 released

OK, for the first time since 2007, I am making a stable branch of MaraDNS. I have released MaraDNS 1.4.01 today, which is MaraDNS 1.3.07 with some minor feature enhancements and bug fixes. It can be downloaded from the MaraDNS download page.

While I have updated some of the documentation to reflect the fact MaraDNS is now MaraDNS 1.4, not all of the documentation has been updated.

To do:
  • Make MaraDNS 1.4.01 available on MaraDNS' Sourceforge download page (Update: Done 20091221)
  • Work on updating the documentation and pieces of the code which assume we're using an older MaraDNS release.

Saturday, December 19, 2009

Deadwood 2.4.10 released

In preparation for Monday's release of MaraDNS 1.4.01, I have released Deadwood 2.4.10 today. This is Deadwood 2.4.09 with the documentation fully updated to reflect the fact it uses Google's DNS servers as the upstream by default (e.g. The README in the Windows binary makes it clear that you don't need to change the upstream DNS servers).

In addition, I ran the full SQA test in 64-bit CentOS 5.3 in addition to running it in 32-bit CentOS 5.3 to make sure the code has no regressions; in other words, everything that worked before still works.

It can be downloaded here:

http://www.maradns.org/deadwood/

Friday, December 11, 2009

Deadwood 2.4.09 released; new MaraDNS snapshot

I have released Deadwood 2.4.09 today; this is Deadwood 2.4.08 with a couple of minor bugs fixed and with the default DNS servers set to be Google's new public DNS servers.

It can be downloaded at http://maradns.org/deadwood/



I have also updated the MaraDNS snapshot to update the Deadwood download link, update the version of Deadwood included with MaraDNS to be Deadwood 2.4.09, and add a note in the mararc man page that putting a * in a csv2 zone name will make the program terminate with a fatal error.

Wednesday, November 11, 2009

Deadwood 2.4.08 released; MaraDNS snapshot update

Since I have delayed, for the time being, my work finishing up the recursive version of Deadwood and releasing MaraDNS 2.0, I am declaring Deadwood 2.4 stable and making it the new stable version of Deadwood.

Deadwood 2.4 has a number of features Deadwood 2.3 doesn't have, most notably RR rotation, TTL aging, and dictionary support for upstream_servers--you can have one upstream DNS servers to recursively resolve "google.com" for you and another, that redirects phishing domains, resolve "rnyspace.com" or "paypaI.com" for you.

I have just released Deadwood 2.4.08 today. Compared to Deadwood 2.3, Deadwood 2.4 has:
  • TCP and UDP done by the same service/process
  • upstream_servers now a full "dictionary" variable
  • Full DNS compression and decompression support
  • RR rotation and TTL aging
  • ip_blacklist support (if you have an annoying ISP DNS server that redirects mistyped domains to some ad-filled page, just put the IPs of that annoying page on your ip_blacklist and Deadwood will make it a DNS "not there" reply again)
  • execfile support (Deadwood can now include other files while parsing its configuration file)
  • Merging multiple identical in-flight queries (if you just asked for google.com, and ask for it again, instead of creating a new query for google.com, it will just merge your query with the one already sent)
It can be downloaded here:

http://www.maradns.org/deadwood/

I have also updated the MaraDNS snapshot release to have the download page point to the new 2.4 stable release of Deadwood.

Sunday, October 25, 2009

Deadwood 2.3.05 released

I have released Deadwood 2.3.05 today. This is a stable release of Deadwood; the only changes from Deadwood 2.3.04 are bug fixes. To wit:
  • Spurious fflush() removed
  • Deadwood now forwards on to the client (but doesn't cache) unusual DNS packets, as long as the ID and question match. This can be disabled by setting a new dwood2rc parameter, deliver_all, to 0
  • Slight revision to code so it will compile in GCC 4.4 without any warnings
  • Documentation and SQA tests updated. Most notably, the deliver_all parameter is documented and the BUGS section of the manpage points out having an incomplete last line is a syntax error.
It can be downloaded here:

http://www.maradns.org/deadwood

Sunday, June 7, 2009

Deadwood 2.3.04 released: Documentation updated

I have just released Deadwood 2.3.04. This is the stable branch of Deadwood; the only changes to the code are documentation updates and bug fixes. The code is nearly identical to Deadwood's 2.3.03 code, but the documentation has been updated:
  • "ifconfig" replaced by "ipconfig" in Windows version of dwood2rc.txt
  • I tested and verified Deadwood 2.3 works in Windows 7 last night, so the docs have been updated to mention Windows 7.
  • The random hash compression prime has been updated
  • Full testing has been done in both 32-bit and 64-bit CentOS 5
It can be downloaded at maradns.org/deadwood

Thursday, May 21, 2009

Deadwood 2.3.03 released and snapshot update

Since MaraDNS requires lines like upstream_servers = {} before any lines like upstream_servers["."] = "10.1.2.3", I have fixed both Deadwood 2.3 and the current snapshot to be able to parse the upstream_servers = {} line without thinking it's a syntax error.

This hotfix only makes the above line parse without error; it's a 3-line change to the source code. The line doesn't do anything and I will not make it mandatory in Deadwood 2.3, so that this bugfix-only update doesn't break current existing configurations.

Note that Deadwood 2.1 will not be updated with this fix.

This release can be downloaded at maradns.org/deadwood

Friday, April 24, 2009

Deadwood 2.3.02 released: Documentation clean-up

As I was going through some of the Deadwood documentation the other day, I realized that the Windows documentation was, in some parts out of date, with information no longer true like Deadwood-over-TCP not being installable as a Windows service. So, the last couple of days, I have been going through the Deadwood documentation and updating it, especially the Windows documentation.

I have also noted the default value for all Deadwood parameters in the Deadwood man page (Deadwood reference).

This revised documentation should be more clear to read and follow, especially for Windows users.

I have also slightly rearranged the SQA tests (the "maxprocs" tests sometimes randomly fails in my CentOS 5 virtual machine, so it's now one of the first tests done), and added a comment in DwMararc.c pointing out the default values there are not always the default values used by Deadwood, with a pointer on how to find the real default values. The code is otherwise unchanged (except for the random prime updated and the version number bumped up).

This is a stable release of Deadwood, and will be supported for the foreseeable future.

Deadwood 2.3.02 can be downloaded at maradns.org/deadwood or at maradns.org/download.html.

My next project is to start work on adding TCP support to the UDP code, so we can have a combined UDP and TCP daemon. I should probably also remove that one passing reference to IPv6 in the Deadwood Windows reference (no IPv6 support in Windows).

Wednesday, April 22, 2009

Deadwood 2.3.01 released: Stable Deadwood release

I have released Deadwood 2.3.01 today. This is a stable release of Deadwood that will be maintained for the foreseeable future with bugfixes; it is a very good tiny forwarding/caching DNS server when one has access to other recursive DNS servers.

The biggest change, compared to Deadwood 2.1, is that the program is now a full-fledged Windows service. In addition, it's now possible, in CentOS 5, to compile the program without caching, which makes the binary a little smaller.

I did a number of tests with this code. I've added a couple of tests to make sure Deadwood can compile and run correctly when compiled without caching; in addition I have added a test to make sure there are no warnings when compiled with GCC 4.3. I also installed CentOS 5 64-bit and made sure it passed all of the tests (except the network TCP test, which I can't run in CentOS 5 because it's non-trivial to get my Intel 3945ABG wifi card to work).

The documentation included with the Windows binary has improved, and the program is now a single combined binary under 32k in size.

One minor issue with the Windows binary is that one can not see the DeadwoodTCP service logs until the service is stopped (the buffer is not flushed). The Deadwood (UDP) service will not flush logs unless it is idle for a second (so as to not waste time flushing buffers when heavily loaded).

Deadwood 2.3.01 can be downloaded on the Deadwood web page or on MaraDNS' download page. The Deadwood 2.1 branch will only be available and supported for three more months (it will be removed from the website on July 22, 2009), and is available here

Thursday, April 16, 2009

Deadwood 2.1.02 released: DNS-over-TCP now works

I have released Deadwood 2.1.02 today; this is Deadwood 2.1.01 with the small patch to get DNS-over-TCP to work again applied.

Deadwood 2.1 is the stable branch of Deadwood; for the time being, any significant bug fixes in the "developer snapshot" and 2.2 branch of Deadwood are backported for the 2.1 branch, so people can have a version of Deadwood without significant changes.

Since Deadwood is still in active development, I will probably only support Deadwood 2.1 for six months or so; I will expect people to update to 2.3 (slightly different build process; real service in Windows which will change how things are done there, etc.) fairly quickly.

It can be downloaded at maradns.org/deadwood

Monday, March 9, 2009

First Deadwood stable release (2.1.01)

Well, the changes to made Valgrind not see any memory leaks in Deadwood were pretty minor; I implemented these changes this morning and added a SQA test to make sure Valgrind doesn't see the program leaking memory in the future.

So, yes, I was able to make a stable release of Deadwood today. I have already released it and it's available at http://www.maradns.org/deadwood.

Now, I'm going to make a Windows binary of Deadwood 2.1.01, and put a pointer to Deadwood on the MaraDNS web page.

- Sam

Update: A Windows 32-bit binary of Deadwood 2.1.01 is available; it's in the same location with the file name Deadwood-2-1-01-win32.zip. Note that this binary doesn't support writing the cache to disk (Windows doesn't use *NIX signal handling), but is otherwise as functional as the *NIX version of Deadwood.

Friday, December 14, 2007

MaraDNS 1.2.12.09 release; snapshot update

I have uploaded MaraDNS 1.2.12.09 today. This backports some minor bugfixes in the 1.3 branch to the 1.2 branch. Also, the ICANN root server list is updated. Since there are no critical bugs fixed in this, I will continue to support 1.2.12.08 for a few more months, in order to give distributions time to update to 1.2.12.09. Here

I have also uploaded an updated snapshot for the development version of MaraDNS, available here