]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Frantisek Tobias [Mon, 6 Oct 2025 10:43:36 +0000 (12:43 +0200)]
doc/schema: add doq
Frantisek Tobias [Mon, 6 Oct 2025 08:59:56 +0000 (10:59 +0200)]
daemon/quic: add version negotiation for initial packet
Frantisek Tobias [Mon, 6 Oct 2025 08:42:31 +0000 (10:42 +0200)]
daemon/defer: replace is_accounting kr_assert with if
this assertion wasn't compatible with the subsession design of DoQ
Frantisek Tobias [Mon, 6 Oct 2025 08:39:03 +0000 (10:39 +0200)]
daemon/session: remove commented code
Frantisek Tobias [Mon, 6 Oct 2025 08:32:13 +0000 (10:32 +0200)]
daemon/quic_common: move code used by more quic layers into common file
Frantisek Tobias [Mon, 6 Oct 2025 08:31:38 +0000 (10:31 +0200)]
daemon/quic_stream: cleanup code
Frantisek Tobias [Mon, 6 Oct 2025 08:25:53 +0000 (10:25 +0200)]
daemon/quic_demux: add events for connection management, clear expired conns, cleanup code
Frantisek Tobias [Mon, 6 Oct 2025 08:24:33 +0000 (10:24 +0200)]
daemon/quic_conn: handle sending special cases, cleanup
Frantisek Tobias [Tue, 23 Sep 2025 09:55:01 +0000 (11:55 +0200)]
daemon/quic: cleanup code, implement proper event handling wip
Frantisek Tobias [Tue, 23 Sep 2025 09:53:50 +0000 (11:53 +0200)]
daemon/quic: remove old reference implementation
Frantisek Tobias [Mon, 22 Sep 2025 07:27:29 +0000 (09:27 +0200)]
daemon/quic: pass session init params on the stack
Frantisek Tobias [Wed, 17 Sep 2025 12:01:53 +0000 (14:01 +0200)]
daemon/quic_stream: steady progress in stream as session refactor
Frantisek Tobias [Tue, 2 Sep 2025 10:01:58 +0000 (12:01 +0200)]
daemon/quic: quic connections as sessions refactor
Frantisek Tobias [Mon, 25 Aug 2025 13:29:46 +0000 (15:29 +0200)]
daemon/quic: split quic conn management and quic conn into separate layers
This abstranction virtually switched from UDP's understanding of session to how TCP sees it, that is session represents one connection, and exists only while the connection is active, WIP
Frantisek Tobias [Tue, 19 Aug 2025 13:19:35 +0000 (15:19 +0200)]
daemon/quic: Fix issues with cached replies, eliminate leaks that occured during typical traffic
Frantisek Tobias [Thu, 14 Aug 2025 10:16:46 +0000 (12:16 +0200)]
daemon/quic: handle errors that reqire response, store outdata
in pl_iter_ctx->payload, resolve some memleaks
Frantisek Tobias [Mon, 11 Aug 2025 08:20:15 +0000 (10:20 +0200)]
daemon/quic: solve endianity issue, handle acks and closing streams
Frantisek Tobias [Thu, 31 Jul 2025 10:54:11 +0000 (12:54 +0200)]
daemon/quic: fix buffering resolved unacked data
Frantisek Tobias [Thu, 31 Jul 2025 10:53:22 +0000 (12:53 +0200)]
daemon/quic: store dcid and stream_id of the latest query in comm->target
Frantisek Tobias [Tue, 29 Jul 2025 07:29:43 +0000 (09:29 +0200)]
daemon/quic_streams: add multistream support and handle output data buffering
Frantisek Tobias [Tue, 29 Jul 2025 07:23:59 +0000 (09:23 +0200)]
daemon/quic: support for multiple streams: collect finished queries into wire_buf a proceed to the next layer
Frantisek Tobias [Mon, 21 Jul 2025 08:20:56 +0000 (10:20 +0200)]
daemon/quic_stream: use wire_buf as the main buffer type
Frantisek Tobias [Mon, 21 Jul 2025 08:19:30 +0000 (10:19 +0200)]
daemon/quic: adjust payload handling to work with wire_buf
Frantisek Tobias [Mon, 21 Jul 2025 08:17:25 +0000 (10:17 +0200)]
daemon/worker: use wire_buf for DoQ
Frantisek Tobias [Tue, 15 Jul 2025 07:33:13 +0000 (09:33 +0200)]
daemon/quic: handle received stream data WIP
Frantisek Tobias [Wed, 9 Jul 2025 08:01:36 +0000 (10:01 +0200)]
daemon/quic: move code from pl_quic_unwrap to a separate function, add overview
Frantisek Tobias [Mon, 7 Jul 2025 08:15:21 +0000 (10:15 +0200)]
daemon/quic: move stream functions to separate file, replace quic_ctx with struct kr_quic_conn everywhere
Frantisek Tobias [Thu, 3 Jul 2025 07:09:14 +0000 (09:09 +0200)]
daemon/quic: stop sending reset token in all frames, fix use after free of protolayer_iter_ctx
Frantisek Tobias [Mon, 9 Jun 2025 12:17:14 +0000 (14:17 +0200)]
daemon/quic: implement send stream functions
Frantisek Tobias [Tue, 3 Jun 2025 06:30:41 +0000 (08:30 +0200)]
daemon/quic: currently sending protected payload with no answer
cleanup and improve logging, prepare for opening streams
Frantisek Tobias [Tue, 3 Jun 2025 06:19:26 +0000 (08:19 +0200)]
daemon/session: pass protolayer_iter_ctx->comm->target to subsequent layers
Communication in DoQ requires an associated connection, target is used to pass destination CID to the wrap direction. This DCID can then be used to get the connection from conn->table.
Frantisek Tobias [Mon, 26 May 2025 10:39:26 +0000 (12:39 +0200)]
daemon/quic: enable QUIC protolayer
Frantisek Tobias [Mon, 26 May 2025 10:33:26 +0000 (12:33 +0200)]
daemon/doq: implement basic serverside comunication
handshake doesn't finish, pl_quic_wrap encounters use after free. steady progress
Frantisek Tobias [Mon, 26 May 2025 10:28:44 +0000 (12:28 +0200)]
Contrib: add ucw head and lists implementations
Frantisek Tobias [Tue, 8 Apr 2025 06:52:04 +0000 (08:52 +0200)]
DoQ: io: add doq flag, io_listen_udp can now create a session for plain udp or doq
Frantisek Tobias [Tue, 25 Mar 2025 11:44:14 +0000 (12:44 +0100)]
daemon/session: add QUIC protolayer type and config listen: interface: kind
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).