Oto Šťáva [Tue, 2 Apr 2024 09:29:29 +0000 (11:29 +0200)]
distro/pkg/rpm: use noreplace for config.yaml
Adds `%config(noreplace)` to `config.yaml`. This prevents the package
from overwriting the user's edited configuration upon update, and
instead adds the new default configuration as a `.rpmnew` file for the
user to potentially consider.
Vladimír Čunát [Fri, 22 Mar 2024 10:56:30 +0000 (11:56 +0100)]
lib/rules: increase default DB size to 2G on 64-bit platforms
The file is sparse, which really is supported by all sane filesystems
nowadays I think. But for 32-bit systems I'm a bit afraid for the
ability to reliably get such a large contiguous mapping in process memory,
so there we take the 500M limit tested in knot-dns:
https://gitlab.nic.cz/knot/knot-dns/-/blob/v3.3.5/src/knot/conf/schema.c#L39
Vladimír Čunát [Fri, 22 Mar 2024 10:45:51 +0000 (11:45 +0100)]
manager: increase startup timeout for processes
In production I believe we can assume that process continuing to work
without bailing out is probably doing something useful, e.g.
in case of kresd it might be preparing a very large rule-set.
Vladimír Čunát [Wed, 6 Mar 2024 11:19:28 +0000 (12:19 +0100)]
daemon/lua: fix on 32-bit systems with 64-bit time_t
This improves the heuristics.
The problem would be detected by meson, but not when cross-compiling,
in which case things would mostly run OK, except some lua code/modules.
Oto Šťáva [Wed, 20 Mar 2024 14:12:56 +0000 (15:12 +0100)]
doc/_static/css: fix anchor colors
The global styling made some anchors misbehave. Since we only want to
recolor the anchors in the content part of the docs, let's properly
target the CSS rules.
Vladimír Čunát [Wed, 20 Mar 2024 09:51:41 +0000 (10:51 +0100)]
lib/rules: fix RPZ if it contains apex NS record
The spec even requires (at least one) NS record in apex
https://datatracker.ietf.org/doc/html/draft-vixie-dns-rpz-00#section-2
but until now the implementation took it as override for the root NS,
which obviously broke resolution (depending on the supplied name/s).
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).
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.
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: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
Vladimír Čunát [Fri, 23 Feb 2024 09:07:35 +0000 (10:07 +0100)]
lib/cache: bump CACHE_VERSION
Ideally we would've done that at once with increasing NSEC3 strictness,
i.e. in 5.7.1 + 6.0.6, as otherwise we could run into some recoverable
assertions until the records got removed or expired.
We at least do the bump now.
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.
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.
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.)