[Pdns-dev] PowerDNS version 2.9.18 *almost* released

bert hubert bert.hubert at netherlabs.nl
Fri Jul 15 01:16:37 CEST 2005


Hi people,

I was planning to release 2.9.18 tonight but ran into too many
technicalities, so I'm asking you all to test the release and yell loudly if
they don't work on your system.

The main thing that changed is that I'm now building on Ubuntu, and that we
now depend on Boost. I expect to do the real release tomorrow, possibly just
by making these files 'official'.

The files to try are:
	http://ds9a.nl/pdns/pdns-2.9.18.tar.gz
	http://ds9a.nl/pdns/pdns-static-2.9.18-1.i386.rpm
	http://ds9a.nl/pdns/pdns-static_2.9.18-1_i386.deb

Let me know how you fare, if things work as intended or not!

Release notes, which are not expected to change:

   The '8 million domains' release, which also marks the battle
   readiness of the PowerDNS Recursor. The latest improvements
   have been made possible by financial support and contributions
   by Register.com and XS4ALL. Thanks!

   This release brings a number of new features, but also has a
   new build dependency, the Boost library.

   Currently several big ISPs are evaluating the PowerDNS
   recursor for their resolving needs, some of them have switched
   already. In the course of testing, over 350 million actual
   queries have been recorded and replayed, the answers turn out
   to be satisfactorily.

   This testing has verified that the pdns recursor, as shipped
   in this release, can stand up to heavy duty ISP loads (over
   20000 queries/second) and in fact does so better than major
   other nameservers, giving more complete answers and being
   faster to boot.

   We invite ISPs who note recursor problems to record their
   problematic traffic and replay it using the tools described in
   Chapter 19 to discover if PowerDNS does a better job, and to
   let us know the results.

   In other news, the entire Wikipedia constellation now runs on
   PowerDNS using the Geo Backend! Thanks to Mark Bergsma for
   keeping us updated.

   General bugs fixed:

     * TCP authoritative server would not relaunch a backend
       after failure (reported by Norbert Sendetzky)
     * Fix backend restarting logic (reported, and fix suggested
       by Norbert Sendetzky)
     * Launching identical backends multiple times, with
       different settings, did not work. Reported by Mario Manno.
     * Questions from clients denied recursion could blank out
       answers to clients who are allowed recursion services,
       temporarily. Reported by Wilco Baan. This would've made it
       possible for outsiders to blank out a domain temporarily
       to your users. Luckily PowerDNS would send out SERVFAIL or
       Refused, and not a denial of a domain's existence.
     * Master/slave queries did not honour the
       query-local-address setting. Spotted by David Levy of
       Register.com. The fix also randomises the local port used,
       slightly improving security.

   Compilation fixes:

     * Fix compile on Solaris, they define 'PC' for some reason.
       Reported by Eric Yiu.
     * PowerDNS recursor would not compile on FreeBSD due to
       Linux specific defines, as reported in cvstrac ticket 26
       (Ralf van der Enden)
     * Several 64 bits issues have been fixed, especially in the
       Logging subsystem.
     * SSQLite would fail to compile on recent Debian systems
       (Matthijs Mohlmann)
     * Generic MySQL would not compile on 64-bit platforms.

   Improvements:

     * PowerDNS now reports stray command line arguments, like
       when running '--local-port 5300' instead of
       '--local-port=5300'. Reported by Christian Welzel.
     * We now warn against erroneous logging-facility
       specification, ie specifying an unknown facility.
     * --version now outputs gcc version used, so we can tell
       people 2.95 is no longer supported.
     * Extended regression tests, moved them to the new 'sdig'
       tool (see below).
     * Bind2backend is now blazingly fast, and highly memory
       efficient to boot. As a special bonus it can read gzipped
       zones directly. The '.NET' zone is hosted using 401MB of
       memory, the same size as the zone on disk.
     * The Pipe Backend has been improved such that it can send
       out different answers based on the IP address the question
       was received ON. See Section A.1.1 for how this changed
       the Pipe Backend protocol. Note that you need to set
       pipebackend-abi-version to benefit from this change,
       existing clients are not affected. Change and
       documentation contributed by Marc Jauvin of Register4Less.
     * LDAP backend has been updated (Norbert Sendetzky).

   Recursor improvements and fixes. See Chapter 11 for details.
   The changes below mean that all of the caveats listed for the
   recursor have now been addressed.

     * After half an hour of uptime, the entire cache would be
       pruned for each packet, which is a tad slow. It now
       appears the pdns recursor is among the faststest around.
     * Under high loads, or when unlucky, some query mthreads
       would get 'stuck', and show up in the statistics as
       eternally running queries.
     * Lots of redundant gettimeofday() and time() calls were
       removed, which has resulted in a measurable speedup.
     * pdns_recursor can now listen on several addresses
       simultaneously.
     * Now supports setuid and setgid operation to allow running
       as a less privileged user (Bram Vandoren)
     * Return code of pdns_recursor binary did not make sense
       (Matthijs Mohlmann and Thomas Hood)
     * Timeouts and errors are now split out in statistics.
     * Many people reported broken statistics, it turned out that
       no statistics were being reported if there had been no
       questions to base them on. We now log a message to that
       effect.
     * Add query-local-address support, which allows the recursor
       to send questions from a specific IP address. Useful for
       anycast setups.
     * Add outgoing TCP query support and proper truncated answer
       support. Needed for Worldnic Denial of Service protection,
       which sends out truncated packets to force clients to
       connect over TCP, which prevents spoofing.
     * Properly truncate our own answers.
     * Improve our TCP answers by using writev, which is slightly
       friendlier to the network.
     * On FreeBSD, TCP errors could cause the recursor to exit
       suddenly due to a SIGPIPE signal.
     * Maximum number of simultaneous client TCP connections can
       now be limited with the max-tcp-clients setting.
     * Add agressive timeouts for TCP clients to make sure
       resources are not wasted. Defaults to two seconds, can be
       configured with the client-tcp-timeout setting.

   Backend fixes:

     * SQLite backend would not slave properly (Darron Broad)
     * Generic MySQL would not compile on 64-bit platforms.

   New technology:

     * Added the new DNS parser logic, called MOADNSParser.
       Completely modular, every memory access checked.
     * 'sdig', a simple dig workalike with 'canonical' output,
       which is used for the regression tests. Based on the new
       DNS parser logic.
     * dnswasher, dnsreplay and dnsscope, all DNS analysis tools.
       See Chapter 19 for more details.
     * Generic Oracle Backend, sponsored by Register.COM. See
       Section A.5.3.

-- 
http://www.PowerDNS.com      Open source, database driven DNS Software 
http://netherlabs.nl              Open and Closed source services


More information about the Pdns-dev mailing list