[Pdns-dev] PowerDNS version 2.9.20 released!

bert hubert bert.hubert at netherlabs.nl
Wed Mar 15 19:57:56 CET 2006

We are proud to release PowerDNS version 2.9.20, containing many bugfixes,
many speedups and new features to boot.

Now available for download from:


The HTML release notes have been enhanced with links to issue tickets and their
associated commits, see them in all their glory here: 


Release notes as text:

Besides adding OpenDBX, this release is mostly about fixing problems and
speeding up the recursor. This release has been made possible by XS4ALL
and True. Thanks!

Furthermore, we are very grateful for the help of Andrew Pinski, who hacks
on gcc, and of Joaquin M Lopez Munoz, the author of
boost::multi_index_container. Without their near-realtime help this
release would've been delayed a lot. Thanks!

Bugs fixed in the recursor:

  * Possible stability issues in the recursor on encountering errors
    (commit 532, commit 533)

  * Memory leaks in recursor fixed (commit 534, commit 572). In a test 800
    million real life DNS packets have been sent to the recursor,
    representing several days of traffic from a major ISP, memory use was
    high (500MB), but stable.

  * Prune all data in PowerDNS - previously per-nameserver and per-query
    performance statistics were kept around forever (commit 535)

  * IPv6 additional processing was broken. Reported by Lionel Elie Mamane,
    who also provided a fix. The problem was fixed differently in the end.
    commit 562.

  * pdns_recursor did not shuffle answers since 2.9.19, leading to
    problems sending mail to the Hotmail servers. Reported in ticket 54,
    fixed in commit 567.

  * If a single nameserver had multiple IP addresses listed, PowerDNS
    would only use one of them. Noted by Mark Martin, fixed in commit 570,
    who depends on a domain with 4 nameserver IP addresses of which 2 are

Improvements to the recursor:

  * Commits 535, 540, 541, 542, 543, 544, 545, 547 and 548, 574 all speed
    up the recursor by a large factor, without altering the DNS algorithm.

  * Move recursor to the incredible boost::multi_index_container (commit
    580). This brings a huge improvement in cache pruning times.

  * commit 549 and commit 550 work around gcc bug 24704 if requested,
    which speeds up the recursor a lot, but involves a dirty hack. Enable
    with ./configure --enable-gcc-skip-locking. No guarantees!

Bugs fixed in the authoritative nameserver:

  * PowerDNS would no longer allow a '/' in domain names, fixed by commit
    537, reported in ticket 48.

  * Parameters to pdns_control notify-host were not checked, leading to
    possible crashes. Reported in ticket 24, fixed in commit 565.

  * On some compilers, processing of NAPTR records could cause the server
    to crash. Reported by Bernd Froemel in ticket 29, fixed in commit 538.

  * Backend errors could make the whole nameserver exit under some
    circumstances, notably using the LDAP backend. Fixed in commit 583,
    reported in ticket 62.

  * Referrals were subtly broken by recent CNAME/Wildcard improvements,
    fixed in commit 539. Fix and other improvements sponsored by True.

  * PowerDNS would try to insert records it has no knowledge about in
    slave zones, which did not work. Reported in ticket 60, fixed in
    commit 566. A superior fix would be to implement the relevant unknown
    record standard.

Improvements to the authoritative nameserver:

  * Pipebackend did not properly propagate the ABI version to its
    children, fixed in commit 546, reported by kickdaddy at gmail.com in
    ticket 45.

  * OpenDBX backend added (commit 559, commit 560, commit 561) by Norbert
    Sendetzky. From the website: " The OpenDBX backend enables it to fetch
    DNS information from every DBMS supported by the OpenDBX library and
    combines the power of one of the best DNS server implementations with
    the flexibility of the OpenDBX library. " OpenDBX adds some other
    features like database failover. Thanks Norbert!

  * LDAP fixes as reported in ticket 37, fixed in commit 558, which maked
    pdns_control notify work.

  * Arjo Hooimeijer added support for soa-refresh-default,
    soa-retry-default, soa-expire-default, which were previously
    hardcoded. commit 563 and fallout in commit 573 (thanks to Wolfram


  * Fixes for g++ 4.1. Compiling with 4.1 realizes notable speedups.
    commit 568, commit 569.

  * PowerDNS now reports if it is running in 32 or 64 bit mode, useful for
    bi-arch users that need to know if they are benefitting from their
    great processor. commit 571.

  * dnsscope compiles again, commit 551, commit 564 (FreeBSD 64-bit

  * dnsreplay_mindex compiles again, fixed by commit 572. Its performance,
    and the performance of the recursor was improved by commit 559.

  * Build scripts were added, mostly for internal use but we know some
    PowerDNS users build their own packages too. commit 553, commit 554,
    commit 555, commit 556, commit 557.

  * bootstrap script was not included in release. Thanks to Stefan Arentz
    for noticing. Fixed in commit 574.

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