]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Vladimír Čunát [Mon, 1 Dec 2025 19:36:20 +0000 (20:36 +0100)]
datamodel: add /lua/policy-script*
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
Aleš Mrázek [Wed, 12 Nov 2025 20:30:54 +0000 (21:30 +0100)]
manager: no 'set_new_tls_sticket_secret' callback on macOS
Callback is not needed, as only one kresd worker is allowed on macOS.
Aleš Mrázek [Wed, 12 Nov 2025 20:28:20 +0000 (21:28 +0100)]
manager: renamed logging module to logger
On macOS, it caused problems because it had the same name as the built-in logging module.
Aleš Mrázek [Mon, 10 Nov 2025 20:31:33 +0000 (21:31 +0100)]
controller/supervisord: platform portable config
Aleš Mrázek [Wed, 15 Oct 2025 09:47:43 +0000 (11:47 +0200)]
controller/supervisord/plugin/notifymodule.c: platform portable
Aleš Mrázek [Wed, 15 Oct 2025 09:47:25 +0000 (11:47 +0200)]
etc/config/config.macos.yaml: new config for macOS
Aleš Mrázek [Thu, 2 Oct 2025 09:21:07 +0000 (11:21 +0200)]
datamodel: workers: check for macOS platform
Vladimír Čunát [Wed, 26 Nov 2025 12:23:13 +0000 (13:23 +0100)]
Merge !1757: documentation nits
Aleš Mrázek [Tue, 25 Nov 2025 13:24:45 +0000 (14:24 +0100)]
daemon/bindings/net_xdpsrv.rst: updated with declarative config
Vladimír Čunát [Mon, 24 Nov 2025 09:30:02 +0000 (10:30 +0100)]
doc/dev: reinstante the config-debugging section
It apparently got forgotten when splitting the doc/ into doc/{user,dev}/
And as we now removed this from YAML (and doc/user) in
9fbacef1709 ,
these options completely disappeared from our 6.x docs.
So this PR puts it back into doc/dev on the place where it's in 5.x docs.
Vladimír Čunát [Fri, 7 Nov 2025 13:36:21 +0000 (14:36 +0100)]
doc/user: misc nits
config-fallback: I forgot the config-serve-stale label in there,
now reported as duplicate. I'm still getting reports of
> WARNING: undefined label: 'config-serve-stale' [ref.ref]
in 3 places (config-cache.rst:170, config-rfc7706.rst:9, rfc-list.rst:337)
but I have no idea why that happens.
Vladimír Čunát [Fri, 7 Nov 2025 13:36:21 +0000 (14:36 +0100)]
treewide nit: reduce visible usage of "blacklist" and "whitelist" words
I can understand that this naming tradition... isn't great.
Vladimír Čunát [Thu, 6 Nov 2025 17:25:52 +0000 (18:25 +0100)]
doc/user: correct the default for /network/listen
I looked into the model, and we do not enable DoT by default.
Which seems fine, as encryption of localhost-only communication
doesn't make much sense anyway.
Vladimír Čunát [Thu, 6 Nov 2025 17:02:57 +0000 (18:02 +0100)]
doc/user/config-network-server-tls.rst: nits
- move an example config closer to the beginning of its section
- less mention of doh-legacy
Vladimír Čunát [Thu, 6 Nov 2025 09:39:27 +0000 (10:39 +0100)]
docs: remove a few remnants of kresd@.service
I still left the deployment-advanced section in the user manual,
though I'm slightly afraid that they will make it appear
that we want to support usage of 6.x kresd without manager.
Vladimír Čunát [Thu, 6 Nov 2025 08:08:41 +0000 (09:08 +0100)]
doc: avoid another warning
WARNING: Calling get_html_theme_path is deprecated.
If you are calling it to define html_theme_path,
you are safe to remove that code.
Vladimír Čunát [Wed, 5 Nov 2025 09:09:11 +0000 (10:09 +0100)]
*.rst: avoid warnings from lexing Lua snippets
We don't always have correct Lua in the code blocks.
Using :force: will avoid the annoying warnings when (re)generating docs.
(which probably depend on versions of your python packages)
Vladimír Čunát [Thu, 6 Nov 2025 07:46:58 +0000 (08:46 +0100)]
treewide: replace port 5353 by 5335
My main aim was not to have it in documentation,
but I ended up removing it from everywhere except ci/respdiff
(which I didn't feel like messing with right now).
I see people using 5353 for DNS, and it's problematic,
as the port is reserved for mDNS which is quite common,
and the packets even have similar format which makes it only worse.
Vladimír Čunát [Wed, 5 Nov 2025 11:00:16 +0000 (12:00 +0100)]
doc/user /lua: add link to the developer docs
Vladimír Čunát [Tue, 18 Nov 2025 11:16:11 +0000 (12:16 +0100)]
Merge !1754: stabilization of the declarative configuration - v2
Vladimír Čunát [Tue, 18 Nov 2025 11:13:23 +0000 (12:13 +0100)]
doc/user: fix the basic monitoring example :-(
This got forgotten in commit
f0564feb1c816 .
Aleš Mrázek [Tue, 11 Nov 2025 11:11:04 +0000 (12:11 +0100)]
doc/user: updated network/proxy-protocol
Vladimír Čunát [Wed, 5 Nov 2025 10:34:53 +0000 (11:34 +0100)]
doc/user: drop experimental-dot-auth
The option was dropped from YAML in
9bec59c1bc15c ,
so let's drop it from user docs as well.
This clears the whole "experimental" section from docs.
It still remains the same in doc/dev and as Lua option (module).
Vladimír Čunát [Wed, 5 Nov 2025 09:09:11 +0000 (10:09 +0100)]
datamodel: also drop /dnssec/keep-removed
This is basically an amendment of
45d95e3b .
I consider RFC 5011 pretty exotic to use, and even for the root zone
there are typically better options. So exposing tiny tweaks
in the 5011 algoritm seems to bring more confusion than value.
(basically same situation as for the other /dnssec/* removals)
Vladimír Čunát [Wed, 12 Nov 2025 14:34:22 +0000 (15:34 +0100)]
Merge !1756: distro: update upstream-version.sh to apkg compat 6
Jakub Ružička [Wed, 12 Nov 2025 13:11:18 +0000 (14:11 +0100)]
distro: update upstream-version.sh to apkg compat 6
Vladimír Čunát [Tue, 11 Nov 2025 20:14:37 +0000 (21:14 +0100)]
Merge !1755: distro: update to latest apkg compat level 6
Jakub Ružička [Tue, 11 Nov 2025 14:35:27 +0000 (15:35 +0100)]
distro: update to latest apkg compat level 6
Modify scripts/make-archive.sh to output YAML only to stdout as required
by latest apkg compat level 6. All stdout was redirected to stderr.
Aleš Mrázek [Fri, 31 Oct 2025 15:00:09 +0000 (16:00 +0100)]
Merge branch 'declarative-config-stabilization' into 'master'
stabilization of the declarative configuration
See merge request knot/knot-resolver!1672
Aleš Mrázek [Tue, 24 Jun 2025 13:57:43 +0000 (15:57 +0200)]
doc/user/config-local-data.rst: hide 'dry-run' option config for RPZ
Aleš Mrázek [Mon, 23 Jun 2025 22:18:07 +0000 (00:18 +0200)]
kresctl: migrate: rename '/defer/enabled' to /defer/enable'
- NEWS: added missing entry
Aleš Mrázek [Fri, 6 Jun 2025 11:01:21 +0000 (13:01 +0200)]
datamodel: logging: dnstap: changed log-* defaults to false
Aleš Mrázek [Thu, 5 Jun 2025 17:58:39 +0000 (19:58 +0200)]
python: datamodel: added missing 'enable' options
In order to be consistent throughout the datamodel, it will only be possible to enable individual resolver features using the 'enable' option.
Aleš Mrázek [Wed, 4 Jun 2025 09:26:57 +0000 (11:26 +0200)]
NEW: update
Aleš Mrázek [Mon, 2 Jun 2025 12:33:43 +0000 (14:33 +0200)]
doc/user/upgrading.rst: added upgrading guide for configuration
Aleš Mrázek [Mon, 2 Jun 2025 11:47:13 +0000 (13:47 +0200)]
python: datamodel: **/enabled configuration renamed to **/enable
Aleš Mrázek [Mon, 2 Jun 2025 09:00:25 +0000 (11:00 +0200)]
python: datamodel: typo fixes
Lukáš Ondráček [Thu, 29 May 2025 10:12:46 +0000 (12:12 +0200)]
doc/user/config-rate-limiting: remove invalid sentence
Aleš Mrázek [Thu, 22 May 2025 12:57:42 +0000 (14:57 +0200)]
.gitlab-ci.yml: added python:migrate
scripts/po-tasks/migrate task added to migrate and validate configuration using kresctl
Aleš Mrázek [Tue, 20 May 2025 13:49:36 +0000 (15:49 +0200)]
kresctl: migrate: added migration for /cache/garbage-collector config
Aleš Mrázek [Tue, 20 May 2025 13:12:21 +0000 (15:12 +0200)]
datamodel: stabilize cache schema
Aleš Mrázek [Mon, 19 May 2025 14:03:24 +0000 (16:03 +0200)]
kresctl: migrate: added migration for /monitoring/* config
Aleš Mrázek [Mon, 19 May 2025 12:49:16 +0000 (14:49 +0200)]
datamodel: stabilize monitoring schema
Aleš Mrázek [Tue, 6 May 2025 11:44:51 +0000 (13:44 +0200)]
Revert "datamodel: renamed defer section to prioritization"
This reverts commit
1e3b02d056dc3785be3e398f2d23a41780c58677 .
Aleš Mrázek [Mon, 28 Apr 2025 12:47:13 +0000 (14:47 +0200)]
client: migrate: new command to migrate configuration to newer version
Aleš Mrázek [Tue, 15 Apr 2025 14:16:50 +0000 (16:16 +0200)]
datamodel: stabilize rate-limiting schema
Aleš Mrázek [Tue, 15 Apr 2025 09:32:29 +0000 (11:32 +0200)]
datamodel: renamed defer section to prioritization
- renamed /defer/log-period -> /defer/logging-period
Aleš Mrázek [Mon, 14 Apr 2025 18:08:29 +0000 (20:08 +0200)]
datamodel: stabilize dns64 schema
Aleš Mrázek [Tue, 8 Apr 2025 12:46:30 +0000 (14:46 +0200)]
datamodel: move dnssec bogus logging from 'logging' section to 'dnssec' section
Aleš Mrázek [Mon, 7 Apr 2025 13:47:17 +0000 (15:47 +0200)]
manager: server: deny dynamic changes off /cache/garbage-collector/* config
Aleš Mrázek [Mon, 7 Apr 2025 13:09:46 +0000 (15:09 +0200)]
Revert "datamodel: cache: removed garbage-collector config"
This reverts commit
4ba9f6e4a9a30195147d2cbb99dbb53fbd9bc017 .
Vladimír Čunát [Wed, 8 May 2024 06:31:32 +0000 (08:31 +0200)]
datamodel: remove /local-data/root-fallback-addresses*
As discussed, let's keep rarely useful settings out of the YAML model.
Aleš Mrázek [Fri, 28 Mar 2025 14:07:03 +0000 (15:07 +0100)]
datamodel: stabilize dnssec schema
Aleš Mrázek [Fri, 28 Mar 2025 13:20:49 +0000 (14:20 +0100)]
datamodel: deleted obsolete parts
Aleš Mrázek [Thu, 27 Mar 2025 13:35:24 +0000 (14:35 +0100)]
datamodel: stabilize network schema
- files-watchdog renamed to watchdog
- removed experimental TLS auto-discovery
Aleš Mrázek [Thu, 27 Mar 2025 13:17:03 +0000 (14:17 +0100)]
datamodel: cache: removed garbage-collector config
Aleš Mrázek [Tue, 25 Mar 2025 13:04:32 +0000 (14:04 +0100)]
datamodel: removed workers-max option
Aleš Mrázek [Tue, 25 Mar 2025 12:35:14 +0000 (13:35 +0100)]
datamodel: remove webmgmt
Aleš Mrázek [Tue, 25 Mar 2025 12:25:38 +0000 (13:25 +0100)]
datamodel: logging: removed debugging options
Aleš Mrázek [Fri, 31 Oct 2025 09:37:21 +0000 (10:37 +0100)]
Merge branch 'ci-deploy-fixes' into 'master'
ci: fixes for 'docs:website' and 'docker:dockerhub' jobs
See merge request knot/knot-resolver!1753