]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Oto Šťáva [Mon, 20 May 2024 09:52:27 +0000 (11:52 +0200)]
daemon/tls_ephemeral_credentials: fix possible race between read() and fstat()
Oto Šťáva [Mon, 20 May 2024 09:01:19 +0000 (11:01 +0200)]
.gitlab-ci: fail Coverity Scan on HTTP error
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.
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.
Vladimír Čunát [Mon, 20 May 2024 10:14:41 +0000 (12:14 +0200)]
rrl: truncate only answers sent over pure UDP
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
Lukáš Ondráček [Wed, 15 May 2024 15:45:42 +0000 (17:45 +0200)]
rrl: switch to CLOCK_THREAD_CPUTIME_ID for measurements
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
Oto Šťáva [Wed, 15 May 2024 12:46:00 +0000 (14:46 +0200)]
daemon, lib, modules: trivial fixes for Coverity issues
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`.
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.
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
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
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.
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.
Oto Šťáva [Mon, 6 May 2024 11:35:02 +0000 (13:35 +0200)]
tests/pytests: remove deprecated calls
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.
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.
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)
Vladimír Čunát [Thu, 9 May 2024 06:47:11 +0000 (08:47 +0200)]
Merge branch 'master' into knot_wire-6.0
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.
Vladimír Čunát [Thu, 9 May 2024 06:28:43 +0000 (08:28 +0200)]
Merge !1538: ci nixos: switch container image tag
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.
Lukáš Ondráček [Tue, 7 May 2024 14:06:23 +0000 (16:06 +0200)]
Merge remote-tracking branch 'origin/6.0' into rrl-wip
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
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
Lukáš Ondráček [Mon, 6 May 2024 15:32:45 +0000 (17:32 +0200)]
rrl: truncating answers when close to limit, dropping over limit
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
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.
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.
Oto Šťáva [Thu, 2 May 2024 11:05:27 +0000 (13:05 +0200)]
Merge remote-tracking branch 'origin/master' into 6.0
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
Vladimír Čunát [Mon, 29 Apr 2024 08:53:44 +0000 (10:53 +0200)]
distro/pkg/arch: fix after they renamed a dependency
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
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
Oto Šťáva [Thu, 2 May 2024 10:21:00 +0000 (12:21 +0200)]
modules/*/meson.build: add missing dependencies
Oto Šťáva [Tue, 30 Apr 2024 09:19:34 +0000 (11:19 +0200)]
.github/workflows/macOS: fix prefix for ARM macOS
Aleš Mrázek [Mon, 29 Apr 2024 09:19:20 +0000 (11:19 +0200)]
lint: satisfy new mypy version
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
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
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
Aleš Mrázek [Fri, 19 Apr 2024 16:19:02 +0000 (18:19 +0200)]
manager: statistics: prometheus format for 'predict' module
Oto Šťáva [Fri, 19 Apr 2024 14:18:51 +0000 (16:18 +0200)]
modules/stats: make custom stats hierarchical
Forgotten feature from !1527
Aleš Mrázek [Wed, 17 Apr 2024 14:03:00 +0000 (16:03 +0200)]
NEWS: cache prefetching improvements
Aleš Mrázek [Wed, 17 Apr 2024 13:56:27 +0000 (15:56 +0200)]
doc/dev: new page for cache records prefetch
Aleš Mrázek [Wed, 17 Apr 2024 13:55:02 +0000 (15:55 +0200)]
modules: prefetch: new module for prefetching expiring records
Aleš Mrázek [Wed, 17 Apr 2024 13:41:52 +0000 (15:41 +0200)]
modules: predict: prefetching expired records has been removed
Aleš Mrázek [Thu, 11 Apr 2024 13:54:25 +0000 (15:54 +0200)]
datamodel: cache: prefetch for expiring record is separated from prediction
Vladimír Čunát [Sat, 20 Apr 2024 08:01:46 +0000 (10:01 +0200)]
rrl nit: factor out using_avx()
Vladimír Čunát [Sat, 20 Apr 2024 07:55:32 +0000 (09:55 +0200)]
fixup! rrl: improve error messages
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)
Oto Šťáva [Tue, 16 Apr 2024 13:40:04 +0000 (15:40 +0200)]
Merge remote-tracking branch 'origin/master' into 6.0
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
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
Oto Šťáva [Tue, 16 Apr 2024 11:58:31 +0000 (13:58 +0200)]
NEWS: reword of Prometheus changes
Oto Šťáva [Mon, 15 Apr 2024 11:19:29 +0000 (13:19 +0200)]
kresctl: add message when Prometheus is missing
Jakub Ružička [Mon, 25 Mar 2024 15:14:17 +0000 (16:14 +0100)]
distro/pkg/rpm: 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
Aleš Mrázek [Mon, 25 Mar 2024 12:23:22 +0000 (13:23 +0100)]
NEWS: improvements about metrics API
Aleš Mrázek [Thu, 21 Mar 2024 14:27:10 +0000 (15:27 +0100)]
tests/packaging: management API /metrics update
Aleš Mrázek [Thu, 21 Mar 2024 14:19:50 +0000 (15:19 +0100)]
kresctl: metrics: support for new API
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
Oto Šťáva [Thu, 21 Mar 2024 11:17:59 +0000 (12:17 +0100)]
modules/{stats,http}: fix built-in Prometheus and tests
Oto Šťáva [Thu, 21 Mar 2024 10:49:05 +0000 (11:49 +0100)]
modules/stats: split stats.list() into sub-objects
Aleš Mrázek [Tue, 19 Mar 2024 21:45:20 +0000 (22:45 +0100)]
poetry: prometheus-client is now optional
Description and authors update. New setup.py also generated.
Lukáš Ondráček [Wed, 10 Apr 2024 16:17:26 +0000 (18:17 +0200)]
rrl: modify KRU api to return maximum final load value
Lukáš Ondráček [Wed, 10 Apr 2024 14:13:09 +0000 (16:13 +0200)]
rrl: improve error messages
Oto Šťáva [Wed, 10 Apr 2024 10:43:11 +0000 (12:43 +0200)]
gitlab-ci: push docs to the website (manual CI)
Oto Šťáva [Wed, 10 Apr 2024 11:19:27 +0000 (13:19 +0200)]
Merge remote-tracking branch 'origin/master' into 6.0
Lukáš Ondráček [Wed, 10 Apr 2024 11:09:52 +0000 (13:09 +0200)]
Merge branch 'rrl-wip' of gitlab.nic.cz:knot/knot-resolver into rrl-wip
Oto Šťáva [Wed, 10 Apr 2024 11:09:36 +0000 (13:09 +0200)]
Merge branch 'nits' into 'master'
nits: unused variable, improved #include path
See merge request knot/knot-resolver!1529
Lukáš Ondráček [Wed, 10 Apr 2024 11:08:10 +0000 (13:08 +0200)]
rrl: disable parallel tests under valgrind in CI
Vladimír Čunát [Wed, 10 Apr 2024 09:06:59 +0000 (11:06 +0200)]
fixup! rrl: configurable limits in yaml, deinit
I see no reason for these removed parts.
Lukáš Ondráček [Mon, 8 Apr 2024 13:47:15 +0000 (15:47 +0200)]
fixup! rrl: porting unit tests from Knot DNS
Lukáš Ondráček [Mon, 8 Apr 2024 13:42:17 +0000 (15:42 +0200)]
fixup! rrl: porting unit tests from Knot DNS
Vladimír Čunát [Mon, 8 Apr 2024 08:52:01 +0000 (10:52 +0200)]
lib/dnssec nit: improve #include path
The issue was exposed when working on rrl-wip branch:
lib/dnssec/nsec.c:19:10: fatal error: resolve.h: No such file or director
Vladimír Čunát [Wed, 27 Mar 2024 08:21:41 +0000 (09:21 +0100)]
daemon/engine nit: drop an unused variable
Reported by clang.
Vladimír Čunát [Mon, 8 Apr 2024 08:52:01 +0000 (10:52 +0200)]
lib/dnssec nit: improve #include path
No idea why it started causing issues now and for me, with:
lib/dnssec/nsec.c:19:10: fatal error: resolve.h: No such file or director
Oto Šťáva [Mon, 8 Apr 2024 08:48:04 +0000 (10:48 +0200)]
Merge branch 'tls-priority' into '6.0'
daemon/tls: respect crypto policy overrides in OS
See merge request knot/knot-resolver!1526
Vladimír Čunát [Tue, 2 Apr 2024 15:39:05 +0000 (17:39 +0200)]
daemon/tls: respect crypto policy overrides in OS
Oto Šťáva [Fri, 5 Apr 2024 10:22:56 +0000 (12:22 +0200)]
Merge branch 'shared-libkres-fix' into 'master'
daemon/meson.build: add install_rpath to kresd
See merge request knot/knot-resolver!1528
Oto Šťáva [Fri, 5 Apr 2024 09:57:22 +0000 (11:57 +0200)]
daemon/meson.build: add install_rpath to kresd
This fixes the default use-case for developers when they put their
install prefix somewhere where the system `LD_LIBRARY_PATH` does not
point. Before this, `kresd` would fail to start after `ninja install`
because it would not be able to find the `libkres.so` library.
The original workaround to this was to use `meson configure
-Ddefault_library=static`, but firstly, we would like it to be working
with the default settings, and secondly, we would like to have it as
similar to what most users will encounter as possible.
Lukáš Ondráček [Wed, 3 Apr 2024 18:53:52 +0000 (20:53 +0200)]
rrl: porting unit tests from Knot DNS
Lukáš Ondráček [Tue, 2 Apr 2024 15:47:27 +0000 (17:47 +0200)]
fixup! rrl: allow changing configuration on reload
Lukáš Ondráček [Tue, 2 Apr 2024 15:27:24 +0000 (17:27 +0200)]
fixup! fixup! rrl: configurable limits in yaml, deinit
Lukáš Ondráček [Tue, 2 Apr 2024 15:14:06 +0000 (17:14 +0200)]
fixup! rrl: configurable limits in yaml, deinit
Lukáš Ondráček [Tue, 2 Apr 2024 14:17:05 +0000 (16:17 +0200)]
rrl: allow changing configuration on reload
Vladimír Čunát [Tue, 2 Apr 2024 10:34:55 +0000 (12:34 +0200)]
Merge !1525: distro/pkg/rpm: use noreplace for config.yaml
Oto Šťáva [Tue, 2 Apr 2024 09:47:37 +0000 (11:47 +0200)]
distro/pkg/arch: put config.yaml into backup
Same as previous commit, but for Arch Linux.
Oto Šťáva [Tue, 2 Apr 2024 09:29:29 +0000 (11:29 +0200)]
distro/pkg/rpm: use noreplace for config.yaml
Adds `%config(noreplace)` to `config.yaml`. This prevents the package
from overwriting the user's edited configuration upon update, and
instead adds the new default configuration as a `.rpmnew` file for the
user to potentially consider.
Oto Šťáva [Tue, 2 Apr 2024 10:33:55 +0000 (12:33 +0200)]
Merge branch 'upstream-version' into '6.0'
distro: auto-detect latest Knot Resolver version
See merge request knot/knot-resolver!1524
Jakub Ružička [Thu, 28 Mar 2024 17:03:16 +0000 (18:03 +0100)]
distro: auto-detect latest Knot Resolver version
New scripts/upstream-version.sh returns latest Knot Resolver version
based on upstream repo tags.
It's set as upstream.version_script in apkg config which enables:
$ apkg info upstream-version
upstream version: 6.0.7
and later `apkg build --upstream` when tarballs are available.
Lukáš Ondráček [Wed, 27 Mar 2024 10:45:30 +0000 (11:45 +0100)]
rrl: configurable limits in yaml, deinit
Aleš Mrázek [Wed, 27 Mar 2024 16:38:36 +0000 (17:38 +0100)]
Merge branch 'release-6.0.7' into '6.0'
release 6.0.7
See merge request knot/knot-resolver!1523
Aleš Mrázek [Wed, 27 Mar 2024 16:38:30 +0000 (17:38 +0100)]
Merge branch 'release-5.7.2' into 'master'
Release 5.7.2
See merge request knot/knot-resolver!1522
Aleš Mrázek [Wed, 27 Mar 2024 16:06:35 +0000 (17:06 +0100)]
release 6.0.7
Aleš Mrázek [Wed, 27 Mar 2024 15:04:37 +0000 (16:04 +0100)]
ci: obs: create venv and install apkg
Oto Šťáva [Wed, 27 Mar 2024 13:11:40 +0000 (14:11 +0100)]
scripts/update-authors: explicit '--no-show-signature'
Fixes the script for users who have `log.showSignature` set to `true` in
their git config.
Oto Šťáva [Wed, 27 Mar 2024 12:52:57 +0000 (13:52 +0100)]
Release 5.7.2
Oto Šťáva [Wed, 27 Mar 2024 12:41:40 +0000 (13:41 +0100)]
Dockerfile: fix typo 'update' -> 'upgrade'