summary refs log tree commit diff
path: root/pkgs/servers/dns/knot-resolver
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2020-11-12 18:57:50 +0100
committerVladimír Čunát <v@cunat.cz>2020-11-17 20:04:55 +0100
commit3087df3e8f563152c9333e0d3e1b6e74235cde2b (patch)
tree2ffee3fa96468e2605908c630399f4cbcdfaf2fd /pkgs/servers/dns/knot-resolver
parenta6c7b75e4da15b60b9ef1aa0c4fbf0ee24278239 (diff)
downloadnixpkgs-3087df3e8f563152c9333e0d3e1b6e74235cde2b.tar
nixpkgs-3087df3e8f563152c9333e0d3e1b6e74235cde2b.tar.gz
nixpkgs-3087df3e8f563152c9333e0d3e1b6e74235cde2b.tar.bz2
nixpkgs-3087df3e8f563152c9333e0d3e1b6e74235cde2b.tar.lz
nixpkgs-3087df3e8f563152c9333e0d3e1b6e74235cde2b.tar.xz
nixpkgs-3087df3e8f563152c9333e0d3e1b6e74235cde2b.tar.zst
nixpkgs-3087df3e8f563152c9333e0d3e1b6e74235cde2b.zip
knot-resolver: add support for new DoH implementation
By default.  I'm not a DoH fan, but the difference in runtime closure
is really tiny (216 KiB by du).  I somehow forgot this during update.

Some of the newly running tests were failing and got disabled.
Diffstat (limited to 'pkgs/servers/dns/knot-resolver')
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix11
1 files changed, 9 insertions, 2 deletions
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index aabfcd9796e..f7a07acf04b 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -3,6 +3,7 @@
 , runCommand, pkgconfig, meson, ninja, makeWrapper
 # build+runtime deps.
 , knot-dns, luajitPackages, libuv, gnutls, lmdb, systemd, dns-root-data
+, nghttp2
 # test-only deps.
 , cmocka, which, cacert
 , extraFeatures ? false /* catch-all if defaults aren't enough */
@@ -11,7 +12,7 @@ let # un-indented, over the whole file
 
 result = if extraFeatures then wrapped-full else unwrapped;
 
-inherit (stdenv.lib) optional optionals;
+inherit (stdenv.lib) optional optionals optionalString;
 lua = luajitPackages;
 
 unwrapped = stdenv.mkDerivation rec {
@@ -38,6 +39,11 @@ unwrapped = stdenv.mkDerivation rec {
     # ExecStart can't be overwritten in overrides.
     # We need that to use wrapped executable and correct config file.
     sed '/^ExecStart=/d' -i systemd/kresd@.service.in
+  ''
+    # some tests have issues with network sandboxing, apparently
+  + optionalString doInstallCheck ''
+    echo 'os.exit(77)' > daemon/lua/trust_anchors.test/bootstrap.test.lua
+    sed '/^[[:blank:]]*test_dstaddr,$/d' -i tests/config/doh2.test.lua
   '';
 
   preConfigure = ''
@@ -49,6 +55,7 @@ unwrapped = stdenv.mkDerivation rec {
   # http://knot-resolver.readthedocs.io/en/latest/build.html#requirements
   buildInputs = [ knot-dns lua.lua libuv gnutls lmdb ]
     ++ optional stdenv.isLinux systemd # passing sockets, sd_notify
+    ++ [ nghttp2 ]
     ## optional dependencies; TODO: libedit, dnstap
     ;
 
@@ -71,7 +78,7 @@ unwrapped = stdenv.mkDerivation rec {
   '';
 
   doInstallCheck = with stdenv; hostPlatform == buildPlatform;
-  installCheckInputs = [ cmocka which cacert lua.cqueues lua.basexx ];
+  installCheckInputs = [ cmocka which cacert lua.cqueues lua.basexx lua.http ];
   installCheckPhase = ''
     meson test --print-errorlogs
   '';