]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Oto Šťáva [Fri, 15 Mar 2024 09:24:36 +0000 (10:24 +0100)]
doc/manager-client: adjustments
Some language adjustments and improved optionality signalling (optional
parameters are usually surrounded by square brackets `[]`, while angle
brackets `<>` are usually reserved for mandatory ones).
Oto Šťáva [Mon, 18 Mar 2024 09:56:44 +0000 (10:56 +0100)]
Merge branch 'doc-move-pages' into '6.0'
remove `doc-dev` directory, merge into `doc/dev`
See merge request knot/knot-resolver!1515
Oto Šťáva [Mon, 18 Mar 2024 09:38:48 +0000 (10:38 +0100)]
remove `doc-dev` directory, merge into `doc/dev`
Oto Šťáva [Fri, 15 Mar 2024 15:11:58 +0000 (16:11 +0100)]
Merge branch 'doc-separation' into '6.0'
Separate user and developer documentation
See merge request knot/knot-resolver!1514
Oto Šťáva [Fri, 15 Mar 2024 14:57:38 +0000 (15:57 +0100)]
doc: better headings
Oto Šťáva [Fri, 15 Mar 2024 13:55:44 +0000 (14:55 +0100)]
NEWS update
Oto Šťáva [Fri, 15 Mar 2024 13:24:29 +0000 (14:24 +0100)]
doc: various fixes
Fix cross-references, heading levels, etc.
Aleš Mrázek [Fri, 19 Jan 2024 16:15:06 +0000 (17:15 +0100)]
doc/user: installation update
Oto Šťáva [Fri, 15 Mar 2024 10:45:46 +0000 (11:45 +0100)]
doc/dev/index: add backlink to the user docs + warning
Oto Šťáva [Fri, 15 Mar 2024 10:44:54 +0000 (11:44 +0100)]
doc/dev/build: add missing article
Aleš Mrázek [Mon, 15 Jan 2024 22:19:47 +0000 (23:19 +0100)]
doc: separate user and developer documentation
This separates the documentation into a *blue* user documentation and a
*red* developer documentation, resolving problems where similar sections
collided in search queries, leading users to the advanced Lua config
documentation instead of the preferred declarative config one.
It also visually separates the two parts, so that users who do not wish
to meddle in Lua immediately see that they're somewhere wrong just by
seeing the red colour.
Oto Šťáva [Wed, 13 Mar 2024 09:57:57 +0000 (10:57 +0100)]
Merge branch 'manager-install-config' into '6.0'
python: expose prefix configuration as a module
See merge request knot/knot-resolver!1511
Oto Šťáva [Fri, 1 Mar 2024 09:13:08 +0000 (10:13 +0100)]
python: expose prefix configuration as a module
Vladimír Čunát [Mon, 11 Mar 2024 12:43:22 +0000 (13:43 +0100)]
Merge !1508: lib/dnssec: dnskey nits
Vladimír Čunát [Mon, 11 Mar 2024 06:09:53 +0000 (07:09 +0100)]
docs: fix typo in an option name
Reported on chat:
https://matrix.to/#/!yEaUZSBVTYRlULEqON:gitter.im/$ZXYw2v_QnbgIiP83lNtBiBptiJxqcXPKe4GI47tI86E?via=gitter.im&via=matrix.org&via=kack.it
Vladimír Čunát [Mon, 4 Mar 2024 18:59:54 +0000 (19:59 +0100)]
lib/dnssec nit: reverse order of validating a DNSKEY set
Suggested by Libor Peltan.
Vladimír Čunát [Mon, 4 Mar 2024 18:20:37 +0000 (19:20 +0100)]
lib/dnssec: refactor kr_dnssec_key_*
- The "ksk" and "zsk" in names were confusing,
as they did NOT match the normal terms of KSK and ZSK.
- Add _usable() as a more useful function than _zsk() was.
- don't use 16-bit flag-sets; it's way easier to extract on byte level
- use inline for the simplified code
Aleš Mrázek [Mon, 26 Feb 2024 12:05:54 +0000 (13:05 +0100)]
Merge branch 'forward-auth-port' into '6.0'
forwarding to authoritative servers doesn't allow overriding ports
See merge request knot/knot-resolver!1505
Aleš Mrázek [Fri, 23 Feb 2024 18:22:22 +0000 (19:22 +0100)]
datamodel: forward: custom port and TLS are not supported for authoritative servers
Vladimír Čunát [Fri, 23 Feb 2024 08:13:54 +0000 (09:13 +0100)]
document limitation of forwarding to authoritative servers
Vladimír Čunát [Wed, 21 Feb 2024 14:07:00 +0000 (15:07 +0100)]
Merge !1504: kresctl: timeout for http request
Aleš Mrázek [Wed, 21 Feb 2024 14:05:44 +0000 (15:05 +0100)]
NEWS update
Aleš Mrázek [Tue, 20 Feb 2024 17:29:21 +0000 (18:29 +0100)]
utils/request.py: higher timeout for http request
Aleš Mrázek [Tue, 20 Feb 2024 13:44:54 +0000 (14:44 +0100)]
Merge branch 'python3.12-support' into '6.0'
manager: poetry: support for python 3.12
See merge request knot/knot-resolver!1502
Oto Šťáva [Tue, 20 Feb 2024 10:31:20 +0000 (11:31 +0100)]
manager: update Python versions
Use the oldest supported Python by default again, since that ensures our
compatibility. Also, remove explicit Python versions from README to
avoid duplication - `pyenv install` just installs the versions that are
already in `.python-version`, so let's leverage that.
Aleš Mrázek [Mon, 19 Feb 2024 15:25:56 +0000 (16:25 +0100)]
lint: fixes for new versions of tools
Aleš Mrázek [Mon, 19 Feb 2024 15:16:04 +0000 (16:16 +0100)]
manager: ci: switch to python 3.12
Aleš Mrázek [Mon, 19 Feb 2024 15:14:40 +0000 (16:14 +0100)]
poetry: support for python 3.12
- poetry: upgrade to 1.7.1
- poetry: python 3.7 support removed
- poetry: unnecessary tox tool removed
- poetry: deps version update
Vladimír Čunát [Mon, 19 Feb 2024 09:34:55 +0000 (10:34 +0100)]
Merge !1500: datamodel: support interface names with dashes
Fixes #900
Vladimír Čunát [Mon, 19 Feb 2024 09:02:55 +0000 (10:02 +0100)]
datamodel: support interface names with dashes
Dashes can't be present in normal identifiers in Lua,
so we switch to a different syntactic sugar for the same thing.
Oto Šťáva [Fri, 16 Feb 2024 10:07:09 +0000 (11:07 +0100)]
Merge branch 'manager-nits' into '6.0'
manager: nits, cleanups, fixes
See merge request knot/knot-resolver!1496
Oto Šťáva [Mon, 5 Feb 2024 16:38:18 +0000 (17:38 +0100)]
manager: get rid of old linters and clean-up some warnings
Removes references to pyright, which is not in use anymore. Also removes
warning suppressions and instead properly resolves the warnings.
Oto Šťáva [Mon, 5 Feb 2024 16:03:44 +0000 (17:03 +0100)]
manager: move `build.py` to `build_c_extensions.py`
This fixes a problem on some systems, where the `build.py` file
conflicts with the `build` module required by Poetry.
See <https://github.com/python-poetry/poetry/issues/7576>.
Oto Šťáva [Mon, 5 Feb 2024 16:02:41 +0000 (17:02 +0100)]
manager: have pyenv prefer the latest Python version instead of the oldest
Oto Šťáva [Thu, 15 Feb 2024 12:38:40 +0000 (13:38 +0100)]
Merge branch 'manager-api-cache-clear' into '6.0'
manager: cache-clear command via HTTP API
Closes #876
See merge request knot/knot-resolver!1491
Aleš Mrázek [Thu, 15 Feb 2024 11:10:08 +0000 (12:10 +0100)]
manager/tests: validate JSON output from "kresctl cache clear --json" command
Aleš Mrázek [Fri, 9 Feb 2024 15:05:37 +0000 (16:05 +0100)]
kresctl: config: reduction of duplicate code related to the data parsing
- set: there is no need to specify the input data format
- get: YAML is now the default format for output data
Aleš Mrázek [Fri, 9 Feb 2024 15:05:05 +0000 (16:05 +0100)]
kresctl: cache command: output formats for 'clear' operation
Aleš Mrázek [Fri, 9 Feb 2024 15:04:07 +0000 (16:04 +0100)]
modeling: parsing: data dump from instances of class 'Renamed'
Oto Šťáva [Fri, 9 Feb 2024 09:55:17 +0000 (10:55 +0100)]
manager: use proper JSON values for socket communication
This commit adds a special JSON mode for control sockets.
The mode is activated by issuing a special `__json` command to the
socket, resulting in all Lua objects returned by all subsequent commands
to be serialized into JSONs, prepended by a 32-bit unsigned integer
byte-length value.
This JSON mode is now exclusively utilized by Manager, removing the need
to hackily strip single-quotes from the output and to read the output by
lines. Instead, it can always just read the 32-bit length value and
subsequently the whole JSON-formatted message, which is now
automatically deserialized into a Python object.
Aleš Mrázek [Tue, 6 Feb 2024 13:00:06 +0000 (14:00 +0100)]
'cache-clear' remade to 'cache/clear'
Aleš Mrázek [Mon, 5 Feb 2024 15:15:58 +0000 (16:15 +0100)]
naming: replacing 'kids' suffix with 'kresids' for clarification
Aleš Mrázek [Mon, 29 Jan 2024 15:42:18 +0000 (16:42 +0100)]
doc: cache clearing
Aleš Mrázek [Mon, 29 Jan 2024 14:19:58 +0000 (15:19 +0100)]
manager/tests: simple test for /cache-clear API endpoint
Aleš Mrázek [Mon, 29 Jan 2024 14:09:28 +0000 (15:09 +0100)]
doc/manager-client.rst: 'cache-clear' command added
Aleš Mrázek [Mon, 22 Jan 2024 20:41:31 +0000 (21:41 +0100)]
api: cache-clear: validate data, render lua and send cmd
Aleš Mrázek [Mon, 22 Jan 2024 20:36:46 +0000 (21:36 +0100)]
datamodel: schema and template for cache-clear command
Aleš Mrázek [Mon, 22 Jan 2024 13:37:36 +0000 (14:37 +0100)]
api: added cache-clear route
Aleš Mrázek [Mon, 22 Jan 2024 13:02:00 +0000 (14:02 +0100)]
datamodel: moving the main jinja template loader to the templates dir
Aleš Mrázek [Mon, 22 Jan 2024 12:57:10 +0000 (13:57 +0100)]
controller: moving workers registration helpers out of the statistics module
Aleš Mrázek [Tue, 14 Nov 2023 13:04:29 +0000 (14:04 +0100)]
kresctl: 'cache-clear' command created
Vladimír Čunát [Tue, 13 Feb 2024 13:17:57 +0000 (14:17 +0100)]
Merge branch 'release-6.0.6' into 6.0
Vladimír Čunát [Tue, 13 Feb 2024 13:05:13 +0000 (14:05 +0100)]
Release 6.0.6
Vladimír Čunát [Tue, 13 Feb 2024 13:17:07 +0000 (14:17 +0100)]
AUTHORS update
Vladimír Čunát [Tue, 13 Feb 2024 13:09:56 +0000 (14:09 +0100)]
Merge !1497: lib/dnssec: allow validating some RRsets around 64 KiB size
Vladimír Čunát [Tue, 6 Feb 2024 08:41:04 +0000 (09:41 +0100)]
lib/dnssec: allow validating some RRsets around 64 KiB size
- only with libknot >= 3.4 though (which is not released yet)
- use stack instead of static buffer (saves RAM; see code comment)
Vladimír Čunát [Tue, 13 Feb 2024 12:32:32 +0000 (13:32 +0100)]
NEWS for 6.0.6
Vladimír Čunát [Tue, 13 Feb 2024 12:12:41 +0000 (13:12 +0100)]
Merge branch 'master' into dos-feb13-6.0
There were some nontrivial conflicts to resolve, NEWS + the line
ctx->vld_limit_crypto = KR_VLD_LIMIT_CRYPTO_DEFAULT;
(I had this resolution prepared for a long time.)
Aleš Mrázek [Tue, 13 Feb 2024 09:08:04 +0000 (10:08 +0100)]
release 5.7.1
Vladimír Čunát [Tue, 13 Feb 2024 11:43:16 +0000 (12:43 +0100)]
Merge: mitigate CVE-2023-50387 "KeyTrap"
DNSSEC verification complexity could be exploited to exhaust CPU resources and stall DNS resolvers.
Solution boils down mainly to limiting crypto-validations per packet.
Vladimír Čunát [Mon, 1 Jan 2024 15:25:05 +0000 (16:25 +0100)]
update NEWS with KeyTrap
in a separate commit, as it will tend to conflict if patching
Vladimír Čunát [Tue, 16 Jan 2024 06:35:20 +0000 (07:35 +0100)]
mitigate KeyTrap DoS = CVE-2023-50387
Improve: don't retry in this case.
Vladimír Čunát [Mon, 1 Jan 2024 15:21:10 +0000 (16:21 +0100)]
mitigate KeyTrap DoS = CVE-2023-50387
Vladimír Čunát [Mon, 1 Jan 2024 15:05:46 +0000 (16:05 +0100)]
lib/resolve kr_request_set_extended_error(): tweak priorities
Keep the first error in case priorities are equal.
At least with the current KeyTrap topic that should work better,
but blaming a single error is alchemy anyway, at least in some cases.
Vladimír Čunát [Sat, 30 Dec 2023 08:20:56 +0000 (09:20 +0100)]
lib/dnssec kr_rrset_validate_with_key(): deduplicate cleanup
Vladimír Čunát [Tue, 13 Feb 2024 08:46:09 +0000 (09:46 +0100)]
Merge CVE-2023-50868: NSEC3 closest encloser proof can exhaust CPU
Vladimír Čunát [Mon, 12 Feb 2024 13:06:28 +0000 (14:06 +0100)]
Merge branch 'master' into 6.0
There were some conflicts with !1495
Vladimír Čunát [Mon, 12 Feb 2024 10:30:50 +0000 (11:30 +0100)]
validator: compatibility with older libknot versions
The value is in IANA registry, so it's very constant anyway.
Vladimír Čunát [Mon, 12 Feb 2024 10:23:42 +0000 (11:23 +0100)]
add NEWS for NSEC3 mitigations from the previous few commits
Vladimír Čunát [Mon, 12 Feb 2024 10:16:47 +0000 (11:16 +0100)]
validator: refuse to validate answers with more than 8 NSEC3 records
Vladimír Čunát [Mon, 12 Feb 2024 10:16:37 +0000 (11:16 +0100)]
validator: limit the amount of work on SHA1 in NSEC3 proofs
Vladimír Čunát [Sun, 11 Feb 2024 09:00:32 +0000 (10:00 +0100)]
lib/cache: limit the amount of work on SHA1
That's when searching NSEC3 aggressive cache.
Vladimír Čunát [Tue, 2 Jan 2024 10:18:31 +0000 (11:18 +0100)]
validator: similarly also limit excessive NSEC3 salt length
Limit combination of iterations and salt length, based on estimated
expense of the computation. Note that the result only differs for
salt length > 44 which is rather nonsensical and very rare:
https://chat.dns-oarc.net/community/pl/h58qx9sjkbgt9dajb7x988p78a
Vladimír Čunát [Tue, 2 Jan 2024 09:05:28 +0000 (10:05 +0100)]
validator: lower the NSEC3 iteration limit (150 -> 50)
Also done by BIND9 >= 9.19.19:
https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/8515
The latest real-life measurements show that values above 50 are rare:
https://chat.dns-oarc.net/community/pl/aadp9wwrp7g7ux1b8chbzebmze
Jakub Ružička [Tue, 6 Feb 2024 15:00:44 +0000 (16:00 +0100)]
Merge branch 'pkg-bionic' into 'master'
pkg/distro/deb: fix doc build for Ubuntu 18.04
See merge request knot/knot-resolver!1495
Jakub Ružička [Tue, 6 Feb 2024 13:32:56 +0000 (14:32 +0100)]
pkg/distro/deb: fix doc build for Ubuntu 18.04
Due to mysterious reasons, Ubuntu 18.04 ARM builds doesn't invoke
dh_installinfo (even though amd64 does).
Merge knot-resolver-doc.info into knot-resolver-doc.docs for
compatibility.
Jakub Ružička [Mon, 5 Feb 2024 17:10:21 +0000 (18:10 +0100)]
distro/pkg/deb: bump debhelper compat to 11
Oldest supported distro requiring 11 is Ubuntu 18.04 Bionic Beaver.
Vladimír Čunát [Tue, 6 Feb 2024 07:55:25 +0000 (08:55 +0100)]
libknot 3.4 compat
This extends the new 5.x commit
673c8d2b56b6 .
Now I can build fine against knot-dns master again.
Vladimír Čunát [Tue, 6 Feb 2024 11:41:30 +0000 (12:41 +0100)]
Merge branch 'master' into 6.0
Vladimír Čunát [Tue, 6 Feb 2024 11:40:35 +0000 (12:40 +0100)]
Merge !1494: compatibility with libknot's master (3.4 WIP)
Vladimír Čunát [Tue, 6 Feb 2024 07:46:34 +0000 (08:46 +0100)]
compatibility with libknot's master (3.4 WIP)
I'm adding this as a function, as in knot-resolver 6.x we have
one more place where it is used, and I find this more readable.
Vladimír Čunát [Sat, 3 Feb 2024 17:28:27 +0000 (18:28 +0100)]
Merge !1493: distro/pkg/deb: depend on python3, not python3-all
Jakub Ružička [Tue, 30 Jan 2024 14:03:20 +0000 (15:03 +0100)]
distro/pkg/deb: depend on python3, not python3-all
This fixes build failures on Ubuntu 24.04 where python3.11
and python3.12 co-exist.
Aleš Mrázek [Fri, 26 Jan 2024 16:07:55 +0000 (17:07 +0100)]
Merge branch 'manager-stats-fixes' into '6.0'
manager: fixes for metrics/stats
See merge request knot/knot-resolver!1492
Aleš Mrázek [Fri, 26 Jan 2024 12:57:47 +0000 (13:57 +0100)]
manager/kresd_controller/interface.py: register only kresd workers for metrics
Aleš Mrázek [Fri, 26 Jan 2024 12:05:13 +0000 (13:05 +0100)]
manager/statistics.py: instance_id fix
Vladimír Čunát [Fri, 19 Jan 2024 12:58:04 +0000 (13:58 +0100)]
Merge !1490: manager/tests/packaging: More verbose systemd_service tests
Oto Šťáva [Thu, 18 Jan 2024 19:05:40 +0000 (20:05 +0100)]
manager/tests/packaging: More verbose systemd_service tests
Oto Šťáva [Mon, 15 Jan 2024 21:52:56 +0000 (22:52 +0100)]
Merge remote-tracking branch 'origin/master' into doc-logo-manual-colors-6
Oto Šťáva [Mon, 15 Jan 2024 20:57:35 +0000 (21:57 +0100)]
Merge branch 'doc-logo-manual-colors-5' into 'master'
doc: adjust colors according to the logo manual
See merge request knot/knot-resolver!1489
Oto Šťáva [Mon, 15 Jan 2024 19:11:13 +0000 (20:11 +0100)]
doc: adjust colors according to the logo manual
Vladimír Čunát [Mon, 15 Jan 2024 14:00:16 +0000 (15:00 +0100)]
Merge !1481: meson.build: install and search directories adjustments
Vladimír Čunát [Mon, 15 Jan 2024 13:41:02 +0000 (14:41 +0100)]
NEWS: add a line about run_dir
Oto Šťáva [Fri, 5 Jan 2024 16:54:41 +0000 (17:54 +0100)]
meson.build: conditional branching on run_dir
This should, to the best of our knowledge, give us the correct run_dir
on Linux, macOS and BSDs.
Kirill A. Korinsky [Fri, 5 Jan 2024 15:38:01 +0000 (16:38 +0100)]
meson.build: make /run dir relative to install prefix
Kirill A. Korinsky [Fri, 5 Jan 2024 14:48:29 +0000 (15:48 +0100)]
meson.build: respect pkgconfig libdir
Oto Šťáva [Mon, 15 Jan 2024 09:57:05 +0000 (10:57 +0100)]
Merge remote-tracking branch 'origin/master' into 6.0
Oto Šťáva [Mon, 15 Jan 2024 09:54:55 +0000 (10:54 +0100)]
Merge branch 'sonarcloud-5-update' into 'master'
ci/images/debian-11: update sonarcloud to version 5
See merge request knot/knot-resolver!1488
Oto Šťáva [Mon, 15 Jan 2024 09:38:12 +0000 (10:38 +0100)]
ci/images/debian-11: update sonarcloud to version 5
Old version caused failures due to unsupported Java version 11.
Vladimír Čunát [Sun, 14 Jan 2024 08:46:37 +0000 (09:46 +0100)]
Merge !1487: Update links to documentation