Skip to contentSkip to conversation

unbound: new package

PATCH New Stefan Fröberg 3 participants 12 messages Jan 13, 2018 – Jan 29, 2018

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 unbound: new package

Unbound: validating, recursive & caching DNS resolver with DNSSEC, QNAME minimisation, DNSCrypt and DNS-over-TLS support.

---

Changes v1 -> v2:

- Fixed license to BSD-3-Clause (by Bernd Kuhls)
- Fixed DNSCrypt handling (by Bernd Kuhls)
- Use "select BR2_PACKAGE_OPENSSL" (by Bernd Kuhls)
- Added "--with-ssl=$(STAGING_DIR)/usr" (by Bernd Kuhls)
- Use "BR2_TOOLCHAIN_USES_UCLIBC" (by Bernd Kuhls)

 DEVELOPERS                   |  1 +
 package/Config.in            |  1 +
 package/unbound/Config.in    | 37 ++++++++++++++++++++++++++++++++
 package/unbound/unbound.hash |  3 +++
 package/unbound/unbound.mk   | 51 ++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 93 insertions(+)
 create mode 100644 package/unbound/Config.in
 create mode 100644 package/unbound/unbound.hash
 create mode 100644 package/unbound/unbound.mk
DEVELOPERS +1 -0
index 2f7d051e8a..184ce82cec 100644
@@ -1642,6 +1642,7 @@ N:	Stefan Fr?berg <[email protected]>
 F:	package/elfutils/
 F:	package/libtasn1/
 F:	package/proxychains-ng/
+F:	package/unbound/
 F:	package/yasm/
 F:	package/zlib-ng/
 
package/Config.in +1 -0
index 01f4095be5..f810445e27 100644
@@ -1827,6 +1827,7 @@ endif
 	source "package/udpcast/Config.in"
 	source "package/uhttpd/Config.in"
 	source "package/ulogd/Config.in"
+	source "package/unbound/Config.in"
 	source "package/ushare/Config.in"
 	source "package/ussp-push/Config.in"
 	source "package/vde2/Config.in"
package/unbound/Config.in new file +37 -0
new file mode 100644
index 0000000000..a53cd2537c
@@ -0,0 +1,37 @@
+config BR2_PACKAGE_UNBOUND
+	bool "unbound"
+	select BR2_PACKAGE_EXPAT
+	select BR2_PACKAGE_LIBEVENT
+	select BR2_PACKAGE_OPENSSL
+	help
+	  Unbound is a validating, recursive, and caching DNS resolver.
+	  It supports DNSSEC, QNAME minimisation, DNS-over-TLS and
+	  DNSCrypt.
+
+	  https://www.unbound.net
+
+if BR2_PACKAGE_UNBOUND
+
+config BR2_PACKAGE_UNBOUND_DNSCRYPT
+	bool "Enable DNSCrypt"
+	select BR2_PACKAGE_LIBSODIUM
+	help
+	  DNSCrypt wraps unmodified DNS queries between a client and
+	  a DNS resolver. Default port used is 443 and like with
+	  normal unencrypted DNS, it uses UDP first and falling back
+	  to TCP if response too large.
+
+	  There is also DNS-over-TLS, a TCP only version
+	  of proposed standard for DNS encryption (RFC 7858).
+	  Default port for DNS-over-TLS is 853 and Unbound has
+	  built-in support for it.
+
+	  https://tools.ietf.org/html/rfc7858
+
+	  Note: Neither DNSCrypt or DNS-over-TLS encrypt the SNI.
+	  Here is some suggestions how to handle SNI encryption:
+
+	  https://tools.ietf.org/html/draft-ietf-tls-sni-encryption-00
+
+endif
+
package/unbound/unbound.hash new file +3 -0
new file mode 100644
index 0000000000..5f2183897e
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256	4e7bd43d827004c6d51bef73adf941798e4588bdb40de5e79d89034d69751c9f  unbound-1.6.7.tar.gz
+sha256	8eb9a16cbfb8703090bbfa3a2028fd46bb351509a2f90dc1001e51fbe6fd45db  LICENSE
package/unbound/unbound.mk new file +51 -0

51 lines not on this page · raw message

Signature · 1 line
2.13.6
#1 lore raw

PATCH v2 1/1 unbound: new package

Am Sun, 14 Jan 2018 00:26:51 +0200 schrieb Stefan Fr?berg:

Quoted 4 lines

Unbound: validating, recursive & caching DNS resolver with DNSSEC, QNAME minimisation, DNSCrypt and DNS-over-TLS support.

Hi,

when testing your package with this defconfig stored in ./test-unbound

$ cat ./test-unbound 
BR2_PACKAGE_UNBOUND=y
BR2_PACKAGE_UNBOUND_DNSCRYPT=y
$ utils/test-pkg -c test-unbound $HOME/test-unbound

it fails on some platforms:

                   br-arm-cortex-m4-full [ 8/47]: FAILED
                      br-arm-full-static [11/47]: FAILED
                            br-bfin-full [12/47]: FAILED
                       br-m68k-5208-full [15/47]: FAILED

I stopped the test at this point, maybe you can have a look at the failures? I did not do that at this time (CET) of day ;)

Regards, Bernd

#2 lore raw

PATCH v2 1/1 unbound: new package

Hi Bernd

Bernd Kuhls kirjoitti 14.01.2018 klo 01:11:

Quoted 18 lines

Am Sun, 14 Jan 2018 00:26:51 +0200 schrieb Stefan Fr?berg:

Quoted 4 lines

Unbound: validating, recursive & caching DNS resolver with DNSSEC, QNAME minimisation, DNSCrypt and DNS-over-TLS support.

Hi,

when testing your package with this defconfig stored in ./test-unbound

$ cat ./test-unbound 
BR2_PACKAGE_UNBOUND=y
BR2_PACKAGE_UNBOUND_DNSCRYPT=y
$ utils/test-pkg -c test-unbound $HOME/test-unbound

it fails on some platforms:

Quoted 8 lines
                   br-arm-cortex-m4-full [ 8/47]: FAILED
                      br-arm-full-static [11/47]: FAILED
                            br-bfin-full [12/47]: FAILED
                       br-m68k-5208-full [15/47]: FAILED

I stopped the test at this point, maybe you can have a look at the failures? I did not do that at this time (CET) of day ;)

Uh...47 compiler/platform combinations? Jeeez...that will take ages with my poor comp ...

Where does that test-pkg script output the build failures?

Regards
Stefan
?

#3 lore raw

PATCH v2 1/1 unbound: new package

Hi Stefan,

Am Sun, 14 Jan 2018 19:56:00 +0200 schrieb Stefan Fr?berg:

Quoted 2 lines

Uh...47 compiler/platform combinations? Jeeez...that will take ages with my poor comp ...

Maybe not, test-pkg uses pre-built toolchains, just like the autobuilders.

Quoted 1 line

Where does that test-pkg script output the build failures?

$HOME/test-unbound/{name of compiler/platform combo}/logfile

Some errors are thread-related, maybe you need to check for BR2_TOOLCHAIN_HAS_THREADS_NPTL instead of BR2_TOOLCHAIN_HAS_THREADS.

Regards, Bernd

#4 lore raw

PATCH v2 1/1 unbound: new package

Hello Bernd

I have a little problem. I have ran all the tests now but my $HOME/tests-unbound is totally empty.
What I am doing wrong?

Regards
Stefan

Bernd Kuhls kirjoitti 14.01.2018 klo 20:42:

Quoted 20 lines

Hi Stefan,

Am Sun, 14 Jan 2018 19:56:00 +0200 schrieb Stefan Fr?berg:

Quoted 2 lines

Uh...47 compiler/platform combinations? Jeeez...that will take ages with my poor comp ...

Maybe not, test-pkg uses pre-built toolchains, just like the autobuilders.

Quoted 1 line

Where does that test-pkg script output the build failures?

$HOME/test-unbound/{name of compiler/platform combo}/logfile

Some errors are thread-related, maybe you need to check for BR2_TOOLCHAIN_HAS_THREADS_NPTL instead of BR2_TOOLCHAIN_HAS_THREADS.

Regards, Bernd

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#5 lore raw

PATCH v2 1/1 unbound: new package

Am Tue, 16 Jan 2018 23:28:58 +0200 schrieb Stefan Fr?berg:

Quoted 5 lines

Hello Bernd

I have a little problem. I have ran all the tests now but my $HOME/tests-unbound is totally empty.
What I am doing wrong?

Hi Stefan,

I wrote

$ utils/test-pkg -c test-unbound $HOME/test-unbound

and forgot to add "-d" before $HOME/test-unbound, sorry.

The correct syntax would have been

$ utils/test-pkg -c test-unbound -d $HOME/test-unbound

Therefore $HOME/test-unbound was not used but you should find the builds in $HOME/br-test-pkg/ instead, this is the default value.

Regards, Bernd

#6 lore raw

PATCH v2 1/1 unbound: new package

Hi Bernd

Bernd Kuhls kirjoitti 16.01.2018 klo 23:48:

Quoted 7 lines

Am Tue, 16 Jan 2018 23:28:58 +0200 schrieb Stefan Fr?berg:

Quoted 5 lines

Hello Bernd

I have a little problem. I have ran all the tests now but my $HOME/tests-unbound is totally empty.
What I am doing wrong?

Quoted 8 lines

Hi Stefan,

I wrote

$ utils/test-pkg -c test-unbound $HOME/test-unbound

and forgot to add "-d" before $HOME/test-unbound, sorry.

No problem at all :-)

Quoted 7 lines

The correct syntax would have been

$ utils/test-pkg -c test-unbound -d $HOME/test-unbound

Therefore $HOME/test-unbound was not used but you should find the builds in $HOME/br-test-pkg/ instead, this is the default value.

Quoted 6 lines

Regards, Bernd

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

You are right. Thank god and Thank You!

Best Regards
Stefan

#7 lore raw

PATCH v2 1/1 unbound: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Stefan" == Stefan Fr?berg <[email protected]> writes:

Hi,

Quoted 3 lines
Quoted 2 lines

and forgot to add "-d" before $HOME/test-unbound, sorry.

No problem at all :-)

Will you send an updated patch once you have looked at those build failures? I have so far marked the patch as changes requested in patchwork.

Signature · 1 line
Bye, Peter Korsgaard
#8 lore raw

PATCH v2 1/1 unbound: new package

Hi Peter

Yes, I try to go throught them all tomorro.
Already checked some of them and they give me error because I don't have 32-bit libs on my pure, non-multilib 64-bit system.
So those ones I can't check out.

Best Regards
Stefan

Peter Korsgaard kirjoitti 28.01.2018 klo 18:24:

Quoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Stefan" == Stefan Fr?berg <[email protected]> writes:

Hi,

Quoted 3 lines
Quoted 2 lines

and forgot to add "-d" before $HOME/test-unbound, sorry.

No problem at all :-)

Will you send an updated patch once you have looked at those build failures? I have so far marked the patch as changes requested in patchwork.

#9 lore raw

PATCH v2 1/1 unbound: new package

Quoted 7 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Stefan" == Stefan Fr?berg <[email protected]> writes:

Hi Peter
Yes, I try to go throught them all tomorro.
Already checked some of them and they give me error because I don't have 32-bit libs on my pure, non-multilib 64-bit system.
So those ones I can't check out.

Does your distribution not provide 32bit libraries? The toolchains are 32bit on purpose for compatibility reasons.

Signature · 1 line
Bye, Peter Korsgaard
#10 lore raw

PATCH v2 1/1 unbound: new package

In reply to Peter Korsgaard

Results:

armv5-ctng-linux-gnueabi [ 1/47]: FAILED (cannot execute cross-compiler) armv7-ctng-linux-gnueabihf [ 2/47]: FAILED (cannot execute cross-compiler)

br-arm-cortex-m4-full [ 8/47]: FAILED (need openssl 0.9.7 or higher) br-arm-full-static [11/47]: FAILED (need openssl 0.9.7 or higher)

br-bfin-full [12/47]: FAILED (undefined pthread_spin_init, pthread_spin_lock etc..)
br-m68k-5208-full [15/47]: FAILED (undefined pthread_spin_init, pthread_spin_lock etc..)
br-m68k-68040-full [16/47]: FAILED (undefined pthread_spin_init, pthread_spin_lock etc..)
br-microblazeel-full [17/47]: FAILED (undefined pthread_spin_init, pthread_spin_lock etc..)
br-openrisc-uclibc [23/47]: FAILED (undefined pthread_spin_init, pthread_spin_lock etc..)

i686-ctng-linux-gnu [34/47]: FAILED (cannot execute cross-compiler) mips64el-ctng_n32-linux-gnu [37/47]: FAILED (cannot execute cross-compiler) mips64el-ctng_n64-linux-gnu [38/47]: FAILED (cannot execute cross-compiler) powerpc-ctng_e500v2-linux-gnuspe [39/47]: FAILED (cannot execute cross-compiler)
sourcery-arm-armv4t [40/47]: FAILED (need 32-bit support library) sourcery-arm [41/47]: FAILED (need 32-bit support library) sourcery-arm-thumb2 [42/47]: FAILED (need 32-bit support library) sourcery-mips64 [43/47]: FAILED (need 32-bit support library) sourcery-mips [44/47]: FAILED (need 32-bit support library) sourcery-nios2 [45/47]: FAILED (need 32-bit support library) sourcery-x86-64 [46/47]: FAILED (need 32-bit support library) x86_64-ctng_locales-linux-gnu [47/47]: FAILED (cannot execute cross-compiler)

So only br-bfin-full, br-m68k-5208-full, br-m68k-68040-full, br-microblazeel-full, br-openrisc-uclibc
I could only try to patch.

So what is the proper way of checking if external toolchain has thread support ?
BR2_TOOLCHAIN_HAS_THREADS checks only internal toolchain right?

Best Regards
Stefan

#11 lore raw

PATCH v2 1/1 unbound: new package

Quoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Stefan" == Stefan Fr?berg <[email protected]> writes:

Results:
armv5-ctng-linux-gnueabi [ 1/47]: FAILED (cannot execute cross-compiler) armv7-ctng-linux-gnueabihf [ 2/47]: FAILED (cannot execute cross-compiler)

Huh? Are you missing some 32bit libraries?

Quoted 2 lines

br-arm-cortex-m4-full [ 8/47]: FAILED (need openssl 0.9.7 or higher) br-arm-full-static [11/47]: FAILED (need openssl 0.9.7 or higher)

Presumably needs do depend on openssl?

Quoted 10 lines

br-bfin-full [12/47]: FAILED (undefined pthread_spin_init, pthread_spin_lock etc..)
br-m68k-5208-full [15/47]: FAILED (undefined pthread_spin_init, pthread_spin_lock etc..)
br-m68k-68040-full [16/47]: FAILED (undefined pthread_spin_init, pthread_spin_lock etc..)
br-microblazeel-full [17/47]: FAILED (undefined pthread_spin_init, pthread_spin_lock etc..)
br-openrisc-uclibc [23/47]: FAILED (undefined pthread_spin_init, pthread_spin_lock etc..)

Needs threads support.

Quoted 6 lines

i686-ctng-linux-gnu [34/47]: FAILED (cannot execute cross-compiler) mips64el-ctng_n32-linux-gnu [37/47]: FAILED (cannot execute cross-compiler) mips64el-ctng_n64-linux-gnu [38/47]: FAILED (cannot execute cross-compiler) powerpc-ctng_e500v2-linux-gnuspe [39/47]: FAILED (cannot execute cross-compiler)
sourcery-arm-armv4t [40/47]: FAILED (need 32-bit support library)

Quoted 8 lines

sourcery-arm [41/47]: FAILED (need 32-bit support library) sourcery-arm-thumb2 [42/47]: FAILED (need 32-bit support library) sourcery-mips64 [43/47]: FAILED (need 32-bit support library) sourcery-mips [44/47]: FAILED (need 32-bit support library) sourcery-nios2 [45/47]: FAILED (need 32-bit support library) sourcery-x86-64 [46/47]: FAILED (need 32-bit support library) x86_64-ctng_locales-linux-gnu [47/47]: FAILED (cannot execute cross-compiler)

Again 32bit libraries?

Quoted 7 lines

So only br-bfin-full, br-m68k-5208-full, br-m68k-68040-full, br-microblazeel-full, br-openrisc-uclibc
I could only try to patch.

So what is the proper way of checking if external toolchain has thread support ?
BR2_TOOLCHAIN_HAS_THREADS checks only internal toolchain right?

No, BR2_TOOLCHAIN_HAS_THREADS applies to all toolchain types.

Signature · 1 line
Bye, Peter Korsgaard