Merge pull request #266299 from wahjava/update-unbound

unbound: 1.18.0 -> 1.19.0

ajs124 7623b1c0 a164f8ed

Changed files
+14 -23
nixos
tests
pkgs
tools
networking
unbound
+8 -8
nixos/tests/unbound.nix
···
{
name = ".";
forward-addr = [
-
(lib.head nodes.authoritative.config.networking.interfaces.eth1.ipv6.addresses).address
-
(lib.head nodes.authoritative.config.networking.interfaces.eth1.ipv4.addresses).address
+
(lib.head nodes.authoritative.networking.interfaces.eth1.ipv6.addresses).address
+
(lib.head nodes.authoritative.networking.interfaces.eth1.ipv4.addresses).address
];
}
];
···
"unbound-extra1.conf".text = ''
forward-zone:
name: "example.local."
-
forward-addr: ${(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv6.addresses).address}
-
forward-addr: ${(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv4.addresses).address}
+
forward-addr: ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address}
+
forward-addr: ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address}
'';
"unbound-extra2.conf".text = ''
auth-zone:
···
client = { lib, nodes, ... }: {
imports = [ common ];
networking.nameservers = [
-
(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv6.addresses).address
-
(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv4.addresses).address
+
(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address
+
(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address
];
networking.interfaces.eth1.ipv4.addresses = [
{ address = "192.168.0.10"; prefixLength = 24; }
···
resolver.wait_for_unit("multi-user.target")
with subtest("client should be able to query the resolver"):
-
test(client, ["${(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv6.addresses).address}", "${(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv4.addresses).address}"], doh=True)
+
test(client, ["${(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address}", "${(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address}"], doh=True)
# discard the client we do not need anymore
client.shutdown()
···
).strip()
# Thank you black! Can't really break this line into a readable version.
-
expected = "example.local. IN forward ${(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv6.addresses).address} ${(lib.head nodes.resolver.config.networking.interfaces.eth1.ipv4.addresses).address}"
+
expected = "example.local. IN forward ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv6.addresses).address} ${(lib.head nodes.resolver.networking.interfaces.eth1.ipv4.addresses).address}"
assert out == expected, f"Expected `{expected}` but got `{out}` instead."
local_resolver.fail("sudo -u unauthorizeduser -- unbound-control list_forwards")
+6 -15
pkgs/tools/networking/unbound/default.nix
···
, gnutls
}:
-
stdenv.mkDerivation rec {
+
stdenv.mkDerivation (finalAttrs: {
pname = "unbound";
-
version = "1.18.0";
+
version = "1.19.0";
src = fetchurl {
-
url = "https://nlnetlabs.nl/downloads/unbound/unbound-${version}.tar.gz";
-
hash = "sha256-PalUkKhc/2Qg8m+uC4Skn1ES3xvxt/w0+HJPAggstxI=";
+
url = "https://nlnetlabs.nl/downloads/unbound/unbound-${finalAttrs.version}.tar.gz";
+
hash = "sha256-qXUyRohUxhwt5IykFw3oVP07yVyAQ7sM+w/iZgWWZiQ=";
};
-
-
patches = [
-
# Backport: fix libunbound with nettle.
-
(fetchpatch {
-
url = "https://github.com/NLnetLabs/unbound/commit/654a7eab62cbd1844d483cc4a0f2cf2fbcbaf00a.patch";
-
excludes = [ "doc/Changelog" ];
-
hash = "sha256-n3FCeZESFrrn6Wcf28Hb8WZs1eMHWjbsf2WCFOXU3lI=";
-
})
-
];
outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
···
+ ''substituteInPlace "$lib/lib/libunbound.la" ''
+ lib.concatMapStrings
(pkg: lib.optionalString (pkg ? dev) " --replace '-L${pkg.dev}/lib' '-L${pkg.out}/lib' --replace '-R${pkg.dev}/lib' '-R${pkg.out}/lib'")
-
(builtins.filter (p: p != null) buildInputs);
+
(builtins.filter (p: p != null) finalAttrs.buildInputs);
passthru.tests = {
inherit gnutls;
···
maintainers = with maintainers; [ ajs124 ];
platforms = platforms.unix;
};
-
}
+
})