]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Oto Šťáva [Fri, 26 Jul 2024 13:09:45 +0000 (15:09 +0200)]
meson_options: re-add 'manager' but deprecate it
Meson, in its infinite wisdom started erroring out when the build dir
has an unknown option configured, so we need to keep this and mark it
deprecated, apparently.
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
Oto Šťáva [Thu, 20 Jun 2024 08:36:52 +0000 (10:36 +0200)]
Merge branch 'protolayer-constructors' into 'master'
daemon: use __attribute__((constructor)) for protolayer_globals
See merge request knot/knot-resolver!1559
Vladimír Čunát [Tue, 18 Jun 2024 17:20:44 +0000 (19:20 +0200)]
daemon/tls: print IP when failing certificate check
Oto Šťáva [Tue, 18 Jun 2024 15:18:37 +0000 (17:18 +0200)]
daemon: use __attribute__((constructor)) for protolayer_globals
The `protolayer_globals` array can basically be treated as a constant by
most of the program and its initialization only uses compile-time-known
values. We basically only initialize parts of the array in different
files throughout the codebase to maintain separation of concerns, so
that each piece of Knot Resolver initializes the part that pertains to
it. Therefore, I believe that it is more ergonomic to just use
`__attribute__((constructor))` for these functions, so as not to pollute
`daemon/main.c` with these calls.
Oto Šťáva [Tue, 18 Jun 2024 09:23:58 +0000 (11:23 +0200)]
Merge branch 'manager-dir-cleaning' into 'master'
manager: directory cleaning
See merge request knot/knot-resolver!1557
Oto Šťáva [Tue, 18 Jun 2024 08:59:08 +0000 (10:59 +0200)]
doc: slight reorganization and consistency adjustments
Aleš Mrázek [Mon, 17 Jun 2024 11:17:26 +0000 (13:17 +0200)]
manager/README.md: dev info moved to doc
Aleš Mrázek [Fri, 14 Jun 2024 13:36:10 +0000 (15:36 +0200)]
doc/dev: development guides chapter created
Added information about the development environment and code structure.
Aleš Mrázek [Thu, 13 Jun 2024 04:12:39 +0000 (06:12 +0200)]
manager: tests: unused integration tests removed
Aleš Mrázek [Thu, 13 Jun 2024 04:09:33 +0000 (06:09 +0200)]
manager: scripts: unused and non-functional scripts removed
Aleš Mrázek [Thu, 13 Jun 2024 04:07:10 +0000 (06:07 +0200)]
manager/pyproject.toml: unused and non-functional tasks removed
Jakub Ružička [Wed, 12 Jun 2024 11:26:44 +0000 (13:26 +0200)]
Merge branch 'pkg-v6-cleanup' into 'master'
Debian packaging cleanup
See merge request knot/knot-resolver!1555
Oto Šťáva [Wed, 12 Jun 2024 07:46:46 +0000 (09:46 +0200)]
Merge branch 'ksk-2024' into 'master-5'
etc/: add the fresh DNSSEC root key "KSK-2024" already
See merge request knot/knot-resolver!1556
Jakub Ružička [Tue, 11 Jun 2024 16:19:39 +0000 (18:19 +0200)]
distro/pkg/deb: remove undefined shlib:Depends
This addresses dpkg-gencontrol warnings:
dpkg-gencontrol: warning: Depends field of package knot-resolver6-module-http: substitution variable ${shlibs:Depends} used, but is not defined
dpkg-gencontrol: warning: Depends field of package knot-resolver6-dev: substitution variable ${shlibs:Depends} used, but is not defined
Jakub Ružička [Thu, 6 Jun 2024 15:04:24 +0000 (17:04 +0200)]
distro/pkg/deb: run `wrap-and-sort -bast` for git friendlier formatting
Jakub Ružička [Thu, 6 Jun 2024 14:54:45 +0000 (16:54 +0200)]
distro/pkg/deb: add README.md to docs
Jakub Ružička [Thu, 6 Jun 2024 14:52:44 +0000 (16:52 +0200)]
distro/pkg/deb: harmonize file paths in debhelper files
Jakub Ružička [Thu, 6 Jun 2024 14:50:26 +0000 (16:50 +0200)]
distro/pkg/deb: add Rules-Requires-Root: no
Jakub Ružička [Thu, 6 Jun 2024 14:50:26 +0000 (16:50 +0200)]
distro/pkg/deb: remove obsolete -dbg package
-dbgsym packages are now generated automatically.
Jakub Ružička [Thu, 6 Jun 2024 14:50:26 +0000 (16:50 +0200)]
distro/pkg/deb: improve HTTP module deps
fixes lintian warning: not-binnmuable-all-depends-any
Jakub Ružička [Thu, 6 Jun 2024 14:50:26 +0000 (16:50 +0200)]
distro/pkg/deb: add missing Standards-Version to d/control
Jakub Ružička [Thu, 6 Jun 2024 14:50:26 +0000 (16:50 +0200)]
distro/pkg/deb: silence irrelevant lintian warnings
Jakub Ružička [Thu, 6 Jun 2024 14:48:53 +0000 (16:48 +0200)]
distro/pkg/deb: update debian/copyright entries
Jakub Ružička [Thu, 6 Jun 2024 14:48:53 +0000 (16:48 +0200)]
distro/pkg/deb: fix incorrect formatting
Vladimír Čunát [Mon, 10 Jun 2024 14:05:41 +0000 (16:05 +0200)]
etc/: add the fresh DNSSEC root key "KSK-2024" already
The key still won't be used for some time, two years maybe,
but I think it's better to preemptively trust it already.
(outdated machines, etc.)
Some evidence that it's not just a hash of *my* private key:
https://www.iana.org/dnssec/ceremonies/53-2
https://data.iana.org/ksk-ceremony/53-2/kskm-keymaster-
20240426 -173035-995.log
https://www.youtube.com/live/gw4PFhtnVpk?si=C8zevM3nG9O0XAJr&t=12726
Oto Šťáva [Fri, 7 Jun 2024 12:01:57 +0000 (14:01 +0200)]
Merge branch 'manager-ci-image' into 'master'
manager: use image from 'knot-resolver-ci'
See merge request knot/knot-resolver!1554
Oto Šťáva [Thu, 6 Jun 2024 12:30:40 +0000 (14:30 +0200)]
manager/pyproject.toml: update Poetry
Oto Šťáva [Wed, 5 Jun 2024 18:06:33 +0000 (20:06 +0200)]
manager: use image from 'knot-resolver-ci'
This was forgotten during the CI overhaul.
Oto Šťáva [Thu, 6 Jun 2024 10:59:17 +0000 (12:59 +0200)]
Merge branch 'remove-libedit' into 'master'
Remove unused dependency and Dockerfile
See merge request knot/knot-resolver!1553
Oto Šťáva [Wed, 5 Jun 2024 12:36:43 +0000 (14:36 +0200)]
ci/images/debian-12: remove
Remnant of the past. This has been since replaced by images from
the `knot-resolver-ci` repo.
Oto Šťáva [Wed, 5 Jun 2024 12:35:23 +0000 (14:35 +0200)]
distro/pkg: remove dependency on libedit
The library was used by the old experimental `kresc` client, which has
been removed in favour of Manager's `kresctl`.
Oto Šťáva [Wed, 5 Jun 2024 10:47:31 +0000 (12:47 +0200)]
Merge branch 'nits-warnings' into 'master-5'
reduce build-time warnings
See merge request knot/knot-resolver!1552
Vladimír Čunát [Wed, 5 Jun 2024 07:59:30 +0000 (09:59 +0200)]
**/meson.build: avoid deprecations in meson >= 1.4
The code isn't pretty, but probably better than watching
the fat red lines on every build.
Vladimír Čunát [Wed, 5 Jun 2024 07:58:18 +0000 (09:58 +0200)]
meson.build: avoid a gcc 14 warning
Picked from master commit
68688fac013a4c16a476acc15c366a8ce07ed46e
Oto Šťáva [Tue, 4 Jun 2024 15:32:01 +0000 (17:32 +0200)]
Merge branch 'nits' into 'master'
Protocol layers and other parts refactoring (+ nits)
See merge request knot/knot-resolver!1546