Category: Uncategorized

OX Summit & other conferences

Hi everyone,

As we are working on the 4.1 & 1.2 releases, please know you can also meet us in real life! We are just back from IETF in Prague, here is a list of other places where we will be present:

We hope to meet you there!

PowerDNS Recursor 4.1.0-alpha1 released

We’re happy to release the first alpha version of the PowerDNS Recursor 4.1.0.

This release features all the improvements made to the 4.0 branch of the PowerDNS Recursor, as well as an improved DNSSEC validator that reduces CPU load by caching the validation status.

The Lua scripting engine has several new features, such as the possibility to see whether a query came in over tcp in gettag, and allowing dq.data to be returned from that same function.

For those running RPZ, support for wildcarded target names has been added, as well as an option to limit the TTL from the RPZ. To top this off, several performance improvements have been added.

The full changelog is here. As you may notice, the documentation has been split from the original shared documentation that existed before.

The tarball is available on downloads.powerdns.com (signature) and packages for CentOS 6 and 7, Debian Jessie and Stretch, Ubuntu Trusty, Yakkety, Xenial and Zesty are available from repo.powerdns.com.

We invite you to test this alpha and send us all feedback and issues you might have via the mailinglist, or in case of a bug, via GitHub.

Happy testing!

PowerDNS Recursor 4.0.6 released!

This release features a fix for the ed25519 verifier. This verifier hashed the message before verifying, resulting in unverifiable signatures. Also on the Elliptic Curve front, support was added for ED448 (DNSSEC algorithm 16) by using libdecaf.

Besides that, this release features massive improvements to our edns-client-subnet handling, and some IXFR fixes. Note that this release changes use-incoming-edns-subnet to disabled by default.

The full changelog looks like this:

Bug fixes

  • commit c24288b87: Use the incoming ECS for cache lookup if use-incoming-edns-subnet is set
  • commit b91dc6e92: when making a netmask from a comboaddress, we neglected to zero the port. This could lead to a proliferation of netmasks.
  • commit 261591b6f: Don’t take the initial ECS source for a scope one if EDNS is off
  • commit 66f894b7a: also set d_requestor without Lua: the ECS logic needs it
  • commit c2086f265: Fix IXFR skipping the additions part of the last sequence
  • commit a5c9534d0: Treat requestor’s payload size lower than 512 as equal to 512
  • commit 61b1ea2f4: make URI integers 16 bits, fixes ticket #5443
  • commit 27f9da3c2: unbreak quoting; fixes ticket #5401

Improvements

  • commit 2325010e6: with this, EDNS Client Subnet becomes compatible with the packet cache, using the existing variable answer facility.
  • commit 2ec8d8148: Remove just enough entries from the cache, not one more than asked
  • commit 71df15677: Move expired cache entries to the front so they are expunged
  • commit d84834c4c: changed IPv6 addr of b.root-servers.net (Arsen Stasic)
  • commit bcce047bc: e.root-servers.net has IPv6 now (phonedph1)
  • commit cef8ec7c2: hello decaf signers (ED25519 and ED448) Testing algorithm 15: ‘Decaf ED25519′ ->’Decaf ED25519’ -> ‘Decaf ED25519’ Signature & verify ok, signature 68usec, verify 93usec Testing algorithm 16: ‘Decaf ED448′ ->’Decaf ED448’ -> ‘Decaf ED448’ Signature & verify ok, signature 163usec, verify 252usec (Kees Monshouwer)
  • commit 68490a4b5: don’t use the libdecaf ed25519 signer when libsodium is enabled (Kees Monshouwer)
  • commit 5a88a8ed5: do not hash the message in the ed25519 signer (Kees Monshouwer)
  • commit 0e7893bf4: Disable use-incoming-edns-subnet by default

Tarball (sig) is available on the downloads website. Packages for Debian Jessie and Stretch, CentOS 6 and 7 and Ubuntu 14.04, 16.04, 16.10 and 17.04 are uploaded to our repositories.

PowerDNS Authoritative Server 4.0.4 released!

Today we are releasing version 4.0.4 of the PowerDNS Authoritative Server.

This release features a fix for the ed25519 signer. This signer hashed the message before signing, resulting in unverifiable signatures. Also on the Elliptic Curve front, support was added for ED448 (DNSSEC algorithm 16) by using libdecaf.

The full changelog is as follows:

Bug fixes

  • #5423: Do not hash the message in the ed25519 signer (Kees Monshouwer)
  • #5445: Make URI integers 16 bits, fixes #5443
  • #5346: configure.ac: Corrects syntax error in test statement on existance of libcrypto_ecdsa (shinsterneck)
  • #5440: configure.ac: Fix quoting issue fixes #5401
  • #4824: configure.ac: Check in the detected OpenSSL/libcrypto for ECDSA
  • #5016: configure.ac: Check if we can link against libatomic if needed
  • #5341: Fix typo in ldapbackend.cc from issue #5091 (shantikulkarni)
  • #5289: Sort NSEC record case insensitive (Kees Monshouwer)
  • #5378: Make sure NSEC ordernames are always lower case
  • #4781: API: correctly take TTL from first record even if we are at the last comment (Christian Hofstaedtler)
  • #4901: Fix AtomicCounter unit tests on 32-bit
  • #4911: Fix negative port detection for IPv6 addresses on 32-bit
  • #4508: Remove support for ‘right’ timezones, as this code turned out to be broken
  • #4961: Lowercase the TSIG algorithm name in hash computation
  • #5048: Handle exceptions raised by closesocket()
  • #5297: Don’t leak on signing errors during outgoing AXFR; signpipe stumbles over interrupted rrsets; fix memory leak in gmysql backend
  • #5450: TinyCDB backend: Don’t leak a CDB object in case of bogus data

Improvements

  • #5071: ODBC backend: Allow query logging
  • #5441: Add ED25519 (algo 15) and ED448 (algo 16) support with libdecaf signer (Kees Monshouwer)
  • #5325: YaHTTP: Sync with upstream changes
  • #5298: Send a notification to all slave servers after every dnsupdate (Kees Monshouwer)
  • #5317: Add option to set a global lua-axfr-script value (Kees Monshouwer)
  • #5130: dnsreplay: Add --source-ip and --source-port options
  • #5085: calidns: Use the correct socket family (IPv4 / IPv6)
  • #5170: Add an option to allow AXFR of zones with a different (higher/lower) serial (Kees Monshouwer)
  • #4622: API: Make trailing dot handling consistent with pdnsutil (Tuxis Internet Engineering)
  • #4762: SuffixMatchNode: Fix insertion issue for an existing node
  • #4861: Do not resolve the NS-records for NOTIFY targets if the “only-notify” whitelist is empty, as a target will never match an empty whitelist.
  • #5378: Improve the AXFR DNSSEC freshness check; Ignore NSEC3PARAM metadata in an unsigned zone
  • #5297: Create additional reuseport sockets before dropping privileges; remove transaction in pgpsql backend

Tarball (sig) is available on the downloads website. Packages for Debian Jessie and Stretch, CentOS 6 and 7 and Ubuntu 14.04, 16.04, 16.10 and 17.04 are uploaded to our repositories.

PowerDNS Authoritative 4.0.4 Release Candidate 1 released!

Because 4.0.3 is 5 months ago, and a lot has happened since (see the long changelog below), we are doing a release candidate for release 4.0.4.

The full changelog looks like this:

Bug fixes

  • #5346: configure.ac: corrects syntax error in test statement on existance of libcrypto_ecdsa (shinsterneck)
  • #5341: Fix typo in ldapbackend.cc from issue #5091 (shantikulkarni)
  • #5289: NSEC sorting (Kees Monshouwer)
  • #4824: Check in the detected OpenSSL/libcrypto for ECDSA
  • #4781: API: correctly take TTL from first record even if we are at the last comment (zeha)
  • #4901: Fix AtomicCounter unit tests on 32-bit
  • #4911: Fix negative port detection for IPv6 addresses on 32-bit
  • #4508: Remove support for ‘right’ timezones, as this code turned out to be broken
  • #4961: Lowercase the TSIG algorithm name in hash computation
  • #5048: Handle exceptions raised by closesocket()
  • #5378: Make sure NSEC ordernames are always lower case
  • #5297: Don’t leak on signing errors during outgoing AXFR; signpipe stumbles over interrupted rrsets; fix memory leak in gmysql backend

Improvements

  • #5325: YaHTTP: Sync with upstream changes
  • #5298: Notify dnsupdate backport (Kees Monshouwer)
  • #5317: add option to set a global lua-axfr-script value (Kees Monshouwer)
  • #5130: dnsreplay: Add --source-ip and --source-port options
  • #5085: calidns: Use the correct socket family (IPv4 / IPv6)
  • #5170: Backport: Add an option to allow AXFR of zones with a different (higher/lower) serial #5169 (Kees Monshouwer)
  • #5071: backport #5051: fix godbc query logging (cherry-pick of d2bc6b2)
  • #4622: API dot-inconsistencies
  • #4762: SuffixMatchNode: Fix insertion issue for an existing node
  • #5016: backport #4838: Check if we can link against libatomic if needed
  • #4861: Do not resolve the NS-records for NOTIFY targets if the “only-notify” whitelist is empty, as a target will never match an empty whitelist.
  • #5378: Improve the axfr dnssec freshness check; Ignore NSEC3PARAM metadata in an unsigned zone
  • #5297: Create additional reuseport sockets before dropping privileges; remove transaction in pgpsql backend

Tarballs (sig) and packages for different operating systems can be downloaded from the downloads website. The packages are versioned so that users of the 4.0.x repositories can download and install them (using dpkg -i or rpm -U) and when the final release of 4.0.5 is added to the repositories, the package will be upgraded to the version in the repository.

PowerDNS Recursor 4.0.5 Released!

Today we are releasing version 4.0.5 of the PowerDNS Recursor. The most important change is the addition of the KSK-2017, the new root key for DNSSEC, that will be used to sign the root starting October 11th 2017 (read more about the keyroll). If you do DNSSEC validation, upgrading is mandatory to continue to validate DNSSEC after October 11th 2017! Also on the DNSSEC front, Kees Monshouwer added support for validating ed25519 (algorithm 15) signatures when linked against libsodium. Packages supplied by us have this support enabled.

The RPZ module has also seen a steady number of improvements, like support for RPZ wildcard target names and several stability and performance improvements.

The full changelog looks like this:

Additions and Enhancements

  • commit 7705e1c: Add support for RPZ wildcarded target names. Fixes #5237
  • #5165: Speed up RPZ zone loading and add a zoneSizeHint parameter to rpzFile and rpzMaster for faster reloads
  • #4794: Make the RPZ summary consistent (Fixes #4342) and log additions/removals at debug level, not info
  • commit 1909556: Add the 2017 root key
  • commit abfe671 and commit 7abbb2c: Update Ed25519 algorithm number and mnemonic and hook up to the Recursor (Kees Monshouwer)
  • #5355: Add use-incoming-edns-subnet option to process and pass along ECS and fix some ECS bugs in the process
  • commit dff1a11: Refuse to start with chroot set in a systemd env (Fixes #4848)
  • commit 5a38a56: Handle exceptions raised by closesocket() to prevent process termination
  • #4619: Document missing top-pub-queries and top-pub-servfail-queries commands for rec_control (phonedph1)
  • commit 502a850: IPv6 address for g.root-servers.net added (Kevin Otte)
  • commit 7a2a645: Log outgoing queries / incoming responses via protobuf

Bug fixes

  • commit af76224: Correctly lowercase the TSIG algorithm name in hash computation, fixes #4942
  • commit 86c4ed0: Clear the RPZ NS IP table when clearing the policy, this prevents false positives
  • commit 5e660e9: Fix cache-only queries against a forward-zone, fixes #5211
  • commit 2875033: Only delegate if NSes are below apex in auth-zones, fixes #4771
  • commit e7c183d: Remove hardcoding of port 53 for TCP/IP forwarded zones in recursor, fixes #4799
  • commit 5bec36e: Make sure labelsToAdd is not empty in getZoneCuts()
  • commit 0f59e05: Wait until after daemonizing to start the outgoing protobuf thread, prevents hangs when the protobuf server is not available
  • commit 233e144: Ensure (re)priming the root never fails
  • commit 3642cb3: Don’t age the root, fixes a regression from 3.x
  • commit 83f9226: Fix exception when sending a protobuf message for an empty question
  • commit ffdd813: LuaWrapper: Allow embedded NULs in strings received from Lua
  • commit c5ffd90: Fix coredumps on illumos/SmartOS, fixes #4579 (Roman Dayneko)
  • commit 651c0e9: StateHolder: Allocate (and copy if needed) before taking the lock
  • commit 547d68f: SuffixMatchNode: Fix insertion issue for an existing node
  • commit 3ada4e2: Fix negative port detection for IPv6 addresses on 32-bit systems

Tarball (sig) is available on the downloads website. Packages for Debian Jessie and Stretch, CentOS 6 and 7 and Ubuntu 14.04, 16.04, 16.10 and 17.04 are uploaded to our repositories.

PowerDNS Recursor 4.0.5 Release Candidate 2 released!

One and a half week after the release of Release Candidate 1 comes the second release candidate for the PowerDNS Recursor version 4.0.5.

These are the two changes between RC1 and RC2:

  • Added the use-incoming-edns-subnet option to process and pass along ECS and fix some ECS bugs in the process
  • Correct a syntax error in test statement on existence of libcrypto_ecdsa during configure

The full changelog between 4.0.4 and 4.0.5 is available.

Tarballs (sig) and packages for different operating systems can be downloaded from the downloads website. The packages are versioned so that users of the 4.0.x repositories can download and install them (using dpkg -i or rpm -U) and when the final release of 4.0.5 is added to the repositories, the package will be upgraded to the version in the repository.

We ask you to test this release and provide feedback.