]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Aleš Mrázek [Thu, 31 Jul 2025 09:27:14 +0000 (11:27 +0200)]
manager/kafka_client.py: init kafka using config_store callback
Aleš Mrázek [Wed, 30 Jul 2025 14:09:06 +0000 (16:09 +0200)]
fixup! fixup! manager/kafka_client.py: use headers instead of parsing message key
Aleš Mrázek [Wed, 30 Jul 2025 13:33:38 +0000 (15:33 +0200)]
fixup! manager/kafka_client.py: use headers instead of parsing message key
Aleš Mrázek [Wed, 30 Jul 2025 13:23:46 +0000 (15:23 +0200)]
manager/kafka_client.py: use headers instead of parsing message key
Aleš Mrázek [Tue, 29 Jul 2025 14:21:22 +0000 (16:21 +0200)]
fixup! manager/kafka_client.py: trigger config reload for configuration
Aleš Mrázek [Tue, 29 Jul 2025 14:17:08 +0000 (16:17 +0200)]
manager/kafka_client.py: trigger config reload for configuration
Using the API and file for dynamic configuration makes it impossible to determine which parts are dynamic and which are static because, after validation, they become one configuration. Therefore, it is easier to use a file that is completely replaced by the new configuration.
Aleš Mrázek [Tue, 29 Jul 2025 14:01:27 +0000 (16:01 +0200)]
manager/kafka_client.py: backup files only when they exists
Aleš Mrázek [Mon, 28 Jul 2025 14:27:23 +0000 (16:27 +0200)]
distro/pkg: added python(3)-kafka package
Aleš Mrázek [Mon, 28 Jul 2025 12:51:31 +0000 (14:51 +0200)]
manager/kafka_client.py: use 'files-dir' config option for relative paths
Aleš Mrázek [Mon, 28 Jul 2025 09:52:50 +0000 (11:52 +0200)]
datamodel/kafka_schema.py: improved 'server' option
The domain name has been added as an option. You can also add a list of servers.
Aleš Mrázek [Mon, 28 Jul 2025 09:49:07 +0000 (11:49 +0200)]
datamodel/types: created DomanNameOptionalPort' type
This custom type allows use of values in the format <domain-name>[@<port>].
Aleš Mrázek [Mon, 28 Jul 2025 09:00:30 +0000 (11:00 +0200)]
datamodel/kafka_schema.py: added 'files_dir' option
Directory for storing files received via Kafka.
Aleš Mrázek [Mon, 28 Jul 2025 08:53:35 +0000 (10:53 +0200)]
constants.py: added WORK_DIR
Aleš Mrázek [Fri, 25 Jul 2025 12:32:54 +0000 (14:32 +0200)]
manager/kafka_client.py: consume config
Aleš Mrázek [Thu, 24 Jul 2025 22:34:37 +0000 (00:34 +0200)]
manager/kafka_client.py: switched to triggers module
Aleš Mrázek [Thu, 24 Jul 2025 09:46:00 +0000 (11:46 +0200)]
manager/files/watchdog.py: switched to triggers module
Aleš Mrázek [Thu, 24 Jul 2025 09:45:21 +0000 (11:45 +0200)]
manager/triggers.py: new module to globally handle triggered command
Aleš Mrázek [Wed, 23 Jul 2025 16:24:20 +0000 (18:24 +0200)]
manager/kafka_client.py: parse and process messages
Aleš Mrázek [Wed, 23 Jul 2025 11:15:12 +0000 (13:15 +0200)]
datamodel/kafka_schema.py: added ssl and custom certificate support
Aleš Mrázek [Mon, 14 Jul 2025 15:15:14 +0000 (17:15 +0200)]
manager/kafka_client.py: consume files
Aleš Mrázek [Mon, 14 Jul 2025 14:32:22 +0000 (16:32 +0200)]
manager/kafka_client.py: iterate over consumed messages
Aleš Mrázek [Tue, 8 Jul 2025 09:56:03 +0000 (11:56 +0200)]
datamodel: added 'kafka' section
Aleš Mrázek [Mon, 30 Jun 2025 13:38:31 +0000 (15:38 +0200)]
manager/server.py: init Kafka client
Aleš Mrázek [Mon, 30 Jun 2025 13:36:46 +0000 (15:36 +0200)]
manager: added new kafka_client.py module
Aleš Mrázek [Wed, 25 Jun 2025 20:23:36 +0000 (22:23 +0200)]
pyproject.toml: added 'kafka-python' as optional dependency
Vladimír Čunát [Wed, 2 Jul 2025 08:44:44 +0000 (10:44 +0200)]
pull user_key from DoH URI and export it into dnstap
TODO: this also changes some aspects of URI refusal,
though not based on user_key so far.
Frantisek Tobias [Wed, 18 Jun 2025 09:54:04 +0000 (11:54 +0200)]
daemon/http.c: Accept any url path for DoH
Vladimír Čunát [Tue, 8 Jul 2025 07:05:16 +0000 (09:05 +0200)]
dnstap: export some information about applied policy
Vladimír Čunát [Tue, 8 Jul 2025 06:44:04 +0000 (08:44 +0200)]
dnstap: update the protobuf definition
https://github.com/dnstap/dnstap.pb/blob/main/dnstap.proto
Vladimír Čunát [Tue, 29 Jul 2025 07:13:11 +0000 (09:13 +0200)]
Merge !1728: add NEWS for the last merge request
Vladimír Čunát [Tue, 29 Jul 2025 06:47:26 +0000 (08:47 +0200)]
add NEWS for the last merge request
Vladimír Čunát [Tue, 29 Jul 2025 06:36:08 +0000 (08:36 +0200)]
Merge !1727: datamodel/types: reduced validation strictness for DomainName
Fixes #934
Aleš Mrázek [Tue, 29 Jul 2025 06:36:08 +0000 (08:36 +0200)]
datamodel/types: reduced validation strictness for DomainName
Vladimír Čunát [Fri, 18 Jul 2025 13:51:58 +0000 (15:51 +0200)]
Merge !1725: ci: minor adjustments
Aleš Mrázek [Thu, 17 Jul 2025 12:20:57 +0000 (14:20 +0200)]
.gitlab-ci.yml: renamed docs:pages to docs:latest
Aleš Mrázek [Thu, 17 Jul 2025 11:40:18 +0000 (13:40 +0200)]
.gitlab-ci.yml: docs:pages: run job automatically and only for master
This will help to keep the /latest docs up to date.
Aleš Mrázek [Thu, 17 Jul 2025 11:21:52 +0000 (13:21 +0200)]
.gitlab-ci.yml: removed OBS
We do not use OBS for version 6.
Aleš Mrázek [Thu, 17 Jul 2025 09:16:29 +0000 (11:16 +0200)]
Merge branch 'release-6.0.15' into 'master'
Release 6.0.15
See merge request knot/knot-resolver!1722
Aleš Mrázek [Thu, 17 Jul 2025 07:48:59 +0000 (09:48 +0200)]
nit: datamodel: fix formatting
Aleš Mrázek [Thu, 17 Jul 2025 07:45:23 +0000 (09:45 +0200)]
release 6.0.15
Vladimír Čunát [Thu, 17 Jul 2025 06:31:14 +0000 (08:31 +0200)]
Merge !1718: lib/dnssec: drop incorrect `requirement` and comment
Vladimír Čunát [Wed, 4 Jun 2025 07:32:14 +0000 (09:32 +0200)]
lib/dnssec: drop incorrect `requirement` and comment
I don't think this can happen on correct records,
due to the way that the root zone is. But we've seen
this assertion happen in real life, and attackers
might be able to misuse it to cause crashes.
Vladimír Čunát [Thu, 17 Jul 2025 06:21:48 +0000 (08:21 +0200)]
Merge !1717: lib/cache pkt_renew(): don't keep parts of packet header
Vladimír Čunát [Fri, 13 Jun 2025 13:27:10 +0000 (15:27 +0200)]
lib/cache pkt_renew(): don't keep parts of packet header
No idea why it's been done in this weird way since forever.
Vladimír Čunát [Thu, 17 Jul 2025 06:06:18 +0000 (08:06 +0200)]
Merge !1715: NO_CACHE flag: fix and tweak its behavior
Vladimír Čunát [Mon, 7 Jul 2025 12:58:05 +0000 (14:58 +0200)]
lib/cache: tweak the meaning of .flags.NO_CACHE
This way it should better match docs for the flag,
and I think it makes a bit more sense now,
at least for the use cases we have in our code now.
Also add NEWS for these two commits.
Vladimír Čunát [Mon, 7 Jul 2025 12:00:27 +0000 (14:00 +0200)]
lib/cache: simplify logic for qry->flags.CACHE_TRIED
As a side effect, this solves an issue which could be seen
during resolver startup where the trust anchor update would fail.
[taupd ] active refresh failed for . with rcode: 2
The cause is that for queries started with .flags.NO_CACHE,
we'd skip the section setting .flags.CACHE_TRIED, and consequently
kr_rule_local_data_answer() would get run more often than expected.
The new logic should be also much simpler to follow.
We always apply cache (and policy) just once per kr_query.
Vladimír Čunát [Wed, 16 Jul 2025 16:22:53 +0000 (18:22 +0200)]
Merge !1716: daemon: add configurability for low source port check
Vladimír Čunát [Mon, 14 Jul 2025 13:40:48 +0000 (15:40 +0200)]
daemon: add configurability for low source port check
In commit
c0482d5a8a this check was added. Now one can e.g. disable by
> require('ffi').C.the_network.min_udp_source_port = 0
(typically used inside YAML config at /lua/script or /lua/script-file)
Vladimír Čunát [Wed, 16 Jul 2025 16:08:42 +0000 (18:08 +0200)]
Merge !1714: datamodel: improve file permission check
Fixes #933
Aleš Mrázek [Tue, 8 Jul 2025 07:07:22 +0000 (09:07 +0200)]
NEWS update
Aleš Mrázek [Mon, 7 Jul 2025 13:47:39 +0000 (15:47 +0200)]
kresctl: commands: changed validation strictness default to false
Vladimír Čunát [Wed, 16 Jul 2025 15:58:20 +0000 (17:58 +0200)]
datamodel/types/files.py: improve file permission check
In particular with ACLs this could have prevented resolver starting
even if the permissions were OK. os.access() should be accurate
at least when running from manager (not from kresctl).
Vladimír Čunát [Wed, 16 Jul 2025 08:30:32 +0000 (10:30 +0200)]
Merge !1702: daemon/defer: fix sampling of timed events
Lukáš Ondráček [Mon, 2 Jun 2025 14:56:42 +0000 (16:56 +0200)]
daemon/defer: fix sampling of timed events
Vladimír Čunát [Sun, 6 Jul 2025 14:43:39 +0000 (16:43 +0200)]
Merge !1709: lib/rules: update/more precise default answers for special names
Vladimír Čunát [Thu, 19 Jun 2025 13:38:44 +0000 (15:38 +0200)]
lib/rules: update/more precise default answers for special names
The diff probably shows as messy, but the set of names
doesn't change much. _EMPTY changes to _NXDOMAIN in many cases.
Every name has some text defining the behavior;
it's not very unified, unfortunately.
Now I tried to refer to particular RFC section(s) for each name.
Vladimír Čunát [Fri, 4 Jul 2025 17:29:23 +0000 (19:29 +0200)]
Merge !1705: modules/prefill: fix moving across filesystems
Vladimír Čunát [Wed, 11 Jun 2025 17:22:11 +0000 (19:22 +0200)]
modules/prefill: fix moving across filesystems
I somehow thought thought that `os.rename()` behaves
like the `mv` command, and unfortunately in the way I tested this,
everything was inside a single mount-point.
Official docs is one line that doesn't explain anything really :-/
Vladimír Čunát [Fri, 4 Jul 2025 17:13:14 +0000 (19:13 +0200)]
Merge !1710: manager: support for multiple configuration files
Aleš Mrázek [Tue, 1 Jul 2025 10:41:50 +0000 (12:41 +0200)]
Revert "scripts/poe-tasks/utils/_env.sh: added CONFIG_FILE_NAME variable"
This reverts commit
d3d4c2fbe52048ecd3df59e7e8e3d2017ad7914c .
Aleš Mrázek [Mon, 30 Jun 2025 19:05:26 +0000 (21:05 +0200)]
manager/server.py: check the parent dir of each config file
Compare the locations of multiple configuration files and issue a warning
Aleš Mrázek [Fri, 20 Jun 2025 06:41:08 +0000 (08:41 +0200)]
python: manager/server.py: use 'data_combine' function to combine data from multiple config files
Aleš Mrázek [Thu, 19 Jun 2025 18:45:26 +0000 (20:45 +0200)]
python: utils/modeling/parsing.py: 'data_combine' function for combining dictionaries data
Aleš Mrázek [Wed, 18 Jun 2025 14:14:54 +0000 (16:14 +0200)]
.gitlab-ci.yml: python:run: added second configuration
Aleš Mrázek [Wed, 18 Jun 2025 14:13:34 +0000 (16:13 +0200)]
etc/config: added few YAML configs for testing
Aleš Mrázek [Wed, 18 Jun 2025 14:05:31 +0000 (16:05 +0200)]
python: manager: allow multiple configuration file inputs
Aleš Mrázek [Wed, 18 Jun 2025 11:13:27 +0000 (13:13 +0200)]
etc/config/config.yaml: reduced to minimal config
Most of the configuration was a duplication of the default values.
Aleš Mrázek [Wed, 18 Jun 2025 10:57:45 +0000 (12:57 +0200)]
etc/config/config.dev.yaml: reduced to minimal config
Aleš Mrázek [Wed, 18 Jun 2025 10:39:23 +0000 (12:39 +0200)]
.gitlab-ci.yml: python:run: use CONFIG_FILE_NAME
Aleš Mrázek [Wed, 18 Jun 2025 10:37:33 +0000 (12:37 +0200)]
scripts/poe-tasks/utils/_env.sh: added CONFIG_FILE_NAME variable
The CONFIG_FILE_NAME variable allows us to change just the name of a configuration file.
Vladimír Čunát [Wed, 2 Jul 2025 16:38:20 +0000 (18:38 +0200)]
Merge !1713: lib/cache: fix retaining is_cache flag in cdb_clear
Vladimír Čunát [Wed, 2 Jul 2025 16:36:20 +0000 (18:36 +0200)]
add NEWS for the parent commit
Lukáš Ondráček [Wed, 2 Jul 2025 16:00:33 +0000 (18:00 +0200)]
lib/cache: fix retaining is_cache flag in cdb_clear
Vladimír Čunát [Mon, 30 Jun 2025 08:28:07 +0000 (10:28 +0200)]
Merge !1712: manager: metrics: fix typo in one prometheus stat name
Rich [Wed, 25 Jun 2025 07:53:53 +0000 (08:53 +0100)]
manager: metrics: fix typo in one prometheus stat name
Vladimír Čunát [Wed, 25 Jun 2025 07:24:22 +0000 (09:24 +0200)]
Merge !1711: datamodel/templates: fix swapped edns-buffer-size
Vladimír Čunát [Wed, 25 Jun 2025 07:10:19 +0000 (09:10 +0200)]
datamodel/templates: fix swapped edns-buffer-size
Vladimír Čunát [Wed, 25 Jun 2025 06:56:13 +0000 (08:56 +0200)]
Merge !1704: datamodel/templates: fix /dnssec/trust-anchors-files
Vladimír Čunát [Wed, 11 Jun 2025 13:34:40 +0000 (15:34 +0200)]
datamodel/templates: fix /dnssec/trust-anchors-files
I expect this has never worked in 6.x yet :-/
Vladimír Čunát [Thu, 12 Jun 2025 12:04:34 +0000 (14:04 +0200)]
Merge !1706: .gitlab-ci.yml: add pkg:alma-10
Jakub Ružička [Thu, 12 Jun 2025 11:24:25 +0000 (13:24 +0200)]
distro/tests: update test dependencies
Depend on man on almalinux.
Also shorten distro.match invocations for readability.
Vladimír Čunát [Thu, 5 Jun 2025 10:27:47 +0000 (12:27 +0200)]
.gitlab-ci.yml: add pkg:alma-10
Vladimír Čunát [Thu, 12 Jun 2025 08:51:17 +0000 (10:51 +0200)]
Merge !1701: meson: avoid protoc-c, as it's deprecated
Vladimír Čunát [Wed, 4 Jun 2025 07:32:14 +0000 (09:32 +0200)]
meson: avoid protoc-c, as it's (reported as) deprecated
> `protoc-c` is deprecated. Please use `protoc` instead!
Vladimír Čunát [Wed, 11 Jun 2025 11:01:45 +0000 (13:01 +0200)]
Merge !1703: manager: prometheus metrics update
Fixes #917
Aleš Mrázek [Wed, 11 Jun 2025 10:01:36 +0000 (12:01 +0200)]
test/packaging/interactive/metrics: compare number of JSON and prometheus metrics
Aleš Mrázek [Tue, 10 Jun 2025 16:17:27 +0000 (18:17 +0200)]
manager: metrics: added prometheus missing IPv4/6 metrics
Aleš Mrázek [Tue, 3 Jun 2025 10:51:59 +0000 (12:51 +0200)]
Merge branch 'release-6.0.14' into 'master'
Release 6.0.14
See merge request knot/knot-resolver!1700
Aleš Mrázek [Tue, 3 Jun 2025 10:51:59 +0000 (12:51 +0200)]
Release 6.0.14
Vladimír Čunát [Tue, 3 Jun 2025 09:25:33 +0000 (11:25 +0200)]
Merge !1699: datamodel/templates: fix error, as RuleSchema doesn't have .log
Vladimír Čunát [Mon, 2 Jun 2025 12:42:01 +0000 (14:42 +0200)]
lib/rules: drop FIXMEs
These don't need resolving, as the return values for kr_* functions
didn't change really in the end.
Vladimír Čunát [Mon, 2 Jun 2025 12:42:01 +0000 (14:42 +0200)]
datamodel/templates: fix error, as RuleSchema doesn't have .log
Also indent the complicated if-nesting.
Aleš Mrázek [Mon, 2 Jun 2025 07:31:26 +0000 (09:31 +0200)]
Merge branch 'ci-python-run' into 'master'
ci: python:run: job to start the resolver with the dev configuration
See merge request knot/knot-resolver!1698
Aleš Mrázek [Fri, 30 May 2025 08:22:30 +0000 (10:22 +0200)]
.gitlab-ci.yml: added python:run job
Vladimír Čunát [Mon, 2 Jun 2025 07:23:45 +0000 (09:23 +0200)]
Merge !1697: datamodel/templates: fix kr_rule_local_* macros
Vladimír Čunát [Fri, 30 May 2025 05:13:04 +0000 (07:13 +0200)]
add NEWS entry
Brad Cowie [Fri, 30 May 2025 01:57:25 +0000 (13:57 +1200)]
datamodel/templates: fix kr_rule_local_* macros
commit
a782e9c3 broke the jinja2 generation of the
kr_rule_local_* macro functions. C.KR_RULE_OPTS_DEFAULT
was provided as an argument to the assert() function call
instead of the call to the corresponding C.kr_rule_local_* function
Aleš Mrázek [Thu, 29 May 2025 10:42:25 +0000 (12:42 +0200)]
Merge branch 'release-6.0.13' into 'master'
Release 6.0.13
See merge request knot/knot-resolver!1695
Vladimír Čunát [Thu, 29 May 2025 09:16:54 +0000 (11:16 +0200)]
release 6.0.13