aboutsummaryrefslogtreecommitdiff
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)
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 aabfcd9796e4..f7a07acf04b4 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
'';