]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
4 years agodaemon/session: use common naming convention in the entire file session-write-queue
Tomas Krizek [Thu, 13 Aug 2020 14:34:24 +0000 (16:34 +0200)] 
daemon/session: use common naming convention in the entire file

Rename "s" to "session" to be consistent with all the other
session_*() functions to make it easier to read.

4 years agodaemon/tls: use session's write_queue
Tomas Krizek [Thu, 13 Aug 2020 14:20:58 +0000 (16:20 +0200)] 
daemon/tls: use session's write_queue

4 years agodaemon/session: add write_queue_size
Tomas Krizek [Thu, 13 Aug 2020 14:17:10 +0000 (16:17 +0200)] 
daemon/session: add write_queue_size

This data is useful to track whether our code has buffered any data
for writing to the socket. Tracking this in session instead of
tls_common_ctx is required to support other protocols, e.g. plain HTTP.

4 years agoMerge branch 'ci-deckard-check' into 'master' obs-knot-dns-deve-jq0xxt/deployments/1014 obs-knot-dns-deve-jq0xxt/deployments/1016 obs-knot-dns-deve-jq0xxt/deployments/1018 obs-knot-dns-deve-jq0xxt/deployments/1020 obs-knot-resolver-es11k1/deployments/1015 obs-knot-resolver-es11k1/deployments/1017 obs-knot-resolver-es11k1/deployments/1019 obs-knot-resolver-es11k1/deployments/1021
Štěpán Balážik [Thu, 13 Aug 2020 12:32:47 +0000 (14:32 +0200)] 
Merge branch 'ci-deckard-check' into 'master'

ci: check whether Deckard submodule commit is present on master

See merge request knot/knot-resolver!1038

4 years agoci: check whether Deckard submodule commit is present on master
Štěpán Balážik [Thu, 13 Aug 2020 11:08:16 +0000 (13:08 +0200)] 
ci: check whether Deckard submodule commit is present on master

This is to prevent issues like https://gitlab.nic.cz/knot/knot-resolver/-/merge_requests/1036

4 years agoMerge branch 'fix-broken-rfc5011-rollover' into 'master'
Petr Špaček [Thu, 13 Aug 2020 10:26:44 +0000 (12:26 +0200)] 
Merge branch 'fix-broken-rfc5011-rollover' into 'master'

Fix RFC5011 rollover

See merge request knot/knot-resolver!1035

4 years agomodules/ta_update: resurrect RFC5011 test removed from deckard
Lukáš Ježek [Tue, 11 Aug 2020 11:39:51 +0000 (13:39 +0200)] 
modules/ta_update: resurrect RFC5011 test removed from deckard

4 years agomodules/ta_update: fix broken RFC5011 rollover
Lukáš Ježek [Fri, 7 Aug 2020 09:10:58 +0000 (11:10 +0200)] 
modules/ta_update: fix broken RFC5011 rollover

4 years agomodules/ta_update: indent correction
Lukáš Ježek [Fri, 7 Aug 2020 09:06:23 +0000 (11:06 +0200)] 
modules/ta_update: indent correction

4 years agoMerge branch 'ci-deckard-divergent-commit' into 'master' obs-knot-dns-deve-jq0xxt/deployments/1010 obs-knot-dns-deve-jq0xxt/deployments/1012 obs-knot-resolver-es11k1/deployments/1011 obs-knot-resolver-es11k1/deployments/1013
Štěpán Balážik [Tue, 11 Aug 2020 14:31:24 +0000 (16:31 +0200)] 
Merge branch 'ci-deckard-divergent-commit' into 'master'

ci: fix divergent commit in Deckard submodule

See merge request knot/knot-resolver!1036

4 years agoci: fix divergent commit in Deckard submodule
Štěpán Balážik [Tue, 11 Aug 2020 14:18:27 +0000 (16:18 +0200)] 
ci: fix divergent commit in Deckard submodule

Branch on Deckard tree tracked in this repository was left unmerged in
Deckard. The two trees therefore diverged and broke CI in knot-resolver
repo on a few commits retroactively.

4 years agoMerge branch 'validate-missing-rrsig' into 'master' obs-knot-dns-deve-jq0xxt/deployments/1008 obs-knot-resolver-es11k1/deployments/1009
Petr Špaček [Mon, 10 Aug 2020 10:38:57 +0000 (12:38 +0200)] 
Merge branch 'validate-missing-rrsig' into 'master'

validator: new approach to missing RRSIG(s)

Closes #390

See merge request knot/knot-resolver!1020

4 years agoNEWS: reference also issue, not only merge request
Petr Špaček [Mon, 10 Aug 2020 10:12:32 +0000 (12:12 +0200)] 
NEWS: reference also issue, not only merge request

4 years agoresolve: minor logging improvements
Petr Špaček [Fri, 7 Aug 2020 11:43:01 +0000 (13:43 +0200)] 
resolve: minor logging improvements

4 years agopolicy.DEBUG: translate rank values to human readable names
Petr Špaček [Fri, 7 Aug 2020 08:47:49 +0000 (10:47 +0200)] 
policy.DEBUG: translate rank values to human readable names

It is very useful when debugging. This code gets executed only with
special DEBUG policy so we do not need to worry about maximum performance.

4 years agovalidate: improve precision of one "going insecure" log
Vladimír Čunát [Thu, 6 Aug 2020 16:18:30 +0000 (18:18 +0200)] 
validate: improve precision of one "going insecure" log

The line was being logged a bit prematurely when the validator isn't
really going insecure yet.  This solves (some of?) those cases.

4 years agovalidator: up->bottom chase DS if RRSIG(s) are missing
Petr Špaček [Fri, 24 Jul 2020 13:37:50 +0000 (15:37 +0200)] 
validator: up->bottom chase DS if RRSIG(s) are missing

The original approach was using SOA owner in negative answers
to optimize number of DS queries. This approarch is less realiable with
weird "servers", including pre-DNSSEC servers which reply to DS query
with an SOA owner pointing to the child zone instead of parent zone.

We now walk the tree from root down to find the missing DS or proof of
its non-existance.

4 years agovalidator: bottom->up chase DS if RRSIG(s) are missing
Vladimír Čunát [Thu, 2 Jul 2020 15:04:08 +0000 (17:04 +0200)] 
validator: bottom->up chase DS if RRSIG(s) are missing

This is about situations when validator *thinks* it's in a signed zone
but an unsigned answer comes in. The assumption was that RRSIGs didn't
make it through some middle-boxes and it retried with explicit QTYPE=RRSIG.

There were two issues with that.
1. It seems that in most cases the cause of the situation is that
   we skipped over a zone cut that transitioned to insecure state,
   so the signatures correctly don't exist.
2. An explicit RRSIG query appears to be more trouble than worth;
   it seems reasonable for servers not to answer it (fully);
   see RFC 8482 sect. 7.

The new approach simply tries to find a proof that the name is insecure,
by spawning a QTYPE=DS sub-query on that name.  That fixes some
real-life cases; usually this happens in iteration mode where one IP
address serves zones on both sides of a cut that transitions to insecure.
For details see new comments in that rrsig_not_found() function.

The change resulted in the iterator fallback not making sense anymore
so it was removed.

4 years agoMerge branch '510-prometheus-and-graphite-metrics-are-missing-some-cache-stats' into... obs-knot-dns-deve-jq0xxt/deployments/1000 obs-knot-dns-deve-jq0xxt/deployments/1002 obs-knot-dns-deve-jq0xxt/deployments/1004 obs-knot-dns-deve-jq0xxt/deployments/1006 obs-knot-resolver-es11k1/deployments/1001 obs-knot-resolver-es11k1/deployments/1003 obs-knot-resolver-es11k1/deployments/1005 obs-knot-resolver-es11k1/deployments/1007
Petr Špaček [Thu, 6 Aug 2020 09:40:27 +0000 (11:40 +0200)] 
Merge branch '510-prometheus-and-graphite-metrics-are-missing-some-cache-stats' into 'master'

cache: add number of entries to cache.stats()

Closes #510

See merge request knot/knot-resolver!1028

4 years agocache: add number of entries to cache.stats()
Lukáš Ježek [Fri, 24 Jul 2020 09:00:41 +0000 (11:00 +0200)] 
cache: add number of entries to cache.stats()

4 years agoMerge branch 'luajit-aarch64' into 'master'
Petr Špaček [Thu, 6 Aug 2020 09:29:16 +0000 (11:29 +0200)] 
Merge branch 'luajit-aarch64' into 'master'

daemon/lua: get rid of __engine symbol in lua

See merge request knot/knot-resolver!1033

4 years agodaemon: don't get worker from uv_loop_t::data anymore
Vladimír Čunát [Wed, 5 Aug 2020 16:11:07 +0000 (18:11 +0200)] 
daemon: don't get worker from uv_loop_t::data anymore

4 years agodaemon/bindings: get rid of engine_luaget()
Vladimír Čunát [Wed, 5 Aug 2020 15:55:58 +0000 (17:55 +0200)] 
daemon/bindings: get rid of engine_luaget()

Lots of lines affected, but it gets slightly simpler.

4 years agodaemon/lua: get rid of __engine symbol in lua
Vladimír Čunát [Mon, 3 Aug 2020 17:32:23 +0000 (19:32 +0200)] 
daemon/lua: get rid of __engine symbol in lua

In particular this gets rid of last light user data inside kresd.

It was still causing problems on some systems, for example Debian Sid.
The error was the same: "bad light userdata pointer" from luajit,
but note that the problem can still be triggered by lua libraries,
e.g. cqueues.

4 years agoMerge branch 'doc-worker-stats' into 'master' obs-knot-dns-deve-jq0xxt/deployments/998 obs-knot-resolver-bs4hbr/deployments/997 obs-knot-resolver-es11k1/deployments/999
Tomas Krizek [Wed, 5 Aug 2020 10:44:12 +0000 (12:44 +0200)] 
Merge branch 'doc-worker-stats' into 'master'

doc: include worker.stats() description

See merge request knot/knot-resolver!1034

4 years agodoc: include worker.stats() description
Vladimír Čunát [Wed, 5 Aug 2020 10:05:29 +0000 (12:05 +0200)] 
doc: include worker.stats() description

4 years agoMerge branch 'ci_update' into 'master' obs-knot-dns-deve-jq0xxt/deployments/993 obs-knot-dns-deve-jq0xxt/deployments/995 obs-knot-resolver-es11k1/deployments/994 obs-knot-resolver-es11k1/deployments/996
Petr Špaček [Mon, 3 Aug 2020 14:17:55 +0000 (16:17 +0200)] 
Merge branch 'ci_update' into 'master'

CI docker image update

See merge request knot/knot-resolver!1032

4 years agoci: avoid broken py.test 6.0.0 and dnspython 2.0.0 which causes linting errors
Petr Špaček [Mon, 3 Aug 2020 12:15:07 +0000 (14:15 +0200)] 
ci: avoid broken py.test 6.0.0 and dnspython 2.0.0 which causes linting errors

References:
- https://github.com/pytest-dev/pytest/pull/7565
- https://github.com/rthalley/dnspython/pull/561

4 years agoci: add tcpdump for Deckard to Debian image
Petr Špaček [Wed, 29 Jul 2020 12:07:08 +0000 (14:07 +0200)] 
ci: add tcpdump for Deckard to Debian image

4 years agoMerge !1031: kr_pkt_text: accept OPT anywhere in ADDITIONAL
Vladimír Čunát [Mon, 3 Aug 2020 10:51:32 +0000 (12:51 +0200)] 
Merge !1031: kr_pkt_text: accept OPT anywhere in ADDITIONAL

4 years agodeckard: update to fix in CI (new dnspython in image)
Vladimír Čunát [Mon, 3 Aug 2020 10:34:20 +0000 (12:34 +0200)] 
deckard: update to fix in CI (new dnspython in image)

5 years agokr_pkt_text: OPT RR does not need to be at the end of Additional section
Petr Špaček [Fri, 31 Jul 2020 15:52:50 +0000 (17:52 +0200)] 
kr_pkt_text: OPT RR does not need to be at the end of Additional section

Previous code incorrectly assumed that OPT was last RR in section
and this lead to truncating output.
https://tools.ietf.org/html/rfc6891#section-6.1.1 clearly states that
OPT can be anywhere in Additional section.

Printer relies on checks in libknot packet parser: check_rr_constraints()
prevents packets with more OPT RRs or OPT outside of additional section
from being parsed so the printer cannot see them.

5 years agoMerge branch 'systemd-noversion' into 'master' obs-knot-dns-deve-jq0xxt/deployments/979 obs-knot-dns-deve-jq0xxt/deployments/981 obs-knot-dns-deve-jq0xxt/deployments/983 obs-knot-dns-deve-jq0xxt/deployments/985 obs-knot-dns-deve-jq0xxt/deployments/987 obs-knot-dns-deve-jq0xxt/deployments/989 obs-knot-dns-deve-jq0xxt/deployments/991 obs-knot-resolver-es11k1/deployments/980 obs-knot-resolver-es11k1/deployments/982 obs-knot-resolver-es11k1/deployments/984 obs-knot-resolver-es11k1/deployments/986 obs-knot-resolver-es11k1/deployments/988 obs-knot-resolver-es11k1/deployments/990 obs-knot-resolver-es11k1/deployments/992
Tomas Krizek [Mon, 27 Jul 2020 10:49:36 +0000 (12:49 +0200)] 
Merge branch 'systemd-noversion' into 'master'

meson: don't pass libsystemd version to C preprocessor

Closes #592

See merge request knot/knot-resolver!1029

5 years agomeson: don't pass libsystemd version to C preprocessor
Vladimír Čunát [Sat, 25 Jul 2020 14:46:13 +0000 (16:46 +0200)] 
meson: don't pass libsystemd version to C preprocessor

We don't use it anymore, and on some systems it's apparently
not an integer.

5 years agoMerge branch 'validate-signer-bailiwick' into 'master' obs-knot-dns-deve-jq0xxt/deployments/971 obs-knot-dns-deve-jq0xxt/deployments/973 obs-knot-dns-deve-jq0xxt/deployments/975 obs-knot-dns-deve-jq0xxt/deployments/977 obs-knot-resolver-es11k1/deployments/972 obs-knot-resolver-es11k1/deployments/974 obs-knot-resolver-es11k1/deployments/976 obs-knot-resolver-es11k1/deployments/978
Petr Špaček [Thu, 23 Jul 2020 06:56:43 +0000 (08:56 +0200)] 
Merge branch 'validate-signer-bailiwick' into 'master'

validate: don't chase non-sensical signers

Closes #587

See merge request knot/knot-resolver!1022

5 years agovalidate: don't chase non-sensical signers
Vladimír Čunát [Mon, 13 Jul 2020 14:10:22 +0000 (16:10 +0200)] 
validate: don't chase non-sensical signers

When signer name isn't a prefix of owner, the signature does not make
sense and it's no use trying to use that signer name in any way.

We generally don't force queries on every level of the path,
so this signer confusion could "introduce SERVFAILs" if we
skip over a transition to insecure.

5 years agoMerge branch '580-add-cache-usage-to-cache-stats' into 'master' obs-knot-dns-deve-jq0xxt/deployments/957 obs-knot-dns-deve-jq0xxt/deployments/959 obs-knot-dns-deve-jq0xxt/deployments/961 obs-knot-dns-deve-jq0xxt/deployments/963 obs-knot-dns-deve-jq0xxt/deployments/965 obs-knot-dns-deve-jq0xxt/deployments/967 obs-knot-dns-deve-jq0xxt/deployments/969 obs-knot-resolver-es11k1/deployments/958 obs-knot-resolver-es11k1/deployments/960 obs-knot-resolver-es11k1/deployments/962 obs-knot-resolver-es11k1/deployments/964 obs-knot-resolver-es11k1/deployments/966 obs-knot-resolver-es11k1/deployments/968 obs-knot-resolver-es11k1/deployments/970
Petr Špaček [Thu, 16 Jul 2020 08:30:26 +0000 (10:30 +0200)] 
Merge branch '580-add-cache-usage-to-cache-stats' into 'master'

cache: add percentage usage to cache stats

Closes #580

See merge request knot/knot-resolver!1025

5 years agocache: add percentage usage to cache stats
Lukáš Ježek [Fri, 10 Jul 2020 13:08:13 +0000 (15:08 +0200)] 
cache: add percentage usage to cache stats

5 years agoMerge branch 'nitpicks' into 'master' obs-knot-dns-deve-jq0xxt/deployments/955 obs-knot-resolver-es11k1/deployments/956
Petr Špaček [Wed, 15 Jul 2020 07:44:09 +0000 (09:44 +0200)] 
Merge branch 'nitpicks' into 'master'

nitpicks: batch of tiny fixes collected over time

See merge request knot/knot-resolver!1024

5 years agoci travis: move to the last stage
Vladimír Čunát [Tue, 14 Jul 2020 15:34:30 +0000 (17:34 +0200)] 
ci travis: move to the last stage

So that the overall pipeline time isn't extended too much.

5 years agoci travis: tweak the timeouts a bit
Vladimír Čunát [Tue, 14 Jul 2020 15:13:35 +0000 (17:13 +0200)] 
ci travis: tweak the timeouts a bit

In the past week the Travis runs have been consistently taking much more
time than before, usually around 20 minutes, leading to our CI timing out.
https://travis-ci.com/github/CZ-NIC/knot-resolver/builds

5 years agolib/resolve nitpick: missing newline in verbose message
Vladimír Čunát [Tue, 14 Jul 2020 14:44:38 +0000 (16:44 +0200)] 
lib/resolve nitpick: missing newline in verbose message

5 years ago.travis.yml: nit fixes according to the validator
Vladimír Čunát [Mon, 29 Jun 2020 16:47:37 +0000 (18:47 +0200)] 
.travis.yml: nit fixes according to the validator

- root: deprecated key sudo (The key `sudo` has no effect anymore.)
- root: key matrix is an alias for jobs, using jobs

5 years agodoc-comments: fix some of the complaints from doxygen
Vladimír Čunát [Tue, 14 Apr 2020 10:06:44 +0000 (12:06 +0200)] 
doc-comments: fix some of the complaints from doxygen

There's still frequent issue that documenting some parameters would be
mainly noise but doxygen will warn when not doing it.
WARN_IF_UNDOCUMENTED apparently doesn't cover this and
WARN_IF_DOC_ERROR would probably remove even some useful warnings.

5 years agostats nitpick: nicer code
Vladimír Čunát [Tue, 14 Apr 2020 06:43:59 +0000 (08:43 +0200)] 
stats nitpick: nicer code

5 years agoremove more --forks=1 ocurrences
Vladimír Čunát [Tue, 14 Apr 2020 06:41:24 +0000 (08:41 +0200)] 
remove more --forks=1 ocurrences

It's deprecated since 5.0.0.

5 years agoMerge !1023: pytests: fix tls session resumption tests obs-knot-dns-deve-jq0xxt/deployments/953 obs-knot-resolver-es11k1/deployments/954
Vladimír Čunát [Tue, 14 Jul 2020 16:15:10 +0000 (18:15 +0200)] 
Merge !1023: pytests: fix tls session resumption tests

5 years agotreewide: rename remaining deprecated labs URLs
Tomas Krizek [Tue, 14 Jul 2020 15:25:24 +0000 (17:25 +0200)] 
treewide: rename remaining deprecated labs URLs

5 years agopytests: fix tls session resumption tests
Tomas Krizek [Tue, 14 Jul 2020 12:13:10 +0000 (14:13 +0200)] 
pytests: fix tls session resumption tests

5 years agoMerge branch 'tls_resumption_multi_process' into 'master'
Tomas Krizek [Tue, 14 Jul 2020 08:35:00 +0000 (10:35 +0200)] 
Merge branch 'tls_resumption_multi_process' into 'master'

tls: fix compilation to support net.tls_sticket_secret()

See merge request knot/knot-resolver!1021

5 years agoconfig tests: better test net.tls_sticket_secret()
Vladimír Čunát [Fri, 10 Jul 2020 12:35:36 +0000 (14:35 +0200)] 
config tests: better test net.tls_sticket_secret()

The trick there is that it isn't supported (by us) on gnutls < 3.6.3.
I checked that the test fails before the fix in parent commit
and that it succeeds (is skipped) with gnutls 3.6.2.

5 years agotls: enable net.tls_sticket_secret() for session resumption across processes
Petr Špaček [Thu, 9 Jul 2020 14:51:54 +0000 (16:51 +0200)] 
tls: enable net.tls_sticket_secret() for session resumption across processes

5 years agoMerge branch 'gitlab-move' into 'master' obs-knot-dns-deve-jq0xxt/deployments/945 obs-knot-dns-deve-jq0xxt/deployments/947 obs-knot-dns-deve-jq0xxt/deployments/949 obs-knot-dns-deve-jq0xxt/deployments/951 obs-knot-resolver-es11k1/deployments/946 obs-knot-resolver-es11k1/deployments/948 obs-knot-resolver-es11k1/deployments/950 obs-knot-resolver-es11k1/deployments/952
Tomas Krizek [Fri, 10 Jul 2020 12:16:36 +0000 (14:16 +0200)] 
Merge branch 'gitlab-move' into 'master'

treewide: move to our new GitLab URL

See merge request knot/knot-resolver!1019

5 years agotreewide: move to our new GitLab URL
Vladimír Čunát [Wed, 1 Jul 2020 09:20:49 +0000 (11:20 +0200)] 
treewide: move to our new GitLab URL

s/gitlab\.labs\.nic/gitlab.nic/g
Redirects are in place, so it shouldn't be required now, but why not.

5 years agoMerge branch 'test_cleanup' into 'master' obs-knot-dns-deve-jq0xxt/deployments/939 obs-knot-dns-deve-jq0xxt/deployments/941 obs-knot-resolver-es11k1/deployments/940 obs-knot-resolver-es11k1/deployments/942
Petr Špaček [Wed, 8 Jul 2020 06:46:37 +0000 (08:46 +0200)] 
Merge branch 'test_cleanup' into 'master'

test cleanups

See merge request knot/knot-resolver!1017

5 years agomodule tests (daf + prefill): switch to shared check_answer()
Vladimír Čunát [Wed, 1 Jul 2020 16:27:23 +0000 (18:27 +0200)] 
module tests (daf + prefill): switch to shared check_answer()

I think this eliminates the remaining copies.  Most of the places don't
need all the features, but it still seems worth to deduplicate.

5 years agoconfig tests: log test file name at the beginning of output
Petr Špaček [Tue, 30 Jun 2020 15:54:38 +0000 (17:54 +0200)] 
config tests: log test file name at the beginning of output

5 years agoconfig tests: detect incorrect config test suite definitions
Petr Špaček [Tue, 30 Jun 2020 15:50:35 +0000 (17:50 +0200)] 
config tests: detect incorrect config test suite definitions

Old behavior where test definition without "return" was silently
skipped was very confusing.

5 years agoconfig tests: do not load and detect_time_skew and ta_update modules
Petr Špaček [Tue, 30 Jun 2020 15:26:35 +0000 (17:26 +0200)] 
config tests: do not load and detect_time_skew and ta_update modules

It was only generating noise in test logs, especially when network is
not abvailable/is intentionally disabled.

5 years agoMerge !1012: don't drop capabilities when running as root obs-knot-dns-deve-jq0xxt/deployments/929 obs-knot-dns-deve-jq0xxt/deployments/931 obs-knot-dns-deve-jq0xxt/deployments/933 obs-knot-dns-deve-jq0xxt/deployments/935 obs-knot-dns-deve-jq0xxt/deployments/937 obs-knot-resolver-es11k1/deployments/930 obs-knot-resolver-es11k1/deployments/932 obs-knot-resolver-es11k1/deployments/934 obs-knot-resolver-es11k1/deployments/936 obs-knot-resolver-es11k1/deployments/938
Vladimír Čunát [Fri, 3 Jul 2020 16:09:20 +0000 (18:09 +0200)] 
Merge !1012: don't drop capabilities when running as root

5 years agomeson: add build options to disable libcapng
Tomas Krizek [Fri, 19 Jun 2020 10:33:40 +0000 (12:33 +0200)] 
meson: add build options to disable libcapng

5 years agodaemon: don't drop capabilities when running as root
Tomas Krizek [Fri, 19 Jun 2020 09:47:33 +0000 (11:47 +0200)] 
daemon: don't drop capabilities when running as root

When the effective user is root, no capabilities are dropped. This
change has no effect when running as non-privileged user or when
switching to non-privileged user via user() in config.

Dropping capabilities as a root user resulted in the following
unexpected behaviour:

1. When using trust anchor update, r/w access to root keys is neeeded.
   These are typically owned by knot-resolver user. When kresd is
   executed as root and capabilities are dropped, this file was no longer
   writable, because it is owned by knot-resolver, not root.
2. It is impossible to recreate/resize cache due to the same permission
   issue as above.

If you want to drop capabilities when starting kresd as a root user,
you can switch the user with the `user()` command. This changes the
effective user ID and drops any capabilities as well.

5 years agoMerge branch 'release-5-1-2' into 'master' obs-knot-dns-deve-jq0xxt/deployments/925 obs-knot-dns-deve-jq0xxt/deployments/927 obs-knot-resolver-8xyvhu/deployments/924 obs-knot-resolver-es11k1/deployments/926 obs-knot-resolver-es11k1/deployments/928 obs-knot-resolver-kv62s6/deployments/923 v5.1.2
Tomas Krizek [Wed, 1 Jul 2020 12:26:03 +0000 (14:26 +0200)] 
Merge branch 'release-5-1-2' into 'master'

release 5.1.2

See merge request knot/knot-resolver!1018

5 years agorelease 5.1.2 obs-knot-resolver-bs4hbr/deployments/922
Tomas Krizek [Wed, 1 Jul 2020 08:30:03 +0000 (10:30 +0200)] 
release 5.1.2

5 years agodoc: default to ignoring warning during doc build
Tomas Krizek [Wed, 1 Jul 2020 11:26:23 +0000 (13:26 +0200)] 
doc: default to ignoring warning during doc build

Add new target doc-strict for development to detect warnings, but avoid
failing package builds due to documentation warnings.

5 years agodistro/rpm: use opensuse license format
Tomas Krizek [Wed, 1 Jul 2020 08:24:42 +0000 (10:24 +0200)] 
distro/rpm: use opensuse license format

opensuse and fedora/epel use different license strings, but the opensuse
value is used in Knot DNS, so let's be consistent.

Cherry picked from https://build.opensuse.org/request/show/817870

5 years agodistro/tests: remove fedora30 (EOL)
Tomas Krizek [Wed, 1 Jul 2020 07:58:46 +0000 (09:58 +0200)] 
distro/tests: remove fedora30 (EOL)

5 years agoMerge branch 'rpz-warnings' into 'master'
Petr Špaček [Wed, 1 Jul 2020 06:25:14 +0000 (08:25 +0200)] 
Merge branch 'rpz-warnings' into 'master'

policy.rpz: various fixes

See merge request knot/knot-resolver!1016

5 years agoNEWS: describe the RPZ fixes
Vladimír Čunát [Tue, 30 Jun 2020 16:27:44 +0000 (18:27 +0200)] 
NEWS: describe the RPZ fixes

5 years agopolicy.rpz: support local data with larger RRsets
Vladimír Čunát [Tue, 30 Jun 2020 14:11:18 +0000 (16:11 +0200)] 
policy.rpz: support local data with larger RRsets

5 years agotests check_answer(): support checking RDATA
Vladimír Čunát [Tue, 30 Jun 2020 14:05:32 +0000 (16:05 +0200)] 
tests check_answer(): support checking RDATA

Also allow using empty set as an alternative to NODATA pseudo-RCODE,
and migrate RPZ tests to this merged function.

5 years agopolicy.ANSWER: allow multiple RRs
Vladimír Čunát [Tue, 30 Jun 2020 13:45:08 +0000 (15:45 +0200)] 
policy.ANSWER: allow multiple RRs

... by allowing .rdata to be a table.  Larger RRsets seem useful.

5 years agopolicy.rpz: fix $ORIGIN-related handling
Vladimír Čunát [Tue, 30 Jun 2020 12:37:12 +0000 (14:37 +0200)] 
policy.rpz: fix $ORIGIN-related handling

- use parser-detected $ORIGIN instead of looking at SOA owner
- skip records outside $ORIGIN (and warn) instead of nesting them
- simplify a bit, and tweak warnings

5 years agopolicy.rpz: don't warn on NS and SOA records
Vladimír Čunát [Tue, 30 Jun 2020 08:51:08 +0000 (10:51 +0200)] 
policy.rpz: don't warn on NS and SOA records

Also utilize table indexing.
This was a "regression" from extending RPZ support in 5.1.0.
NS and SOA are even mandatory, as RPZ is supposed to be a valid zone:
https://tools.ietf.org/html/draft-ietf-dnsop-dns-rpz-00#section-2

5 years agoMerge branch '585-graphite-prevents-kresd-to-start-if-graphite-server-is-not-availabl... obs-knot-dns-deve-jq0xxt/deployments/914 obs-knot-dns-deve-jq0xxt/deployments/916 obs-knot-resolver-es11k1/deployments/917
Tomas Krizek [Mon, 29 Jun 2020 15:05:08 +0000 (17:05 +0200)] 
Merge branch '585-graphite-prevents-kresd-to-start-if-graphite-server-is-not-available' into 'master'

graphite: Reconnect to the graphite server when it was unavailable

Closes #585

See merge request knot/knot-resolver!1014

5 years agographite: NEWS
Petr Špaček [Mon, 29 Jun 2020 14:07:43 +0000 (16:07 +0200)] 
graphite: NEWS

5 years agographite: use TCP timeout value derived from publish interval
Petr Špaček [Mon, 29 Jun 2020 13:58:10 +0000 (15:58 +0200)] 
graphite: use TCP timeout value derived from publish interval

It seems pointless to accumulate "late" connection attempts.

5 years agographite: make socket operations asynchronous
Petr Špaček [Mon, 29 Jun 2020 12:29:10 +0000 (14:29 +0200)] 
graphite: make socket operations asynchronous

5 years agographite: more informative socket error messages
Petr Špaček [Mon, 29 Jun 2020 12:28:45 +0000 (14:28 +0200)] 
graphite: more informative socket error messages

5 years agographite: reconnect to the graphite server when it was unavailable
Lukáš Ježek [Fri, 26 Jun 2020 11:39:39 +0000 (13:39 +0200)] 
graphite: reconnect to the graphite server when it was unavailable

5 years agoMerge branch 'gc-fixes' into 'master'
Tomas Krizek [Mon, 29 Jun 2020 13:34:35 +0000 (15:34 +0200)] 
Merge branch 'gc-fixes' into 'master'

GC fixes

See merge request knot/knot-resolver!1009

5 years agogc: use kresd versioning instead of separate one
Vladimír Čunát [Tue, 9 Jun 2020 14:27:07 +0000 (16:27 +0200)] 
gc: use kresd versioning instead of separate one

I don't think it makes sense to ever package it separately from kresd,
so why should it have separate versioning? (could be confusing)

5 years agogc: print numbers in more readable way
Vladimír Čunát [Tue, 9 Jun 2020 14:19:24 +0000 (16:19 +0200)] 
gc: print numbers in more readable way

5 years agogc: fix integer overflow when computing how much to GC
Vladimír Čunát [Tue, 9 Jun 2020 06:09:32 +0000 (08:09 +0200)] 
gc: fix integer overflow when computing how much to GC

On 32-bit systems the insufficient GC could commonly happen:
https://lists.nic.cz/pipermail/knot-resolver-users/2020/000265.html

The meaning of -f parameter got slightly changed, so that the buggy
computation could be greatly simplified.  GC seems to make sense when
most of cache space is used, in which case the difference is small.

5 years agogc: fix flushing of messages to logs
Vladimír Čunát [Tue, 9 Jun 2020 04:24:42 +0000 (06:24 +0200)] 
gc: fix flushing of messages to logs

There were the usual effects: very incorrect timestamps (even by days),
and I suspect we could even lose some logs completely.

5 years agoMerge !1013: lib/cache: fix locking around cache preallocation obs-knot-dns-deve-jq0xxt/deployments/906 obs-knot-dns-deve-jq0xxt/deployments/908 obs-knot-dns-deve-jq0xxt/deployments/910 obs-knot-dns-deve-jq0xxt/deployments/912 obs-knot-resolver-es11k1/deployments/907 obs-knot-resolver-es11k1/deployments/909 obs-knot-resolver-es11k1/deployments/911 obs-knot-resolver-es11k1/deployments/913
Vladimír Čunát [Thu, 25 Jun 2020 12:52:03 +0000 (14:52 +0200)] 
Merge !1013: lib/cache: fix locking around cache preallocation

Fixes #582.

5 years agocache: NEWS for prealloc lock fix
Petr Špaček [Thu, 25 Jun 2020 12:40:26 +0000 (14:40 +0200)] 
cache: NEWS for prealloc lock fix

5 years agolib/cache: fix locking around cache preallocation
Lukáš Ježek [Thu, 25 Jun 2020 08:30:23 +0000 (10:30 +0200)] 
lib/cache: fix locking around cache preallocation

5 years agoMerge !1010: meson: treat -Wattributes as error obs-knot-dns-deve-jq0xxt/deployments/893 obs-knot-dns-deve-jq0xxt/deployments/895 obs-knot-dns-deve-jq0xxt/deployments/897 obs-knot-dns-deve-jq0xxt/deployments/899 obs-knot-dns-deve-jq0xxt/deployments/902 obs-knot-dns-deve-jq0xxt/deployments/904 obs-knot-resolver-es11k1/deployments/894 obs-knot-resolver-es11k1/deployments/896 obs-knot-resolver-es11k1/deployments/898 obs-knot-resolver-es11k1/deployments/900 obs-knot-resolver-es11k1/deployments/903 obs-knot-resolver-es11k1/deployments/905
Vladimír Čunát [Fri, 19 Jun 2020 12:12:52 +0000 (14:12 +0200)] 
Merge !1010: meson: treat -Wattributes as error

5 years agomeson: treat -Wattributes as error obs-knot-resolver-bs4hbr/deployments/888
Tomas Krizek [Wed, 17 Jun 2020 08:53:18 +0000 (10:53 +0200)] 
meson: treat -Wattributes as error

Trie relies on __attribute__(cleanup) and if its missing, it could
lead to memory leaks such as:

https://sonarcloud.io/project/issues?id=dns-oarc%3Adnsjit&issues=AXDyskhlrWLe1VCMvmVe&open=AXDyskhlrWLe1VCMvmVe

5 years agoMerge branch 'packaging-pytest' into 'master' obs-knot-dns-deve-jq0xxt/deployments/846 obs-knot-dns-deve-jq0xxt/deployments/848 obs-knot-dns-deve-jq0xxt/deployments/850 obs-knot-dns-deve-jq0xxt/deployments/852 obs-knot-dns-deve-jq0xxt/deployments/854 obs-knot-dns-deve-jq0xxt/deployments/856 obs-knot-dns-deve-jq0xxt/deployments/858 obs-knot-dns-deve-jq0xxt/deployments/860 obs-knot-dns-deve-jq0xxt/deployments/862 obs-knot-dns-deve-jq0xxt/deployments/864 obs-knot-dns-deve-jq0xxt/deployments/866 obs-knot-dns-deve-jq0xxt/deployments/868 obs-knot-dns-deve-jq0xxt/deployments/870 obs-knot-dns-deve-jq0xxt/deployments/872 obs-knot-dns-deve-jq0xxt/deployments/874 obs-knot-dns-deve-jq0xxt/deployments/876 obs-knot-dns-deve-jq0xxt/deployments/878 obs-knot-dns-deve-jq0xxt/deployments/880 obs-knot-dns-deve-jq0xxt/deployments/882 obs-knot-dns-deve-jq0xxt/deployments/884 obs-knot-dns-deve-jq0xxt/deployments/886 obs-knot-dns-deve-jq0xxt/deployments/889 obs-knot-dns-deve-jq0xxt/deployments/891 obs-knot-resolver-es11k1/deployments/847 obs-knot-resolver-es11k1/deployments/849 obs-knot-resolver-es11k1/deployments/851 obs-knot-resolver-es11k1/deployments/853 obs-knot-resolver-es11k1/deployments/855 obs-knot-resolver-es11k1/deployments/857 obs-knot-resolver-es11k1/deployments/859 obs-knot-resolver-es11k1/deployments/861 obs-knot-resolver-es11k1/deployments/863 obs-knot-resolver-es11k1/deployments/865 obs-knot-resolver-es11k1/deployments/867 obs-knot-resolver-es11k1/deployments/869 obs-knot-resolver-es11k1/deployments/871 obs-knot-resolver-es11k1/deployments/873 obs-knot-resolver-es11k1/deployments/875 obs-knot-resolver-es11k1/deployments/877 obs-knot-resolver-es11k1/deployments/879 obs-knot-resolver-es11k1/deployments/881 obs-knot-resolver-es11k1/deployments/883 obs-knot-resolver-es11k1/deployments/885 obs-knot-resolver-es11k1/deployments/887 obs-knot-resolver-es11k1/deployments/890 obs-knot-resolver-es11k1/deployments/892
Tomas Krizek [Wed, 27 May 2020 08:54:29 +0000 (10:54 +0200)] 
Merge branch 'packaging-pytest' into 'master'

CI: optimize packaging tests

Closes #541

See merge request knot/knot-resolver!947

5 years agoCI: error handling when using gitlab api
Lukáš Ježek [Tue, 26 May 2020 08:12:37 +0000 (10:12 +0200)] 
CI: error handling when using gitlab api

5 years agotests/packaging: fix runtime dependencies
Tomas Krizek [Mon, 18 May 2020 16:15:08 +0000 (18:15 +0200)] 
tests/packaging: fix runtime dependencies

5 years agotests/packaging: add centos 8
Tomas Krizek [Mon, 18 May 2020 12:30:04 +0000 (14:30 +0200)] 
tests/packaging: add centos 8

5 years agotests/packaging: add ubuntu 20.04
Tomas Krizek [Mon, 18 May 2020 11:48:03 +0000 (13:48 +0200)] 
tests/packaging: add ubuntu 20.04

5 years agotests/packaging: add f32, remove f30
Tomas Krizek [Mon, 18 May 2020 11:41:13 +0000 (13:41 +0200)] 
tests/packaging: add f32, remove f30

5 years agoscripts: remove obsolete make-archive.sh
Tomas Krizek [Mon, 18 May 2020 09:18:26 +0000 (11:18 +0200)] 
scripts: remove obsolete make-archive.sh

5 years agotests/packaging: python nitpicks
Tomas Krizek [Mon, 18 May 2020 08:41:08 +0000 (10:41 +0200)] 
tests/packaging: python nitpicks

5 years agotests/packaging: rename packaging file directories to .packaging
Tomas Krizek [Mon, 18 May 2020 08:21:06 +0000 (10:21 +0200)] 
tests/packaging: rename packaging file directories to .packaging

5 years agotests: Remove old packaging tests
Lukáš Ježek [Mon, 11 May 2020 11:44:13 +0000 (13:44 +0200)] 
tests: Remove old packaging tests