]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Petr Špaček [Tue, 22 Oct 2019 13:04:38 +0000 (15:04 +0200)]
doh debug: add depedency on openssl to meson build
Petr Špaček [Tue, 22 Oct 2019 12:57:03 +0000 (14:57 +0200)]
doh debug: package debug_opensslkeylog.so
Petr Špaček [Tue, 22 Oct 2019 11:30:47 +0000 (13:30 +0200)]
doh debug: log timestamp of each OPENSSLKEYLOGFILE opening
Wireshark 3.0.5 is able to deal with # comments in middle of log file.
Petr Špaček [Tue, 22 Oct 2019 11:26:39 +0000 (13:26 +0200)]
doh debug: create OPENSSLKEYLOGFILE accessible only by process owner
Petr Špaček [Tue, 22 Oct 2019 11:26:04 +0000 (13:26 +0200)]
doh debug: log timestamp of OPENSSLKEYLOGFILE creation
Petr Špaček [Tue, 22 Oct 2019 10:56:08 +0000 (12:56 +0200)]
doh debug: build and install OpenSSL SSLKEYLOGFILE helper library
It is not used in any way by default, enabling it requires manual
LD_PRELOAD= trickery as described in the source file.
Petr Špaček [Tue, 22 Oct 2019 10:40:49 +0000 (12:40 +0200)]
doh debug: avoid warning about _GNU_SOURCE redefinition
Petr Špaček [Tue, 22 Oct 2019 10:07:22 +0000 (12:07 +0200)]
doh debug: use more descriptive name debug_opensslkeylog
Petr Špaček [Tue, 22 Oct 2019 10:03:30 +0000 (12:03 +0200)]
doh debug: rename SSLKEYLOG environment variable to OPENSSLKEYLOG
This avoids conflict between GnuTLS's built-in SSLKEYLOG and our hack
for OpenSSL. This would be important for instances which run
DNS-over-TLS using built-in GnuTLS
and at the same time DNS-over-HTTPS using lua-http (based on OpenSSL).
Petr Špaček [Tue, 22 Oct 2019 09:58:30 +0000 (11:58 +0200)]
doh debug: add helper library with OpenSSL SSLKEYLOGFILE= support
Original file is GNU GPLv3+ licensed and was copied from
https://git.lekensteyn.nl/peter/wireshark-notes/plain/src/sslkeylog.c
blob:
370668907056f769e2d09bf7bd2e768249049f8f
commit:
de25eb75c8d90282ba90396218210c4601603347
Copyright (C) 2014 Peter Wu <peter@lekensteyn.nl>
Petr Špaček [Wed, 20 Nov 2019 12:00:16 +0000 (12:00 +0000)]
Merge branch 'zone-forward-ng' into 'master'
cache entry_list: fix crash on insertion via lua
See merge request knot/knot-resolver!889
Petr Špaček [Wed, 20 Nov 2019 11:46:20 +0000 (12:46 +0100)]
tests: skip Deckard integration tests if sendmmsg is enabled
All Deckard tests would fail anyway so we now print a warning and skip
Deckard tests.
Petr Špaček [Wed, 20 Nov 2019 11:38:38 +0000 (12:38 +0100)]
cache: integration test for explicit NS insertion
Vladimír Čunát [Thu, 24 Oct 2019 08:35:31 +0000 (10:35 +0200)]
cache entry_list: fix crash on insertion via lua
When inserting NS or xNAME, we could get into this place with
qry == NULL, and we'd crash when trying to use the memory pool.
Let's simply use the stack instead.
Petr Špaček [Wed, 20 Nov 2019 09:53:03 +0000 (09:53 +0000)]
Merge branch 'rpm-config-permissions' into 'master'
distro/rpm: move root.keys to proper location
Closes #513
See merge request knot/knot-resolver!888
Tomas Krizek [Fri, 8 Nov 2019 12:03:08 +0000 (13:03 +0100)]
distro/rpm: don't mark certificate as config file
Tomas Krizek [Thu, 24 Oct 2019 14:40:35 +0000 (16:40 +0200)]
distro/rpm: move root.keys to proper location
Fixes #513
Tomas Krizek [Fri, 8 Nov 2019 11:23:45 +0000 (12:23 +0100)]
meson: add option install_root_keys
Tomas Krizek [Thu, 24 Oct 2019 14:40:20 +0000 (16:40 +0200)]
meson: enable root keys installation to keyfile_default location
Petr Špaček [Wed, 20 Nov 2019 09:40:30 +0000 (09:40 +0000)]
Merge branch 'sendmmsg_use-after-free' into 'master'
sendmmsg: fix a use-after-free case
See merge request knot/knot-resolver!891
Vladimír Čunát [Fri, 15 Nov 2019 14:40:07 +0000 (15:40 +0100)]
NEWS for sendmmsg (preliminary text)
Vladimír Čunát [Fri, 15 Nov 2019 12:25:27 +0000 (13:25 +0100)]
daemon/worker: add assertion
It might detect some use-after-free cases even without ASAN.
Vladimír Čunát [Fri, 15 Nov 2019 12:22:11 +0000 (13:22 +0100)]
daemon/udp_queue: add a ref-unref pair
I must admit I don't really understand why we had a rare case
of use-after-free in the sendmmsg call, but this change should avoid
that without affecting anything else.
Tomas Krizek [Tue, 19 Nov 2019 12:00:36 +0000 (12:00 +0000)]
Merge branch 'ci-backtraces' into 'master'
ci: print backtraces from respdiff/resperf
See merge request knot/knot-resolver!893
Tomas Krizek [Tue, 19 Nov 2019 11:44:17 +0000 (12:44 +0100)]
ci: print docker output on respdiff/resperf failure
Tomas Krizek [Tue, 19 Nov 2019 11:42:03 +0000 (12:42 +0100)]
ci: use new security repo in gitlabci
Tomas Krizek [Mon, 11 Nov 2019 09:23:06 +0000 (09:23 +0000)]
Merge branch 'ci-boxes' into 'master'
ci: update distrotests
See merge request knot/knot-resolver!890
Tomas Krizek [Fri, 8 Nov 2019 14:53:50 +0000 (15:53 +0100)]
ci: use new distros for distrotests
Tomas Krizek [Fri, 8 Nov 2019 14:47:57 +0000 (15:47 +0100)]
distro/tests: add ubuntu1910
Tomas Krizek [Fri, 8 Nov 2019 14:47:38 +0000 (15:47 +0100)]
distro/tests: add Fedora 31
Tomas Krizek [Fri, 8 Nov 2019 14:46:35 +0000 (15:46 +0100)]
distro/tests: use generic/opensuse15 box
Tomas Krizek [Fri, 8 Nov 2019 14:45:52 +0000 (15:45 +0100)]
distro/tests: make ansible debug output readable
Tomas Krizek [Fri, 8 Nov 2019 12:18:43 +0000 (13:18 +0100)]
meson: remove upper version limit for knot
The advanced version comparison was isn't implemeted in meson 0.46,
which is used for CentOS 7 and it caused build issue with development
version of Knot.
Petr Špaček [Wed, 23 Oct 2019 12:11:38 +0000 (12:11 +0000)]
Merge branch 'watchdog-details' into 'master'
watchdog details
See merge request knot/knot-resolver!881
Vladimír Čunát [Thu, 10 Oct 2019 13:16:03 +0000 (15:16 +0200)]
modules/watchdog: use abort() for restarts
Motivation: core-dump might be very useful, and in this case there
are even very useful pointers on the C stack.
Petr Špaček [Wed, 23 Oct 2019 11:42:50 +0000 (11:42 +0000)]
Merge branch 'systemd-network-online' into 'master'
systemd/kresd: fix dependency on network-online.target
See merge request knot/knot-resolver!884
Tomas Krizek [Thu, 17 Oct 2019 08:37:44 +0000 (10:37 +0200)]
systemd/kresd: fix dependency on network-online.target
The missing Wants= and After= directives for network-online.target
made it possible for kresd to start before network interfaces were
properly initialized and configured with IP addresses, leading to a
failure to bind to addresses.
Tomas Krizek [Wed, 23 Oct 2019 11:13:52 +0000 (11:13 +0000)]
Merge branch 'ci-odvr' into 'master'
ci: add support for knot-resolver-odvr OBS repo
See merge request knot/knot-resolver!887
Tomas Krizek [Tue, 22 Oct 2019 13:14:59 +0000 (15:14 +0200)]
ci: add support for knot-resolver-odvr OBS repo
Tomas Krizek [Tue, 22 Oct 2019 09:29:09 +0000 (09:29 +0000)]
Merge branch 'knot-3-dev' into 'master'
tweak conditionals to work with knot 3.0.dev
See merge request knot/knot-resolver!885
Vladimír Čunát [Mon, 21 Oct 2019 12:32:51 +0000 (14:32 +0200)]
tweak conditionals to work with knot 3.0.dev
I didn't plan this well ahead :-/
Tomas Krizek [Wed, 16 Oct 2019 15:07:27 +0000 (15:07 +0000)]
Merge branch 'ci-knot-2.9' into 'master'
ci: switch to Knot DNS 2.9.x
See merge request knot/knot-resolver!883
Tomas Krizek [Wed, 16 Oct 2019 14:03:55 +0000 (16:03 +0200)]
ci: switch to Knot DNS 2.9.x
Tomas Krizek [Tue, 15 Oct 2019 13:59:12 +0000 (13:59 +0000)]
Merge branch 'meson-libknot' into 'master'
meson: allow libknot 3.0.dev
See merge request knot/knot-resolver!882
Tomas Krizek [Mon, 14 Oct 2019 11:37:03 +0000 (13:37 +0200)]
meson: allow libknot 3.0.dev
Vladimír Čunát [Thu, 10 Oct 2019 12:48:05 +0000 (12:48 +0000)]
Merge !880: nitpicks: comments and .gitignore
Vladimír Čunát [Tue, 24 Sep 2019 07:41:13 +0000 (09:41 +0200)]
lib/*: improve some comments
Vladimír Čunát [Tue, 30 Jul 2019 10:48:28 +0000 (12:48 +0200)]
.gitignore: remove *.d rule
- we have ./systemd/*.d dirs
- with meson we don't do in-tree builds, so *.d files shouldn't appear
Petr Špaček [Thu, 10 Oct 2019 10:27:29 +0000 (10:27 +0000)]
Merge branch 'enable-sendmmsg' into 'master'
meson: set sendmmsg to autodetection
See merge request knot/knot-resolver!877
Tomas Krizek [Fri, 4 Oct 2019 17:12:23 +0000 (19:12 +0200)]
meson: set sendmmsg to autodetection
Petr Špaček [Thu, 10 Oct 2019 10:24:57 +0000 (10:24 +0000)]
Merge branch 'perf-getsockname-2' into 'master'
daemon: avoid excessive getsockname() syscalls
See merge request knot/knot-resolver!854
Vladimír Čunát [Tue, 6 Aug 2019 11:54:02 +0000 (13:54 +0200)]
daemon sendmmsg: fix a minor TODO
This shouldn't change the operation in any way, it's just nicer.
Vladimír Čunát [Thu, 25 Jul 2019 13:51:09 +0000 (15:51 +0200)]
daemon: avoid excessive getsockname() syscalls
Calling this on every incoming UDP request could cost us up to 5% time.
Petr Špaček [Wed, 9 Oct 2019 12:45:56 +0000 (12:45 +0000)]
Merge branch 'http_reuseport' into 'master'
http: fix SO_REUSEPORT for HTTP sockets
See merge request knot/knot-resolver!879
Petr Špaček [Wed, 9 Oct 2019 12:35:53 +0000 (14:35 +0200)]
http: fix parallel execution of HTTP tests with SO_REUSEPORT
We have to use disjoint port ranges for individual test, otherwise
parallel test execution leads to unpredictable results.
Vladimír Čunát [Wed, 9 Oct 2019 08:38:56 +0000 (10:38 +0200)]
NEWS: http REUSEPORT, watchdog
Petr Špaček [Tue, 8 Oct 2019 16:57:07 +0000 (18:57 +0200)]
http: fix SO_REUSEPORT for HTTP sockets
lua-cqueues.socket.fdopen() resets the reuseport flag, so binding Nth
instance without systemd socket activation failed
Tomas Krizek [Tue, 8 Oct 2019 16:58:33 +0000 (16:58 +0000)]
Merge branch 'watchdog' into 'master'
watchdog rewrite
See merge request knot/knot-resolver!878
Tomas Krizek [Tue, 8 Oct 2019 15:42:59 +0000 (17:42 +0200)]
distro/*: package watchdog module
Petr Špaček [Tue, 8 Oct 2019 12:56:12 +0000 (14:56 +0200)]
watchdog rewrite
The watchdog module now can be loaded without systemd, has customisable
callbacks, and can do real DNS queries and check their results.
Petr Špaček [Tue, 8 Oct 2019 08:00:26 +0000 (08:00 +0000)]
Merge branch 'setrlimit' into 'master'
file-descriptor count limit
See merge request knot/knot-resolver!876
Vladimír Čunát [Mon, 7 Oct 2019 12:16:56 +0000 (14:16 +0200)]
daemon/main: file-descriptor count limit: soft->hard
Vladimír Čunát [Mon, 7 Oct 2019 12:29:30 +0000 (14:29 +0200)]
systemd: file-descriptor count limit 1Mi
Tomas Krizek [Mon, 7 Oct 2019 12:28:42 +0000 (12:28 +0000)]
Merge branch 'release-4-2-2' into 'master'
release 4.2.2
See merge request knot/knot-resolver!875
Tomas Krizek [Mon, 7 Oct 2019 11:21:30 +0000 (13:21 +0200)]
ci: remove pkg:epel-7 pkg:fedora-29 jobs
These jobs started to suddenly fail inexplicably. They also
require privileged mode and are a mess in general
Build and packaging for these distros is handled by nightly OBS builds
nowadays, so let's remove these.
Perhaps in the future, it might make sense ot bring back some sensible
CentOS 7 build (without the packaging part) to make sure we keep
compatibility with older GnuTLS on every commit / MR, instead of
nightly.
Petr Špaček [Fri, 4 Oct 2019 06:56:02 +0000 (08:56 +0200)]
release 4.2.2
Petr Špaček [Fri, 4 Oct 2019 06:52:05 +0000 (06:52 +0000)]
Merge branch 'lua-libknot-regression' into 'master'
lua bindings: fix a regression from
b42195a2
Closes #514
See merge request knot/knot-resolver!873
Vladimír Čunát [Mon, 30 Sep 2019 11:20:43 +0000 (13:20 +0200)]
lua bindings: fix a regression from
b42195a2
I'm really sorry; I didn't notice and it only hit parts that
*apparently* aren't tested normally. Only 32-bit systems would be
affected, due to the structure only changing ABI on 32-bit systems.
Vladimír Čunát [Wed, 2 Oct 2019 13:13:22 +0000 (15:13 +0200)]
modules/sd_watchdog nitpick: fix printf on some systems
The integer length didn't match on normal 32-bit linux.
Tomas Krizek [Mon, 30 Sep 2019 11:26:31 +0000 (11:26 +0000)]
Merge branch 'packaging-updates' into 'master'
distro/arch: add lua51-cqueues optional dependency
See merge request knot/knot-resolver!871
Tomas Krizek [Mon, 30 Sep 2019 08:20:27 +0000 (10:20 +0200)]
distro/arch: add lua51-cqueues optional dependency
Tomas Krizek [Thu, 26 Sep 2019 15:01:17 +0000 (15:01 +0000)]
Merge branch 'minor-fixes' into 'master'
minor fixes
See merge request knot/knot-resolver!870
Tomas Krizek [Thu, 26 Sep 2019 13:42:36 +0000 (15:42 +0200)]
docker: use latest Knot DNS
Tomas Krizek [Thu, 26 Sep 2019 13:42:15 +0000 (15:42 +0200)]
ci: keep OBS_REPO default value for distrotest jobs
Tomas Krizek [Thu, 26 Sep 2019 12:12:57 +0000 (12:12 +0000)]
Merge branch 'release-4-2-1' into 'master'
release 4.2.1
See merge request knot/knot-resolver!869
Tomas Krizek [Wed, 25 Sep 2019 12:11:56 +0000 (14:11 +0200)]
release 4.2.1
Tomas Krizek [Thu, 26 Sep 2019 11:55:37 +0000 (13:55 +0200)]
doc/upgrading: add note about knot-resolver-dbg
Petr Špaček [Wed, 25 Sep 2019 12:02:05 +0000 (12:02 +0000)]
Merge branch 'nsrep-fixes' into 'master'
nsrep fixes
Closes #497
See merge request knot/knot-resolver!868
Vladimír Čunát [Tue, 24 Sep 2019 13:17:41 +0000 (15:17 +0200)]
lib/nsrep: randomize the order of NS names
... as input into the *unchanged* algorithm (which is ugly).
This partially addresses the problem attempted by reverted commit,
and it also improves some other properties of the algorithm.
Vladimír Čunát [Tue, 24 Sep 2019 12:51:49 +0000 (14:51 +0200)]
Revert "nsrep: allow inclusion of good nameservers if there's space in selection"
This reverts commit
196ebd4f0b3a55830b1e313fa82abfd8c290eedd .
It was buggy, and I can't simply recover the intended effect.
Petr Špaček [Mon, 23 Sep 2019 15:03:41 +0000 (15:03 +0000)]
Merge branch 'validate-trim-ttls' into 'master'
validator: trim TTLs by RRSIG's expiration and original TTL
Closes #319
See merge request knot/knot-resolver!866
Vladimír Čunát [Tue, 3 Sep 2019 14:33:50 +0000 (16:33 +0200)]
validator: trim TTLs by RRSIG's expiration and original TTL
A down-side is that validation can now modify the validated RRset
on success. I checked all transitive call sites that it's OK.
The change is pretty simple; I just hand-tested it a bit with faketime.
Tomas Krizek [Fri, 20 Sep 2019 14:12:20 +0000 (14:12 +0000)]
Merge branch 'policy-special-use-dnames' into 'master'
modules/policy: DENY forgotten special-use domains
See merge request knot/knot-resolver!855
Vladimír Čunát [Tue, 17 Sep 2019 15:42:05 +0000 (17:42 +0200)]
modules/policy: DENY home.arpa. and local. domains
- home.arpa.: 4. from https://tools.ietf.org/html/rfc8375#section-4
- local.: 4. from https://tools.ietf.org/html/rfc6762#section-22.1
Well, it's just an approximation... if the user specifies a forwarding
policy, any special names will also get forwarded, even though the RFC
says not to. And this code will also reply NXDOMAIN to home.arpa. DS.
Some of these DENY rules are perhaps unnecessary, but for now we keep
the same approach. For arguments see the MR 855 thread and linked ML.
Tomas Krizek [Fri, 20 Sep 2019 12:10:45 +0000 (12:10 +0000)]
Merge branch 'libknot-2.9' into 'master'
add compatibility with libknot 2.9
See merge request knot/knot-resolver!864
Vladimír Čunát [Fri, 6 Sep 2019 12:33:02 +0000 (14:33 +0200)]
libknot compatibility: knot_edns_get_option()
Vladimír Čunát [Fri, 6 Sep 2019 10:10:12 +0000 (12:10 +0200)]
lua bindings: compatibility with both libknot versions
Vladimír Čunát [Fri, 6 Sep 2019 07:56:36 +0000 (09:56 +0200)]
meson: block compilation with future knot releases
I think it's safer to block it by default. For developer convenience,
let's allow pre-release variants of one further minor version.
Vladimír Čunát [Fri, 6 Sep 2019 07:54:32 +0000 (09:54 +0200)]
add compatibility with libknot 2.9
It's fairly easy to keep keep compatible with both 2.8 and 2.9,
so I'd go for that for now, as it may be practical.
Tomas Krizek [Fri, 20 Sep 2019 08:12:43 +0000 (08:12 +0000)]
Merge branch 'prefill-config' into 'master'
prefill module: allow a different module-loading style
Closes #506
See merge request knot/knot-resolver!863
Vladimír Čunát [Thu, 5 Sep 2019 14:38:59 +0000 (16:38 +0200)]
prefill module: allow a different module-loading style
Otherwise plain `modules = { 'prefill' }` will error out,
which is surprising wrt. to style used/allowed by other modules.
Tomas Krizek [Mon, 9 Sep 2019 14:16:38 +0000 (14:16 +0000)]
Merge branch 'ci-updates' into 'master'
ci updates
See merge request knot/knot-resolver!865
Tomas Krizek [Mon, 9 Sep 2019 13:17:55 +0000 (15:17 +0200)]
ci: refuse respdiff jobs when reference is unstable
Tomas Krizek [Mon, 9 Sep 2019 12:48:21 +0000 (14:48 +0200)]
distro/tests: use upstream leap15 box
Leap15 box was (allegedly temporarily) removed from vagrantcloud.
This is official upstream box generated by openSUSE that should be the
same as the one that used to be available on vagrantcloud.
Vladimír Čunát [Fri, 23 Aug 2019 09:12:09 +0000 (09:12 +0000)]
Merge !861: modules/prefill: resigned expired RRSIGS in test zones
Fixes #496
Ivana Krumlova [Thu, 22 Aug 2019 14:18:54 +0000 (16:18 +0200)]
modules/prefill: resigned expired RRSIGS in test zones
Fixes: #496
Petr Špaček [Fri, 16 Aug 2019 08:27:20 +0000 (08:27 +0000)]
Merge branch 'cd-servfail' into 'master'
lib/resolve answer_finalize: don't SERVFAIL bogus +cd
See merge request knot/knot-resolver!860
Vladimír Čunát [Wed, 14 Aug 2019 08:48:46 +0000 (10:48 +0200)]
lib/resolve answer_finalize: don't SERVFAIL bogus +cd
As kresd works now, typically we do not know whether these records are
bogus, as with +cd we do not attempt validation. Still, it's possible
that we have those records in cache from an occasion without +cd, in
which case we know they're bogus and this regression happened.
The potential impact of this issue seems minimal.
Tomas Krizek [Mon, 12 Aug 2019 10:25:42 +0000 (10:25 +0000)]
Merge branch 'rebinding-fixes' into 'master'
Rebinding fixes
See merge request knot/knot-resolver!859
Vladimír Čunát [Fri, 9 Aug 2019 13:21:03 +0000 (15:21 +0200)]
rebinding NEWS