-
-
Notifications
You must be signed in to change notification settings - Fork 15.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unbound: 1.21.1 -> 1.22.0 #350185
unbound: 1.21.1 -> 1.22.0 #350185
Conversation
7498be5
to
09bd0da
Compare
09bd0da
to
f9b91ca
Compare
a9bc6fb
to
32866ec
Compare
The package as well as all its tests build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From the release notes
Merge NLnetLabs/unbound#871: DNS over QUIC. This adds quic-port: 853 and
quic-size: 8m that enable dnsoverquic, and the counters
num.query.quic and mem.quic in the statistics output.
The feature needs to be enabled by compiling with libngtcp2,
with --with-libngtcp2=path and libngtcp2 needs openssl+quic,
pass that with --with-ssl=path to compile unbound as well.
It'd be nice to have this option in Nixpkgs as well
Signed-off-by: Sefa Eyeoglu <[email protected]>
To avoid a xz-style supply chain attack. Signed-off-by: Sefa Eyeoglu <[email protected]>
It seems like our dependencies aren't ready for QUIC support yet. We need to create a variant of ngtcp2 with openssl support, as well as build OpenSSL with QUIC support. I think we should do this in a subsequent PR to get this shipped first. Edit: nevermind! It seems like "OpenSSL" means quictls here, as ngtcp2 uses that instead of upstream OpenSSL. |
I am not able to get it working. It fails with this error during configurePhase:
The offending line is here: https://github.com/NLnetLabs/unbound/blob/release-1.22.0/configure.ac#L1618 Doing a naive PatchFrom 17a805da342ae204f811458208953b6ba6768c78 Mon Sep 17 00:00:00 2001
From: Sefa Eyeoglu <[email protected]>
Date: Sun, 8 Dec 2024 15:42:53 +0100
Subject: [PATCH] unbound: add DoQ support
Signed-off-by: Sefa Eyeoglu <[email protected]>
---
pkgs/by-name/un/unbound/package.nix | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/pkgs/by-name/un/unbound/package.nix b/pkgs/by-name/un/unbound/package.nix
index 8b52ebd9dfc2..5f451bcff2f8 100644
--- a/pkgs/by-name/un/unbound/package.nix
+++ b/pkgs/by-name/un/unbound/package.nix
@@ -30,6 +30,9 @@
, systemd ? null
# optionally support DNS-over-HTTPS as a server
, withDoH ? false
+ # optionally support DNS-over-QUIC as a server
+ # NOTE: this replaces openssl with quictls
+, withDoQ ? true
, withECS ? false
, withDNSCrypt ? false
, withDNSTAP ? false
@@ -44,11 +47,20 @@
, withLto ? !stdenv.hostPlatform.isStatic && !stdenv.hostPlatform.isMinGW
, withMakeWrapper ? !stdenv.hostPlatform.isMinGW
, libnghttp2
+, ngtcp2
+, quictls
# for passthru.tests
, gnutls
}:
+let
+ openssl' =
+ if withDoQ
+ then quictls
+ else openssl;
+in
+
stdenv.mkDerivation (finalAttrs: {
pname = "unbound";
version = "1.22.0";
@@ -68,15 +80,16 @@ stdenv.mkDerivation (finalAttrs: {
++ [ pkg-config flex ]
++ lib.optionals withPythonModule [ swig ];
- buildInputs = [ openssl nettle expat libevent ]
+ buildInputs = [ openssl' nettle expat libevent ]
++ lib.optionals withSystemd [ systemd ]
++ lib.optionals withDoH [ libnghttp2 ]
+ ++ lib.optionals withDoQ [ ngtcp2 ]
++ lib.optionals withPythonModule [ python ];
enableParallelBuilding = true;
configureFlags = [
- "--with-ssl=${openssl.dev}"
+ "--with-ssl=${openssl'.dev}"
"--with-libexpat=${expat.dev}"
"--with-libevent=${libevent.dev}"
"--localstatedir=/var"
@@ -93,6 +106,8 @@ stdenv.mkDerivation (finalAttrs: {
"--with-pythonmodule"
] ++ lib.optionals withDoH [
"--with-libnghttp2=${libnghttp2.dev}"
+ ] ++ lib.optionals withDoQ [
+ "--with-libngtcp2=${ngtcp2.dev}"
] ++ lib.optionals withECS [
"--enable-subnet"
] ++ lib.optionals withDNSCrypt [
@@ -132,7 +147,7 @@ stdenv.mkDerivation (finalAttrs: {
make unbound-event-install
'' + lib.optionalString withMakeWrapper ''
wrapProgram $out/bin/unbound-control-setup \
- --prefix PATH : ${lib.makeBinPath [ openssl ]}
+ --prefix PATH : ${lib.makeBinPath [ openssl' ]}
'' + lib.optionalString (withMakeWrapper && withPythonModule) ''
wrapProgram $out/bin/unbound \
--prefix PYTHONPATH : "$out/${python.sitePackages}" \
--
2.47.0 |
32866ec
to
c011c36
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not able to get it working.
Ah that's alright then. Can always follow up in the future
Everything else here LGTM
Successfully created backport PR for |
Git push to origin failed for staging-24.11 with exitcode 1 |
This broke pyunbound. A fix is in #374369. |
https://github.com/NLnetLabs/unbound/releases/tag/release-1.22.0
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.