]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Aleš Mrázek [Mon, 27 Apr 2026 12:00:42 +0000 (14:00 +0200)]
Merge branch 'release-6.3.0' into 'master'
Release 6.3.0
See merge request knot/knot-resolver!1829
Aleš Mrázek [Mon, 27 Apr 2026 11:25:04 +0000 (13:25 +0200)]
release 6.3.0
Vladimír Čunát [Mon, 27 Apr 2026 11:14:55 +0000 (13:14 +0200)]
Merge !1828: lib/rules: warn about non-CNAME wildcards in RPZ
Vladimír Čunát [Tue, 26 Aug 2025 08:49:12 +0000 (10:49 +0200)]
lib/rules: warn about non-CNAME wildcards in RPZ
Vladimír Čunát [Mon, 27 Apr 2026 10:13:03 +0000 (12:13 +0200)]
Merge !1827: Fix price overflow caused by high price_factor in ratelimiting, defer
Lukáš Ondráček [Thu, 23 Apr 2026 14:02:53 +0000 (16:02 +0200)]
daemon/defer: rewrite BASE_PRICE macro to function
Lukáš Ondráček [Thu, 23 Apr 2026 11:31:35 +0000 (13:31 +0200)]
doc/user: Fix typo in rate-limiting
Lukáš Ondráček [Thu, 23 Apr 2026 11:10:55 +0000 (13:10 +0200)]
Fix price overflow in ratelimiting, defer
Vladimír Čunát [Wed, 22 Apr 2026 08:29:35 +0000 (10:29 +0200)]
Merge !1818: ruledb: drop the MDB_WRITEMAP flag
Vladimír Čunát [Thu, 12 Mar 2026 10:34:01 +0000 (11:34 +0100)]
ruledb: drop the MDB_WRITEMAP flag
I like the property of mapping this memory as read-only.
All writes should have been deferred to the policy-loader,
at least in normal operation.
Vladimír Čunát [Wed, 22 Apr 2026 08:15:45 +0000 (10:15 +0200)]
Merge !1816: fix luajit includedir when cross-compiling
Nicolas PARLANT [Thu, 5 Mar 2026 15:07:52 +0000 (16:07 +0100)]
Fix luajit includedir when cross-compiling
The use of --variable=includedir for luajit doesn't include the
root-directory when cross-compiling.
Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
Vladimír Čunát [Wed, 22 Apr 2026 07:55:40 +0000 (09:55 +0200)]
Merge !1817: lib/rules: fix KR_RULE_SUB_REDIRECT
Vladimír Čunát [Tue, 17 Feb 2026 09:38:57 +0000 (10:38 +0100)]
lib/rules: fix KR_RULE_SUB_REDIRECT
It's not commonly used, but it caused SERVFAIL.
Example name: foo.localhost.
Broken since v6.0.13, merge
0f0404f26 in particular.
Vladimír Čunát [Tue, 21 Apr 2026 12:50:39 +0000 (14:50 +0200)]
Merge !1819: lib/cache: trim TTL of failing stashed packets
Vladimír Čunát [Mon, 16 Mar 2026 10:00:22 +0000 (11:00 +0100)]
lib/cache: trim TTL of failing stashed packets
In particular, in STUB mode
(i.e. forwarding with dnssec:false + authoritative:false)
if a SERVFAIL packet from upstream contained also records,
this packet could be cached with long TTL.
This issue was reported by Qifan Zhang from Palo Alto Networks.
Additionally, let's apply our TTL limits for caching also
to the `cache-control: max-age=` HTTP header sent in DoH replies.
Vladimír Čunát [Tue, 21 Apr 2026 09:45:36 +0000 (11:45 +0200)]
Merge !1826: daemon/quic: fix a minor undefined behavior
Vladimír Čunát [Tue, 21 Apr 2026 08:32:15 +0000 (10:32 +0200)]
daemon/quic: fix a minor undefined behavior
Perhaps a bit surprisingly, using a pointer after free()
results in undefined behavior, even if it is not dereferenced.
https://stackoverflow.com/a/
69486412
Personally I wouldn't expect a practical problem here,
but fixing this non-compliance is trivial.
Vladimír Čunát [Tue, 21 Apr 2026 09:39:28 +0000 (11:39 +0200)]
Merge !1824: controller: supervisord: disabled autorestart for policy-loader
Fixes #950
Aleš Mrázek [Tue, 14 Apr 2026 11:23:54 +0000 (13:23 +0200)]
controller/supervisord: disable autorestart for policy loader
Aleš Mrázek [Tue, 14 Apr 2026 11:23:06 +0000 (13:23 +0200)]
controller: added UNEXPECTED status to SubprocessStatus
Subprocess ends in an unexpected state when subprocess exit code is not 0.
Vladimír Čunát [Tue, 21 Apr 2026 09:06:06 +0000 (11:06 +0200)]
Merge !1823: lib/rules/zonefile: print line number in case of error
Vladimír Čunát [Tue, 12 Aug 2025 15:25:41 +0000 (17:25 +0200)]
lib/rules/zonefile: print line number in case of error
This is especially useful when debugging large RPZ files.
Vladimír Čunát [Thu, 26 Mar 2026 12:53:57 +0000 (13:53 +0100)]
Merge !1814: distro/pkg/deb: apply most differences from downstream Debian
Vladimír Čunát [Wed, 4 Mar 2026 09:27:19 +0000 (10:27 +0100)]
distro/pkg/deb: apply most differences from downstream Debian
I looked through the differences and sometimes checked
relevant docs or commits which introduced the differences.
Keeping on debhelper-compat 12, so that we don't have to
drop Ubuntu 20.04 which only ended the standard support phase
less than one year ago (and gets security support for 5-10 more).
Vladimír Čunát [Thu, 26 Mar 2026 12:23:58 +0000 (13:23 +0100)]
Merge !1822: ci: pkg: updates for Ubuntu 26.04
Vladimír Čunát [Thu, 26 Mar 2026 11:56:44 +0000 (12:56 +0100)]
daemon/http.c nit: fix const-warnings with C23
Interestingly, with C23, functions like strstr()
return a const-qualified pointer iff one was passed to them.
Right now we ran into this in Arch CI (unreleased gcc 15 version):
https://gitlab.nic.cz/knot/knot-resolver/-/jobs/
1713767
Aleš Mrázek [Thu, 26 Mar 2026 00:21:01 +0000 (01:21 +0100)]
tests/integration/deckard: updated with fix for pydnstest symlink
Aleš Mrázek [Wed, 25 Mar 2026 13:00:59 +0000 (14:00 +0100)]
.gitlab-ci.yml: updated IMAGE_TAG
Aleš Mrázek [Wed, 25 Mar 2026 12:56:55 +0000 (13:56 +0100)]
.gitlab-ci.yml: use Python 3.14 as default
Aleš Mrázek [Wed, 25 Mar 2026 12:35:59 +0000 (13:35 +0100)]
.python-version: update versions
Aleš Mrázek [Wed, 25 Mar 2026 12:35:01 +0000 (13:35 +0100)]
.gitlab-ci.yml: pkg:make-archive: use Ubuntu 26.04
Vladimír Čunát [Sat, 21 Mar 2026 08:22:40 +0000 (09:22 +0100)]
Merge !1821: nit cleanups, mostly dropping knot_mm_t uses
Vladimír Čunát [Fri, 20 Mar 2026 11:00:09 +0000 (12:00 +0100)]
cache nit: drop unused knot_mm_t* parameter
Vladimír Čunát [Fri, 20 Mar 2026 11:54:59 +0000 (12:54 +0100)]
daemon nit: drop useless struct engine::pool
Memory pools are not suitable for this use case.
Vladimír Čunát [Fri, 20 Mar 2026 11:06:07 +0000 (12:06 +0100)]
lib/resolve nit: drop unused struct kr_context::pool
Vladimír Čunát [Mon, 9 Mar 2026 13:18:24 +0000 (14:18 +0100)]
struct kr_query: dissolve ::forward_flags
Many years ago it might've looked like a good idea
to have a copy of the whole flag-set to represent just two fags,
but nowadays it seems rather excessive and perhaps confusing.
Apart from being simple and more explicit,
this shrinks struct kr_query by 8 bytes (on x86_64).
Vladimír Čunát [Thu, 19 Mar 2026 12:07:17 +0000 (13:07 +0100)]
Merge !1820: Fix outdated docs: files-watchdog -> watchdog
oldshensheep [Thu, 19 Mar 2026 11:35:06 +0000 (11:35 +0000)]
Fix outdated documentation: files-watchdog -> watchdog
Vladimír Čunát [Thu, 5 Mar 2026 12:16:29 +0000 (13:16 +0100)]
Merge !1815: doc/user: document SVCB in rebinding module
Vladimír Čunát [Thu, 5 Mar 2026 12:10:27 +0000 (13:10 +0100)]
doc/user: document SVCB in rebinding module (#948)
Vladimír Čunát [Thu, 5 Mar 2026 10:10:07 +0000 (11:10 +0100)]
Merge !1813: doc/user /local-data/records: add a note about RPZs
Closes #947
Vladimír Čunát [Sun, 15 Feb 2026 17:52:03 +0000 (18:52 +0100)]
doc/user /local-data/records: add a note about RPZs
Vladimír Čunát [Sun, 15 Feb 2026 17:50:25 +0000 (18:50 +0100)]
doc/user /local-data: nest examples in corresponding options
Vladimír Čunát [Thu, 5 Mar 2026 10:06:42 +0000 (11:06 +0100)]
Merge !1812: lib/rules: reflect `nodata:` setting in `rpz:` and `records:` settings
Fixes #945 and #946
Vladimír Čunát [Thu, 12 Feb 2026 06:23:18 +0000 (07:23 +0100)]
lib/rules: reflect `nodata:` setting in `rpz:` and `records:` settings
Vladimír Čunát [Thu, 5 Mar 2026 10:00:18 +0000 (11:00 +0100)]
Merge !1809: doc build fixes
Vladimír Čunát [Wed, 11 Feb 2026 18:08:36 +0000 (19:08 +0100)]
meson: drop -Ddoc=auto
It wasn't doing anything (behaving like the default -Ddoc=disabled)
and it wasn't passed by anything I could find.
Vladimír Čunát [Wed, 11 Feb 2026 18:08:36 +0000 (19:08 +0100)]
doc/meson: simplify checking of deps
This will give quite nice errors:
doc/meson.build:39:19: ERROR: Command `/usr/bin/python3 -c 'import breathe'` failed with status 1.
Vladimír Čunát [Wed, 14 Jan 2026 19:25:38 +0000 (20:25 +0100)]
pyproject.toml: add an extra dependency for docs
We tend to get into trouble here now sometimes
when in a clean-ish environment.
Vladimír Čunát [Wed, 14 Jan 2026 19:25:38 +0000 (20:25 +0100)]
doc/meson: drop python2 support
When we run into trouble, it produces confusing errors:
https://gitlab.nic.cz/knot/knot-resolver/-/jobs/
1627828
and I really hope that python2 won't be useful here anymore.
Vladimír Čunát [Thu, 5 Mar 2026 08:38:24 +0000 (09:38 +0100)]
Merge !1599: iterator: correctly handle cases of EDNS version != 0.
Fixes #404
Vladimír Čunát [Thu, 5 Mar 2026 08:03:54 +0000 (09:03 +0100)]
nits around BADVERS
menakite [Tue, 27 Aug 2024 00:57:02 +0000 (02:57 +0200)]
iterator: correctly handle cases of EDNS version != 0.
Answer with rcode BADVERS if the requested EDNS version is not supported
by libknot.
Vladimír Čunát [Wed, 4 Mar 2026 09:41:39 +0000 (10:41 +0100)]
Merge !1810: distro/pkg/deb: fix cross-build
Helmut Grohne [Thu, 12 Feb 2026 07:38:59 +0000 (08:38 +0100)]
distro/pkg/deb: fix cross-build
Submitted as
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=
1127713
Vladimír Čunát [Fri, 13 Feb 2026 08:10:18 +0000 (09:10 +0100)]
Merge !1808: lib/rules: support another RPZ feature
Vladimír Čunát [Mon, 9 Feb 2026 07:36:22 +0000 (08:36 +0100)]
lib/rules: support another RPZ feature
Some people want to do blocking by "redirection" to a page, e.g. via
*.some.name. CNAME block.page.
Vladimír Čunát [Fri, 13 Feb 2026 07:06:38 +0000 (08:06 +0100)]
Merge !1811: lib/mmapped nit: avoid a warning
Vladimír Čunát [Thu, 12 Feb 2026 09:44:41 +0000 (10:44 +0100)]
lib/mmapped nit: avoid a warning
https://gitlab.nic.cz/knot/knot-resolver/-/jobs/
1660161 #L80
Vladimír Čunát [Wed, 11 Feb 2026 10:10:07 +0000 (11:10 +0100)]
Merge !1791: python: utils: python3.8 cleanup
Aleš Mrázek [Mon, 12 Jan 2026 13:06:29 +0000 (14:06 +0100)]
python: applied changes from utils/* modules
Aleš Mrázek [Mon, 29 Dec 2025 08:57:53 +0000 (09:57 +0100)]
utils/*.py: python3.8 cleanup
Aleš Mrázek [Sun, 21 Dec 2025 21:11:59 +0000 (22:11 +0100)]
utils/compat: python3.8 cleanup
- removed old unused/unnecessary code
- removed unused typing.py module
Vladimír Čunát [Mon, 9 Feb 2026 08:06:12 +0000 (09:06 +0100)]
Merge !1806: ci: update the list of distros
Vladimír Čunát [Mon, 9 Feb 2026 07:53:59 +0000 (08:53 +0100)]
ci: update the list of distros
For context see apkg merge 214 (
a09bff3b )
Aleš Mrázek [Tue, 3 Feb 2026 10:06:47 +0000 (11:06 +0100)]
Merge branch 'release-6.2.0' into 'master'
Release 6.2.0
See merge request knot/knot-resolver!1805
Aleš Mrázek [Mon, 2 Feb 2026 15:42:00 +0000 (16:42 +0100)]
release 6.2.0
Vladimír Čunát [Tue, 3 Feb 2026 08:37:36 +0000 (09:37 +0100)]
Merge !1803: tweak handling of ANY and RRSIG in QTYPE
Vladimír Čunát [Sun, 1 Feb 2026 09:58:21 +0000 (10:58 +0100)]
tweak handling of ANY and RRSIG in QTYPE
- advanced users can configure these QTYPEs on Lua level, e.g.
option('QTYPE_ANY', true)
- fix handling these QTYPEs, e.g.
- caching: as whole packet only (simple and "safer" here)
- iterator wasn't finding ANY records in answer :-)
- I wanted to disable RRSIG by default, but let's delay that
Vladimír Čunát [Mon, 2 Feb 2026 11:39:20 +0000 (12:39 +0100)]
Merge !1747: Implementation of server DNS over QUIC (RFC 9250)
Aleš Mrázek [Mon, 2 Feb 2026 10:52:14 +0000 (11:52 +0100)]
datamodel: network: simplified QUIC template
Aleš Mrázek [Mon, 2 Feb 2026 10:43:11 +0000 (11:43 +0100)]
datamodel: network: removed layer from QUICSchema
There is no reason for two layers here.
Vladimír Čunát [Sat, 31 Jan 2026 07:23:04 +0000 (08:23 +0100)]
doc nits + NEWS item, for quic
Vladimír Čunát [Wed, 28 Jan 2026 10:09:26 +0000 (11:09 +0100)]
meson: fix include in embedded libngtcp2 sometimes
In particular, on macOS in GitHub CI.
I tried `dependencies: [gnutls.partial_dependency(includes: true)]`
but that didn't work. No idea why.
Vladimír Čunát [Wed, 28 Jan 2026 09:43:19 +0000 (10:43 +0100)]
Merge master into doq-server
Vladimír Čunát [Wed, 28 Jan 2026 08:56:31 +0000 (09:56 +0100)]
daemon/quic: adapt to libknot 3.6
For reference see what we did for the non-quic code in:
d0375933 80cf9eb1 c8ea4c07 (all MR 1769)
Frantisek Tobias [Tue, 27 Jan 2026 15:07:06 +0000 (16:07 +0100)]
python/formating: nits
Frantisek Tobias [Tue, 27 Jan 2026 15:05:55 +0000 (16:05 +0100)]
daemon/quic: fix linting warnings
- add types to fields of struct nc_conn_ref_placeholder_t
- comment out testing DOQ error code
Vladimír Čunát [Tue, 27 Jan 2026 10:48:15 +0000 (11:48 +0100)]
make embedded quic lib work
This should also fix -Dquic=disabled
I'm now lazy to go fix it on the commits introducing it, too.
QUIC by default sizing (default nixos.org builds as reference):
- with embedded ngtcp2* we grow the kresd binary by 344 KiB
- with external ngtcp2* we grow the kresd binary by 40 KiB
(while the external ngtcp2 package takes 472 KiB,
libknot already depends on it, so it's not new)
Vladimír Čunát [Tue, 27 Jan 2026 09:10:18 +0000 (10:10 +0100)]
libngtcp2: copy embedded v1.20.0 from knot master (
d9f7ac6e378f )
Vladimír Čunát [Tue, 30 Dec 2025 09:59:30 +0000 (10:59 +0100)]
make quic/DoQ optional
Aleš Mrázek [Tue, 27 Jan 2026 09:41:46 +0000 (10:41 +0100)]
Merge branch 'utils-modeling-literals-fix' into 'master'
python: utils/modeling: fixed literals bug for python 3.8
See merge request knot/knot-resolver!1799
Vladimír Čunát [Tue, 27 Jan 2026 08:39:21 +0000 (09:39 +0100)]
add NEWS entry for the parent commit
Aleš Mrázek [Wed, 21 Jan 2026 20:28:44 +0000 (21:28 +0100)]
python: utils/modeling: fixed Literal bug for python 3.8
This fixes bug created in MR !1768 logging improvements.
Vladimír Čunát [Tue, 27 Jan 2026 08:43:04 +0000 (09:43 +0100)]
Merge !1800: CI: Migrate respdiff from shortlist dataset to ODVR-based dataset
Hynek Šabacký [Mon, 26 Jan 2026 09:23:22 +0000 (10:23 +0100)]
ci: disable respdiff diff-index guard
Hynek Šabacký [Fri, 31 Oct 2025 09:30:29 +0000 (10:30 +0100)]
ci: run respdiff with a newer query dataset
Aleš Mrázek [Mon, 26 Jan 2026 14:32:50 +0000 (15:32 +0100)]
Merge branch 'subprocess-command-decode' into 'master'
python: controller/interface.py: return full message if JSON load fails
See merge request knot/knot-resolver!1801
Aleš Mrázek [Mon, 26 Jan 2026 13:47:20 +0000 (14:47 +0100)]
tests/packaging: tls_cert_watchdog.sh: added sleep for deletion/creation test
Aleš Mrázek [Mon, 26 Jan 2026 12:50:49 +0000 (13:50 +0100)]
python: controller/interface.py: return full message if JSON load fails for Subprocess command result
Vladimír Čunát [Mon, 26 Jan 2026 09:27:28 +0000 (10:27 +0100)]
Merge !1798: python: manager/files: do not reload TLS certificate files if they do not exist
Aleš Mrázek [Wed, 21 Jan 2026 23:07:15 +0000 (00:07 +0100)]
Revert "tests/packaging/interactive: skip TLS certs watchdog tests"
This reverts commit
1c69b284fa270c49f2adad035f5050c7d8837278 .
Aleš Mrázek [Wed, 21 Jan 2026 20:19:16 +0000 (21:19 +0100)]
python: manager/files: do not reload TLS certificate files if they do not exist
This fixes a randomly occuring pkg test error mentioned in !1794.
Vladimír Čunát [Mon, 26 Jan 2026 08:36:51 +0000 (09:36 +0100)]
Merge !1797: daemon/io: handle failed session data initialization
Vladimír Čunát [Thu, 22 Jan 2026 09:16:24 +0000 (10:16 +0100)]
daemon/io_create() nits
Frantisek Tobias [Wed, 21 Jan 2026 12:47:18 +0000 (13:47 +0100)]
daemon/io_create(): move session2_new_io out of io_create()
The motivation for this change is to unite the out parameter type to uv_handle_t
Frantisek Tobias [Tue, 20 Jan 2026 17:20:54 +0000 (18:20 +0100)]
daemon/session2/session2_transport_event(): remove kr_fails_assert
When forwarding over DoT, an upstream that accepts a TCP connection
and immediately closes it triggers this assetion, because
the forwarder wasn't able to solve any waiting tasks.
Frantisek Tobias [Tue, 20 Jan 2026 13:21:20 +0000 (14:21 +0100)]
daemon/io: handle failed session data initialization
Vladimír Čunát [Tue, 20 Jan 2026 21:57:53 +0000 (22:57 +0100)]
Merge !1795: daemon/session: fix UDP answers without sendmmsg