]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
14 months agorrl: broken async in defer docs-develop-rrl-atcrao/deployments/4274 rrl-wip-unbroken
Lukáš Ondráček [Wed, 29 May 2024 16:37:48 +0000 (18:37 +0200)] 
rrl: broken async in defer

14 months agorrl: tidying
Lukáš Ondráček [Wed, 29 May 2024 12:42:51 +0000 (14:42 +0200)] 
rrl: tidying

14 months agofixup! rrl: renaming, movements, create defer protolayer
Lukáš Ondráček [Tue, 28 May 2024 15:08:11 +0000 (17:08 +0200)] 
fixup! rrl: renaming, movements, create defer protolayer

14 months agorrl: renaming, movements, create defer protolayer
Lukáš Ondráček [Tue, 28 May 2024 14:47:17 +0000 (16:47 +0200)] 
rrl: renaming, movements, create defer protolayer

14 months agoMerge branch 'master' into 'rrl-wip'
Oto Šťáva [Tue, 4 Jun 2024 15:38:58 +0000 (17:38 +0200)] 
Merge branch 'master' into 'rrl-wip'

14 months agoMerge branch 'nits' into 'master' docs-develop-mast-tzgd0f/deployments/4273 docs-develop-mast-tzgd0f/deployments/4275 docs-develop-mast-tzgd0f/deployments/4278 docs-develop-mast-tzgd0f/deployments/4289 docs-develop-mast-tzgd0f/deployments/4292 docs-develop-nigh-589znp/deployments/4276 docs-develop-nigh-589znp/deployments/4290 obs-knot-resolver-es11k1/deployments/4277 obs-knot-resolver-es11k1/deployments/4291
Oto Šťáva [Tue, 4 Jun 2024 15:32:01 +0000 (17:32 +0200)] 
Merge branch 'nits' into 'master'

Protocol layers and other parts refactoring (+ nits)

See merge request knot/knot-resolver!1546

14 months agodaemon/session2.h: clarify `struct session2` docs docs-develop-nits-2dntdj/deployments/4272
Oto Šťáva [Tue, 4 Jun 2024 08:49:49 +0000 (10:49 +0200)] 
daemon/session2.h: clarify `struct session2` docs

As pointed out by @lukas.ondracek, the wording could be confusing when
mentioning *bottommost* and *topmost* layers. The original wording was
meant to reference the way the arrays in `daemon/session2.c` are laid
out, but never explicitly mentioned that, so one could be implicitly
think it was in reference to the widely known ISO/OSI or TCP/IP models,
which could be interpreted incorrectly (the layers are traditionally
laid out the other way around there).

14 months ago.gitlab-ci: use Arch for linting
Oto Šťáva [Fri, 31 May 2024 13:04:25 +0000 (15:04 +0200)] 
.gitlab-ci: use Arch for linting

This allows us to use the newest versions of linter tools.

14 months agodaemon/session2: fix asynchronous layer iterations
Oto Šťáva [Fri, 31 May 2024 10:09:42 +0000 (12:09 +0200)] 
daemon/session2: fix asynchronous layer iterations

There were a few bugs in the protolayer system that prevented us from
pausing iteration and resuming it properly. This commit should hopefully
resolve them.

14 months agoSome more Clang-Tidy silencing
Oto Šťáva [Wed, 29 May 2024 14:04:45 +0000 (16:04 +0200)] 
Some more Clang-Tidy silencing

14 months agodaemon/session2: optimize allocations
Oto Šťáva [Wed, 22 May 2024 13:18:30 +0000 (15:18 +0200)] 
daemon/session2: optimize allocations

A) Context-specific allocations
-------------------------------

There were two problems:

1) Some payloads are short-lived (e.g. allocated on stack) and we need
   to make a copy of them if the iteration over protocol layers becomes
   asynchronous.
2) The `pl_dns_stream_wrap` function used a mempool belonging to its
   session-wide context. Some sessions may live for a long time, which
   could potentially lead to needlessly long-lived memory allocations.

Both of these problems are solved in this commit by using a new
`knot_mm_t pool` field in `struct protolayer_iter_ctx`, which lives only
for a single submit (and survives asynchronicity). The whole pool is
then freed all at once when the `struct protolayer_iter_ctx` is
finalized.

B) Merging `struct protolayer_manager` into `struct session2`
-------------------------------------------------------------

It actually made no real sense to have the two separated. It only
introduced an extra layer of indirection and many layers actually needed
to access both anyway. This should simplify things considerably.

14 months agodaemon/proxyv2: move PROXY protocol into its own layer
Oto Šťáva [Tue, 21 May 2024 17:04:38 +0000 (19:04 +0200)] 
daemon/proxyv2: move PROXY protocol into its own layer

Previously, PROXYv2 handling was partially implemented in the `io.c`
unit in the `_TCP` and `_UDP` protocol layers, which technically made
very little sense. This commit moves this handling into separate
`_PROXYV2_DGRAM` and `_PROXYV2_STREAM` protocol layers, basically
encapsulating the handling of proxies in the `proxyv2.c` unit.

This commit also makes the PROXYv2 stream layer only support
`PROTOLAYER_PAYLOAD_WIRE_BUF` on its input, as other payload types were
unused and untested in this context.

14 months agodaemon/session2: protocol layer refactors + docs
Oto Šťáva [Tue, 21 May 2024 16:38:56 +0000 (18:38 +0200)] 
daemon/session2: protocol layer refactors + docs

This makes some readability enhancements to the `protolayer_` API as
well as clarifies some of the documentation.

There is also a change where the definitions of protocol layer sequences
does not require a `_NULL` layer to be present at the end anymore, as
the number of layers in a sequence is determined at compile time. This
makes defining new sequences less error-prone.

14 months agodaemon, lib: unify protolayer_grp and kr_proto enums
Oto Šťáva [Tue, 21 May 2024 09:09:47 +0000 (11:09 +0200)] 
daemon, lib: unify protolayer_grp and kr_proto enums

14 months agodaemon/session2: documentation improvements
Oto Šťáva [Mon, 20 May 2024 16:42:38 +0000 (18:42 +0200)] 
daemon/session2: documentation improvements

14 months agodaemon/io: remove minor inefficiency
Oto Šťáva [Mon, 20 May 2024 16:22:19 +0000 (18:22 +0200)] 
daemon/io: remove minor inefficiency

The resolver would try to move the bytes in the wire buffer over even if
the incoming data would not fit anyway. This should prevent that.

14 months agodaemon/http: fix typo
Oto Šťáva [Mon, 20 May 2024 15:50:00 +0000 (17:50 +0200)] 
daemon/http: fix typo

A missing `protolayer_break()`. C's typechecking failed me.

14 months agoutils/client/.clang-tidy: remove
Oto Šťáva [Wed, 15 May 2024 14:04:21 +0000 (16:04 +0200)] 
utils/client/.clang-tidy: remove

This is a leftover from the merged CI/CD overhaul. Only relevant for
Knot Resolver 5 - in 6, the experimental client was removed in favour of
`kresctl` from `manager`.

14 months agoMerge branch 'manager-configurable-meson' into 'master' docs-develop-mast-tzgd0f/deployments/4269
Oto Šťáva [Tue, 4 Jun 2024 11:02:05 +0000 (13:02 +0200)] 
Merge branch 'manager-configurable-meson' into 'master'

manager: configurable Meson directory

See merge request knot/knot-resolver!1542

14 months agodoc/dev/build.rst: installing the manager from source docs-develop-mana-oa16bs/deployments/4265
Aleš Mrázek [Tue, 4 Jun 2024 04:48:21 +0000 (06:48 +0200)] 
doc/dev/build.rst: installing the manager from source

14 months agomanager: configurable Meson directory docs-develop-mana-oa16bs/deployments/4217
Oto Šťáva [Thu, 16 May 2024 12:17:12 +0000 (14:17 +0200)] 
manager: configurable Meson directory

This commit makes it more convenient to change the configuration of the
build directory of `kresd` when using Knot Resolver Manager. It adds a
new `./poe configure` command, which optionally takes the same arguments
as the standard `meson configure` command.

The `./poe run` command now requires running `./poe configure` at least
once to set up the build directory. If the directory has been configured
before this commit (i.e. `./poe run` has been executed at least once),
no extra action is required, as the directory structure remains the
same.

The commit also removes the `manager` configuration option from Meson as
we were not using it and it was broken and potentially confusing to
newcomers.

14 months agoMerge branch 'pkg-v6-update' into 'master' docs-develop-mast-tzgd0f/deployments/4207 docs-develop-mast-tzgd0f/deployments/4219 docs-develop-mast-tzgd0f/deployments/4222 docs-develop-mast-tzgd0f/deployments/4233 docs-develop-mast-tzgd0f/deployments/4236 docs-develop-mast-tzgd0f/deployments/4248 docs-develop-mast-tzgd0f/deployments/4251 docs-develop-mast-tzgd0f/deployments/4252 docs-develop-mast-tzgd0f/deployments/4255 docs-develop-mast-tzgd0f/deployments/4256 docs-develop-mast-tzgd0f/deployments/4259 docs-develop-mast-tzgd0f/deployments/4261 docs-develop-mast-tzgd0f/deployments/4264 docs-develop-nigh-589znp/deployments/4220 docs-develop-nigh-589znp/deployments/4234 docs-develop-nigh-589znp/deployments/4249 docs-develop-nigh-589znp/deployments/4253 docs-develop-nigh-589znp/deployments/4257 docs-develop-nigh-589znp/deployments/4262 obs-knot-resolver-es11k1/deployments/4221 obs-knot-resolver-es11k1/deployments/4235 obs-knot-resolver-es11k1/deployments/4250 obs-knot-resolver-es11k1/deployments/4254 obs-knot-resolver-es11k1/deployments/4258 obs-knot-resolver-es11k1/deployments/4263
Oto Šťáva [Wed, 29 May 2024 10:21:15 +0000 (12:21 +0200)] 
Merge branch 'pkg-v6-update' into 'master'

distro: merge -core and -manager into knot-resolver

See merge request knot/knot-resolver!1549

14 months agodistro/config: bump apkg compat level to latest docs-develop-pkg-69bht2/deployments/4206
Jakub Ružička [Tue, 28 May 2024 13:28:05 +0000 (15:28 +0200)] 
distro/config: bump apkg compat level to latest

No changes required.

14 months agodistro/pkg/rpm: merge -core and -manager into knot-resolver
Jakub Ružička [Tue, 28 May 2024 12:41:51 +0000 (14:41 +0200)] 
distro/pkg/rpm: merge -core and -manager into knot-resolver

14 months agodistro/pkg/deb: add -dev package
Jakub Ružička [Fri, 24 May 2024 12:01:17 +0000 (14:01 +0200)] 
distro/pkg/deb: add -dev package

14 months agodistro/pkg/deb: use knot-resolver6 prefix
Jakub Ružička [Fri, 24 May 2024 11:52:52 +0000 (13:52 +0200)] 
distro/pkg/deb: use knot-resolver6 prefix

Prevent accidental upgrades from v5.

Merge -core and -manager subpackages back into knot-resolver6.

14 months agoMerge branch 'dnsssec-false' into 'master' docs-develop-mast-tzgd0f/deployments/4195 docs-develop-mast-tzgd0f/deployments/4202 docs-develop-mast-tzgd0f/deployments/4205 docs-develop-nigh-589znp/deployments/4203 obs-knot-resolver-es11k1/deployments/4204
Aleš Mrázek [Tue, 28 May 2024 08:40:47 +0000 (10:40 +0200)] 
Merge branch 'dnsssec-false' into 'master'

datamodel: unbreak `dnssec: false`

See merge request knot/knot-resolver!1548

14 months agodatamodel: unbreak `dnssec: false` docs-develop-dnss-peq4j3/deployments/4194
Vladimír Čunát [Mon, 27 May 2024 08:57:58 +0000 (10:57 +0200)] 
datamodel: unbreak `dnssec: false`

It was causing an incorrect Lua line
  trust_anchors.keep_removed =

Reported on gitter a couple days ago.

14 months agoMerge branch 'stats-split-6.x' into 'master' docs-develop-mast-tzgd0f/deployments/4186 docs-develop-mast-tzgd0f/deployments/4190 docs-develop-mast-tzgd0f/deployments/4193 docs-develop-nigh-589znp/deployments/4191 obs-knot-resolver-es11k1/deployments/4192
Oto Šťáva [Mon, 27 May 2024 11:49:15 +0000 (13:49 +0200)] 
Merge branch 'stats-split-6.x' into 'master'

modules/stats: split IPv4 and IPv6 stats (version 6.x)

See merge request knot/knot-resolver!1545

14 months agoNon-trivial merge 'master-5' (see 'modules/stats') docs-develop-stat-s8hiue/deployments/4185
Oto Šťáva [Mon, 27 May 2024 10:59:51 +0000 (12:59 +0200)] 
Non-trivial merge 'master-5' (see 'modules/stats')

modules/stats: adapt aggregate stats to the new hierarchical format

Knot Resolver 6 changed the structure of the stats return value, making
it more hierarchical, i.e. the returned object contains nested
"sub-objects", rather than being flat. This commit adapts the new
aggregate stats to this new structure, for consistency.

14 months agoMerge !1544: modules/stats: split IPv4 and IPv6 stats (version 5.x) docs-develop-mast-tyrtta/deployments/4182
Vladimír Čunát [Mon, 27 May 2024 10:17:42 +0000 (12:17 +0200)] 
Merge !1544: modules/stats: split IPv4 and IPv6 stats (version 5.x)

14 months agoNEWS: stats split docs-develop-stat-ik6qmx/deployments/4181
Oto Šťáva [Mon, 27 May 2024 09:18:34 +0000 (11:18 +0200)] 
NEWS: stats split

14 months agoMerge branch rrl-wip-sample into rrl-wip
Lukáš Ondráček [Wed, 22 May 2024 11:29:25 +0000 (13:29 +0200)] 
Merge branch rrl-wip-sample into rrl-wip

14 months agomodules/stats: add back stats dropped in the previous commit docs-develop-stat-ik6qmx/deployments/4128
Vladimír Čunát [Mon, 20 May 2024 12:11:07 +0000 (14:11 +0200)] 
modules/stats: add back stats dropped in the previous commit

Just as read-only aggregates of the split v4+v6 pairs.

14 months agomodules/stats: split request.* metrics to IPv4 and IPv6
Vladimír Čunát [Mon, 20 May 2024 11:32:52 +0000 (13:32 +0200)] 
modules/stats: split request.* metrics to IPv4 and IPv6

Let's have .total4 and .total6, too.  Then .total could be expressed
as a sum of *three* (including .internal), so it's still counted
separately, as an exception.

14 months agomodules/stats: add answer.sum_ms metric
Vladimír Čunát [Mon, 20 May 2024 11:32:45 +0000 (13:32 +0200)] 
modules/stats: add answer.sum_ms metric

(cherry picked from commit 44df5dd0d0fedfae390e7137572bcb14270e4d48)

14 months agoMerge branch 'coverity' into 'master-5' docs-develop-mast-tyrtta/deployments/4126
Oto Šťáva [Mon, 20 May 2024 11:01:04 +0000 (13:01 +0200)] 
Merge branch 'coverity' into 'master-5'

Coverity fixes

See merge request knot/knot-resolver!1543

14 months agodaemon/tls_ephemeral_credentials: fix possible race between read() and fstat() docs-develop-cove-uiak3c/deployments/4125
Oto Šťáva [Mon, 20 May 2024 09:52:27 +0000 (11:52 +0200)] 
daemon/tls_ephemeral_credentials: fix possible race between read() and fstat()

14 months ago.gitlab-ci: fail Coverity Scan on HTTP error
Oto Šťáva [Mon, 20 May 2024 09:01:19 +0000 (11:01 +0200)] 
.gitlab-ci: fail Coverity Scan on HTTP error

14 months agomodules/hints: fix dname bounds check
Oto Šťáva [Fri, 17 May 2024 11:22:51 +0000 (13:22 +0200)] 
modules/hints: fix dname bounds check

This check was introduced to fix Clang-Tidy errors, but was factually
not completely correct, tripping Coverity Scan.

14 months agoutils/cache_gc: use lib/generic/array instead of dynarray
Oto Šťáva [Fri, 17 May 2024 11:03:27 +0000 (13:03 +0200)] 
utils/cache_gc: use lib/generic/array instead of dynarray

This should appease Coverity Scan, and make the garbage collector
consistent with the rest of the Resolver.

14 months agorrl: truncate only answers sent over pure UDP docs-develop-rrl-8r8r8r/deployments/4124
Vladimír Čunát [Mon, 20 May 2024 10:14:41 +0000 (12:14 +0200)] 
rrl: truncate only answers sent over pure UDP

14 months agofixup! rrl: truncating answers when close to limit, dropping over limit
Vladimír Čunát [Sun, 19 May 2024 07:02:02 +0000 (09:02 +0200)] 
fixup! rrl: truncating answers when close to limit, dropping over limit

14 months agorrl: switch to CLOCK_THREAD_CPUTIME_ID for measurements
Lukáš Ondráček [Wed, 15 May 2024 15:45:42 +0000 (17:45 +0200)] 
rrl: switch to CLOCK_THREAD_CPUTIME_ID for measurements

14 months agoMerge branch 'coverity' into 'master' docs-develop-mast-tzgd0f/deployments/4084 docs-develop-mast-tzgd0f/deployments/4091 docs-develop-mast-tzgd0f/deployments/4094 docs-develop-mast-tzgd0f/deployments/4099 docs-develop-mast-tzgd0f/deployments/4102 docs-develop-mast-tzgd0f/deployments/4109 docs-develop-mast-tzgd0f/deployments/4112 docs-develop-mast-tzgd0f/deployments/4113 docs-develop-mast-tzgd0f/deployments/4116 docs-develop-mast-tzgd0f/deployments/4117 docs-develop-mast-tzgd0f/deployments/4120 docs-develop-mast-tzgd0f/deployments/4133 docs-develop-mast-tzgd0f/deployments/4136 docs-develop-mast-tzgd0f/deployments/4144 docs-develop-mast-tzgd0f/deployments/4147 docs-develop-mast-tzgd0f/deployments/4152 docs-develop-mast-tzgd0f/deployments/4154 docs-develop-mast-tzgd0f/deployments/4158 docs-develop-mast-tzgd0f/deployments/4161 docs-develop-mast-tzgd0f/deployments/4162 docs-develop-mast-tzgd0f/deployments/4165 docs-develop-mast-tzgd0f/deployments/4168 docs-develop-mast-tzgd0f/deployments/4171 docs-develop-mast-tzgd0f/deployments/4172 docs-develop-mast-tzgd0f/deployments/4175 docs-develop-nigh-589znp/deployments/4092 docs-develop-nigh-589znp/deployments/4100 docs-develop-nigh-589znp/deployments/4110 docs-develop-nigh-589znp/deployments/4114 docs-develop-nigh-589znp/deployments/4118 docs-develop-nigh-589znp/deployments/4134 docs-develop-nigh-589znp/deployments/4145 docs-develop-nigh-589znp/deployments/4153 docs-develop-nigh-589znp/deployments/4159 docs-develop-nigh-589znp/deployments/4163 docs-develop-nigh-589znp/deployments/4169 docs-develop-nigh-589znp/deployments/4173 obs-knot-resolver-es11k1/deployments/4093 obs-knot-resolver-es11k1/deployments/4101 obs-knot-resolver-es11k1/deployments/4111 obs-knot-resolver-es11k1/deployments/4115 obs-knot-resolver-es11k1/deployments/4119 obs-knot-resolver-es11k1/deployments/4135 obs-knot-resolver-es11k1/deployments/4146 obs-knot-resolver-es11k1/deployments/4155 obs-knot-resolver-es11k1/deployments/4160 obs-knot-resolver-es11k1/deployments/4164 obs-knot-resolver-es11k1/deployments/4170 obs-knot-resolver-es11k1/deployments/4174
Oto Šťáva [Wed, 15 May 2024 13:02:35 +0000 (15:02 +0200)] 
Merge branch 'coverity' into 'master'

daemon, lib, modules: trivial fixes for Coverity issues

See merge request knot/knot-resolver!1541

14 months agodaemon, lib, modules: trivial fixes for Coverity issues docs-develop-cove-uiak3c/deployments/4083
Oto Šťáva [Wed, 15 May 2024 12:46:00 +0000 (14:46 +0200)] 
daemon, lib, modules: trivial fixes for Coverity issues

14 months agoMerge 'origin/master' into 6.0 - last merge before rename docs-develop-6-0-mvwoqi/deployments/4073 docs-develop-cove-uiak3c/deployments/4076 docs-develop-mast-tzgd0f/deployments/4075 docs-develop-mast-tzgd0f/deployments/4079 docs-develop-mast-tzgd0f/deployments/4082 docs-develop-nigh-589znp/deployments/4080 docs-develop-tmp-wti7ta/deployments/4072 obs-knot-resolver-es11k1/deployments/4081
Oto Šťáva [Tue, 14 May 2024 10:05:01 +0000 (12:05 +0200)] 
Merge 'origin/master' into 6.0 - last merge before rename

This is the last commit in `6.0` before it is shifted into `master`,
with 5.x support being moved to `master-5`.

14 months ago.gitlab-ci: remove SonarCloud Scanner docs-develop-mast-tyrtta/deployments/4074 docs-develop-mast-tzgd0f/deployments/4071
Oto Šťáva [Tue, 14 May 2024 09:35:18 +0000 (11:35 +0200)] 
.gitlab-ci: remove SonarCloud Scanner

The detections are mostly academic and useless for our purposes. We have
other static analyzers that better suit our needs.

14 months agoMerge branch 'ci-overhaul-2' into 'master' docs-develop-mast-tzgd0f/deployments/4069
Oto Šťáva [Tue, 14 May 2024 08:59:59 +0000 (10:59 +0200)] 
Merge branch 'ci-overhaul-2' into 'master'

CI/CD overhaul

See merge request knot/knot-resolver!1533

14 months agoMerge branch 'knot_wire-6.0' into '6.0' docs-develop-6-0-mvwoqi/deployments/4063
Oto Šťáva [Mon, 13 May 2024 13:22:44 +0000 (15:22 +0200)] 
Merge branch 'knot_wire-6.0' into '6.0'

Resolve !1509 with 6.0 (libknot 3.4 compatibility)

See merge request knot/knot-resolver!1539

14 months agotests/pytests/utils: handle SSLEOFError docs-develop-ci-o-45qdxc/deployments/4062
Oto Šťáva [Tue, 7 May 2024 14:41:42 +0000 (16:41 +0200)] 
tests/pytests/utils: handle SSLEOFError

It used to just throw BrokenPipeError, but newer versions of Python have
a separate exception for when the connection is closed in violation of
TLS rules, which Knot Resolver does deliberately so as to not waste time
on properly closing TLS connections with misbehaving peers.

14 months agotest/pytests/test_tls: remove resumption test
Oto Šťáva [Tue, 7 May 2024 11:29:32 +0000 (13:29 +0200)] 
test/pytests/test_tls: remove resumption test

Knot Resolver disables resumption on TLS <=1.2 as it is vulnerable to
replay attacks, so the test makes no sense, as that one was specifically
disabled for TLS >=1.3 (Python had no support for it at the time).

We should make a new test for this with TLS 1.3 support.

14 months agotests/pytests: remove deprecated calls
Oto Šťáva [Mon, 6 May 2024 11:35:02 +0000 (13:35 +0200)] 
tests/pytests: remove deprecated calls

14 months agoSilence Clang-Tidy
Oto Šťáva [Mon, 29 Apr 2024 13:09:01 +0000 (15:09 +0200)] 
Silence Clang-Tidy

This commit makes lots of changes to the C code to appease the
Clang-Tidy linter. Some of the less obvious ones are due to C's weird
semantics regarding handling of numeric literals.

We also disable a bunch of the detections because they are
super-pedantic, arguably useless, or we have our own unwritten coding
style rules that solve the issues.

14 months ago.gitlab-ci, tests, modules: adapt to knot-resolver-ci repo
Oto Šťáva [Tue, 23 Apr 2024 14:34:08 +0000 (16:34 +0200)] 
.gitlab-ci, tests, modules: adapt to knot-resolver-ci repo

This is the bulk of the CI/CD overhaul.

Most of the changes are to the `.gitlab-ci.yml` file, where the build
images used are replaced with the ones provided by the
`knot-resolver-ci` repository. Some cleanups have also been done.

The commit also adds unit testing with Knot Resolver built against
multiple versions of Knot DNS, including the `master` branch. The
`master` branch image is built nightly in the `knot-resolver-ci` repo.

We have also removed `scan-build`, as its tests change frequently, with
lots of false-positives, which are very different on each version, and
there is no good way to ignore some detections. Clang-Tidy covers some
of the same issues, and we also have Coverity Scan. Should be more than
enough.

A few config tests were also excluded in the AddressSanitizer tests,
because they produce false-positives.

14 months agotests/dnstap: Go improvements
Oto Šťáva [Thu, 11 Apr 2024 10:30:38 +0000 (12:30 +0200)] 
tests/dnstap: Go improvements

- Do `go mod tidy` before running the test, even in CI
- Add `go.sum` to `.gitignore`
- Compatibility with Go 1.15 (Debian 11)

14 months agoMerge branch 'master' into knot_wire-6.0 docs-develop-knot-8ksg4h/deployments/4036
Vladimír Čunát [Thu, 9 May 2024 06:47:11 +0000 (08:47 +0200)] 
Merge branch 'master' into knot_wire-6.0

14 months agoResolve !1509 with 6.0 (libknot 3.4 compatibility)
Vladimír Čunát [Thu, 9 May 2024 06:36:08 +0000 (08:36 +0200)] 
Resolve !1509 with 6.0 (libknot 3.4 compatibility)

- some knot_wire_next_label() calls were added since master,
  so those get changed as in a083f3fe63cffbabb19e6b67848151f4bb6d623c
- some code has moved since master (to lib/resolve-produce.c),
  and unfortunately the MR !1509 did change some of it,
  and git was unable to handle this automatically

This merge commit is separate, only bringing !1509 and no other
changes from master, so that it's easier to understand.

14 months agoMerge !1538: ci nixos: switch container image tag docs-develop-mast-tzgd0f/deployments/4035 docs-develop-mast-tzgd0f/deployments/4038 docs-develop-mast-tzgd0f/deployments/4040 docs-develop-mast-tzgd0f/deployments/4045 docs-develop-mast-tzgd0f/deployments/4048 docs-develop-mast-tzgd0f/deployments/4049 docs-develop-mast-tzgd0f/deployments/4052 docs-develop-mast-tzgd0f/deployments/4053 docs-develop-mast-tzgd0f/deployments/4056 docs-develop-mast-tzgd0f/deployments/4065 docs-develop-mast-tzgd0f/deployments/4068 docs-develop-nigh-589znp/deployments/4039 docs-develop-nigh-589znp/deployments/4046 docs-develop-nigh-589znp/deployments/4050 docs-develop-nigh-589znp/deployments/4054 docs-develop-nigh-589znp/deployments/4066 obs-knot-resolver-es11k1/deployments/4041 obs-knot-resolver-es11k1/deployments/4047 obs-knot-resolver-es11k1/deployments/4051 obs-knot-resolver-es11k1/deployments/4055 obs-knot-resolver-es11k1/deployments/4067
Vladimír Čunát [Thu, 9 May 2024 06:28:43 +0000 (08:28 +0200)] 
Merge !1538: ci nixos: switch container image tag

14 months agoci nixos: switch container image tag docs-develop-ci-n-u025gi/deployments/4034
Vladimír Čunát [Thu, 9 May 2024 05:34:33 +0000 (07:34 +0200)] 
ci nixos: switch container image tag

Unfortunately the `latest` tag is amd64 only right now,
even though it did have both recently. I hope this will work reliably.

14 months agoMerge remote-tracking branch 'origin/6.0' into rrl-wip docs-develop-rrl-8r8r8r/deployments/4019
Lukáš Ondráček [Tue, 7 May 2024 14:06:23 +0000 (16:06 +0200)] 
Merge remote-tracking branch 'origin/6.0' into rrl-wip

14 months agofixup! rrl: truncating answers when close to limit, dropping over limit docs-develop-rrl-8r8r8r/deployments/4018
Lukáš Ondráček [Tue, 7 May 2024 09:03:12 +0000 (11:03 +0200)] 
fixup! rrl: truncating answers when close to limit, dropping over limit

14 months agodaemon/rrl WIP: estimate CPU work done on behalf of clients docs-develop-rrl-l16r8o/deployments/4015
Vladimír Čunát [Tue, 7 May 2024 10:34:15 +0000 (12:34 +0200)] 
daemon/rrl WIP: estimate CPU work done on behalf of clients

14 months agorrl: truncating answers when close to limit, dropping over limit docs-develop-rrl-8r8r8r/deployments/4008
Lukáš Ondráček [Mon, 6 May 2024 15:32:45 +0000 (17:32 +0200)] 
rrl: truncating answers when close to limit, dropping over limit

14 months agoMerge !1509: treewide: more compatibility with future libknot 3.4 docs-develop-mast-tzgd0f/deployments/4005 docs-develop-mast-tzgd0f/deployments/4009 docs-develop-mast-tzgd0f/deployments/4012 docs-develop-mast-tzgd0f/deployments/4021 docs-develop-mast-tzgd0f/deployments/4024 docs-develop-mast-tzgd0f/deployments/4027 docs-develop-mast-tzgd0f/deployments/4030 docs-develop-nigh-589znp/deployments/4010 docs-develop-nigh-589znp/deployments/4022 docs-develop-nigh-589znp/deployments/4028 obs-knot-resolver-es11k1/deployments/4011 obs-knot-resolver-es11k1/deployments/4023 obs-knot-resolver-es11k1/deployments/4029
Vladimír Čunát [Mon, 6 May 2024 12:53:32 +0000 (14:53 +0200)] 
Merge !1509: treewide: more compatibility with future libknot 3.4

14 months agotreewide: more compatibility with future libknot 3.4 docs-develop-knot-r94p16/deployments/4003
Vladimír Čunát [Wed, 6 Mar 2024 07:13:57 +0000 (08:13 +0100)] 
treewide: more compatibility with future libknot 3.4

knot_wire_next_label used to return NULL when applied to . (root)
but that's not allowed anymore, and some of our calls relied on that.

14 months agotreewide: more compatibility with future libknot 3.4
Vladimír Čunát [Tue, 5 Mar 2024 12:48:21 +0000 (13:48 +0100)] 
treewide: more compatibility with future libknot 3.4

knot_wire_next_label isn't allowed with NULL wire anymore.

15 months agoMerge remote-tracking branch 'origin/master' into 6.0 docs-develop-6-0-mvwoqi/deployments/3964 docs-develop-tmp-wti7ta/deployments/3963
Oto Šťáva [Thu, 2 May 2024 11:05:27 +0000 (13:05 +0200)] 
Merge remote-tracking branch 'origin/master' into 6.0

15 months agoMerge !1536: distro/pkg/arch: fix after they renamed a dependency docs-develop-6-0-mvwoqi/deployments/3962
Vladimír Čunát [Thu, 2 May 2024 11:04:01 +0000 (13:04 +0200)] 
Merge !1536: distro/pkg/arch: fix after they renamed a dependency

15 months agodistro/pkg/arch: fix after they renamed a dependency docs-develop-arch-w3h4cr/deployments/3961
Vladimír Čunát [Mon, 29 Apr 2024 08:53:44 +0000 (10:53 +0200)] 
distro/pkg/arch: fix after they renamed a dependency

15 months agoMerge branch 'doc-news-nits' into '6.0' docs-develop-6-0-mvwoqi/deployments/3960
Oto Šťáva [Thu, 2 May 2024 10:51:26 +0000 (12:51 +0200)] 
Merge branch 'doc-news-nits' into '6.0'

nits: NEWS and predict module doc

See merge request knot/knot-resolver!1535

15 months agoMerge branch 'macos-fix' into 'master' docs-develop-mast-tzgd0f/deployments/3958 docs-develop-mast-tzgd0f/deployments/3976 docs-develop-mast-tzgd0f/deployments/3979 docs-develop-mast-tzgd0f/deployments/3986 docs-develop-mast-tzgd0f/deployments/3989 docs-develop-mast-tzgd0f/deployments/3990 docs-develop-mast-tzgd0f/deployments/3993 docs-develop-mast-tzgd0f/deployments/3994 docs-develop-mast-tzgd0f/deployments/3997 docs-develop-nigh-589znp/deployments/3977 docs-develop-nigh-589znp/deployments/3987 docs-develop-nigh-589znp/deployments/3991 docs-develop-nigh-589znp/deployments/3995 obs-knot-resolver-es11k1/deployments/3978 obs-knot-resolver-es11k1/deployments/3988 obs-knot-resolver-es11k1/deployments/3992 obs-knot-resolver-es11k1/deployments/3996
Oto Šťáva [Thu, 2 May 2024 10:46:04 +0000 (12:46 +0200)] 
Merge branch 'macos-fix' into 'master'

Fix macOS GitHub actions

See merge request knot/knot-resolver!1537

15 months agomodules/*/meson.build: add missing dependencies docs-develop-maco-884crr/deployments/3957
Oto Šťáva [Thu, 2 May 2024 10:21:00 +0000 (12:21 +0200)] 
modules/*/meson.build: add missing dependencies

15 months ago.github/workflows/macOS: fix prefix for ARM macOS
Oto Šťáva [Tue, 30 Apr 2024 09:19:34 +0000 (11:19 +0200)] 
.github/workflows/macOS: fix prefix for ARM macOS

15 months agolint: satisfy new mypy version docs-develop-doc-vyxna8/deployments/3923
Aleš Mrázek [Mon, 29 Apr 2024 09:19:20 +0000 (11:19 +0200)] 
lint: satisfy new mypy version

15 months agodoc/user/config-cache-predict.rst: use slashes (JSON pointer) instead of dots when... docs-develop-doc-7cna2r/deployments/3918 docs-develop-doc-vyxna8/deployments/3919
Aleš Mrázek [Mon, 29 Apr 2024 08:36:58 +0000 (10:36 +0200)] 
doc/user/config-cache-predict.rst: use slashes (JSON pointer) instead of dots when reffering to stats node

15 months agoNEWS: use slashes (JSON pointer) instead of dots when referring to configuration...
Aleš Mrázek [Mon, 29 Apr 2024 08:35:21 +0000 (10:35 +0200)] 
NEWS: use slashes (JSON pointer) instead of dots when referring to configuration node

15 months agoMerge branch 'cache-prediction-split' into '6.0' docs-develop-6-0-mvwoqi/deployments/3862
Oto Šťáva [Mon, 22 Apr 2024 11:00:50 +0000 (13:00 +0200)] 
Merge branch 'cache-prediction-split' into '6.0'

cache: new module to prefetch expiring records

See merge request knot/knot-resolver!1532

15 months agomanager: statistics: prometheus format for 'predict' module docs-develop-cach-aroclx/deployments/3861
Aleš Mrázek [Fri, 19 Apr 2024 16:19:02 +0000 (18:19 +0200)] 
manager: statistics: prometheus format for 'predict' module

15 months agomodules/stats: make custom stats hierarchical
Oto Šťáva [Fri, 19 Apr 2024 14:18:51 +0000 (16:18 +0200)] 
modules/stats: make custom stats hierarchical

Forgotten feature from !1527

15 months agoNEWS: cache prefetching improvements
Aleš Mrázek [Wed, 17 Apr 2024 14:03:00 +0000 (16:03 +0200)] 
NEWS: cache prefetching improvements

15 months agodoc/dev: new page for cache records prefetch
Aleš Mrázek [Wed, 17 Apr 2024 13:56:27 +0000 (15:56 +0200)] 
doc/dev: new page for cache records prefetch

15 months agomodules: prefetch: new module for prefetching expiring records
Aleš Mrázek [Wed, 17 Apr 2024 13:55:02 +0000 (15:55 +0200)] 
modules: prefetch: new module for prefetching expiring records

15 months agomodules: predict: prefetching expired records has been removed
Aleš Mrázek [Wed, 17 Apr 2024 13:41:52 +0000 (15:41 +0200)] 
modules: predict: prefetching expired records has been removed

15 months agodatamodel: cache: prefetch for expiring record is separated from prediction
Aleš Mrázek [Thu, 11 Apr 2024 13:54:25 +0000 (15:54 +0200)] 
datamodel: cache: prefetch for expiring record is separated from prediction

15 months agorrl nit: factor out using_avx() docs-develop-rrl-8r8r8r/deployments/3850
Vladimír Čunát [Sat, 20 Apr 2024 08:01:46 +0000 (10:01 +0200)] 
rrl nit: factor out using_avx()

15 months agofixup! rrl: improve error messages
Vladimír Čunát [Sat, 20 Apr 2024 07:55:32 +0000 (09:55 +0200)] 
fixup! rrl: improve error messages

15 months agofixup! rrl: modify KRU api to return maximum final load value docs-develop-rrl-8r8r8r/deployments/3849
Vladimír Čunát [Sat, 20 Apr 2024 07:16:29 +0000 (09:16 +0200)] 
fixup! rrl: modify KRU api to return maximum final load value

- reordering saves 8 bytes per struct (on typical 64-bit platforms)
- don't assume that *max_load_out is initialized reasonably
  (the doc-comment doesn't suggest that it's needed)

15 months agoMerge remote-tracking branch 'origin/master' into 6.0 docs-develop-6-0-mvwoqi/deployments/3800 docs-develop-tmp-wti7ta/deployments/3799
Oto Šťáva [Tue, 16 Apr 2024 13:40:04 +0000 (15:40 +0200)] 
Merge remote-tracking branch 'origin/master' into 6.0

15 months agoMerge branch 'website-push-docs' into 'master' docs-develop-mast-tzgd0f/deployments/3798 docs-develop-mast-tzgd0f/deployments/3812 docs-develop-mast-tzgd0f/deployments/3815 docs-develop-mast-tzgd0f/deployments/3830 docs-develop-mast-tzgd0f/deployments/3833 docs-develop-mast-tzgd0f/deployments/3845 docs-develop-mast-tzgd0f/deployments/3848 docs-develop-mast-tzgd0f/deployments/3851 docs-develop-mast-tzgd0f/deployments/3854 docs-develop-mast-tzgd0f/deployments/3855 docs-develop-mast-tzgd0f/deployments/3858 docs-develop-mast-tzgd0f/deployments/3863 docs-develop-mast-tzgd0f/deployments/3866 docs-develop-mast-tzgd0f/deployments/3871 docs-develop-mast-tzgd0f/deployments/3874 docs-develop-mast-tzgd0f/deployments/3880 docs-develop-mast-tzgd0f/deployments/3883 docs-develop-mast-tzgd0f/deployments/3897 docs-develop-mast-tzgd0f/deployments/3900 docs-develop-mast-tzgd0f/deployments/3905 docs-develop-mast-tzgd0f/deployments/3908 docs-develop-mast-tzgd0f/deployments/3909 docs-develop-mast-tzgd0f/deployments/3912 docs-develop-mast-tzgd0f/deployments/3913 docs-develop-mast-tzgd0f/deployments/3916 docs-develop-mast-tzgd0f/deployments/3925 docs-develop-mast-tzgd0f/deployments/3928 docs-develop-mast-tzgd0f/deployments/3944 docs-develop-mast-tzgd0f/deployments/3947 docs-develop-mast-tzgd0f/deployments/3951 docs-develop-mast-tzgd0f/deployments/3954 docs-develop-nigh-589znp/deployments/3813 docs-develop-nigh-589znp/deployments/3831 docs-develop-nigh-589znp/deployments/3846 docs-develop-nigh-589znp/deployments/3852 docs-develop-nigh-589znp/deployments/3856 docs-develop-nigh-589znp/deployments/3864 docs-develop-nigh-589znp/deployments/3872 docs-develop-nigh-589znp/deployments/3881 docs-develop-nigh-589znp/deployments/3898 docs-develop-nigh-589znp/deployments/3906 docs-develop-nigh-589znp/deployments/3910 docs-develop-nigh-589znp/deployments/3914 docs-develop-nigh-589znp/deployments/3926 docs-develop-nigh-589znp/deployments/3945 docs-develop-nigh-589znp/deployments/3952 obs-knot-resolver-es11k1/deployments/3803 obs-knot-resolver-es11k1/deployments/3814 obs-knot-resolver-es11k1/deployments/3832 obs-knot-resolver-es11k1/deployments/3847 obs-knot-resolver-es11k1/deployments/3853 obs-knot-resolver-es11k1/deployments/3857 obs-knot-resolver-es11k1/deployments/3865 obs-knot-resolver-es11k1/deployments/3873 obs-knot-resolver-es11k1/deployments/3882 obs-knot-resolver-es11k1/deployments/3899 obs-knot-resolver-es11k1/deployments/3907 obs-knot-resolver-es11k1/deployments/3911 obs-knot-resolver-es11k1/deployments/3915 obs-knot-resolver-es11k1/deployments/3927 obs-knot-resolver-es11k1/deployments/3946 obs-knot-resolver-es11k1/deployments/3953
Oto Šťáva [Tue, 16 Apr 2024 13:38:58 +0000 (15:38 +0200)] 
Merge branch 'website-push-docs' into 'master'

gitlab-ci: push docs to the website (manual CI)

See merge request knot/knot-resolver!1530

15 months agoMerge branch 'manager-optional-prometheus' into '6.0' docs-develop-6-0-mvwoqi/deployments/3797
Oto Šťáva [Tue, 16 Apr 2024 13:06:03 +0000 (15:06 +0200)] 
Merge branch 'manager-optional-prometheus' into '6.0'

manager: /metrics API improvements

See merge request knot/knot-resolver!1527

15 months agoNEWS: reword of Prometheus changes docs-develop-mana-8cbmfy/deployments/3796
Oto Šťáva [Tue, 16 Apr 2024 11:58:31 +0000 (13:58 +0200)] 
NEWS: reword of Prometheus changes

15 months agokresctl: add message when Prometheus is missing docs-develop-mana-8cbmfy/deployments/3787
Oto Šťáva [Mon, 15 Apr 2024 11:19:29 +0000 (13:19 +0200)] 
kresctl: add message when Prometheus is missing

15 months agodistro/pkg/rpm: recommend python3-prometheus_client
Jakub Ružička [Mon, 25 Mar 2024 15:14:17 +0000 (16:14 +0100)] 
distro/pkg/rpm: recommend python3-prometheus_client

15 months agodistro/pkg/deb: recommend python3-prometheus-client
Jakub Ružička [Mon, 25 Mar 2024 15:11:28 +0000 (16:11 +0100)] 
distro/pkg/deb: recommend python3-prometheus-client

15 months agoNEWS: improvements about metrics API
Aleš Mrázek [Mon, 25 Mar 2024 12:23:22 +0000 (13:23 +0100)] 
NEWS: improvements about metrics API

15 months agotests/packaging: management API /metrics update
Aleš Mrázek [Thu, 21 Mar 2024 14:27:10 +0000 (15:27 +0100)] 
tests/packaging: management API /metrics update

15 months agokresctl: metrics: support for new API
Aleš Mrázek [Thu, 21 Mar 2024 14:19:50 +0000 (15:19 +0100)] 
kresctl: metrics: support for new API

15 months agomanager: api: metrics: JSON support as default
Aleš Mrázek [Thu, 21 Mar 2024 13:53:54 +0000 (14:53 +0100)] 
manager: api: metrics: JSON support as default

- /metrics - returns 301, redirects to /metrics/json
- /metrics/json - exports metrics in JSON format
- /metrics/prometheus - optional, exports metrics in Prometheus format, returns 404 if not supported

15 months agomodules/{stats,http}: fix built-in Prometheus and tests
Oto Šťáva [Thu, 21 Mar 2024 11:17:59 +0000 (12:17 +0100)] 
modules/{stats,http}: fix built-in Prometheus and tests