]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Aleš Mrázek [Fri, 7 Aug 2026 07:43:44 +0000 (09:43 +0200)]
NEWS: entry about minimal python version
Aleš Mrázek [Thu, 6 Aug 2026 21:02:04 +0000 (23:02 +0200)]
.gitlab-ci.yml: python:check-code: allow failure
For now, it's not worth changing working code just to satisfy the linter.
The updated rules will apply to new code and help guide future refactoring.
Aleš Mrázek [Tue, 4 Aug 2026 14:07:01 +0000 (16:07 +0200)]
pyproject.toml: ruff: simplify config for python 3.9+
Aleš Mrázek [Tue, 4 Aug 2026 13:33:57 +0000 (15:33 +0200)]
pyproject.toml: mypy: simplify with strict configuration
Aleš Mrázek [Wed, 5 Aug 2026 22:56:03 +0000 (00:56 +0200)]
doc/dev: update about minimal python version
Aleš Mrázek [Wed, 5 Aug 2026 22:54:41 +0000 (00:54 +0200)]
.gitlab-ci.yml: python: remove python3.8
Aleš Mrázek [Wed, 5 Aug 2026 22:53:32 +0000 (00:53 +0200)]
pyproject.toml: bump python3.9
setup.py update
Aleš Mrázek [Thu, 30 Jul 2026 09:05:53 +0000 (11:05 +0200)]
.python-version: update
Vladimír Čunát [Thu, 6 Aug 2026 09:37:42 +0000 (11:37 +0200)]
Merge !1885: lib/rules: increase the ruledb mapsize
Vladimír Čunát [Fri, 19 Jun 2026 12:48:46 +0000 (14:48 +0200)]
lib/rules: increase the ruledb mapsize
When this LMDB gets full as a result of very many rules, it prints:
[rules ] LMDB error: MDB_MAP_FULL: Environment mapsize limit reached
(cherry picked from commit
58fa3ad916a7ae5c89e2d9f1e3fc610bab408bcd )
Vladimír Čunát [Mon, 22 Jun 2026 13:16:45 +0000 (15:16 +0200)]
lib/rules: fix error logging with absolute path to ruledb
Otherwise it was logging about /some/workdir//var/lib/knot-resolver/
(cherry picked from commit
823aa7f7376c016faa9d9095e8a98954e15a32ca )
Aleš Mrázek [Thu, 6 Aug 2026 09:00:33 +0000 (11:00 +0200)]
Merge branch 'tests-python-move' into 'master'
tests: move python package tests into proper directory
See merge request knot/knot-resolver!1884
Aleš Mrázek [Wed, 5 Aug 2026 22:33:49 +0000 (00:33 +0200)]
tests/python: remove __init__.py
Moved global validation context to individual modules.
Aleš Mrázek [Wed, 5 Aug 2026 21:31:41 +0000 (23:31 +0200)]
scripts/poe-tasks: adjust python package test location
Aleš Mrázek [Wed, 5 Aug 2026 21:21:52 +0000 (23:21 +0200)]
tests: move python package tests into proper directory
Aleš Mrázek [Tue, 4 Aug 2026 21:37:47 +0000 (23:37 +0200)]
remove .vscode settings
It was probably added by mistake.
Aleš Mrázek [Wed, 5 Aug 2026 13:41:01 +0000 (15:41 +0200)]
Merge branch 'pkg-arch-improvements' into 'master'
pkg: arch: update and cleanup
See merge request knot/knot-resolver!1858
Aleš Mrázek [Tue, 30 Jun 2026 13:02:19 +0000 (15:02 +0200)]
pkg: arch: updates and cleanup
Aleš Mrázek [Wed, 5 Aug 2026 13:00:47 +0000 (15:00 +0200)]
Merge branch 'unused-tags' into 'master'
datamodel: fix "unused tags" error when repeating a tag in views
See merge request knot/knot-resolver!1883
Vladimír Čunát [Wed, 5 Aug 2026 12:10:54 +0000 (14:10 +0200)]
datamodel: fix "unused tags" error when repeating a tag in views
The missing stringification caused repeated tags to get repeated
in the result of _get_views_tags() and therefore
the extra occurrences remained in the `unused_tags` list.
Aleš Mrázek [Wed, 5 Aug 2026 09:40:54 +0000 (11:40 +0200)]
Merge branch 'release-6.4.2' into 'master'
Release 6.4.2
See merge request knot/knot-resolver!1882
Aleš Mrázek [Wed, 5 Aug 2026 08:34:06 +0000 (10:34 +0200)]
release 6.4.2
Vladimír Čunát [Wed, 5 Aug 2026 08:18:07 +0000 (10:18 +0200)]
Merge !1880: deal with LMDB 1.0.0 switching format
Vladimír Čunát [Wed, 5 Aug 2026 07:41:24 +0000 (09:41 +0200)]
NEWS item for LMDB 1.0.0
Vladimír Čunát [Tue, 7 Jul 2026 13:00:52 +0000 (15:00 +0200)]
lib/cache/cdb_lmdb: deal with LMDB 1.0.0 switching format
For v5 it was easier:
7362e1c3
Vladimír Čunát [Wed, 5 Aug 2026 07:13:36 +0000 (09:13 +0200)]
Merge !1876: lib/rules: log more info for a MDB_BAD_VALSIZE case
Vladimír Čunát [Thu, 30 Jul 2026 12:24:21 +0000 (14:24 +0200)]
lib/rules: log more info for a MDB_BAD_VALSIZE case
Issue 956: it's not difficult to run into this limit, e.g. by using
blocking style with hosts-like files pointing names to 127.0.0.1.
Now it additionally explains a little, e.g.:
[rules ] records too big (512 B) for 1.0.0.127.in-addr.arpa. PTR
Vladimír Čunát [Wed, 5 Aug 2026 06:58:32 +0000 (08:58 +0200)]
Merge !1877: support insecure DoH (alpha)
Vladimír Čunát [Mon, 3 Aug 2026 11:10:39 +0000 (13:10 +0200)]
add NEWS + docs around doh2-insecure
Vladimír Čunát [Wed, 15 Jul 2026 10:19:09 +0000 (12:19 +0200)]
nit: count doh2-insecure when deciding if auto-listen on localhost
Vladimír Čunát [Wed, 15 Jul 2026 10:19:09 +0000 (12:19 +0200)]
lib/proto: bump the size of kr_proto_set
Uh, just now we step over the size.
There's only 8 valid options still
(or less, depending on use case)
so we could fit into a single byte,
but having two bytes here seems cheap and easy now.
Vladimír Čunát [Wed, 15 Jul 2026 09:00:32 +0000 (11:00 +0200)]
Merge master into naked-http
Vladimír Čunát [Mon, 3 Aug 2026 12:53:43 +0000 (14:53 +0200)]
Merge !1878: serve_stale: avoid SIGSEGV from a LuaJIT bug
Fixes #957
Vladimír Čunát [Mon, 3 Aug 2026 11:57:51 +0000 (13:57 +0200)]
serve_stale: avoid SIGSEGV from a LuaJIT bug
The debugging and fix was really submitted by
David Komárek from Whalebone.io
Vladimír Čunát [Wed, 29 Jul 2026 13:11:44 +0000 (15:11 +0200)]
Merge !1873: avoid secure.nic.cz URLs
Vladimír Čunát [Wed, 29 Jul 2026 10:41:06 +0000 (12:41 +0200)]
avoid secure.nic.cz URLs
They've been HTTP 301 for quite a long time now.
These legacy aliases still work, but let's not rely on that anymore.
Vladimír Čunát [Mon, 27 Jul 2026 12:08:34 +0000 (14:08 +0200)]
Merge !1869: lib/cache: fix excessive logging regression
Vladimír Čunát [Fri, 24 Jul 2026 12:12:04 +0000 (14:12 +0200)]
lib/cache: fix excessive logging regression
Regressed in
29b55ceb426efaa and annoyingly logging e.g.:
> [cache ] [35589.02] stash failed, ret = 1
Example QNAME to trigger this: foo.bar.cloudflare.net
Vladimír Čunát [Mon, 27 Jul 2026 12:01:56 +0000 (14:01 +0200)]
Merge !1870: fix nits discovered by scan.coverity.com
Frantisek Tobias [Mon, 27 Jul 2026 11:43:44 +0000 (13:43 +0200)]
daemon/quic: assert quic_params are initiated prior to creating a new quic connection table
Frantisek Tobias [Mon, 27 Jul 2026 11:42:37 +0000 (13:42 +0200)]
daemon/session2: improve readability of the terminal loop in session2_new
Frantisek Tobias [Mon, 27 Jul 2026 11:38:11 +0000 (13:38 +0200)]
daemon/io: close dup_fd only if dup() succeeded
covers the path where fdopen failed while stdout was NULL
Frantisek Tobias [Mon, 27 Jul 2026 11:33:42 +0000 (13:33 +0200)]
daemon/quic: initialize *cid variables
Vladimír Čunát [Fri, 24 Jul 2026 09:07:22 +0000 (11:07 +0200)]
daemon/quic nit: explicitly assert !AF_UNIX
scan.coverity.com noticed this with ID 643169
Vladimír Čunát [Fri, 24 Jul 2026 08:48:20 +0000 (10:48 +0200)]
daemon/quic nit: restrict length of cid
The ngtcp2_cid_init() docs say that we must not pass more.
Fortunately, these cases were unreachable from current code.
scan.coverity.com noticed this with ID 651670
Vladimír Čunát [Thu, 23 Jul 2026 10:28:57 +0000 (12:28 +0200)]
Merge !1863: ci: pkg: update list of supported Ubuntu versions
Aleš Mrázek [Tue, 21 Jul 2026 09:21:45 +0000 (11:21 +0200)]
.gitlab-ci.yml: pkg: remove Ubuntu 20.04
Aleš Mrázek [Tue, 21 Jul 2026 08:26:23 +0000 (10:26 +0200)]
.gitlab-ci.yml: pkg: remove Ubuntu 25.10 (EOL)
Aleš Mrázek [Tue, 21 Jul 2026 08:25:49 +0000 (10:25 +0200)]
.gitlab-ci.yml: pkg: add Ubuntu 26.10
Aleš Mrázek [Wed, 22 Jul 2026 09:34:49 +0000 (11:34 +0200)]
Merge branch 'release-6.4.1' into 'master'
Release 6.4.1
See merge request knot/knot-resolver!1865
Aleš Mrázek [Wed, 22 Jul 2026 08:16:14 +0000 (10:16 +0200)]
release 6.4.1
Vladimír Čunát [Thu, 9 Jul 2026 09:45:37 +0000 (11:45 +0200)]
lib/rules: correctly match DoQ protocol
Reported by r00tth3w0r1d@gmail.com as KRES-DOQ-04
The confusion stems from (my) original plans
to represent DoQ here as (fl.tls && !fl.tcp && !fl.http)
but ftobias ended up adding fl.quic.
Vladimír Čunát [Wed, 22 Jul 2026 05:52:13 +0000 (07:52 +0200)]
add NEWS items for these security issues
Vladimír Čunát [Wed, 8 Jul 2026 13:25:10 +0000 (15:25 +0200)]
restrict RRSIGs claiming wildcard reach out of the zone [QZKF-005]
This issue was reported by Qifan Zhang from Palo Alto Networks.
Nit: this assignments of `ret` aren't important,
but they might be a bit useful when debugging.
Vladimír Čunát [Tue, 5 May 2026 08:24:41 +0000 (10:24 +0200)]
lib/dnssec.c: guard NSEC's next name against zone bailiwick [QZKF-001]
This issue was reported by Qifan Zhang from Palo Alto Networks.
Frantisek Tobias [Tue, 23 Jun 2026 13:05:26 +0000 (15:05 +0200)]
daemon/quic: various smaller changes, improvements and fixes aggregated into a single commit
list of changes:
- lower default concurrent stream limit 1024 to 16
- rename quic_idle_timeout to quic_handle_timeout
- use PTO for closing/draining state timeouts
- move kr_quic_table_rem2 to quic_common.c
- set_tls_error for tls alerts (in conn close messages with error type
TRANSPORT)
- add some function documentation to quic_*.h
- improve/fix error messages in conn close packets
- fix and simplify tls alert transport when conn close is sent
- fix cid handling
- call uv_close on the timers in sub-sessions
- add QUIC_SEND_NONE for read errors which forbid/do not need a reply
- quic_bye for closing conns which are in states <= CLOSING (i.e. conn
that can still send)
- unite handshake timer with ngtcp2 driver timer loop
- add a custom state for failed handshake - QUIC_STATE_HS_ABORT
- handle cid removal from the table for conns which fail before their
ngtcp2_conn is created
- kr_quic_table_sweep is no longer used, termination handled complately
by timers
- failed attempt to create ngtcp2_conn now causes the conn session to be
destroyed immediately
Frantisek Tobias [Wed, 3 Jun 2026 13:23:19 +0000 (15:23 +0200)]
daemon/quic: move ngtcp2_conn_extend_max_streams_bidi to session data deinit
This prevents superfluous resource consumption since the concurent stream limits are raised once the stream is actually terminated and all it's memory is freed.
Frantisek Tobias [Wed, 3 Jun 2026 13:17:23 +0000 (15:17 +0200)]
daemon/session2: pass events to parent sessions and create convenience function for parent session retrieval
for transport.type = SESSION2_TRANSPORT_PARENT sessions pass events along to parent sessions. This is useful for DoQ (which is the only protolayer group using sub-sessions) as it allows us to cleanup references to sub-sessions that are about to be closed
Frantisek Tobias [Wed, 3 Jun 2026 13:11:29 +0000 (15:11 +0200)]
daemon/quic: rewrite timer system, let terminal tasks traverse the entire DoQ group to assure gracefull termination
the timer system was incorrectly oblivious to some ngtcp2 states, this revrite amends missing functionality improving performance stability and correctness. Terminal events now reach all layers, this most importantly solves issues with dangling qr_tasks.
Frantisek Tobias [Wed, 6 May 2026 12:46:56 +0000 (14:46 +0200)]
daemon/quic: remove assert and handle partial query data with FIN safely
receiving only part of the data that is promised by the size prefix before receiving stream FIN is an DoQ application error, handle it as such and terminate the connection
Frantisek Tobias [Wed, 6 May 2026 05:53:57 +0000 (07:53 +0200)]
daemon/doq: improve recv function
receiving split size prefix was not handled correctly
Vladimír Čunát [Wed, 15 Jul 2026 14:26:07 +0000 (16:26 +0200)]
Merge !1854: /local-data/addresses*: make multiple addresses work
Fixes #808 and #954
Vladimír Čunát [Wed, 24 Jun 2026 08:10:37 +0000 (10:10 +0200)]
lib/rules: fix kr_rule_local_data_merge()
This fixes using multiple RRs in an RRset in some interfaces, e.g.
/local-data/addresses* but not /local-data/{records,rpz}
Vladimír Čunát [Wed, 24 Jun 2026 08:10:37 +0000 (10:10 +0200)]
lib/cache/cdb: add it_del()
Vladimír Čunát [Wed, 24 Jun 2026 08:10:37 +0000 (10:10 +0200)]
lib/cache/cdb: support iterating inside an RW transaction
Vladimír Čunát [Thu, 23 Apr 2026 08:50:28 +0000 (10:50 +0200)]
lib/cache/cdb: add txn_open_rw()
This was extracted from jezek-test commit:
lib/rules: make kr_rule_local_subtree() safer wrt. transactions
While we don't use this so far, picking will reduce conflicts
e.g. when moving changes between the branches.
Vladimír Čunát [Wed, 15 Jul 2026 13:50:37 +0000 (15:50 +0200)]
Merge !1847: update IANA's certificate for root trust anchor bootstrapping
Vladimír Čunát [Thu, 4 Jun 2026 12:21:43 +0000 (14:21 +0200)]
update IANA's certificate for root trust anchor bootstrapping
The file now contains both old and new certificate, as downloaded from:
https://data.iana.org/root-anchors/icannbundle.pem
The switch of signatures themselves is planned for 2028.
Vladimír Čunát [Thu, 9 Jul 2026 12:31:03 +0000 (14:31 +0200)]
Merge !1861: tests/packaging/dependencies.py: replace deprecated pkg_resources
Closes #955 and #942
Aleš Mrázek [Thu, 9 Jul 2026 12:04:26 +0000 (14:04 +0200)]
.gitlab-ci.yml: python: use virtualenv <20.30 when running python 3.8
Use a virtualenv release that still supports seeding Python 3.8 environments.
Aleš Mrázek [Thu, 9 Jul 2026 11:16:40 +0000 (13:16 +0200)]
tests/packaging/dependencies.py: replace pkg_resources
Replace deprecated pkg_resources with importlib.metadata and packaging.
Aleš Mrázek [Tue, 7 Jul 2026 11:54:58 +0000 (13:54 +0200)]
Merge branch 'ci-dockerhub-fix' into 'master'
ci: docker:dockerhub: avoid SIGPIPE when determining latest tag
See merge request knot/knot-resolver!1859
Aleš Mrázek [Tue, 7 Jul 2026 10:59:17 +0000 (12:59 +0200)]
.gitlab-ci.yml: docker:dockerhub: avoid SIGPIPE
Replaced the piped 'git tag | head' command with 'git for-each-ref'
to avoid intermittent exit code 141 failures in CI.
Aleš Mrázek [Fri, 26 Jun 2026 14:23:01 +0000 (16:23 +0200)]
Merge branch 'docker-debian-13' into 'master'
docker: upgrade to Debian 13
See merge request knot/knot-resolver!1856
Aleš Mrázek [Thu, 28 May 2026 13:38:27 +0000 (15:38 +0200)]
Dockerfile: upgrade to Debian 13
Remove unused ENV vars.
Vladimír Čunát [Thu, 25 Jun 2026 11:12:28 +0000 (13:12 +0200)]
Merge !1855: tests/integration/deckard: unblock val_nsec3_optout_unsec_cache.rpl
Vladimír Čunát [Thu, 25 Jun 2026 10:52:12 +0000 (12:52 +0200)]
tests/integration/deckard: unblock val_nsec3_optout_unsec_cache.rpl
Aleš Mrázek [Wed, 17 Jun 2026 09:14:00 +0000 (11:14 +0200)]
Merge branch 'release-6.4.0' into 'master'
Release 6.4.0
See merge request knot/knot-resolver!1852
Aleš Mrázek [Wed, 17 Jun 2026 08:59:05 +0000 (10:59 +0200)]
AUTHORS: update
Aleš Mrázek [Wed, 17 Jun 2026 07:47:18 +0000 (09:47 +0200)]
release 6.4.0
Vladimír Čunát [Wed, 10 Jun 2026 10:06:39 +0000 (12:06 +0200)]
Merge !1851: ci: pkg: add openSUSE Leap 16
Aleš Mrázek [Tue, 9 Jun 2026 09:29:45 +0000 (11:29 +0200)]
.gitlab-ci.yml: pkg: add openSUSE Leap 16
Unfortunately, supervisor is currently not available in the official Leap 16 repositories.
Vladimír Čunát [Mon, 8 Jun 2026 08:50:15 +0000 (10:50 +0200)]
Merge !1849: ci: pkg: add Fedora Rawhide
Aleš Mrázek [Fri, 5 Jun 2026 15:15:00 +0000 (17:15 +0200)]
.gitlab-ci.yml: pkg: add Fedora Rawhide
Vladimír Čunát [Mon, 8 Jun 2026 08:49:38 +0000 (10:49 +0200)]
Merge !1850: ci: lint:coverity: allow failure
Aleš Mrázek [Mon, 8 Jun 2026 08:28:26 +0000 (10:28 +0200)]
.gitlab-ci.yml: lint:coverity: allow failure
The Coverity scan is currently down.
Vladimír Čunát [Sun, 7 Jun 2026 11:07:29 +0000 (13:07 +0200)]
Merge !1848: ci: pkg: add openSUSE Tumbleweed
Aleš Mrázek [Thu, 4 Jun 2026 22:35:06 +0000 (00:35 +0200)]
pkg: rpm: requires python3-jinja2
Aleš Mrázek [Thu, 4 Jun 2026 09:11:04 +0000 (11:11 +0200)]
.gitlab-ci: pkg: add openSUSE Tumbleweed
Leap 15.6 has not been added yet, as it requires further modifications to the RPM .spec file.
Vladimír Čunát [Wed, 3 Jun 2026 14:38:44 +0000 (16:38 +0200)]
Merge !1840: fix DNS64 with CNAMEs
Fixes #797
Vladimír Čunát [Mon, 25 May 2026 09:29:46 +0000 (11:29 +0200)]
iterate: fix DNS64 on CNAMEs
It's a bit embarassing that the issue has lasted this long.
Overall the DNS64 module is slightly hacky/prototype-ish.
Vladimír Čunát [Mon, 25 May 2026 09:55:36 +0000 (11:55 +0200)]
dns64 tests: also test CNAMEs
Unfortunately, the test still isn't able to catch the issue
which we have there now, so this addition might be pointless.
The problem is that the code answers correctly when satisfied locally
(from local-data or cache).
Aleš Mrázek [Wed, 3 Jun 2026 08:03:51 +0000 (10:03 +0200)]
Merge branch 'scripts-makefile-docker' into 'master'
scripts/Makefile.docker: changed LABEL to knot-resolver
See merge request knot/knot-resolver!1846
Aleš Mrázek [Wed, 3 Jun 2026 08:00:38 +0000 (10:00 +0200)]
scripts/Makefile.docker: changed LABEL to knot-resolver
Vladimír Čunát [Tue, 2 Jun 2026 08:42:24 +0000 (10:42 +0200)]
Merge !1843: ci: dockerhub automatic deploy from scheduled pipeline
Aleš Mrázek [Mon, 1 Jun 2026 15:21:44 +0000 (17:21 +0200)]
scripts/Makefile.docker: synced with KnotDNS makefile
Aleš Mrázek [Mon, 1 Jun 2026 14:19:38 +0000 (16:19 +0200)]
.gitlab-ci.yml: docker:dockerhub: only auto-deploy on latest tag
Aleš Mrázek [Mon, 1 Jun 2026 12:52:11 +0000 (14:52 +0200)]
.gitlab-ci.yml: docker:dockerhub: allow automatic deploy from schedule
Aleš Mrázek [Mon, 1 Jun 2026 12:50:45 +0000 (14:50 +0200)]
.gitlab-ci.yml: docker:dockerhub: added tag with date-stamp
Aleš Mrázek [Mon, 1 Jun 2026 12:23:11 +0000 (14:23 +0200)]
.gitlab-ci.yml: docker:build:cross-platform: unique builder for every build