]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
4 months agodaemon/quic: quic connections as sessions refactor
Frantisek Tobias [Tue, 2 Sep 2025 10:01:58 +0000 (12:01 +0200)] 
daemon/quic: quic connections as sessions refactor

4 months agodaemon/quic: split quic conn management and quic conn into separate layers
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

4 months agodaemon/quic: Fix issues with cached replies, eliminate leaks that occured during...
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

4 months agodaemon/quic: handle errors that reqire response, store outdata
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

4 months agodaemon/quic: solve endianity issue, handle acks and closing streams
Frantisek Tobias [Mon, 11 Aug 2025 08:20:15 +0000 (10:20 +0200)] 
daemon/quic: solve endianity issue, handle acks and closing streams

4 months agodaemon/quic: fix buffering resolved unacked data
Frantisek Tobias [Thu, 31 Jul 2025 10:54:11 +0000 (12:54 +0200)] 
daemon/quic: fix buffering resolved unacked data

4 months agodaemon/quic: store dcid and stream_id of the latest query in comm->target
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

4 months agodaemon/quic_streams: add multistream support and handle output data buffering
Frantisek Tobias [Tue, 29 Jul 2025 07:29:43 +0000 (09:29 +0200)] 
daemon/quic_streams: add multistream support and handle output data buffering

4 months agodaemon/quic: support for multiple streams: collect finished queries into wire_buf...
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

4 months agodaemon/quic_stream: use wire_buf as the main buffer type
Frantisek Tobias [Mon, 21 Jul 2025 08:20:56 +0000 (10:20 +0200)] 
daemon/quic_stream: use wire_buf as the main buffer type

4 months agodaemon/quic: adjust payload handling to work with wire_buf
Frantisek Tobias [Mon, 21 Jul 2025 08:19:30 +0000 (10:19 +0200)] 
daemon/quic: adjust payload handling to work with wire_buf

4 months agodaemon/worker: use wire_buf for DoQ
Frantisek Tobias [Mon, 21 Jul 2025 08:17:25 +0000 (10:17 +0200)] 
daemon/worker: use wire_buf for DoQ

4 months agodaemon/quic: handle received stream data WIP
Frantisek Tobias [Tue, 15 Jul 2025 07:33:13 +0000 (09:33 +0200)] 
daemon/quic: handle received stream data WIP

4 months agodaemon/quic: move code from pl_quic_unwrap to a separate function, add overview
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

4 months agodaemon/quic: move stream functions to separate file, replace quic_ctx with struct...
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

4 months agodaemon/quic: stop sending reset token in all frames, fix use after free of protolayer...
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

4 months agodaemon/quic: implement send stream functions
Frantisek Tobias [Mon, 9 Jun 2025 12:17:14 +0000 (14:17 +0200)] 
daemon/quic: implement send stream functions

4 months agodaemon/quic: currently sending protected payload with no answer
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

4 months agodaemon/session: pass protolayer_iter_ctx->comm->target to subsequent layers
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.

4 months agodaemon/quic: enable QUIC protolayer
Frantisek Tobias [Mon, 26 May 2025 10:39:26 +0000 (12:39 +0200)] 
daemon/quic: enable QUIC protolayer

4 months agodaemon/doq: implement basic serverside comunication
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

4 months agoContrib: add ucw head and lists implementations
Frantisek Tobias [Mon, 26 May 2025 10:28:44 +0000 (12:28 +0200)] 
Contrib: add ucw head and lists implementations

4 months agoDoQ: io: add doq flag, io_listen_udp can now create a session for plain udp or doq
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

4 months agodaemon/session: add QUIC protolayer type and config listen: interface: kind
Frantisek Tobias [Tue, 25 Mar 2025 11:44:14 +0000 (12:44 +0100)] 
daemon/session: add QUIC protolayer type and config listen: interface: kind

5 months agoMerge !1775: defer: fix sampling multiple answers from same TCP connection docs-master-mgcjyq/deployments/8269 docs-master-mgcjyq/deployments/8272 docs-master-mgcjyq/deployments/8274 docs-master-mgcjyq/deployments/8276 docs-master-mgcjyq/deployments/8278 docs-nightly-t152d1/deployments/8273 docs-nightly-t152d1/deployments/8277 docs-release-6-1-tq5anv/deployments/8270
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

5 months agodefer: fix sampling multiple answers from same TCP connection docs-defer-sample-r9xfkc/deployments/8268
Lukáš Ondráček [Tue, 23 Dec 2025 14:05:14 +0000 (15:05 +0100)] 
defer: fix sampling multiple answers from same TCP connection

5 months agoMerge !1782: distro/pkg: replace retired Jakub's contact by our team alias docs-master-mgcjyq/deployments/8264 docs-master-mgcjyq/deployments/8265 docs-master-mgcjyq/deployments/8267 docs-nightly-t152d1/deployments/8266
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

5 months agodistro/pkg: replace retired Jakub's contact by our team alias docs-nits-jt0z7n/deployments/8263
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

5 months agoNEWS: fix a wrong reference to merge request
Vladimír Čunát [Sun, 4 Jan 2026 12:51:03 +0000 (13:51 +0100)] 
NEWS: fix a wrong reference to merge request

5 months agoMerge !1774: cache packet_ttl(): fix wrong TTL in some cases, typically 32768 docs-master-mgcjyq/deployments/8250 docs-master-mgcjyq/deployments/8256 docs-master-mgcjyq/deployments/8258 docs-master-mgcjyq/deployments/8259 docs-master-mgcjyq/deployments/8261 docs-nightly-t152d1/deployments/8257 docs-nightly-t152d1/deployments/8260
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

5 months agoadd NEWS for the parent commit docs-ttl-empty-ava4x5/deployments/8249
Vladimír Čunát [Sun, 21 Dec 2025 12:10:20 +0000 (13:10 +0100)] 
add NEWS for the parent commit

5 months agocache 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)] 
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).

5 months agotests/integration/deckard: add test for the TTL issue
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.

5 months agoMerge !1780: don't set AD if both Answer and Authority are empty. docs-master-mgcjyq/deployments/8236 docs-master-mgcjyq/deployments/8239 docs-master-mgcjyq/deployments/8241 docs-master-mgcjyq/deployments/8243 docs-master-mgcjyq/deployments/8245 docs-master-mgcjyq/deployments/8246 docs-master-mgcjyq/deployments/8248 docs-nightly-t152d1/deployments/8240 docs-nightly-t152d1/deployments/8244 docs-nightly-t152d1/deployments/8247
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

5 months agoresolver: don't set AD if both Answer and Authority are empty.
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)

5 months agoMerge !1779: doc/user /local-data/rpz: correct the status of support docs-master-mgcjyq/deployments/8231 docs-master-mgcjyq/deployments/8232 docs-master-mgcjyq/deployments/8234 docs-nightly-t152d1/deployments/8233
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

5 months agodoc/user /local-data/rpz: correct the status of support docs-doc-rpz-e2sfcu/deployments/8230
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

5 months agoMerge !1770: pyproject.toml and poe tasks improvements docs-master-mgcjyq/deployments/8199 docs-master-mgcjyq/deployments/8203 docs-master-mgcjyq/deployments/8205 docs-master-mgcjyq/deployments/8207 docs-master-mgcjyq/deployments/8209 docs-master-mgcjyq/deployments/8211 docs-master-mgcjyq/deployments/8213 docs-master-mgcjyq/deployments/8214 docs-master-mgcjyq/deployments/8216 docs-master-mgcjyq/deployments/8217 docs-master-mgcjyq/deployments/8219 docs-master-mgcjyq/deployments/8220 docs-master-mgcjyq/deployments/8222 docs-master-mgcjyq/deployments/8223 docs-master-mgcjyq/deployments/8225 docs-master-mgcjyq/deployments/8226 docs-master-mgcjyq/deployments/8228 docs-nightly-t152d1/deployments/8204 docs-nightly-t152d1/deployments/8208 docs-nightly-t152d1/deployments/8212 docs-nightly-t152d1/deployments/8215 docs-nightly-t152d1/deployments/8218 docs-nightly-t152d1/deployments/8221 docs-nightly-t152d1/deployments/8224 docs-nightly-t152d1/deployments/8227
Vladimír Čunát [Sun, 21 Dec 2025 07:36:50 +0000 (08:36 +0100)] 
Merge !1770: pyproject.toml and poe tasks improvements

5 months ago.gitlab-ci.yml: updated names and stages for python jobs docs-poe-tasks-im-3b6b50/deployments/8198
Aleš Mrázek [Thu, 11 Dec 2025 23:55:47 +0000 (00:55 +0100)] 
.gitlab-ci.yml: updated names and stages for python jobs

5 months agopyproject.toml: updated groups dependencies versions
Aleš Mrázek [Thu, 11 Dec 2025 23:35:51 +0000 (00:35 +0100)] 
pyproject.toml: updated groups dependencies versions

5 months agocontroller/supervisord/__init__.py: sort imports
Aleš Mrázek [Thu, 11 Dec 2025 23:15:43 +0000 (00:15 +0100)] 
controller/supervisord/__init__.py: sort imports

5 months ago.gitlab-ci.yml:: updated poe tasks names
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.

5 months agoscripts/po-tasks: better naming for scripts
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.

5 months agopyproject.toml: better naming for poe tasks
Aleš Mrázek [Fri, 5 Dec 2025 09:58:41 +0000 (10:58 +0100)] 
pyproject.toml: better naming for poe tasks

5 months agoMerge !1772: tests: migrate off cmocka's deprecated APIs docs-master-mgcjyq/deployments/8185 docs-master-mgcjyq/deployments/8187 docs-master-mgcjyq/deployments/8189 docs-master-mgcjyq/deployments/8192 docs-master-mgcjyq/deployments/8194 docs-master-mgcjyq/deployments/8195 docs-master-mgcjyq/deployments/8197 docs-nightly-t152d1/deployments/8188 docs-nightly-t152d1/deployments/8193 docs-nightly-t152d1/deployments/8196
Vladimír Čunát [Thu, 18 Dec 2025 14:38:22 +0000 (15:38 +0100)] 
Merge !1772: tests: migrate off cmocka's deprecated APIs

5 months agoNEWS: consolidate + add entry for cmocka docs-cmocka-019f0b/deployments/8172
Vladimír Čunát [Tue, 16 Dec 2025 14:33:29 +0000 (15:33 +0100)] 
NEWS: consolidate + add entry for cmocka

5 months agotests: migrate off cmocka's deprecated APIs docs-cmocka-019f0b/deployments/8171
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.

5 months agoMerge !1769: support libdnssec merged into libknot, as planned for knot >= 3.6 docs-master-mgcjyq/deployments/8169 docs-master-mgcjyq/deployments/8174 docs-master-mgcjyq/deployments/8176 docs-master-mgcjyq/deployments/8181 docs-master-mgcjyq/deployments/8183 docs-nightly-t152d1/deployments/8175 docs-nightly-t152d1/deployments/8182
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

5 months agotreewide: avoid DNSSEC_EOK docs-libdnssec-dyy1ob/deployments/8168
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()

5 months agolibdnssec -->> libknot
Vladimír Čunát [Wed, 22 Oct 2025 07:50:51 +0000 (09:50 +0200)] 
libdnssec -->> libknot

5 months agotreewide: centralize inclusion of libdnssec headers
Vladimír Čunát [Fri, 24 Oct 2025 15:18:07 +0000 (17:18 +0200)] 
treewide: centralize inclusion of libdnssec headers

5 months agoMerge !1768: manager: logging improvement docs-master-mgcjyq/deployments/8160 docs-master-mgcjyq/deployments/8164 docs-master-mgcjyq/deployments/8166 docs-nightly-t152d1/deployments/8165
Vladimír Čunát [Mon, 15 Dec 2025 12:05:30 +0000 (13:05 +0100)] 
Merge !1768: manager: logging improvement

5 months agoNEW: added improved logging groups docs-logging-impr-dwwxha/deployments/8159
Aleš Mrázek [Wed, 10 Dec 2025 17:54:45 +0000 (18:54 +0100)] 
NEW: added improved logging groups

5 months agodoc/user/config-logging-monitoring.rst: updated 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

5 months agomanager/logger.py: added debug groups for the manager
Aleš Mrázek [Fri, 29 Aug 2025 15:02:25 +0000 (17:02 +0200)] 
manager/logger.py: added debug groups for the manager

5 months agologging: debug logging level for individual components(processes)
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

5 months agomanager/logger.py: simplified setting of log level and logging handler
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

5 months agomanager/logger.py: added constants for logging targets
Aleš Mrázek [Tue, 26 Aug 2025 11:41:51 +0000 (13:41 +0200)] 
manager/logger.py: added constants for logging targets

5 months agoMerge !1766: cache test: adjust conditions on cache usage docs-master-mgcjyq/deployments/8135 docs-master-mgcjyq/deployments/8149 docs-master-mgcjyq/deployments/8152 docs-master-mgcjyq/deployments/8153 docs-master-mgcjyq/deployments/8155 docs-master-mgcjyq/deployments/8156 docs-master-mgcjyq/deployments/8158 docs-nightly-t152d1/deployments/8150 docs-nightly-t152d1/deployments/8154 docs-nightly-t152d1/deployments/8157
Vladimír Čunát [Fri, 12 Dec 2025 07:13:29 +0000 (08:13 +0100)] 
Merge !1766: cache test: adjust conditions on cache usage

5 months ago.gitignore: add defer+top docs-macos-cache-mtbzh2/deployments/8134
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.

5 months agocache test: adjust conditions on cache usage
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

5 months agoMerge !1764: update meson's minimal version and utilize that docs-master-mgcjyq/deployments/8115 docs-master-mgcjyq/deployments/8120 docs-master-mgcjyq/deployments/8122 docs-master-mgcjyq/deployments/8131 docs-master-mgcjyq/deployments/8133 docs-nightly-t152d1/deployments/8121 docs-nightly-t152d1/deployments/8132
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

5 months agomodules/experimental_dot_auth: fix copy&paste error in meson docs-meson-update-5pqqu0/deployments/8114
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'}

5 months agomeson: replace deprecated get_pkgconfig_variable()
Vladimír Čunát [Wed, 3 Dec 2025 13:21:17 +0000 (14:21 +0100)] 
meson: replace deprecated get_pkgconfig_variable()

5 months agomeson: utilize the version bump
Vladimír Čunát [Wed, 7 Dec 2022 11:19:41 +0000 (12:19 +0100)] 
meson: utilize the version bump

5 months agomeson: use summary()
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.

5 months agomeson minimal version: 0.49 -> 0.53
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.

5 months agoMerge branch 'python3.14-support' into 'master' docs-master-mgcjyq/deployments/8102 docs-master-mgcjyq/deployments/8103 docs-master-mgcjyq/deployments/8105 docs-master-mgcjyq/deployments/8111 docs-master-mgcjyq/deployments/8113 docs-nightly-t152d1/deployments/8104 docs-nightly-t152d1/deployments/8112
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

5 months agoci: switch lint:tidy from Arch to Debian 13 docs-python3-14-s-2r8lzj/deployments/8101
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.

5 months agoutils/modeling: support for annotations in python3.14
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.

5 months ago.python-version: added 3.14 and updated others
Aleš Mrázek [Thu, 4 Dec 2025 23:37:40 +0000 (00:37 +0100)] 
.python-version: added 3.14 and updated others

5 months ago.gitlab-ci.yml: python:unit: added python3.14
Aleš Mrázek [Thu, 4 Dec 2025 23:12:55 +0000 (00:12 +0100)] 
.gitlab-ci.yml: python:unit: added python3.14

5 months agoMerge !1760: Avoid binding multiple transport protocols to one addr+port docs-master-mgcjyq/deployments/8098
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

5 months agodaemon/network: Avoid binding multiple transport protocols to one addr and port combi...
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

6 months agoMerge !1765: manager: check that supervisord is manager's parent process docs-master-mgcjyq/deployments/8090 docs-master-mgcjyq/deployments/8092 docs-master-mgcjyq/deployments/8094 docs-master-mgcjyq/deployments/8095 docs-master-mgcjyq/deployments/8097 docs-nightly-t152d1/deployments/8093 docs-nightly-t152d1/deployments/8096
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

6 months agomanager: check that supervisord is manager's parent process docs-supervisord-amfeuz/deployments/8078
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.

6 months agoMerge !1763: /fallback: apply during reload (force kresd restarts) docs-master-mgcjyq/deployments/8077 docs-master-mgcjyq/deployments/8087 docs-master-mgcjyq/deployments/8089 docs-nightly-t152d1/deployments/8088
Vladimír Čunát [Fri, 5 Dec 2025 09:41:43 +0000 (10:41 +0100)] 
Merge !1763: /fallback: apply during reload (force kresd restarts)

6 months ago/fallback: apply during reload (force kresd restarts) docs-fallback-rel-bv43rv/deployments/8065
Vladimír Čunát [Wed, 3 Dec 2025 11:15:38 +0000 (12:15 +0100)] 
/fallback: apply during reload (force kresd restarts)

6 months agoMerge branch 'release-6.0.17' into 'master' docs-master-mgcjyq/deployments/8060 docs-master-mgcjyq/deployments/8062 docs-master-mgcjyq/deployments/8064 docs-master-mgcjyq/deployments/8068 docs-master-mgcjyq/deployments/8070 docs-master-mgcjyq/deployments/8074 docs-master-mgcjyq/deployments/8076 docs-nightly-t152d1/deployments/8063 docs-nightly-t152d1/deployments/8069 docs-nightly-t152d1/deployments/8075 docs-v6-0-17-4m7vsl/deployments/8061 v6.0.17
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

6 months agoNEWS: tweak the cache-kru bullet docs-release-6-0-apsqyv/deployments/8059
Vladimír Čunát [Tue, 2 Dec 2025 13:20:32 +0000 (14:20 +0100)] 
NEWS: tweak the cache-kru bullet

6 months agoNEWS: fix markdown list formatting docs-release-6-0-apsqyv/deployments/8058
Frantisek Tobias [Tue, 2 Dec 2025 11:58:42 +0000 (12:58 +0100)] 
NEWS: fix markdown list formatting

6 months agorelease 6.0.17 docs-release-6-0-apsqyv/deployments/8057
Aleš Mrázek [Mon, 1 Dec 2025 12:43:36 +0000 (13:43 +0100)] 
release 6.0.17

6 months agoci: add pkg:ubuntu-25.10
Vladimír Čunát [Tue, 2 Dec 2025 10:14:06 +0000 (11:14 +0100)] 
ci: add pkg:ubuntu-25.10

6 months agoMerge !1761: lib/rules: allow forcing NODATA answer for a particular name+type docs-master-mgcjyq/deployments/8048 docs-master-mgcjyq/deployments/8051 docs-master-mgcjyq/deployments/8053 docs-nightly-t152d1/deployments/8052
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

6 months agolib/rules: allow forcing NODATA answer for a particular name+type docs-rules-nodata-mia4kz/deployments/8047
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.

6 months agoMerge !1726: Use KRU in cache GC docs-master-mgcjyq/deployments/8046
Vladimír Čunát [Mon, 1 Dec 2025 20:07:47 +0000 (21:07 +0100)] 
Merge !1726: Use KRU in cache GC

6 months agolib/cache: NULL cache->db on failure to open docs-cache-kru-8qejro/deployments/8045
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.

6 months agodoc /logging/groups: document the three missing groups docs-cache-kru-8qejro/deployments/8043
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).

6 months agoNEWS: add entry for this "cache-kru" branch
Vladimír Čunát [Mon, 1 Dec 2025 10:37:52 +0000 (11:37 +0100)] 
NEWS: add entry for this "cache-kru" branch

6 months agolib/kru + elsewhere nit: avoid message-less static_assert()
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]

6 months agolib/cache/top performance nits
Vladimír Čunát [Wed, 13 Aug 2025 10:44:11 +0000 (12:44 +0200)] 
lib/cache/top performance nits

6 months agolib/cache/top: fix a minor `const` nit
Vladimír Čunát [Tue, 25 Nov 2025 13:55:47 +0000 (14:55 +0100)] 
lib/cache/top: fix a minor `const` nit

6 months agolib/cache nit: explicitly free kr_cache_emergency_file_to_remove
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.

6 months agolib/cache kr_cache_open() nit: the `opts` parameter may not be NULL
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).

6 months agolib/cache/top: fix counting the whole record size instead of just eh
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

6 months agolib/kru: fix collision when user plays with -march option
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

6 months agotreewide refactor: avoid kr_cache_top_context_switch()
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_*

6 months agolib/kru: deduplicate kru_limited_prefetch_hash()
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.

6 months agolib/kru nit: shrink the USE_AES version of `struct kru` by 64 bytes
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.

6 months agolib/mmapped.c: refactor static fail() a bit
Vladimír Čunát [Wed, 6 Aug 2025 10:53:50 +0000 (12:53 +0200)] 
lib/mmapped.c: refactor static fail() a bit