]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Vladimír Čunát [Wed, 28 May 2025 12:35:46 +0000 (14:35 +0200)]
lib/rules: add initial kr_rule_opts_t
For now this relates to logging/dry-run of local-data rules.
Vladimír Čunát [Sun, 25 May 2025 08:19:28 +0000 (10:19 +0200)]
Merge !1688: prefill + elsewhere: error message improvements
Vladimír Čunát [Sun, 25 May 2025 08:17:44 +0000 (10:17 +0200)]
datamodel nit: fix a typo in error message
Vladimír Čunát [Sun, 25 May 2025 08:17:44 +0000 (10:17 +0200)]
trust-anchors nit: print a clearer error message
Vladimír Čunát [Sun, 25 May 2025 08:17:44 +0000 (10:17 +0200)]
daemon/lua: introduce kres.strerror(errcode)
As seen in the grandparent comit, the previous style
was error-prone and a bit verbose.
Vladimír Čunát [Sun, 25 May 2025 08:17:44 +0000 (10:17 +0200)]
lib/ kr_strerror(): unify / cover more error codes
We often propagate errors from Knot libs...
Vladimír Čunát [Sun, 25 May 2025 08:17:44 +0000 (10:17 +0200)]
prefill: download through a temporary file
File rename is an atomic operation, so that's a plus.
We had a practical issue with the canary process,
as (for me) it exits somewhere during the download; example log:
kresd0[912938]: [prefil] downloading root zone to file root.zone ...
kresd0[912942]: [prefil] root zone file valid for 11 hours 59 minutes, reusing data from disk
kresd0[912942]: [prefil] empty zone file
kresd0[912942]: [prefil] error parsing zone file `root.zone`
kresd0[912942]: [prefil] root zone import failed, retry in 01 seconds
kresd0[912942]: [prefil] downloading root zone to file root.zone ...
kresd0[912942]: [prefil] import started for zone file `root.zone`
kresd0[912942]: [prefil] performance: parsing took 0.832 s, hashing took nan s
kresd0[912942]: [prefil] zone successfully parsed, import started
kresd0[912942]: [prefil] root zone refresh in 11 hours 59 minutes
kresd0[912942]: [prefil] performance: validating and caching took 0.736 s
Also avoid the unnecessary pcall+error. Why throw and immediately catch?
Vladimír Čunát [Sun, 25 May 2025 08:17:44 +0000 (10:17 +0200)]
prefill nit: better error messages
Avoid the ugly cdata<const char *>: 0x7fe6202c7f80
Moreover the return code is -1 in my test case,
but that does not imply EPERM: Operation not permitted.
It was all unnecessary mess, including the pcall+error() pair.
Also avoid some double-wrapping by '[prefil]'.
Vladimír Čunát [Sat, 24 May 2025 08:46:21 +0000 (10:46 +0200)]
Merge !1693: daemon/main.c: fix musl incompatible pointer types
Nicolas PARLANT [Sat, 24 May 2025 05:26:35 +0000 (07:26 +0200)]
daemon/main.c: fix musl incompatible pointer types
> ../knot-resolver-6.0.12/daemon/main.c:418:46: warning: incompatible
> pointer types passing 'struct sockaddr_un *' to parameter of type 'const
> struct sockaddr *' [-Wincompatible-pointer-types]
Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
Vladimír Čunát [Thu, 22 May 2025 16:57:39 +0000 (18:57 +0200)]
Merge !1691: ci: Fedora: +42 -40
Vladimír Čunát [Thu, 22 May 2025 16:48:33 +0000 (18:48 +0200)]
ci: Fedora: +42 -40
40 had EOL the previous week, so let's clean up:
https://fedorapeople.org/groups/schedule/f-40/f-40-key-tasks.html
Vladimír Čunát [Tue, 20 May 2025 12:52:44 +0000 (14:52 +0200)]
Merge !1689: treewide: C++ compatibility in headers
Vladimír Čunát [Tue, 20 May 2025 06:28:32 +0000 (08:28 +0200)]
tests: add check for C++ compatibility in headers
Vladimír Čunát [Tue, 20 May 2025 06:28:32 +0000 (08:28 +0200)]
treewide: explicit conversions to/from void* in (some) headers
They're not needed in C, but they are in C++. While -fpermissive can
downgrade these to warnings, it's still more troublesome than a fix.
Vladimír Čunát [Tue, 20 May 2025 06:28:32 +0000 (08:28 +0200)]
treewide: more C++ compatibility in headers
Vladimír Čunát [Tue, 20 May 2025 06:28:32 +0000 (08:28 +0200)]
lib/selection*: avoid using `private` identifier; because C++
Vladimír Čunát [Mon, 12 May 2025 14:20:09 +0000 (16:20 +0200)]
Merge !1649: ci: docs and manager jobs reorganization
Aleš Mrázek [Mon, 12 May 2025 13:15:00 +0000 (15:15 +0200)]
.gitlab-ci.yml: docs:pages: added 'pages: true'
Vladimír Čunát [Thu, 3 Apr 2025 12:13:28 +0000 (14:13 +0200)]
doc: better build parallelism
`auto` isn't perfect because of nested parallelism,
but I don't see another simple way here,
and I hope the potential slight overload will be OK for docs.
Aleš Mrázek [Mon, 24 Mar 2025 14:16:15 +0000 (15:16 +0100)]
.gitlab-ci.yml: IMAGE_TAG update
Aleš Mrázek [Wed, 22 Jan 2025 13:03:34 +0000 (14:03 +0100)]
.gitlab-ci.yml: removed 'release' stage
Aleš Mrázek [Tue, 21 Jan 2025 15:27:00 +0000 (16:27 +0100)]
.gitlab-ci.yml: python: parallel unit tests
Aleš Mrázek [Mon, 20 Jan 2025 15:37:19 +0000 (16:37 +0100)]
.gitlab-ci.yml: docs: improvements
- docs:environment: replacement for docs:develop and docs:release
- docs:website: use CI_COMMIT_REF_NAME
Aleš Mrázek [Fri, 17 Jan 2025 14:49:29 +0000 (15:49 +0100)]
.gitlab-ci.yml: release stage added
Vladimír Čunát [Mon, 12 May 2025 12:42:26 +0000 (14:42 +0200)]
Merge !1686: daemon: fix a memory leak present since v6.0.9
Fixes #927
Vladimír Čunát [Sat, 10 May 2025 09:11:14 +0000 (11:11 +0200)]
daemon/defer: minor optimization if not debug-logging
Avoids computing those kr_straddr() and sometimes others.
Vladimír Čunát [Sat, 10 May 2025 09:11:14 +0000 (11:11 +0200)]
daemon/defer nit: refactor break_query() a little
Vladimír Čunát [Sat, 10 May 2025 09:11:14 +0000 (11:11 +0200)]
daemon/session2_{inc,dec}_refs() nit: allow compiler to inline
The `inline + extern inline` combination is kind-of arcane,
but I find it nice to leave it to compiler whether to inline or not.
(in particular, in debug builds it's probably better not to inline this)
Lukáš Ondráček [Tue, 6 May 2025 12:10:04 +0000 (14:10 +0200)]
daemon/session2: use ref_count only for deferred iter_ctx (fixes #927)
Partially reverts
bb1babf0 , where the memory-leak bug was introduced.
Aleš Mrázek [Fri, 9 May 2025 08:19:44 +0000 (10:19 +0200)]
Merge branch 'datamodel-defer-fix' into 'master'
datamodel/templates: fix undefined disable_defer
See merge request knot/knot-resolver!1685
Lukáš Ondráček [Tue, 6 May 2025 13:12:31 +0000 (15:12 +0200)]
datamodel/templates: fix undefined disable_defer
Aleš Mrázek [Fri, 9 May 2025 08:07:42 +0000 (10:07 +0200)]
Merge branch 'dnssec-false' into 'master'
datamodel/templates: fix `dnssec: false`
See merge request knot/knot-resolver!1687
Vladimír Čunát [Fri, 9 May 2025 06:50:21 +0000 (08:50 +0200)]
datamodel/templates: fix `dnssec: false`
Vladimír Čunát [Tue, 29 Apr 2025 10:50:36 +0000 (12:50 +0200)]
Merge !1684: tests/integration/deckard: update to latest master
Vladimír Čunát [Tue, 29 Apr 2025 10:38:29 +0000 (12:38 +0200)]
tests/integration/deckard: update to latest master
Hack-compatibility with python >= 3.11
Aleš Mrázek [Thu, 24 Apr 2025 09:32:24 +0000 (11:32 +0200)]
Merge branch 'release-6.0.12' into 'master'
Release 6.0.12
See merge request knot/knot-resolver!1680
Aleš Mrázek [Thu, 24 Apr 2025 08:39:17 +0000 (10:39 +0200)]
release 6.0.12
Vladimír Čunát [Thu, 24 Apr 2025 08:51:52 +0000 (10:51 +0200)]
Merge !1682: DoS: fix rare crashes
Vladimír Čunát [Thu, 24 Apr 2025 08:10:44 +0000 (10:10 +0200)]
NEWS: classify these issues as "security"
If an attacker can control client's queries
(and register names with malicious auths),
with enough work they probably can trigger the conditions often.
Vladimír Čunát [Thu, 24 Apr 2025 08:10:44 +0000 (10:10 +0200)]
daemon/session2_tasklist_del(): be more defensive
I don't expect we still have a bug here, but even so -
if this assertion fails, I don't think we need to force a crash.
A recoverable assertion seems a better choice here.
Vladimír Čunát [Thu, 24 Apr 2025 08:10:44 +0000 (10:10 +0200)]
daemon/worker pl_dns_stream_disconnected(): fix tasklist confusion
The tasks on the waitinglist are not present in the taskslist,
so let's not incorrectly attempt removal in this case.
We didn't check the return value here, and the disconnection event
won't even happen in the typical cases, so this has been unnoticed -
until the deletion actually did find a matching msgid (lucky!)
by a *different* task (of course) which triggered an assertion (crash).
Vladimír Čunát [Thu, 24 Apr 2025 08:10:44 +0000 (10:10 +0200)]
daemon/worker send_waiting(): be more defensive
We encountered non-recoverable assertions due to popping
from an empty queue here, but I see no reason to block recovery here.
I'm still keeping it as a soft assertion until it's better understood.
I *suspect* what happened is that:
- multiple queries queued up before outgoing TCP handshake completed
- the session got into closing state for some reason
*before* processing this whole queue
- during that the queue got emptied
Vladimír Čunát [Thu, 24 Apr 2025 08:36:46 +0000 (10:36 +0200)]
Merge !1673: doc: updates and improvements
Vladimír Čunát [Thu, 24 Apr 2025 07:25:59 +0000 (09:25 +0200)]
doc/dev/build: migrate the systemd section to 6.x style
Lukáš Ondráček [Wed, 23 Apr 2025 15:54:08 +0000 (17:54 +0200)]
doc: typos
Oto Šťáva [Thu, 16 May 2024 10:02:46 +0000 (12:02 +0200)]
doc/dev: update building from sources
Removed some outdated stuff.
Oto Šťáva [Wed, 15 May 2024 14:51:29 +0000 (16:51 +0200)]
doc/user/manager-api: introduction, rewordings, warnings
Vladimír Čunát [Wed, 8 May 2024 06:27:06 +0000 (08:27 +0200)]
modules/hints docs: transplant text from the user docs
It will be deleted from user docs, and perhaps it could be useful.
Vladimír Čunát [Mon, 6 May 2024 12:25:51 +0000 (14:25 +0200)]
doc: misc minor fixes
Vladimír Čunát [Mon, 6 May 2024 08:17:14 +0000 (10:17 +0200)]
doc/user: move cache-clearing API docs to the API page
It seemed to clutter the cache page in docs,
even though very few users will be directly interested in the API.
Vladimír Čunát [Sat, 4 May 2024 17:45:57 +0000 (19:45 +0200)]
doc/user/manager-api.rst: restructure this page
It felt disorganized, some topics were even discussed twice,
so in this commit I tried to improve the structure of this page.
Vladimír Čunát [Fri, 3 May 2024 09:07:22 +0000 (11:07 +0200)]
doc: misc tiny fixes
Vladimír Čunát [Fri, 3 May 2024 07:40:49 +0000 (09:40 +0200)]
doc/user/gettingstarted-startup.rst: less strong formulation
Some distros do enable knot-resolver.service on installation,
e.g. I quickly tried in a CentOS 9 LXC where it didn't start
immediately but it did after restarting the container.
I believe that customs of each distro should be followed here.
Vladimír Čunát [Fri, 3 May 2024 07:04:39 +0000 (09:04 +0200)]
doc/kresd.8: warn that the `knot-resolver` command is preferred
We keep installing this manpage in default 6.x packaging,
so at least put a notice in there.
Vladimír Čunát [Fri, 3 May 2024 06:58:18 +0000 (08:58 +0200)]
doc/user: drop `man knot-resolver.systemd`
We don't have it. Before 6.x we used to install kresd.systemd.7
but it wasn't really more detailed than the current 6.x systemd docs.
Vladimír Čunát [Thu, 24 Apr 2025 08:05:08 +0000 (10:05 +0200)]
Merge !1677: fix DoH with multiple "parallel" queries in one connection
Closes #931
Vladimír Čunát [Thu, 24 Apr 2025 07:44:22 +0000 (09:44 +0200)]
daemon: fix DoH with multiple "parallel" queries in one connection
Vladimír Čunát [Wed, 23 Apr 2025 08:08:34 +0000 (10:08 +0200)]
Merge !1676: modules/stats: further improve latency measurements
Vladimír Čunát [Mon, 14 Apr 2025 09:13:32 +0000 (11:13 +0200)]
modules/stats: further improve latency measurements
libuv's updating the stamp just once per event loop
might be too coarse, as processing multiple packets
(e.g. DNSSEC validation) may take milliseconds together.
Of course we still don't measure e.g. the time when incoming
client requests stay in OS buffers.
Vladimír Čunát [Mon, 14 Apr 2025 09:13:32 +0000 (11:13 +0200)]
lib: clarify the doc-comment for struct kr_query::timestamp
Vladimír Čunát [Mon, 14 Apr 2025 09:13:32 +0000 (11:13 +0200)]
modules/stats: fix calculation of request's latency
Aleš Mrázek [Thu, 3 Apr 2025 13:29:31 +0000 (15:29 +0200)]
Merge branch 'ci-docker-buildx-stop' into 'master'
ci: docker: stop buildx after cross-platform build
See merge request knot/knot-resolver!1674
Aleš Mrázek [Thu, 3 Apr 2025 13:29:31 +0000 (15:29 +0200)]
ci: docker: stop buildx after cross-platform build
Vladimír Čunát [Tue, 1 Apr 2025 17:22:58 +0000 (19:22 +0200)]
Merge !1665: manager: files watchdog for RPZ and some improvements
Aleš Mrázek [Tue, 1 Apr 2025 09:51:28 +0000 (11:51 +0200)]
manager: server: have/has typo
Aleš Mrázek [Tue, 1 Apr 2025 09:27:51 +0000 (11:27 +0200)]
tests/packaging/interactive: watchdog.sh renamed to tls_cert_watchdog.sh
Aleš Mrázek [Tue, 4 Mar 2025 14:13:20 +0000 (15:13 +0100)]
manager: files: watchdog: added RPZ files
Separate timer for each command.
Aleš Mrázek [Thu, 6 Feb 2025 10:44:41 +0000 (11:44 +0100)]
datamodel: local-data: added watchdog for RPZSchema
Aleš Mrázek [Fri, 21 Feb 2025 14:28:28 +0000 (15:28 +0100)]
manager: files: watchdog for all files
Vladimír Čunát [Tue, 1 Apr 2025 13:17:02 +0000 (15:17 +0200)]
Merge !1671: doc: include jquery for sphinx version >= 2.*
Frantisek Tobias [Tue, 1 Apr 2025 12:03:13 +0000 (14:03 +0200)]
Doc: include jquery for sphinx version equal or greater to 2.*
Vladimír Čunát [Tue, 1 Apr 2025 12:32:56 +0000 (14:32 +0200)]
Merge !1667: doc/user: add a list of RFCs
Vladimír Čunát [Wed, 19 Mar 2025 07:26:15 +0000 (08:26 +0100)]
doc/user: add a list of RFCs
Some big organizations are interested in this kind of documentation.
Vladimír Čunát [Tue, 1 Apr 2025 12:23:57 +0000 (14:23 +0200)]
Merge !1670: datamodel/templates: fix tags in /local-data/rules/*/records
Aleš Mrázek [Thu, 27 Mar 2025 12:07:56 +0000 (13:07 +0100)]
datamodel: templates: fix undefined variables and attributes
Aleš Mrázek [Thu, 27 Mar 2025 11:09:51 +0000 (12:09 +0100)]
datamodel: templates: set StrictUndefined for undefined variables
Vladimír Čunát [Thu, 27 Mar 2025 10:42:11 +0000 (11:42 +0100)]
datamodel/templates: fix tags in /local-data/rules/*/records
It was generating 0 silently, which is as if not specifying any tag-list.
Aleš Mrázek [Mon, 24 Mar 2025 12:36:08 +0000 (13:36 +0100)]
Merge branch 'ci-docker-fedora-update' into 'master'
ci: update to new IMAGE_TAG with newer Fedora release
See merge request knot/knot-resolver!1669
Aleš Mrázek [Mon, 24 Mar 2025 12:36:08 +0000 (13:36 +0100)]
ci: update to new IMAGE_TAG with newer Fedora release
Vladimír Čunát [Mon, 17 Mar 2025 18:02:37 +0000 (19:02 +0100)]
Merge !1666: ci: pkg: add ubuntu 25.04
Jakub Ružička [Mon, 17 Mar 2025 12:19:59 +0000 (13:19 +0100)]
ci: pkg: add ubuntu 25.04
Vladimír Čunát [Fri, 28 Feb 2025 09:40:27 +0000 (10:40 +0100)]
Merge !1664: datamodel: management: reverting to absolute path for unix-socket
Fixes #926
Aleš Mrázek [Fri, 28 Feb 2025 09:18:04 +0000 (10:18 +0100)]
NEWS: update about revert
Aleš Mrázek [Fri, 28 Feb 2025 09:17:17 +0000 (10:17 +0100)]
client: command: get_socket_from_config improved
Aleš Mrázek [Fri, 28 Feb 2025 09:14:22 +0000 (10:14 +0100)]
datamodel: management: warning that the unix-socket is not located in rundir
Aleš Mrázek [Fri, 28 Feb 2025 09:07:35 +0000 (10:07 +0100)]
Revert "datamodel: management socket default based on rundir"
This reverts commit
10fb87547af05cd78e76dfb94951c34f4554d090 .
Aleš Mrázek [Fri, 28 Feb 2025 09:07:08 +0000 (10:07 +0100)]
Revert "python: constants: added API_SOCKET_NAME"
This reverts commit
cee2250c5a52a4d67ea2a37cc97761ba530f856b .
Aleš Mrázek [Wed, 26 Feb 2025 11:54:55 +0000 (12:54 +0100)]
Merge branch 'release-6.0.11' into 'master'
Release 6.0.11
See merge request knot/knot-resolver!1663
Aleš Mrázek [Wed, 26 Feb 2025 08:41:31 +0000 (09:41 +0100)]
release 6.0.11
Vladimír Čunát [Wed, 26 Feb 2025 08:34:02 +0000 (09:34 +0100)]
Merge !1659: validator: accept a confusing NODATA proof with insecure delegation
Vladimír Čunát [Wed, 26 Feb 2025 08:29:12 +0000 (09:29 +0100)]
validator: accept a confusing NODATA proof with insecure delegation
Honestly, I find it ugly and probably unintended,
but it's correctly signed and other vendors tend to accept it.
Example:
;; ->>HEADER<<- opcode: QUERY; status: NOERROR; id: 24204
;; Flags: qr aa rd; QUERY: 1; ANSWER: 0; AUTHORITY: 4; ADDITIONAL: 1
;; EDNS PSEUDOSECTION:
;; Version: 0; flags: do; UDP size: 4096 B; ext-rcode: NOERROR
;; QUESTION SECTION:
;; _domainkey.mail.cez.cz. TXT
;; AUTHORITY SECTION:
cez.cz. 3600 SOA ns10.cez.cz. netmaster.cez.cz.
2025021801 14400 3600 604800 7200
cez.cz. 3600 RRSIG SOA 10 2 3600
20250302073317 20250223063317 45620 cez.cz. JnAonhCOi234lF2A40lYaHcuKtxACKz8X6UFILSgSaK00xyXDk6gWDWo3nmMjXxBwgfP98Gaj8nLMqRZ7ezAEUfWi+5P4YCQzax5Habu3nKB+XKocIPMCHHMhOMf410w4Taz4N2rKgi1p71QkuujISi3JZWzqG4bqzot2cGL12w=
1vk9lupeivbv7dhsb7udm5da1hkd089j.cez.cz. 7200 NSEC3 1 0 1
ACB298B834ADA5FD 1vk9lupeivbv7dhsb7udm5da1hkd089k A NS HINFO MX AAAA SRV RRSIG CAA
1vk9lupeivbv7dhsb7udm5da1hkd089j.cez.cz. 7200 RRSIG NSEC3 10 3 7200
20250303115912 20250224105912 45620 cez.cz. OBW90lof86IoVsiuKkNEf4useG3fikE+npAVkpbiVsgMZWLHRNzAAlIU9wPMH5S4CWpnwoMVTaNtWJxegsG7cvCDZrjVVNOHE9hLOG2eG9f57vx/tVFTe4/DegO9KOyColOOYt4nt/uj7LTJZbzJY3Ev8I9971LEkFf5IxVwwPU=
Vladimír Čunát [Wed, 26 Feb 2025 08:27:08 +0000 (09:27 +0100)]
Merge !1657: datamodel: management: default unix-socket based on rundir
Vladimír Čunát [Wed, 26 Feb 2025 08:16:54 +0000 (09:16 +0100)]
NEWS: add entry
Aleš Mrázek [Wed, 19 Feb 2025 12:16:46 +0000 (13:16 +0100)]
datamodel: management socket default based on rundir
Aleš Mrázek [Wed, 19 Feb 2025 12:13:49 +0000 (13:13 +0100)]
python: constants: added API_SOCKET_NAME
Vladimír Čunát [Tue, 25 Feb 2025 10:38:45 +0000 (11:38 +0100)]
Merge !1662: tests: disable problematic config.http test
Vladimír Čunát [Tue, 25 Feb 2025 10:30:45 +0000 (11:30 +0100)]
tests: disable problematic config.http test
https://gitlab.nic.cz/knot/knot-resolver/-/issues/925
Aleš Mrázek [Wed, 19 Feb 2025 16:26:50 +0000 (17:26 +0100)]
Merge branch 'ci-pkg-debian13' into 'master'
ci: pkg: debian 13
See merge request knot/knot-resolver!1658
Aleš Mrázek [Wed, 19 Feb 2025 14:29:04 +0000 (15:29 +0100)]
ci: pkg: added debian 13