]>
git.ipfire.org Git - thirdparty/knot-dns.git/log
Daniel Salzman [Mon, 24 May 2021 10:15:03 +0000 (12:15 +0200)]
tests: use _unused_ in test_fdset and test_strtonum
Daniel Salzman [Mon, 24 May 2021 10:09:21 +0000 (12:09 +0200)]
libknot: merge attributes with libdnssec/shared/shared.h
Daniel Salzman [Sun, 23 May 2021 17:08:37 +0000 (17:08 +0000)]
tests: fix 'unused variable' warning if NDEBUG
Daniel Salzman [Sun, 23 May 2021 17:01:02 +0000 (17:01 +0000)]
catalog: fix 'unused variable' warning if NDEBUG
Daniel Salzman [Fri, 21 May 2021 09:30:16 +0000 (09:30 +0000)]
Merge branch 'lmdb-del' into 'master'
libknot/lmdb: tiny fix in lmdb del()
See merge request knot/knot-dns!1294
Vladimír Čunát [Thu, 20 May 2021 16:35:28 +0000 (18:35 +0200)]
libknot/lmdb: tiny fix in lmdb del()
Passing the data means to only delete the data that matches,
which is not what we wanted to do here. The only luck has been
that LMDB ignores this parameter when MDB_DUPSORT isn't in use,
but for example the mdbx for does not.
Daniel Salzman [Thu, 20 May 2021 14:46:31 +0000 (14:46 +0000)]
Merge branch 'zone_backup_filters' into 'master'
add new filters to "zone-backup"/"zone-restore" that allow detailed selection of backup/restore components
See merge request knot/knot-dns!1293
David Vašek [Fri, 16 Apr 2021 09:03:27 +0000 (11:03 +0200)]
libknot/lmdb: further make_dir() simplification
David Vašek [Fri, 16 Apr 2021 08:46:25 +0000 (10:46 +0200)]
src: replace mkdir() with make_dir() where suitable
A cleaner solution, but not necessary since the code will fail later for ENOTDIR anyway.
David Vašek [Tue, 16 Feb 2021 22:56:18 +0000 (23:56 +0100)]
ctl: unify the flags ordering
David Vašek [Tue, 16 Feb 2021 22:58:14 +0000 (23:58 +0100)]
zone backup: add new filters (detailed selection of backup components)
The filters are now called "filters" in zone-backup/zone-restore, not "flags" as recently.
David Vašek [Tue, 16 Feb 2021 22:57:53 +0000 (23:57 +0100)]
ctl: add new filters to "zone-backup" and opposite filters evaluation
Abusing of CTL_FILTER_FLUSH_OUTDIR and CTL_FILTER_PURGE_* for backup purposes stops here and
dedicated filter values for backup/restore are created.
David Vašek [Tue, 16 Feb 2021 22:55:24 +0000 (23:55 +0100)]
libknot/error: add a new error code KNOT_EXPARAM (conflicting parameters)
Daniel Salzman [Thu, 20 May 2021 12:14:11 +0000 (12:14 +0000)]
Merge branch 'nsec_bind_fixes' into 'master'
nameserver: prove wildcards in referral answers
See merge request knot/knot-dns!1292
Libor Peltan [Tue, 18 May 2021 13:46:21 +0000 (15:46 +0200)]
tests: deal with Bind bug
Libor Peltan [Tue, 18 May 2021 13:22:48 +0000 (15:22 +0200)]
nameserver: prove all wildcards in wildcard-cname loop
Libor Peltan [Tue, 18 May 2021 12:00:15 +0000 (14:00 +0200)]
nameserver: dont include wildcard proofs for nonauth data
Libor Peltan [Tue, 18 May 2021 11:41:49 +0000 (13:41 +0200)]
Revert "internet: don't prove wildcards in referral answers"
This reverts commit
747869b5f806402f70b54bab982b301318ed6b55 .
Libor Peltan [Tue, 18 May 2021 10:33:02 +0000 (12:33 +0200)]
nameserver: dont prove wildcard nonex on empty-non-term query
Libor Peltan [Tue, 18 May 2021 10:31:51 +0000 (12:31 +0200)]
tests: basic/query compare also with NSEC and NSEC3
Daniel Salzman [Thu, 20 May 2021 11:15:28 +0000 (11:15 +0000)]
Merge branch 'libknot_lf_optimi' into 'master'
libknot: optimize knot_dname_lf for many short labels
See merge request knot/knot-dns!1250
Daniel Salzman [Thu, 20 May 2021 10:17:13 +0000 (12:17 +0200)]
dname: optimize knot_dname_lf() by combination of memset and direct asignment for 1-octet labels
Libor Peltan [Wed, 27 Jan 2021 10:52:59 +0000 (11:52 +0100)]
dname: optimize knot_dname_lf() for many short labels
Daniel Salzman [Tue, 18 May 2021 08:24:09 +0000 (08:24 +0000)]
Merge branch 'ede_in_knotd' into 'master'
knotd: implemented extended error in EDNS (EDE)
See merge request knot/knot-dns!1220
Daniel Salzman [Tue, 18 May 2021 07:34:48 +0000 (09:34 +0200)]
knotd: don't return EDE_NOT_READY if zone contents not available
This change reduces code complexity and information leakage.
Daniel Salzman [Tue, 18 May 2021 07:17:53 +0000 (09:17 +0200)]
knotd: remove EDE where redundant or incorrect, refactoring
Libor Peltan [Fri, 13 Nov 2020 13:52:08 +0000 (14:52 +0100)]
knotd: implemented extended error in EDNS (EDE)
Libor Peltan [Mon, 17 May 2021 14:37:13 +0000 (14:37 +0000)]
Merge branch 'load_dnssec_avoid_flush' into 'master'
Don't flush up-to-date signed zone after start
See merge request knot/knot-dns!1290
Daniel Salzman [Sun, 16 May 2021 09:06:39 +0000 (11:06 +0200)]
zone-update: tiny refactoring
Daniel Salzman [Sun, 16 May 2021 08:16:41 +0000 (10:16 +0200)]
zone: don't flush upon start if DNSSEC is up-to-date
Jan Hak [Thu, 13 May 2021 10:21:41 +0000 (12:21 +0200)]
zscanner: set unspecified TTL in compliance with RFC-1035
"Omitted class and TTL values are default to the last explicitly stated values."
Daniel Salzman [Thu, 13 May 2021 14:37:24 +0000 (14:37 +0000)]
Merge branch 'cdnskey_public_only' into 'master'
CDNSKEY public only
See merge request knot/knot-dns!1289
Libor Peltan [Thu, 22 Apr 2021 14:18:40 +0000 (16:18 +0200)]
DS query: enable checking multi-rr RRset
Libor Peltan [Tue, 20 Apr 2021 17:02:51 +0000 (19:02 +0200)]
DNSSEC: allow public-only KSK in READY state (CDS published)
David Vašek [Tue, 11 May 2021 19:13:52 +0000 (21:13 +0200)]
files: fix memory leaks in same_path()
David Vašek [Fri, 30 Apr 2021 16:54:25 +0000 (18:54 +0200)]
backup: don't create a backup directory for restore
With this change, restore from a non-existent directory stops quickly,
with clear error and without overwriting current zone files.
David Vašek [Fri, 30 Apr 2021 14:44:42 +0000 (16:44 +0200)]
catalog: make sure the target path exists for catalog_copy() -- needed by zone-restore
David Vašek [Tue, 20 Apr 2021 16:30:52 +0000 (18:30 +0200)]
kjournalprint: fix some typos
David Vašek [Mon, 19 Apr 2021 22:18:46 +0000 (00:18 +0200)]
zone-backup: fixes for some corner cases
In the restore mode, don't create the target storage directory if there's nothing to restore.
Don't forget to remove the original zone file, if it's to be removed.
David Vašek [Mon, 19 Apr 2021 14:12:44 +0000 (16:12 +0200)]
ctl: zone-backup -- don't allow backup to/restore from the DB storage directory
At least, try to detect the most common condition, (database.) journal-db, kasp-db, timer-db,
and catalog-db aren't checked for. Values of zone.storage aren't tested for either.
David Vašek [Tue, 20 Apr 2021 15:56:41 +0000 (17:56 +0200)]
contrib: utility for comparing two paths
David Vašek [Fri, 16 Apr 2021 07:28:35 +0000 (09:28 +0200)]
contrib: independent absolute path string utility
Separated from conf_abs_path() in src/knot/conf/conf.c .
David Vašek [Fri, 16 Apr 2021 07:14:13 +0000 (09:14 +0200)]
zone backup: create the backup directory in the proper way
David Vašek [Mon, 12 Apr 2021 18:01:09 +0000 (20:01 +0200)]
tests: don't pollute default Knot install directories with test data
David Vašek [Fri, 19 Mar 2021 17:56:15 +0000 (18:56 +0100)]
zone backup: treat non-existing zone files properly
David Vašek [Fri, 19 Mar 2021 15:45:03 +0000 (16:45 +0100)]
contrib: copy_file() -- make it recognisable, that it is the source file that doesn't exist
Not being used so far.
Jan Hak [Tue, 11 May 2021 12:48:51 +0000 (14:48 +0200)]
tests: add unit test for libknot/probe
Daniel Salzman [Tue, 11 May 2021 15:59:14 +0000 (17:59 +0200)]
libknot/probe: use fchmod(777) on Linux only (doesn't work on BSD*)
Daniel Salzman [Tue, 11 May 2021 08:02:03 +0000 (10:02 +0200)]
doc/knsupdate: improve description of the zone parameter
Daniel Salzman [Tue, 11 May 2021 07:23:23 +0000 (09:23 +0200)]
conf: add notice log if policy.nsec3-iterations > 20
Daniel Salzman [Mon, 10 May 2021 20:03:42 +0000 (20:03 +0000)]
Merge branch 'ksk_publish_active' into 'master'
dnssec: BUGFIX sign DNSKEY with all published KSKs...
See merge request knot/knot-dns!1288
Daniel Salzman [Mon, 10 May 2021 19:28:50 +0000 (21:28 +0200)]
doc: update key rollover example
Libor Peltan [Mon, 10 May 2021 11:33:56 +0000 (13:33 +0200)]
tests: align with new behaviour of KSK rollover
Libor Peltan [Fri, 7 May 2021 15:23:44 +0000 (17:23 +0200)]
doc: align with new KSK retirement
Libor Peltan [Fri, 7 May 2021 15:01:17 +0000 (17:01 +0200)]
dnssec: bugfix: remove key when remove pre-planned
Libor Peltan [Fri, 7 May 2021 15:00:24 +0000 (17:00 +0200)]
dnssec: remove rolled-over KSK immediately...
...since is not used nor published anyway
Libor Peltan [Fri, 7 May 2021 13:37:15 +0000 (15:37 +0200)]
dnssec: don't publish retired KSK, it's useless
Libor Peltan [Fri, 7 May 2021 10:45:29 +0000 (12:45 +0200)]
dnssec: BUGFIX sign DNSKEY with all published KSKs...
...automatic KSK roll must ensure that new KSK has been signing
the DNSKEY for dnskey-ttl seconds before submission updates DS
Daniel Salzman [Sun, 9 May 2021 18:10:24 +0000 (20:10 +0200)]
doc/probe: fix typo
Daniel Salzman [Sun, 9 May 2021 17:53:50 +0000 (19:53 +0200)]
notify: remove unused constant NOTIFY_TIMEOUT
Daniel Salzman [Sun, 9 May 2021 17:52:30 +0000 (19:52 +0200)]
net: simplify initialization of msghdr
Daniel Salzman [Sun, 9 May 2021 17:44:42 +0000 (19:44 +0200)]
libknot/probe: use recvmsg if recvmmsg not available
Daniel Salzman [Sat, 8 May 2021 18:27:04 +0000 (20:27 +0200)]
distro/deb: add symbols for libknot/probe
Daniel Salzman [Wed, 5 May 2021 19:17:32 +0000 (21:17 +0200)]
mod-probe: add maximum rate limiting
Daniel Salzman [Tue, 20 Apr 2021 19:00:30 +0000 (21:00 +0200)]
modules: add module DNS probe
Jan Hák [Tue, 23 Jun 2020 18:40:13 +0000 (20:40 +0200)]
libknot: add DNS probe API
Jan Hak [Thu, 6 May 2021 07:45:26 +0000 (09:45 +0200)]
clang analyzer: double free fix
Daniel Salzman [Tue, 4 May 2021 13:21:26 +0000 (13:21 +0000)]
Merge branch 'keymgr_pregenerate_from' into 'master'
keymgr: offline KSK: may specify pregenerate from
See merge request knot/knot-dns!1287
Libor Peltan [Tue, 4 May 2021 10:00:18 +0000 (12:00 +0200)]
keymgr: offline KSK: may specify pregenerate from
Daniel Salzman [Mon, 3 May 2021 10:20:15 +0000 (10:20 +0000)]
Merge branch 'ci-distro-update' into 'master'
distro/tests: update fedora, ubuntu releases
See merge request knot/knot-dns!1286
Tomas Krizek [Mon, 3 May 2021 09:27:34 +0000 (11:27 +0200)]
distro/tests: update fedora, ubuntu releases
fedora32 -> fedora34
ubuntu2010 -> ubuntu2104
remove ubuntu1604
Daniel Salzman [Mon, 3 May 2021 08:15:32 +0000 (08:15 +0000)]
Merge branch 'keymgr_list_zones' into 'master'
Keymgr list zones
See merge request knot/knot-dns!1285
Libor Peltan [Fri, 23 Apr 2021 18:50:17 +0000 (20:50 +0200)]
keymgr: enable listing zones (based on stored keys)
Libor Peltan [Fri, 23 Apr 2021 18:18:10 +0000 (20:18 +0200)]
KASP db: refactor/fix zone-related record classes
Libor Peltan [Fri, 23 Apr 2021 17:43:19 +0000 (19:43 +0200)]
keymgr: proper error handling within del-all-old
Daniel Salzman [Sun, 2 May 2021 10:25:03 +0000 (12:25 +0200)]
m4/sanitizer: remove broken Clang version check
Daniel Salzman [Sun, 2 May 2021 09:44:39 +0000 (11:44 +0200)]
tcp-handler: avoid garbage value access (Clang analyzer)
Daniel Salzman [Sun, 2 May 2021 09:41:46 +0000 (11:41 +0200)]
catalog: fix uninitialized function argument (Clang analyzer)
Daniel Salzman [Sun, 2 May 2021 08:31:42 +0000 (10:31 +0200)]
tests: mute Coverity
Robert Edmonds [Fri, 30 Apr 2021 22:48:53 +0000 (18:48 -0400)]
tests/contrib/test_net: Use IPv4 loopback socket instead of IPv6
In some build environments it may not be possible to bind to ::1. Bind
to INADDR_LOOPBACK instead, which prevents this test suite from failing
or crashing.
Robert Edmonds [Fri, 30 Apr 2021 18:51:44 +0000 (14:51 -0400)]
tests/contrib/test_net: Don't assert on net_stream_recv() failure
This commit removes the assert() in _sync() and propagates the error to
the caller.
It was possible for the test_dns_tcp() test to set up an invalid socket
descriptor and not notice that the socket was not usable, which would
cause socket reads to fail, which would trigger the assert. This can
occur in some CI environments where IPv6 networking is not available.
These tests should probably just fail instead of crashing the build.
Here is what the strace output looked like when this test asserted:
write(1, "# DNS messages over TCP\n", 24) = 24
socket(PF_INET6, SOCK_STREAM|SOCK_NONBLOCK, IPPROTO_IP) = 3
setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(3, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0
bind(3, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EADDRNOTAVAIL (Cannot assign requested address)
close(3) = 0
write(1, "not ok 1 - single DNS, server, create socket\n", 45) = 45
listen(-99, 5) = -1 EBADF (Bad file descriptor)
write(1, "not ok 2 - single DNS, server, start listening\n", 47) = 47
mmap(NULL,
8392704 , PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f340dc41000
mprotect(0x7f340dc41000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f340e440ff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7f340e4419d0, tls=0x7f340e441700, child_tidptr=0x7f340e4419d0) = 80049
write(1, "ok 3 - single DNS, server, start handler\n", 41) = 41
getsockname(-99, 0x7fffc7378760, 0x7fffc737867c) = -1 EBADF (Bad file descriptor)
write(1, "not ok 4 - check getsockname return\n", 36) = 36
socket(PF_UNSPEC, SOCK_STREAM|SOCK_NONBLOCK, 0) = -1 EAFNOSUPPORT (Address family not supported by protocol)
write(1, "not ok 5 - single DNS, client, create connected socket\n", 55) = 55
write(2, "test_net: contrib/test_net.c:410: _sync: Assertion `r == sizeof(buf)' failed.\n", 78) = 78
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f340ec4d000
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
tgkill(80048, 80048, SIGABRT) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=80048, si_uid=0} ---
+++ killed by SIGABRT (core dumped) +++
(I commented out all of the test_*() calls in main() except the call to
test_dns_tcp(), so the test numbering on stdout is off.)
This keeps the test_net program from assert()'ing on IPv4-only and
IPv4/IPv6 machines, but perhaps a better solution would be to have
the loop in test_dns_tcp() skip to the next test case if required
socket operations fail.
Daniel Salzman [Sat, 1 May 2021 08:20:27 +0000 (08:20 +0000)]
Merge branch 'catalog_conf_groups' into 'master'
Catalog conf groups
Closes #704
See merge request knot/knot-dns!1279
Daniel Salzman [Thu, 29 Apr 2021 14:01:04 +0000 (16:01 +0200)]
zone-update: use update->new_cont instead of update->zone->contents for full catalog update
Libor Peltan [Fri, 26 Mar 2021 17:32:39 +0000 (18:32 +0100)]
catalog: implemented interpreting member groups
Libor Peltan [Tue, 30 Mar 2021 14:05:46 +0000 (16:05 +0200)]
zonedb: commit catalog before reusing members...
...so that new config applies on them
Daniel Salzman [Wed, 28 Apr 2021 16:22:09 +0000 (18:22 +0200)]
server: don't log socket capabilities in xdp-only mode
Daniel Salzman [Wed, 28 Apr 2021 08:03:38 +0000 (10:03 +0200)]
server: add warning if no interface is configured
Tomas Krizek [Tue, 27 Apr 2021 12:59:12 +0000 (14:59 +0200)]
distro/tests: uncomment default listen configuration
Daniel Salzman [Tue, 27 Apr 2021 12:37:30 +0000 (14:37 +0200)]
samples: move default server.listen to a comment
Jan Hak [Mon, 26 Apr 2021 13:51:59 +0000 (15:51 +0200)]
tsig: fix wrong errcode when 'time signed' equals 0 to return BADTIME
fixes #730
Jan Hak [Fri, 23 Apr 2021 13:35:18 +0000 (15:35 +0200)]
doc: specify unix socket
Jan Hak [Fri, 23 Apr 2021 08:54:31 +0000 (10:54 +0200)]
tcp-handler: don't print broken address
Jan Hak [Mon, 12 Apr 2021 09:05:50 +0000 (11:05 +0200)]
fdset: polling using kqueue on BSD systems
Jan Hak [Thu, 22 Apr 2021 12:23:27 +0000 (14:23 +0200)]
knotd: print error when unable to change owner of logging file
fixes #728
Jan Hak [Thu, 22 Apr 2021 11:08:23 +0000 (13:08 +0200)]
kzonecheck: allows '-' as substitution for '/dev/stdin'
relates #727
Daniel Salzman [Thu, 22 Apr 2021 06:55:35 +0000 (08:55 +0200)]
Doxygen: add missing module descriptions
Daniel Salzman [Mon, 19 Apr 2021 15:08:58 +0000 (17:08 +0200)]
modules: fix knotd_conf() with NULL id
Daniel Salzman [Thu, 22 Apr 2021 09:48:46 +0000 (11:48 +0200)]
queryacl: remove redundant pointer check
Libor Peltan [Thu, 22 Apr 2021 09:22:18 +0000 (09:22 +0000)]
Merge branch 'qdata_addr_getters' into 'master'
Fix getting remote and local addresses in the XDP mode
See merge request knot/knot-dns!1284
Daniel Salzman [Wed, 21 Apr 2021 10:59:36 +0000 (12:59 +0200)]
knot+modules: fix getting remote and local addresses in the XDP mode