]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Vladimír Čunát [Mon, 5 Jan 2026 10:22:28 +0000 (11:22 +0100)]
Merge !1775: defer: fix sampling multiple answers from same TCP connection
Lukáš Ondráček [Tue, 23 Dec 2025 14:05:14 +0000 (15:05 +0100)]
defer: fix sampling multiple answers from same TCP connection
Vladimír Čunát [Sun, 4 Jan 2026 13:20:49 +0000 (14:20 +0100)]
Merge !1782: distro/pkg: replace retired Jakub's contact by our team alias
Vladimír Čunát [Sun, 4 Jan 2026 12:56:31 +0000 (13:56 +0100)]
distro/pkg: replace retired Jakub's contact by our team alias
Vladimír Čunát [Sun, 4 Jan 2026 12:51:03 +0000 (13:51 +0100)]
NEWS: fix a wrong reference to merge request
Vladimír Čunát [Fri, 2 Jan 2026 10:02:25 +0000 (11:02 +0100)]
Merge !1774: cache packet_ttl(): fix wrong TTL in some cases, typically 32768
Vladimír Čunát [Sun, 21 Dec 2025 12:10:20 +0000 (13:10 +0100)]
add NEWS for the parent commit
Vladimír Čunát [Sun, 21 Dec 2025 12:10:20 +0000 (13:10 +0100)]
cache packet_ttl(): fix wrong TTL in some cases, typically 32768
A notable case is when authoritative server incorrectly sends
a reply without any record but with EDNS.
For the OPT, the TTL field contains extended-error, EDNS version,
DO bit and mandatorily zeroed bits. As extended-error isn't usually
set by authoritative servers outside SERVFAIL, and EDNS version
is just 1 so far, we'd end up with TTL either 32768 (DO=0) or with
a value clamped by maximum TTL (86400 by default).
Vladimír Čunát [Sun, 21 Dec 2025 16:33:30 +0000 (17:33 +0100)]
tests/integration/deckard: add test for the TTL issue
It's failing now and fixed by the following commit.
Vladimír Čunát [Tue, 30 Dec 2025 09:49:30 +0000 (10:49 +0100)]
Merge !1780: don't set AD if both Answer and Authority are empty.
Fixes #914
menakite [Thu, 29 Aug 2024 03:55:28 +0000 (05:55 +0200)]
resolver: don't set AD if both Answer and Authority are empty.
Fixes #914 (nord module: AD=1 is no good)
Vladimír Čunát [Mon, 29 Dec 2025 10:07:46 +0000 (11:07 +0100)]
Merge !1779: doc/user /local-data/rpz: correct the status of support
Vladimír Čunát [Mon, 29 Dec 2025 09:28:02 +0000 (10:28 +0100)]
doc/user /local-data/rpz: correct the status of support
Vladimír Čunát [Sun, 21 Dec 2025 07:36:50 +0000 (08:36 +0100)]
Merge !1770: pyproject.toml and poe tasks improvements
Aleš Mrázek [Thu, 11 Dec 2025 23:55:47 +0000 (00:55 +0100)]
.gitlab-ci.yml: updated names and stages for python jobs
Aleš Mrázek [Thu, 11 Dec 2025 23:35:51 +0000 (00:35 +0100)]
pyproject.toml: updated groups dependencies versions
Aleš Mrázek [Thu, 11 Dec 2025 23:15:43 +0000 (00:15 +0100)]
controller/supervisord/__init__.py: sort imports
Aleš Mrázek [Fri, 5 Dec 2025 11:39:03 +0000 (12:39 +0100)]
.gitlab-ci.yml:: updated poe tasks names
Updated poe tasks names in other places.
Aleš Mrázek [Fri, 5 Dec 2025 10:01:23 +0000 (11:01 +0100)]
scripts/po-tasks: better naming for scripts
Also, check-code gets ruff's checks of imports and formatting.
Aleš Mrázek [Fri, 5 Dec 2025 09:58:41 +0000 (10:58 +0100)]
pyproject.toml: better naming for poe tasks
Vladimír Čunát [Thu, 18 Dec 2025 14:38:22 +0000 (15:38 +0100)]
Merge !1772: tests: migrate off cmocka's deprecated APIs
Vladimír Čunát [Tue, 16 Dec 2025 14:33:29 +0000 (15:33 +0100)]
NEWS: consolidate + add entry for cmocka
Vladimír Čunát [Tue, 16 Dec 2025 14:17:27 +0000 (15:17 +0100)]
tests: migrate off cmocka's deprecated APIs
With cmocka-2.0.0 these broke.
I'm not sure if upstream meant to break them,
but either way we'd better avoid deprecated APIs.
Vladimír Čunát [Tue, 16 Dec 2025 08:32:36 +0000 (09:32 +0100)]
Merge !1769: support libdnssec merged into libknot, as planned for knot >= 3.6
Vladimír Čunát [Tue, 16 Dec 2025 08:04:45 +0000 (09:04 +0100)]
treewide: avoid DNSSEC_EOK
It was zero anyway, just as KNOT_EOK or kr_ok()
Vladimír Čunát [Wed, 22 Oct 2025 07:50:51 +0000 (09:50 +0200)]
libdnssec -->> libknot
Vladimír Čunát [Fri, 24 Oct 2025 15:18:07 +0000 (17:18 +0200)]
treewide: centralize inclusion of libdnssec headers
Vladimír Čunát [Mon, 15 Dec 2025 12:05:30 +0000 (13:05 +0100)]
Merge !1768: manager: logging improvement
Aleš Mrázek [Wed, 10 Dec 2025 17:54:45 +0000 (18:54 +0100)]
NEW: added improved logging groups
Aleš Mrázek [Wed, 10 Dec 2025 17:54:18 +0000 (18:54 +0100)]
doc/user/config-logging-monitoring.rst: updated logging groups
Aleš Mrázek [Fri, 29 Aug 2025 15:02:25 +0000 (17:02 +0200)]
manager/logger.py: added debug groups for the manager
Aleš Mrázek [Tue, 26 Aug 2025 13:12:01 +0000 (15:12 +0200)]
logging: debug logging level for individual components(processes)
- datamodel: logging-groups: added LogGroupsProcessesEnum
Aleš Mrázek [Tue, 26 Aug 2025 11:46:57 +0000 (13:46 +0200)]
manager/logger.py: simplified setting of log level and logging handler
Aleš Mrázek [Tue, 26 Aug 2025 11:41:51 +0000 (13:41 +0200)]
manager/logger.py: added constants for logging targets
Vladimír Čunát [Fri, 12 Dec 2025 07:13:29 +0000 (08:13 +0100)]
Merge !1766: cache test: adjust conditions on cache usage
Vladimír Čunát [Fri, 12 Dec 2025 06:34:53 +0000 (07:34 +0100)]
.gitignore: add defer+top
These get created when running kresd without changing
to a different rundir.
Vladimír Čunát [Sat, 6 Dec 2025 12:59:29 +0000 (13:59 +0100)]
cache test: adjust conditions on cache usage
The KRU-based garbage collection reduced the LMDB size a bit
for a particular overall cache size setting.
Apple Silicon uses 16 KiB pages instead of the usual 4 KiB,
so the usage is a bit shifted and that's why we didn't notice earlier
(though before the KRU GC we adjusted in commit
adaac913c5 )
For example failure, see "not ok" lines in
https://cache.nixos.org/log/1452wsll1fxh38p0fbqa0vw1p7ki6v55-knot-resolver_6-6.0.17.drv
Vladimír Čunát [Wed, 10 Dec 2025 09:45:32 +0000 (10:45 +0100)]
Merge !1764: update meson's minimal version and utilize that
Fixes #714
Vladimír Čunát [Wed, 3 Dec 2025 13:33:34 +0000 (14:33 +0100)]
modules/experimental_dot_auth: fix copy&paste error in meson
There's no ./static dir to even install.
Apparently this snippet came from modules/http.
Discovered thanks to meson reporting:
NOTICE: Future-deprecated features used:
* 0.60.0: {'install_subdir with empty directory'}
Vladimír Čunát [Wed, 3 Dec 2025 13:21:17 +0000 (14:21 +0100)]
meson: replace deprecated get_pkgconfig_variable()
Vladimír Čunát [Wed, 7 Dec 2022 11:19:41 +0000 (12:19 +0100)]
meson: utilize the version bump
Vladimír Čunát [Tue, 6 Dec 2022 18:54:43 +0000 (19:54 +0100)]
meson: use summary()
https://mesonbuild.com/Reference-manual_functions.html#summary
- has nicer output
- less code in meson files
- allows defining summary parts closer to where they originate
Also short pieces of meson code are moved around.
I'm not sure how much info to put into those summaries;
this commit keeps the amount about the same.
Also note that (while not documented in meson)
a "User defined options" is appended, so the summary()
may end up repeating entries from that section.
Vladimír Čunát [Tue, 6 Dec 2022 17:38:57 +0000 (18:38 +0100)]
meson minimal version: 0.49 -> 0.53
This gets rid of a warning * 0.52.0: {'priority arg in test'}
There's still Ubuntu 20.04 with meson 0.53.2,
though its standard support ended a few months ago.
Debian 11 with meson 0.56.2 is similar in this respect.
Still well supported: RHEL 9 derivatives with meson 0.63.3
and Ubuntu 22.04 with meson 0.61.2.
Aleš Mrázek [Mon, 8 Dec 2025 14:49:16 +0000 (15:49 +0100)]
Merge branch 'python3.14-support' into 'master'
Support for Python 3.14
See merge request knot/knot-resolver!1767
Vladimír Čunát [Mon, 8 Dec 2025 12:55:13 +0000 (13:55 +0100)]
ci: switch lint:tidy from Arch to Debian 13
The problem was that in Arch the clang-tidy package
updates at random moments, so we have to resolve
the issues when doing urelated refreshes of CI images.
Aleš Mrázek [Fri, 5 Dec 2025 16:56:19 +0000 (17:56 +0100)]
utils/modeling: support for annotations in python3.14
PEP 649 & PEP 749: Deferred evaluation of annotations
The annotations on classes(ConfigSchema classes in our case) are no longer evaluated eagerly. They are evaluated only when necessary.
Aleš Mrázek [Thu, 4 Dec 2025 23:37:40 +0000 (00:37 +0100)]
.python-version: added 3.14 and updated others
Aleš Mrázek [Thu, 4 Dec 2025 23:12:55 +0000 (00:12 +0100)]
.gitlab-ci.yml: python:unit: added python3.14
Vladimír Čunát [Mon, 8 Dec 2025 09:13:24 +0000 (10:13 +0100)]
Merge !1760: Avoid binding multiple transport protocols to one addr+port
Frantisek Tobias [Thu, 27 Nov 2025 08:44:43 +0000 (09:44 +0100)]
daemon/network: Avoid binding multiple transport protocols to one addr and port combination
Vladimír Čunát [Sat, 6 Dec 2025 09:45:47 +0000 (10:45 +0100)]
Merge !1765: manager: check that supervisord is manager's parent process
Vladimír Čunát [Fri, 5 Dec 2025 11:18:19 +0000 (12:18 +0100)]
manager: check that supervisord is manager's parent process
It might happen that we have a stale PID file, e.g. after a crash,
but some other process has taken the freed PID already.
Vladimír Čunát [Fri, 5 Dec 2025 09:41:43 +0000 (10:41 +0100)]
Merge !1763: /fallback: apply during reload (force kresd restarts)
Vladimír Čunát [Wed, 3 Dec 2025 11:15:38 +0000 (12:15 +0100)]
/fallback: apply during reload (force kresd restarts)
Aleš Mrázek [Tue, 2 Dec 2025 13:33:31 +0000 (14:33 +0100)]
Merge branch 'release-6.0.17' into 'master'
Release 6.0.17
See merge request knot/knot-resolver!1762
Vladimír Čunát [Tue, 2 Dec 2025 13:20:32 +0000 (14:20 +0100)]
NEWS: tweak the cache-kru bullet
Frantisek Tobias [Tue, 2 Dec 2025 11:58:42 +0000 (12:58 +0100)]
NEWS: fix markdown list formatting
Aleš Mrázek [Mon, 1 Dec 2025 12:43:36 +0000 (13:43 +0100)]
release 6.0.17
Vladimír Čunát [Tue, 2 Dec 2025 10:14:06 +0000 (11:14 +0100)]
ci: add pkg:ubuntu-25.10
Vladimír Čunát [Mon, 1 Dec 2025 20:22:36 +0000 (21:22 +0100)]
Merge !1761: lib/rules: allow forcing NODATA answer for a particular name+type
Vladimír Čunát [Mon, 1 Dec 2025 18:16:44 +0000 (19:16 +0100)]
lib/rules: allow forcing NODATA answer for a particular name+type
It's just removing an assertion, and it does make sense to me.
Also expose kr_rule_local_data_ins() in Lua, like other similar functions.
Vladimír Čunát [Mon, 1 Dec 2025 20:07:47 +0000 (21:07 +0100)]
Merge !1726: Use KRU in cache GC
Vladimír Čunát [Mon, 1 Dec 2025 18:16:44 +0000 (19:16 +0100)]
lib/cache: NULL cache->db on failure to open
Otherwise we get use-after-free when attempting to close the cache
after this failure causes the process to shut down.
Vladimír Čunát [Mon, 1 Dec 2025 11:24:30 +0000 (12:24 +0100)]
doc /logging/groups: document the three missing groups
In particular, I was now interested in `cache-gc`
and incorrectly assumed that it's merged with `cache`
(the C code didn't help, as they appear merged on that level).
Vladimír Čunát [Mon, 1 Dec 2025 10:37:52 +0000 (11:37 +0100)]
NEWS: add entry for this "cache-kru" branch
Vladimír Čunát [Tue, 25 Nov 2025 09:27:35 +0000 (10:27 +0100)]
lib/kru + elsewhere nit: avoid message-less static_assert()
With clang they'd cause lots of complaints:
warning: '_Static_assert' with no message is a C23 extension [-Wc23-extensions]
Vladimír Čunát [Wed, 13 Aug 2025 10:44:11 +0000 (12:44 +0200)]
lib/cache/top performance nits
Vladimír Čunát [Tue, 25 Nov 2025 13:55:47 +0000 (14:55 +0100)]
lib/cache/top: fix a minor `const` nit
Vladimír Čunát [Tue, 25 Nov 2025 11:27:51 +0000 (12:27 +0100)]
lib/cache nit: explicitly free kr_cache_emergency_file_to_remove
Also simplify the related code a little.
I don't think this has any practical impact.
Vladimír Čunát [Wed, 13 Aug 2025 10:44:11 +0000 (12:44 +0200)]
lib/cache kr_cache_open() nit: the `opts` parameter may not be NULL
The code clearly assumes it isn't, and I checked that it never is called
that way (and it would crash anyway).
Lukáš Ondráček [Thu, 13 Nov 2025 14:31:28 +0000 (15:31 +0100)]
lib/cache/top: fix counting the whole record size instead of just eh
Vladimír Čunát [Mon, 20 Oct 2025 09:30:54 +0000 (11:30 +0200)]
lib/kru: fix collision when user plays with -march option
Affects just clang, apparently. This is just a copy from knot-dns changes,
doing a bit more than this resolver commit title says. See:
https://gitlab.nic.cz/knot/knot-dns/-/commit/
ec4a2567b213efdb8ecab6573cebbc74fbb507b2
https://gitlab.nic.cz/knot/knot-dns/-/commit/
509d9d82b51c58ea572dccb09f4fdbe1a3c2571e
Vladimír Čunát [Wed, 13 Aug 2025 10:57:53 +0000 (12:57 +0200)]
treewide refactor: avoid kr_cache_top_context_switch()
It seemed to bring more complexity than benefit.
In many parts this meant revert to code before a few commits.
It's slightly tricky that qry or req may be NULL in some cases,
but I believe I've caught all of them by conditions, and moreover
they're cases where it doesn't make sense to update kr_cache_top_*
Vladimír Čunát [Mon, 11 Aug 2025 09:07:22 +0000 (11:07 +0200)]
lib/kru: deduplicate kru_limited_prefetch_hash()
Move the function up unchanged and use it on two places
which have the exact lines as the function.
Also fix its description.
Vladimír Čunát [Wed, 6 Aug 2025 14:09:25 +0000 (16:09 +0200)]
lib/kru nit: shrink the USE_AES version of `struct kru` by 64 bytes
Just by dropping some padding in the header.
Also drop a long outdated part of comment on this.
Vladimír Čunát [Wed, 6 Aug 2025 10:53:50 +0000 (12:53 +0200)]
lib/mmapped.c: refactor static fail() a bit
Vladimír Čunát [Tue, 5 Aug 2025 08:59:57 +0000 (10:59 +0200)]
lib/cache/top.h: avoid issues with inclusion in C++
kru.h would be a bit complicated to adapt, so let's avoid it.
I don't think uint32_t as return price will be an issue,
though we might... e.g. add a static_assert() into top.c
Lukáš Ondráček [Fri, 18 Jul 2025 21:17:32 +0000 (23:17 +0200)]
lib/cache/top: remove temp logging, add comments, polish
Lukáš Ondráček [Wed, 16 Jul 2025 23:35:46 +0000 (01:35 +0200)]
lib/cache: decrease LMDB size by KRU size
Lukáš Ondráček [Wed, 16 Jul 2025 17:16:16 +0000 (19:16 +0200)]
lib/cache: clear and resize cache on size-max decrease
As the resolver fixes the state now, and loss of data is to be expected
on cache size change, vcunat downgraded the log severity of this.
Lukáš Ondráček [Tue, 15 Jul 2025 13:19:33 +0000 (15:19 +0200)]
lib/cache: increase bloom size, other minor changes
Lukáš Ondráček [Wed, 2 Jul 2025 18:56:15 +0000 (20:56 +0200)]
lib/mmapped: fix persistence, expand comments
Lukáš Ondráček [Wed, 25 Jun 2025 08:54:06 +0000 (10:54 +0200)]
lib/cache/top: divide price with size, other minor changes
Lukáš Ondráček [Sat, 14 Jun 2025 18:40:02 +0000 (20:40 +0200)]
lib/cache/top: increase bloom filter size
Lukáš Ondráček [Tue, 10 Jun 2025 15:44:54 +0000 (17:44 +0200)]
utils/cache_gc: use KRU values in item categorization
Lukáš Ondráček [Tue, 10 Jun 2025 15:39:08 +0000 (17:39 +0200)]
lib/cache: count only unique accesses per request in KRU
Lukáš Ondráček [Wed, 14 May 2025 19:19:16 +0000 (21:19 +0200)]
lib/cache: add basic access counting in KRU
Lukáš Ondráček [Mon, 28 Apr 2025 10:54:43 +0000 (12:54 +0200)]
lib/cache: add debug logs where kru will be used
Vladimír Čunát [Mon, 1 Dec 2025 12:26:45 +0000 (13:26 +0100)]
Merge !1759: distro: update add protobuf-compiler package for apkg
Hynek Šabacký [Mon, 24 Nov 2025 08:32:11 +0000 (09:32 +0100)]
distro: update apkg to prefer protobuf-compiler, fall back to protobuf-c-compiler
Vladimír Čunát [Mon, 1 Dec 2025 07:33:12 +0000 (08:33 +0100)]
Merge !1758: manager: basic support for non-Linux systems (macOS, FreeBSD)
Aleš Mrázek [Wed, 26 Nov 2025 17:22:19 +0000 (18:22 +0100)]
controller: use NOTIFY_SUPPORT constant
Aleš Mrázek [Wed, 26 Nov 2025 17:21:42 +0000 (18:21 +0100)]
manager: use WORKERS_SUPPORT constant
Aleš Mrázek [Wed, 26 Nov 2025 17:01:16 +0000 (18:01 +0100)]
constants.py: values determination simplification
Aleš Mrázek [Wed, 26 Nov 2025 16:50:04 +0000 (17:50 +0100)]
constants.py: added WORKERS_SUPPORT and NOTIFY_SUPPORT
Aleš Mrázek [Wed, 26 Nov 2025 10:27:00 +0000 (11:27 +0100)]
Revert "etc/config/config.macos.yaml: new config for macOS"
This reverts commit
c75a2ba8b009e3bb332289b8960d79420855f042 .
Aleš Mrázek [Mon, 24 Nov 2025 19:12:32 +0000 (20:12 +0100)]
daemon/defer.c: replaced ETIME with ETIMEDOUT for timeout errors
ETIMEDOUT explicitly indicates a timeout condition defined by POSIX and improves portability.
Aleš Mrázek [Thu, 20 Nov 2025 15:26:56 +0000 (16:26 +0100)]
NEWS: update
Aleš Mrázek [Tue, 18 Nov 2025 14:08:15 +0000 (15:08 +0100)]
manager: added FreeBSD support
Multiple workers are supported only on Linux systems or FreeBSD with SO_REUSEPORT_LB socket option.
Aleš Mrázek [Tue, 18 Nov 2025 13:06:39 +0000 (14:06 +0100)]
daemon/main.c: send READY notification only on Linux