Hello everyone!
CZ.NIC Labs just released Knot DNS 2.0.1. There is a lot of bug fixes, new
features, and improvements since the final release.
Let's start with the bug fixes:
- The 2.0.1 received all the relevant bug fixes included in the 1.6.5. Namely
fix for expired zones reloading, fix for race-condition in event scheduling,
fix for NSEC proofs with zones containing lots of delegations, fix for TC
flag setting in RRL slipped answers, fix for root label compression, and fix
for journald logging without systemd.
- The old version was incorrectly following CNAME when queried for the NSEC
record. This is fixed in the new version.
- There was a bug in the code planning DNSSEC resigning. The code hadn't
considered expiration of DNSKEY RRSIGs and therefore these signatures
could have had expired. This problem is resolved now.
- Binding to an unavailable IPv6 address was broken on Linux (IP_FREEBIND).
When the daemon was started before the network was fully up, the daemon
failed to bind IPv6 addresses. This problem is fixed as well.
- The knotc utility entered an infinite loop when the zonestatus or memstats
command was executed for an individual zone. This shouldn't happen any more.
- The dnsproxy module was not working properly as we have changed the request
processing code without updating the module. This has been addressed.
- There was a problem with parsing time stamps in the DNSSEC KASP database
when compiled against the uClibc standard C library (e.g., in Alpine Linux).
The parsing has been rewritten to work in strict POSIX environment.
- We have fixed multiple problems related to endianness. We have eliminated
compilation warnings on OpenBSD related to endian conversion functions. The
multi-value config options parsing didn't work on big-endian machines. And
we also added detection of the Nettle library version, because the version
3 changed the Base64 decoding API incompatibly.
As for the new features:
- The keymgr utility now supports 'zone key ds' command to retrieve DS records
for a key. And also 'tsig generate' command to generate TSIG key in the
format accepted by Knot DNS.
- We have added module scoping. So the modules can be configured either to
process all queries received by the server. Or their scope is limited to
individual zones.
- The 'include' config directive supports file name globbing. So you can
import multiple files at once (e.g., include: conf.d/*.conf).
- Same as in the 1.6.5, the 2.0.1 supports the 'request-edns-option' config
option allowing to add custom EDNS0 options into the DNS queries initiated
by the server.
And at last but not least, the improvements:
- We have decided to remove NS record from the Authority section for NOERROR
responses. We used to put these records there because BIND and NSD did it.
But these records are not required by any RFC and just increase the size of
the response.
- The persistent zone timers are written only on server shutdown for better
startup performance.
- The change of TTL over DDNS is now allowed without removing the existing
records.
- We have reviewed the documentation and fixed a couple of grammar mistakes,
updated some sections, and improved formatting a little bit.
- The yparser and zscanner header files are now installed.
As you may see, we are not lagging behind. This list is quite long for a patch
release. And we have much more up in our sleeve. Thank you for reading this
far. And we are looking forward to your feedback.
Full changelog:
https://gitlab.labs.nic.cz/labs/knot/raw/v2.0.1/NEWS
Sources:
https://secure.nic.cz/files/knot-dns/knot-2.0.1.tar.xz
GPG signature:
https://secure.nic.cz/files/knot-dns/knot-2.0.1.tar.xz.asc
Cheers,
Jan
--
Jan Včelák, Knot DNS
CZ.NIC Labs https://www.knot-dns.cz
--------------------------------------------
Milešovská 5, 130 00 Praha 3, Czech Republic
WWW: https://labs.nic.czhttps://www.nic.cz
Hello!
I have tried to get the latest version of Knot running on my Raspberry Pi 2.
Unfortunately does Raspian only have packages for an old version. I updated
my Pi to debian jessie. There is actually a version of Raspian based on
jessie. That version of Raspian does come with slightly newer packages, but
still not up to date.
So I compiled my own version. 2.1.0-dev
Everything works fine until the moment I try to start knotd. IT will crash
with a segfault.
I did recompile with --enable-debug but I do not get any debug output in
syslog.
I did run with gdb and got the following information
SYSLOG:
Sep 16 22:36:57 localhost knotd[3522]: info: Knot DNS 2.1.0-dev starting
Sep 16 22:36:57 localhost knotd[3522]: info: binding to interface
'2001:470:28:193::53@53'
Sep 16 22:36:57 localhost knotd[3522]: info: configured 1 zones
Sep 16 22:36:57 localhost knotd[3522]: info: changing GID to '1003'
Sep 16 22:36:57 localhost knotd[3522]: info: changing UID to '1002'
Sep 16 22:36:57 localhost knotd[3522]: info: loading zones
Sep 16 22:36:57 localhost knotd[3522]: info: [example.com] zone will be
loaded, serial 0
Sep 16 22:36:57 localhost knotd[3522]: info: starting server
GDB:
[New Thread 0x50baa200 (LWP 3526)]
[New Thread 0x50aaa200 (LWP 3527)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x50baa200 (LWP 3526)]
scanner_process (scanner=0x50978008) at knot/zone/zonefile.c:152
152 if (zc->ret != KNOT_EOK) {
(gdb) bt
#0 scanner_process (scanner=0x50978008) at knot/zone/zonefile.c:152
#1 0x76d80a14 in ?? () from /usr/lib/arm-linux-gnueabihf/libzscanner.so.0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) l
147
148 /*! \brief Creates RR from parser input, passes it to handling
function. */
149 static void scanner_process(zs_scanner_t *scanner)
150 {
151 zcreator_t *zc = scanner->data;
152 if (zc->ret != KNOT_EOK) {
153 scanner->stop = true;
154 return;
155 }
156
(gdb)
It seems that the scanner thread is somehow missing. But why? Anybody with
experience with knot on armhf?
/Ulrich
--
Ulrich Wisser
ulrich(a)wisser.se
Hello,
are there any plans to publish latest builds (2.0.1) for jessie? The most
current package I can find is knot_2.0.0-1+0~bpo80+1_amd64.deb.
Regards,
PJ
Hello list.
Today, CZ.NIC Labs releases Knot DNS 1.6.5. This patch release contains quite
a lot of non-critical bug fixes and some minor improvements. Everyone is
advised to upgrade.
Let's go through the fixed bugs quickly:
- The server no longer loads expired zones on 'knotc reload' and server
startup.
- We have fixed a rare race-condition in the event scheduling code. The race
caused that events for some zones were significantly delayed. (We were
reported that the server is occasionally ignoring notify messages for random
zones when the server is receiving many notifies. We believe this bug
was the cause and the problem should no longer appear.)
- There was a bug in the NSEC proofs construction. When the zone contained
many delegations, the NSEC proving non-existence of a covering wildcard was
incorrect. The problem is fixed now.
- The TC flag was not set correctly for RRL slipped answers. This problem
is resolved as well.
- We have disabled domain name compression for the root label '.' because it
caused negative compression and some client implementations (like Go DNS)
might have problem decoding these answers.
- The server is now checking whether it is executed in the systemd enviroment
before using journald as a sink for log messages. Also the systemd library
detection at a build time was improved.
- We have also eliminated compilation warnings in endian-conversion functions
on OpenBSD.
And as for the new features:
- The persistent timers are now written to the on-disk database only on server
shutdown. This change was done mainly to improve startup and reload
performance.
- The 'max-conn-idle', 'max-conn-handshake', 'max-conn-reply', and
'notify-timeout' config options now accept time units specification
(e.g., one can use 2m instead of 120).
- We have added 'request-edns-option' config option, which allows inserting
custom EDNS0 options into all queries initiated by the server.
And that's all folks. I would like to thank everyone involved in making this
release, especially bug reporters. We are looking forward to your feedback.
The sources are available as usual.
Full changelog:
https://gitlab.labs.nic.cz/labs/knot/raw/1.6/NEWS
Source archives:
https://secure.nic.cz/files/knot-dns/knot-1.6.5.tar.xzhttps://secure.nic.cz/files/knot-dns/knot-1.6.5.tar.gz
GPG signatures:
https://secure.nic.cz/files/knot-dns/knot-1.6.5.tar.xz.aschttps://secure.nic.cz/files/knot-dns/knot-1.6.5.tar.gz.asc
Best Regards,
Jan
--
Jan Včelák, Knot DNS
CZ.NIC Labs https://www.knot-dns.cz
--------------------------------------------
Milešovská 5, 130 00 Praha 3, Czech Republic
WWW: https://labs.nic.czhttps://www.nic.cz