]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
2 years agomanager/pyproject.toml: unused and non-functional tasks removed
Aleš Mrázek [Thu, 13 Jun 2024 04:07:10 +0000 (06:07 +0200)] 
manager/pyproject.toml: unused and non-functional tasks removed

2 years agoMerge branch 'pkg-v6-cleanup' into 'master' docs-develop-mast-tzgd0f/deployments/4340 docs-develop-mast-tzgd0f/deployments/4343 docs-develop-mast-tzgd0f/deployments/4346 docs-develop-mast-tzgd0f/deployments/4348 docs-develop-mast-tzgd0f/deployments/4351 docs-develop-mast-tzgd0f/deployments/4357 docs-develop-mast-tzgd0f/deployments/4360 docs-develop-mast-tzgd0f/deployments/4361 docs-develop-mast-tzgd0f/deployments/4364 docs-develop-mast-tzgd0f/deployments/4365 docs-develop-mast-tzgd0f/deployments/4368 docs-develop-mast-tzgd0f/deployments/4371 docs-develop-mast-tzgd0f/deployments/4374 docs-develop-nigh-589znp/deployments/4344 docs-develop-nigh-589znp/deployments/4349 docs-develop-nigh-589znp/deployments/4358 docs-develop-nigh-589znp/deployments/4362 docs-develop-nigh-589znp/deployments/4366 docs-develop-nigh-589znp/deployments/4372 obs-knot-resolver-es11k1/deployments/4345 obs-knot-resolver-es11k1/deployments/4350 obs-knot-resolver-es11k1/deployments/4359 obs-knot-resolver-es11k1/deployments/4363 obs-knot-resolver-es11k1/deployments/4367 obs-knot-resolver-es11k1/deployments/4373
Jakub Ružička [Wed, 12 Jun 2024 11:26:44 +0000 (13:26 +0200)] 
Merge branch 'pkg-v6-cleanup' into 'master'

Debian packaging cleanup

See merge request knot/knot-resolver!1555

2 years agoMerge branch 'ksk-2024' into 'master-5' docs-develop-mast-tyrtta/deployments/4339
Oto Šťáva [Wed, 12 Jun 2024 07:46:46 +0000 (09:46 +0200)] 
Merge branch 'ksk-2024' into 'master-5'

etc/: add the fresh DNSSEC root key "KSK-2024" already

See merge request knot/knot-resolver!1556

2 years agodistro/pkg/deb: remove undefined shlib:Depends docs-develop-pkg-jbbndk/deployments/4334
Jakub Ružička [Tue, 11 Jun 2024 16:19:39 +0000 (18:19 +0200)] 
distro/pkg/deb: remove undefined shlib:Depends

This addresses dpkg-gencontrol warnings:

    dpkg-gencontrol: warning: Depends field of package knot-resolver6-module-http: substitution variable ${shlibs:Depends} used, but is not defined
    dpkg-gencontrol: warning: Depends field of package knot-resolver6-dev: substitution variable ${shlibs:Depends} used, but is not defined

2 years agodistro/pkg/deb: run `wrap-and-sort -bast` for git friendlier formatting docs-develop-pkg-jbbndk/deployments/4333
Jakub Ružička [Thu, 6 Jun 2024 15:04:24 +0000 (17:04 +0200)] 
distro/pkg/deb: run `wrap-and-sort -bast` for git friendlier formatting

2 years agodistro/pkg/deb: add README.md to docs
Jakub Ružička [Thu, 6 Jun 2024 14:54:45 +0000 (16:54 +0200)] 
distro/pkg/deb: add README.md to docs

2 years agodistro/pkg/deb: harmonize file paths in debhelper files
Jakub Ružička [Thu, 6 Jun 2024 14:52:44 +0000 (16:52 +0200)] 
distro/pkg/deb: harmonize file paths in debhelper files

2 years agodistro/pkg/deb: add Rules-Requires-Root: no
Jakub Ružička [Thu, 6 Jun 2024 14:50:26 +0000 (16:50 +0200)] 
distro/pkg/deb: add Rules-Requires-Root: no

2 years agodistro/pkg/deb: remove obsolete -dbg package
Jakub Ružička [Thu, 6 Jun 2024 14:50:26 +0000 (16:50 +0200)] 
distro/pkg/deb: remove obsolete -dbg package

-dbgsym packages are now generated automatically.

2 years agodistro/pkg/deb: improve HTTP module deps
Jakub Ružička [Thu, 6 Jun 2024 14:50:26 +0000 (16:50 +0200)] 
distro/pkg/deb: improve HTTP module deps

fixes lintian warning: not-binnmuable-all-depends-any

2 years agodistro/pkg/deb: add missing Standards-Version to d/control
Jakub Ružička [Thu, 6 Jun 2024 14:50:26 +0000 (16:50 +0200)] 
distro/pkg/deb: add missing Standards-Version to d/control

2 years agodistro/pkg/deb: silence irrelevant lintian warnings
Jakub Ružička [Thu, 6 Jun 2024 14:50:26 +0000 (16:50 +0200)] 
distro/pkg/deb: silence irrelevant lintian warnings

2 years agodistro/pkg/deb: update debian/copyright entries
Jakub Ružička [Thu, 6 Jun 2024 14:48:53 +0000 (16:48 +0200)] 
distro/pkg/deb: update debian/copyright entries

2 years agodistro/pkg/deb: fix incorrect formatting
Jakub Ružička [Thu, 6 Jun 2024 14:48:53 +0000 (16:48 +0200)] 
distro/pkg/deb: fix incorrect formatting

2 years agodefer: add new KRU instance and async queues docs-develop-rrl-8r8r8r/deployments/4324
Lukáš Ondráček [Mon, 10 Jun 2024 18:19:10 +0000 (20:19 +0200)] 
defer: add new KRU instance and async queues

2 years agoetc/: add the fresh DNSSEC root key "KSK-2024" already docs-develop-ksk-qmeiye/deployments/4323
Vladimír Čunát [Mon, 10 Jun 2024 14:05:41 +0000 (16:05 +0200)] 
etc/: add the fresh DNSSEC root key "KSK-2024" already

The key still won't be used for some time, two years maybe,
but I think it's better to preemptively trust it already.
(outdated machines, etc.)

Some evidence that it's not just a hash of *my* private key:
https://www.iana.org/dnssec/ceremonies/53-2
https://data.iana.org/ksk-ceremony/53-2/kskm-keymaster-20240426-173035-995.log
https://www.youtube.com/live/gw4PFhtnVpk?si=C8zevM3nG9O0XAJr&t=12726

2 years agoMerge branch 'manager-ci-image' into 'master' docs-develop-mast-tzgd0f/deployments/4308 docs-develop-mast-tzgd0f/deployments/4310 docs-develop-mast-tzgd0f/deployments/4313 docs-develop-mast-tzgd0f/deployments/4314 docs-develop-mast-tzgd0f/deployments/4317 docs-develop-mast-tzgd0f/deployments/4318 docs-develop-mast-tzgd0f/deployments/4321 docs-develop-mast-tzgd0f/deployments/4325 docs-develop-mast-tzgd0f/deployments/4328 docs-develop-mast-tzgd0f/deployments/4335 docs-develop-mast-tzgd0f/deployments/4338 docs-develop-nigh-589znp/deployments/4311 docs-develop-nigh-589znp/deployments/4315 docs-develop-nigh-589znp/deployments/4319 docs-develop-nigh-589znp/deployments/4326 docs-develop-nigh-589znp/deployments/4336 obs-knot-resolver-es11k1/deployments/4312 obs-knot-resolver-es11k1/deployments/4316 obs-knot-resolver-es11k1/deployments/4320 obs-knot-resolver-es11k1/deployments/4327 obs-knot-resolver-es11k1/deployments/4337
Oto Šťáva [Fri, 7 Jun 2024 12:01:57 +0000 (14:01 +0200)] 
Merge branch 'manager-ci-image' into 'master'

manager: use image from 'knot-resolver-ci'

See merge request knot/knot-resolver!1554

2 years agodefer: extend kru allowing separated reads/updates docs-develop-rrl-8r8r8r/deployments/4302
Lukáš Ondráček [Thu, 6 Jun 2024 17:51:51 +0000 (19:51 +0200)] 
defer: extend kru allowing separated reads/updates

2 years agoratelimiting: moving mmapping to daemon/mmapped docs-develop-rrl-8r8r8r/deployments/4301
Lukáš Ondráček [Wed, 5 Jun 2024 18:26:15 +0000 (20:26 +0200)] 
ratelimiting: moving mmapping to daemon/mmapped

2 years agomanager/pyproject.toml: update Poetry docs-develop-mana-yuftw6/deployments/4300
Oto Šťáva [Thu, 6 Jun 2024 12:30:40 +0000 (14:30 +0200)] 
manager/pyproject.toml: update Poetry

2 years agomanager: use image from 'knot-resolver-ci'
Oto Šťáva [Wed, 5 Jun 2024 18:06:33 +0000 (20:06 +0200)] 
manager: use image from 'knot-resolver-ci'

This was forgotten during the CI overhaul.

2 years agoMerge branch 'remove-libedit' into 'master' docs-develop-mast-tzgd0f/deployments/4294 docs-develop-mast-tzgd0f/deployments/4303 docs-develop-mast-tzgd0f/deployments/4306 docs-develop-nigh-589znp/deployments/4304 obs-knot-resolver-es11k1/deployments/4305
Oto Šťáva [Thu, 6 Jun 2024 10:59:17 +0000 (12:59 +0200)] 
Merge branch 'remove-libedit' into 'master'

Remove unused dependency and Dockerfile

See merge request knot/knot-resolver!1553

2 years agoci/images/debian-12: remove docs-develop-remo-elu6lh/deployments/4283
Oto Šťáva [Wed, 5 Jun 2024 12:36:43 +0000 (14:36 +0200)] 
ci/images/debian-12: remove

Remnant of the past. This has been since replaced by images from
the `knot-resolver-ci` repo.

2 years agodistro/pkg: remove dependency on libedit
Oto Šťáva [Wed, 5 Jun 2024 12:35:23 +0000 (14:35 +0200)] 
distro/pkg: remove dependency on libedit

The library was used by the old experimental `kresc` client, which has
been removed in favour of Manager's `kresctl`.

2 years agoMerge branch 'nits-warnings' into 'master-5' docs-develop-mast-tyrtta/deployments/4281
Oto Šťáva [Wed, 5 Jun 2024 10:47:31 +0000 (12:47 +0200)] 
Merge branch 'nits-warnings' into 'master-5'

reduce build-time warnings

See merge request knot/knot-resolver!1552

2 years ago**/meson.build: avoid deprecations in meson >= 1.4 docs-develop-nits-11ie7m/deployments/4279
Vladimír Čunát [Wed, 5 Jun 2024 07:59:30 +0000 (09:59 +0200)] 
**/meson.build: avoid deprecations in meson >= 1.4

The code isn't pretty, but probably better than watching
the fat red lines on every build.

2 years agomeson.build: avoid a gcc 14 warning
Vladimír Čunát [Wed, 5 Jun 2024 07:58:18 +0000 (09:58 +0200)] 
meson.build: avoid a gcc 14 warning

Picked from master commit 68688fac013a4c16a476acc15c366a8ce07ed46e

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

2 years 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

2 years 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

2 years 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'

2 years 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

2 years 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).

2 years 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.

2 years 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.

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

2 years 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.

2 years 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.

2 years 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.

2 years 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

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

2 years 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.

2 years 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.

2 years 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`.

2 years 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

2 years 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

2 years agoMerge branch 'release-5.7.3' into 'master-5' docs-develop-mast-tyrtta/deployments/4227 docs-release-v5-7-74oxdd/deployments/4229 obs-knot-resolver-8xyvhu/deployments/4230 obs-knot-resolver-kv62s6/deployments/4228 v5.7.3
Aleš Mrázek [Thu, 30 May 2024 12:19:21 +0000 (14:19 +0200)] 
Merge branch 'release-5.7.3' into 'master-5'

Release 5.7.3

See merge request knot/knot-resolver!1551

2 years agorelease 5.7.3 docs-develop-rele-weu2f2/deployments/4224 docs-develop-rele-weu2f2/deployments/4226 obs-knot-resolver-bs4hbr/deployments/4225
Aleš Mrázek [Thu, 30 May 2024 11:15:35 +0000 (13:15 +0200)] 
release 5.7.3

2 years agoMerge branch 'nsec3-iters-wild' into 'master-5' docs-develop-mast-tyrtta/deployments/4223
Oto Šťáva [Thu, 30 May 2024 10:34:33 +0000 (12:34 +0200)] 
Merge branch 'nsec3-iters-wild' into 'master-5'

iterate: fix NSEC3 records missing from answer in an edge case

See merge request knot/knot-resolver!1550

2 years 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.

2 years agoiterate: fix NSEC3 records missing from answer in an edge case docs-develop-nsec-3srvyj/deployments/4211
Vladimír Čunát [Wed, 29 May 2024 13:07:46 +0000 (15:07 +0200)] 
iterate: fix NSEC3 records missing from answer in an edge case

When positive wildcard expansion happens, NSEC(3) records are needed
to prove that the expansion was allowed.  If the NSEC3 had too many
iterations, we downgrade the answer to insecure status, but
unintentionally we also dropped the NSEC3 record from the answer.

That was breaking DNSSEC validation of that answer, e.g. when
forwarding to Knot Resolver.  The validator needs the NSEC3 -
either to validate the expansion or to determine that it's too expensive.

2 years 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

2 years 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.

2 years 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

2 years 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

2 years 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.

2 years 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

2 years 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.

2 years 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

2 years 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.

2 years 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)

2 years 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

2 years 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

2 years 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.

2 years 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.

2 years 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)

2 years 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

2 years 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()

2 years 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

2 years 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.

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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`.

2 years 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.

2 years 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

2 years 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

2 years 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.

2 years 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.

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

2 years 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.

2 years 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.

2 years 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)

2 years 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

2 years 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.

2 years 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

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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.

2 years 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.

2 years 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

2 years 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

2 years 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