From 03d9a36941d5d7366dca4de36894f1c3fb5340e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 17 Feb 2018 11:47:20 +0000 Subject: [PATCH 1/2] powerdns: 4.0.5 -> 4.1.1 --- pkgs/servers/dns/powerdns/default.nix | 26 +++++++++++++------ .../dns/powerdns/skip-sha384-test.patch | 14 ++++++++++ 2 files changed, 32 insertions(+), 8 deletions(-) create mode 100644 pkgs/servers/dns/powerdns/skip-sha384-test.patch diff --git a/pkgs/servers/dns/powerdns/default.nix b/pkgs/servers/dns/powerdns/default.nix index 79fff80b0b8c..cde2fe1a426c 100644 --- a/pkgs/servers/dns/powerdns/default.nix +++ b/pkgs/servers/dns/powerdns/default.nix @@ -1,27 +1,36 @@ -{ stdenv, fetchurl, pkgconfig, - boost, libyamlcpp, libsodium, sqlite, protobuf, - mysql57, postgresql, lua, openldap, geoip, curl +{ stdenv, fetchurl, pkgconfig +, boost, libyamlcpp, libsodium, sqlite, protobuf, botan2 +, mysql57, postgresql, lua, openldap, geoip, curl, opendbx, unixODBC }: stdenv.mkDerivation rec { name = "powerdns-${version}"; - version = "4.0.5"; + version = "4.1.1"; src = fetchurl { url = "http://downloads.powerdns.com/releases/pdns-${version}.tar.bz2"; - sha256 = "097ci4s2c63gl0bil8yh87dsy0sk3fds4w8cpyjh5kns6zazmj2v"; + sha256 = "1fh4zgj0gxgcnnhnih8k6fbw18hb9brkkrfpx3mj8b4a3hr8ilq8"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ boost mysql57.connector-c postgresql lua openldap sqlite protobuf geoip libyamlcpp libsodium curl ]; + buildInputs = [ + boost mysql57.connector-c postgresql lua openldap sqlite protobuf geoip + libyamlcpp libsodium curl opendbx unixODBC botan2 + ]; + + patches = [ + # checksum type not found, maybe a dependency is to old? + ./skip-sha384-test.patch + ]; # nix destroy with-modules arguments, when using configureFlags preConfigure = '' configureFlagsArray=( - "--with-modules=bind gmysql geoip gpgsql gsqlite3 ldap lua pipe random remote" + "--with-modules=bind gmysql geoip godbc gpgsql gsqlite3 ldap lua mydns opendbx pipe random remote" --with-sqlite3 --with-socketdir=/var/lib/powerdns --enable-libsodium + --enable-botan --enable-tools --disable-dependency-tracking --disable-silent-rules @@ -29,7 +38,8 @@ stdenv.mkDerivation rec { --enable-unit-tests ) ''; - checkPhase = "make check"; + + doCheck = true; meta = with stdenv.lib; { description = "Authoritative DNS server"; diff --git a/pkgs/servers/dns/powerdns/skip-sha384-test.patch b/pkgs/servers/dns/powerdns/skip-sha384-test.patch new file mode 100644 index 000000000000..3fafb38c48fb --- /dev/null +++ b/pkgs/servers/dns/powerdns/skip-sha384-test.patch @@ -0,0 +1,14 @@ +--- pdns-4.1.1.org/pdns/test-signers.cc 2018-02-17 11:43:15.953228279 +0000 ++++ pdns-4.1.1/pdns/test-signers.cc 2018-02-17 11:44:21.089516393 +0000 +@@ -212,11 +212,6 @@ + BOOST_CHECK_EQUAL(ds2.getZoneRepresentation(), signer.dsSHA256); + } + +- auto ds4 = makeDSFromDNSKey(name, drc, DNSSECKeeper::SHA384); +- if (!signer.dsSHA384.empty()) { +- BOOST_CHECK_EQUAL(ds4.getZoneRepresentation(), signer.dsSHA384); +- } +- + auto signature = dcke->sign(message); + BOOST_CHECK(dcke->verify(message, signature)); + From ba27be7955632b1d470ed86a260b7cac3cf03fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 17 Feb 2018 13:36:28 +0000 Subject: [PATCH 2/2] nixos/powerdns: add test --- nixos/release.nix | 1 + nixos/tests/powerdns.nix | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 nixos/tests/powerdns.nix diff --git a/nixos/release.nix b/nixos/release.nix index 6bf2e4d8c7f8..5c179767fb60 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -329,6 +329,7 @@ in rec { tests.postgresql = callSubTests tests/postgresql.nix {}; tests.pgmanage = callTest tests/pgmanage.nix {}; tests.postgis = callTest tests/postgis.nix {}; + tests.powerdns = callTest tests/powerdns.nix {}; #tests.pgjwt = callTest tests/pgjwt.nix {}; tests.predictable-interface-names = callSubTests tests/predictable-interface-names.nix {}; tests.printing = callTest tests/printing.nix {}; diff --git a/nixos/tests/powerdns.nix b/nixos/tests/powerdns.nix new file mode 100644 index 000000000000..0d5b0f715f52 --- /dev/null +++ b/nixos/tests/powerdns.nix @@ -0,0 +1,12 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "powerdns"; + + nodes.server = { config, pkgs, ... }: { + services.powerdns.enable = true; + }; + + testScript = '' + $server->waitForUnit("pdns"); + $server->succeed("${pkgs.dnsutils}/bin/dig version.bind txt chaos \@127.0.0.1"); + ''; +})