]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
menakite [Wed, 14 Aug 2024 17:36:54 +0000 (19:36 +0200)]
cache: move setting EDE "Stale Answer" to the the serve_stale module.
It is not guaranteed yet that the request will finish in state DONE.
This prevents other EDE codes from being applied to the request and in
case the request ends in FAIL state it produces a SERVFAIL answer with
EDE "Stale Answer", which is a bit weird.
Move setting EDEs in answer_finalize in the serve_stale module, where
the proper EDE in case of NXDOMAIN is set too.
Vladimír Čunát [Mon, 19 Aug 2024 15:16:38 +0000 (17:16 +0200)]
Merge !1591: modules/stats add answer.stale
Frantisek Tobias [Mon, 19 Aug 2024 15:16:38 +0000 (17:16 +0200)]
modules/stats: add answer.stale
Vladimír Čunát [Mon, 19 Aug 2024 13:54:37 +0000 (15:54 +0200)]
Merge !1588: validator: avoid clearing EDE if request didn't actually fail
Vladimír Čunát [Mon, 19 Aug 2024 13:42:11 +0000 (15:42 +0200)]
validator nit: move validate_wrapper() to a better place
menakite [Fri, 9 Aug 2024 23:19:40 +0000 (01:19 +0200)]
validator: avoid clearing EDE if query didn't actually fail
Vladimír Čunát [Tue, 13 Aug 2024 12:17:26 +0000 (14:17 +0200)]
Merge !1576: views: improve interaction with old-style policies
Vladimír Čunát [Thu, 25 Jul 2024 12:27:04 +0000 (14:27 +0200)]
views: improve interaction with old-style policies
i.e. respect the old chain-rule notion in this case.
... because why not, and someone wanted to use it this way already.
Logically it makes sense in some cases, but I still implore to prefer
6.x -style rules where possible, as e.g. the interations are better.
Vladimír Čunát [Tue, 13 Aug 2024 11:51:38 +0000 (13:51 +0200)]
Merge !1585: daemon,lib: sync EDE codes supported by libknot 3.3
menakite [Wed, 7 Aug 2024 14:14:09 +0000 (16:14 +0200)]
{daemon,lib}: sync EDE codes supported by libknot.
Adds the following extended error codes:
* 25 (Signature Expired before Valid): KNOT_EDNS_EDE_EXPIRED_INV
* 26 (Too Early): KNOT_EDNS_EDE_TOO_EARLY
* 27 (Unsupported NSEC3 Iterations Value): KNOT_EDNS_EDE_NSEC3_ITERS
* 28 (Unable to conform to policy): KNOT_EDNS_EDE_NONCONF_POLICY
* 29 (Synthesized): KNOT_EDNS_EDE_SYNTHESIZED
Vladimír Čunát [Mon, 12 Aug 2024 10:52:40 +0000 (12:52 +0200)]
Merge !1589: iterator: fix handling of ANY queries and != IN classes.
Vladimír Čunát [Mon, 12 Aug 2024 08:57:11 +0000 (10:57 +0200)]
NEWS+comment for the parent commit
menakite [Sun, 11 Aug 2024 02:07:32 +0000 (04:07 +0200)]
iterator: fix handling of ANY queries and != IN classes.
It was supposed to answer NOTIMP, but was returning FAIL instead of
DONE and so the answer was SERVFAIL.
Also added EDE code "Not Supported" for clarity.
Oto Šťáva [Thu, 8 Aug 2024 10:21:45 +0000 (12:21 +0200)]
Merge branch 'poe-configure-old-meson' into 'master'
manager/scripts/meson-configure: fix setup for old Meson
See merge request knot/knot-resolver!1584
Oto Šťáva [Thu, 8 Aug 2024 09:25:47 +0000 (11:25 +0200)]
doc/dev/manager-dev-env: clarifications and advanced setup
Oto Šťáva [Wed, 7 Aug 2024 13:56:24 +0000 (15:56 +0200)]
manager/scripts/meson-configure: fix setup for old Meson
This fixes first-time setup for Meson pre-1.1.0.
Vladimír Čunát [Wed, 7 Aug 2024 15:23:32 +0000 (17:23 +0200)]
Merge !1586: lib: fix typo in generated doc for log group "zoncut"
menakite [Wed, 7 Aug 2024 14:46:42 +0000 (16:46 +0200)]
lib: fix typo in generated doc for log group "zoncut".
Setting log_groups({ 'zonecut' }) just leads to a warning and no
"zone cut" logging shown.
Oto Šťáva [Wed, 7 Aug 2024 08:59:14 +0000 (10:59 +0200)]
Merge branch 'proxyv2-tcp-fix' into 'master'
daemon/proxyv2: fix client TCP/TLS + merge state structs
See merge request knot/knot-resolver!1578
Oto Šťáva [Wed, 31 Jul 2024 13:53:44 +0000 (15:53 +0200)]
Update NEWS
Oto Šťáva [Wed, 31 Jul 2024 12:16:33 +0000 (14:16 +0200)]
daemon/proxyv2: fix client TCP/TLS + merge state structs
Firstly, this adds a missing assignment of `comm->proxy`, which would
cause the resolver not to know that a client asked via TCP/TLS, if the
proxy also asked via TCP/TLS.
Secondly, it merges `struct pl_proxyv2_sess_data` and
`struct pl_proxyv2_iter_data` into a single `struct pl_proxyv2_state`,
since they were practically the same. And it adds a bit of documentation
to the struct.
Oto Šťáva [Mon, 5 Aug 2024 11:47:17 +0000 (13:47 +0200)]
Merge branch 'meson-jemalloc-auto' into 'master'
meson: make -Dmalloc=auto more clever
See merge request knot/knot-resolver!1583
Vladimír Čunát [Mon, 5 Aug 2024 11:23:13 +0000 (13:23 +0200)]
meson: make -Dmalloc=auto more clever
Vladimír Čunát [Fri, 2 Aug 2024 19:14:24 +0000 (21:14 +0200)]
Merge !1581: bench/bench_lru: make it build again, and check it in CI
Oto Šťáva [Fri, 2 Aug 2024 13:43:04 +0000 (15:43 +0200)]
bench/bench_lru: make it build again, and check it in CI
It's not too important, but I just stumbled upon this and it looked like
nobody has touched it in a long time. Since it's not completely broken
(the fix is trivial), I decided to fix it and add it to CI to ensure
that we can still build it. Maybe `lru` will be used some more at some
point again in the future...
Oto Šťáva [Fri, 2 Aug 2024 12:31:48 +0000 (14:31 +0200)]
Merge branch 'doc-dev-update' into 'master'
doc/dev: various updates
See merge request knot/knot-resolver!1580
Oto Šťáva [Fri, 2 Aug 2024 12:09:41 +0000 (14:09 +0200)]
doc/dev/build.rst: decycle the dependency with README.md + nits
Vladimír Čunát [Fri, 2 Aug 2024 11:12:12 +0000 (13:12 +0200)]
doc/dev: misc nits
Vladimír Čunát [Fri, 2 Aug 2024 11:12:11 +0000 (13:12 +0200)]
doc/dev: update the dependency/distro section
Also drop mention of OBS, as it's not really relevant anymore.
Vladimír Čunát [Fri, 2 Aug 2024 11:12:10 +0000 (13:12 +0200)]
doc/dev: kill remnants of our pre-meson build system
Oto Šťáva [Thu, 1 Aug 2024 12:17:29 +0000 (14:17 +0200)]
Merge branch 'doc-dev-update' into 'master'
doc/dev: changed libknot version in Building with Meson documentation to 3.3.0+
See merge request knot/knot-resolver!1579
Frantisek Tobias [Thu, 1 Aug 2024 11:25:45 +0000 (13:25 +0200)]
doc/dev: removed outdated requirements from Knot Resolver library
Frantisek Tobias [Thu, 1 Aug 2024 11:03:58 +0000 (13:03 +0200)]
doc/dev: changed libknot version in Building with Meson documentation to 3.3.0+
Aleš Mrázek [Mon, 29 Jul 2024 13:04:55 +0000 (15:04 +0200)]
Merge branch 'manager-tls-session-ticket-secret' into 'master'
manager: secret for TLS session resumption via ticket
See merge request knot/knot-resolver!1567
Aleš Mrázek [Thu, 18 Jul 2024 04:24:35 +0000 (06:24 +0200)]
manager: secret for TLS session resumption via ticket
Create and set a secret for TLS session resumption via ticket that is the same for all running 'kresd' workers. This secret is only created if the user has not configured the secret themselves.
Oto Šťáva [Thu, 25 Jul 2024 14:42:18 +0000 (16:42 +0200)]
Merge branch 'pkg-artifacts' into 'master'
.gitlab-ci: expose packages from pkgtest as artifacts
See merge request knot/knot-resolver!1573
Oto Šťáva [Thu, 25 Jul 2024 08:09:24 +0000 (10:09 +0200)]
.gitlab-ci: pkg: add Fedora 40, remove Fedora 38
Oto Šťáva [Wed, 24 Jul 2024 08:42:17 +0000 (10:42 +0200)]
.gitlab-ci: expose packages from pkgtest as artifacts
Jakub Ružička [Thu, 25 Jul 2024 13:40:05 +0000 (15:40 +0200)]
Merge branch 'launchpad-fix' into 'master'
distro/pkg/deb: use $(shell pwd) to fix LaunchPad fails
See merge request knot/knot-resolver!1575
Jakub Ružička [Thu, 25 Jul 2024 11:35:14 +0000 (13:35 +0200)]
distro/pkg/deb: use $(shell pwd) to fix LaunchPad fails
Aleš Mrázek [Tue, 23 Jul 2024 17:39:45 +0000 (19:39 +0200)]
Merge branch 'release-6.0.8' into 'master'
Release 6.0.8
See merge request knot/knot-resolver!1572
Oto Šťáva [Tue, 23 Jul 2024 13:18:33 +0000 (15:18 +0200)]
manager/tests/packaging: better kdig check
Oto Šťáva [Tue, 23 Jul 2024 11:24:47 +0000 (13:24 +0200)]
Merge: mitigate TCP flooding DoS opportunity
Oto Šťáva [Tue, 23 Jul 2024 09:43:43 +0000 (11:43 +0200)]
distro/pkg/arch: update deps and maintainers
Aleš Mrázek [Mon, 22 Jul 2024 14:23:45 +0000 (16:23 +0200)]
release 6.0.8
Vladimír Čunát [Mon, 22 Jul 2024 15:39:41 +0000 (17:39 +0200)]
release 6.0.8
NEWS changes:
- collect missing items
- reduce newlines; we'd need to change the layout around
- improve a link
- add packaging information
- move some things around a bit
Vladimír Čunát [Mon, 22 Jul 2024 11:42:35 +0000 (13:42 +0200)]
doc+NEWS for the buffering changes
Oto Šťáva [Mon, 22 Jul 2024 09:28:02 +0000 (11:28 +0200)]
daemon/tls: proper clean up of queued protolayer contexts
Oto Šťáva [Mon, 22 Jul 2024 09:26:59 +0000 (11:26 +0200)]
daemon/session2: use kr_strerror for logging error states
Oto Šťáva [Tue, 11 Jun 2024 14:45:24 +0000 (16:45 +0200)]
daemon/session2: add special event for OS buffer depletion
For the future, when we need to account for this for e.g. QUIC, which
will need to handle this in the UDP case.
Oto Šťáva [Tue, 11 Jun 2024 11:20:16 +0000 (13:20 +0200)]
daemon: proper connection closures on queue overflow
Vladimír Čunát [Mon, 10 Jun 2024 13:52:42 +0000 (15:52 +0200)]
daemon/lua: bind `the_network` into lua
Because why not. It's easy and it might become useful one day.
> (require 'ffi').C.the_network.tcp.user_timeout
1000
Vladimír Čunát [Mon, 10 Jun 2024 13:03:23 +0000 (15:03 +0200)]
daemon: set options on sockets towards clients (optionally)
Vladimír Čunát [Thu, 6 Jun 2024 12:27:43 +0000 (14:27 +0200)]
daemon: drop user-space buffering for sockets
Vladimír Čunát [Mon, 22 Jul 2024 11:12:57 +0000 (13:12 +0200)]
Merge !1562: lib/rules: fix a bug in subnet computations
Vladimír Čunát [Thu, 27 Jun 2024 07:53:11 +0000 (09:53 +0200)]
lib/rules subnet_encode(): improve doc-comments
Vladimír Čunát [Wed, 26 Jun 2024 14:07:13 +0000 (16:07 +0200)]
lib/rules nit: missing `static` for a function
Vladimír Čunát [Wed, 26 Jun 2024 13:05:54 +0000 (15:05 +0200)]
lib/rules: fix a bug in subnet computations
The problem mainly affected subnets not aligned on whole bytes,
but maybe also others. Reported:
https://lists.nic.cz/hyperkitty/list/knot-resolver-users@lists.nic.cz/message/6P2JPK72WMVLP45TDV42DTACEA2N5NW2/
I'm really sorry about this; no idea why I thought that the simple
multiplication would suffice.
Oto Šťáva [Fri, 19 Jul 2024 13:54:49 +0000 (15:54 +0200)]
Merge branch 'kresctl-convert-policy-loader' into 'master'
kresctl: add generation of policy-loader Lua script
See merge request knot/knot-resolver!1569
Oto Šťáva [Fri, 19 Jul 2024 13:01:22 +0000 (15:01 +0200)]
kresctl: add generation of policy-loader Lua script
Aleš Mrázek [Fri, 19 Jul 2024 12:24:13 +0000 (14:24 +0200)]
Merge branch 'manager-ci-pkg-fix' into 'master'
manager: utils: timeout fix for unix-socket http request
See merge request knot/knot-resolver!1568
Aleš Mrázek [Fri, 19 Jul 2024 09:38:48 +0000 (11:38 +0200)]
manager/utils/request.py: use self.timeout in UnixHTTPConnection
Vladimír Čunát [Tue, 16 Jul 2024 06:34:27 +0000 (08:34 +0200)]
Merge !1566: treewide nit: avoid NULL arithmetics
Vladimír Čunát [Wed, 10 Jul 2024 16:15:35 +0000 (18:15 +0200)]
treewide nit: avoid NULL arithmetics
(u)intptr_t casts seem the best in terms of compliance:
https://stackoverflow.com/q/
45220134 /587396
Otherwise with clang 18 we can get warnings like
../$path:$line:$col: runtime error: applying non-zero offset $num to null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../$path:$line:$col
Oto Šťáva [Thu, 11 Jul 2024 12:50:28 +0000 (14:50 +0200)]
Merge branch 'drop-libknot-3.2' into 'master'
drop libknot <=3.2.x support
See merge request knot/knot-resolver!1565
Oto Šťáva [Wed, 10 Jul 2024 14:38:26 +0000 (16:38 +0200)]
drop libknot <=3.2.x support
Oto Šťáva [Tue, 9 Jul 2024 10:23:38 +0000 (12:23 +0200)]
.gitlab-ci: use newer Knot for make-archive
Oto Šťáva [Tue, 9 Jul 2024 09:40:29 +0000 (11:40 +0200)]
Dockerfile: upgrade to Debian 12 and newest Knot DNS
Vladimír Čunát [Tue, 18 Jun 2024 08:24:17 +0000 (10:24 +0200)]
drop libknot 3.0.x support
- Upstream last maintained 3.0.x in summer 2022.
- Our packaging shouldn't be affected, neither the new one, nor OBS.
- If someone updates resolver, it shouldn't be too hard
to update libknot as well.
- Maintenance on resolver side still needed effort for kres-gen-30.lua
Aleš Mrázek [Thu, 11 Jul 2024 10:50:45 +0000 (12:50 +0200)]
Merge branch 'manager-instability-handling' into 'master'
manager: recovery from 'policy-loader' failure during reload
See merge request knot/knot-resolver!1563
Aleš Mrázek [Wed, 3 Jul 2024 05:06:55 +0000 (07:06 +0200)]
manager: config_store: renew with old config
Aleš Mrázek [Wed, 3 Jul 2024 04:50:24 +0000 (06:50 +0200)]
manager: 'policy-loader' removed from watched subprocesses
Aleš Mrázek [Wed, 26 Jun 2024 04:38:41 +0000 (06:38 +0200)]
manager: run policy-loader with old config when instability detected
Vladimír Čunát [Sun, 7 Jul 2024 07:23:08 +0000 (09:23 +0200)]
Merge !1564: master-5 branch into master
Oto Šťáva [Wed, 3 Jul 2024 11:04:19 +0000 (13:04 +0200)]
Merge remote-tracking branch 'origin/master-5' into master
Aleš Mrázek [Tue, 2 Jul 2024 13:12:51 +0000 (15:12 +0200)]
Merge branch 'separate-policy-kresd' into 'master'
manager: policy-loader: new process for loading policy rules separately
See merge request knot/knot-resolver!1540
Aleš Mrázek [Thu, 27 Jun 2024 13:23:02 +0000 (15:23 +0200)]
manager: fixed error message for 'max-workers' change denial
Aleš Mrázek [Thu, 27 Jun 2024 13:18:45 +0000 (15:18 +0200)]
manager: reset the workers policy rules only when necessary
Basically, the reset is necessary when only the policy rules have changed and there is no need to update the workers config.
Aleš Mrázek [Thu, 27 Jun 2024 13:08:18 +0000 (15:08 +0200)]
manager: loading policy rules is now done in the verifier callback
The main reason for this is to load the policies before the canary worker starts, making it a prerequisite for starting the workers.
Aleš Mrázek [Fri, 21 Jun 2024 11:42:27 +0000 (13:42 +0200)]
manager: load policy rules on any configuration change
Aleš Mrázek [Wed, 5 Jun 2024 15:40:16 +0000 (17:40 +0200)]
manager: config_store: only_on_real_changes renamed to only_on_real_changes_update
Aleš Mrázek [Wed, 5 Jun 2024 15:22:44 +0000 (17:22 +0200)]
manager: start canary process only on real changes
Aleš Mrázek [Wed, 5 Jun 2024 14:59:11 +0000 (16:59 +0200)]
manager: config_store: only on real changes decorator for verifiers
Aleš Mrázek [Mon, 3 Jun 2024 16:52:25 +0000 (18:52 +0200)]
manager: controller: sd_notify: handle 'STOPPING=1' notification
Aleš Mrázek [Fri, 17 May 2024 13:09:44 +0000 (15:09 +0200)]
manager: wait for 'policy-loader' to finish on the resolver startup
When starting the resolver, we wait for policy-loader until policy rules are successfully loaded into the cache where the rules are shared between kred workers. After that, other processes are started. Otherwise, the workers might start without the configured rules in the cache while they are already resolving DNS traffic.
Aleš Mrázek [Fri, 17 May 2024 12:03:45 +0000 (14:03 +0200)]
manager: controller: getting SubprocessStatus from particular Subprocess
Aleš Mrázek [Wed, 15 May 2024 15:07:08 +0000 (17:07 +0200)]
datamodel: types: IPNetwork: __eq__ added
Vladimír Čunát [Tue, 14 May 2024 09:03:59 +0000 (11:03 +0200)]
lib/rules: tweak how the read-only transactions work
Let's avoid reloading the RO transaction unless necessary.
For example, when normal config reload happens (one kresd at a time),
we most likely do *not* want to reload the rule DB prematurely.
Aleš Mrázek [Mon, 13 May 2024 11:17:15 +0000 (13:17 +0200)]
doc/dev: architecture update and improvements
Aleš Mrázek [Mon, 13 May 2024 09:50:02 +0000 (11:50 +0200)]
doc: architecture schemas improvements
Aleš Mrázek [Fri, 10 May 2024 13:21:54 +0000 (15:21 +0200)]
NEWS: update about policy-loader
Aleš Mrázek [Thu, 9 May 2024 13:28:17 +0000 (15:28 +0200)]
manager: controller: SubprocessStatus.EXITED added
Aleš Mrázek [Fri, 26 Apr 2024 12:33:05 +0000 (14:33 +0200)]
manager: apply policy config separately
Aleš Mrázek [Tue, 12 Mar 2024 14:50:10 +0000 (15:50 +0100)]
manager: controller: policy-loader program added
Aleš Mrázek [Mon, 11 Mar 2024 13:24:22 +0000 (14:24 +0100)]
manager: controller: new SubprocessType for loading policy added
Vladimír Čunát [Mon, 11 Mar 2024 07:58:13 +0000 (08:58 +0100)]
datamodel: templates: don't clear policy DB in kresd workers
Vladimír Čunát [Mon, 11 Mar 2024 07:09:38 +0000 (08:09 +0100)]
lib/rules kr_rules_init(): allow not overwriting the DB
Aleš Mrázek [Mon, 26 Feb 2024 23:17:57 +0000 (00:17 +0100)]
datamodel: check for unused tags during config validation
Aleš Mrázek [Thu, 22 Feb 2024 13:40:27 +0000 (14:40 +0100)]
datamodel: templates: policy config moved out of the kresd worker config
Oto Šťáva [Wed, 26 Jun 2024 12:00:22 +0000 (14:00 +0200)]
Merge branch 'tls-client-error-log' into 'master-5'
daemon/tls: print IP when failing certificate check
See merge request knot/knot-resolver!1560