Vladimír Čunát [Thu, 8 Jan 2026 11:38:06 +0000 (12:38 +0100)]
meson: fix linking with jemalloc
This is a partial revert of a13235612644
which haven't reached any tags, fortunately.
I'm not sure why this breaks the configure phase in my case
> meson.build:171:33: ERROR: C shared library 'jemalloc' not found
but I looked properly into docs and it wouldn't do what we wanted anyway:
https://mesonbuild.com/Reference-manual_returned_compiler.html#find_library_static
Vladimír Čunát [Sun, 21 Dec 2025 12:10:20 +0000 (13:10 +0100)]
cache packet_ttl(): fix wrong TTL in some cases, typically 32768
A notable case is when authoritative server incorrectly sends
a reply without any record but with EDNS.
For the OPT, the TTL field contains extended-error, EDNS version,
DO bit and mandatorily zeroed bits. As extended-error isn't usually
set by authoritative servers outside SERVFAIL, and EDNS version
is just 1 so far, we'd end up with TTL either 32768 (DO=0) or with
a value clamped by maximum TTL (86400 by default).
Vladimír Čunát [Sat, 6 Dec 2025 12:59:29 +0000 (13:59 +0100)]
cache test: adjust conditions on cache usage
The KRU-based garbage collection reduced the LMDB size a bit
for a particular overall cache size setting.
Apple Silicon uses 16 KiB pages instead of the usual 4 KiB,
so the usage is a bit shifted and that's why we didn't notice earlier
(though before the KRU GC we adjusted in commit adaac913c5)
For example failure, see "not ok" lines in
https://cache.nixos.org/log/1452wsll1fxh38p0fbqa0vw1p7ki6v55-knot-resolver_6-6.0.17.drv
Vladimír Čunát [Wed, 3 Dec 2025 13:33:34 +0000 (14:33 +0100)]
modules/experimental_dot_auth: fix copy&paste error in meson
There's no ./static dir to even install.
Apparently this snippet came from modules/http.
Discovered thanks to meson reporting:
NOTICE: Future-deprecated features used:
* 0.60.0: {'install_subdir with empty directory'}
Vladimír Čunát [Tue, 6 Dec 2022 18:54:43 +0000 (19:54 +0100)]
meson: use summary()
https://mesonbuild.com/Reference-manual_functions.html#summary
- has nicer output
- less code in meson files
- allows defining summary parts closer to where they originate
Also short pieces of meson code are moved around.
I'm not sure how much info to put into those summaries;
this commit keeps the amount about the same.
Also note that (while not documented in meson)
a "User defined options" is appended, so the summary()
may end up repeating entries from that section.
Vladimír Čunát [Tue, 6 Dec 2022 17:38:57 +0000 (18:38 +0100)]
meson minimal version: 0.49 -> 0.53
This gets rid of a warning * 0.52.0: {'priority arg in test'}
There's still Ubuntu 20.04 with meson 0.53.2,
though its standard support ended a few months ago.
Debian 11 with meson 0.56.2 is similar in this respect.
Still well supported: RHEL 9 derivatives with meson 0.63.3
and Ubuntu 22.04 with meson 0.61.2.
Vladimír Čunát [Mon, 8 Dec 2025 12:55:13 +0000 (13:55 +0100)]
ci: switch lint:tidy from Arch to Debian 13
The problem was that in Arch the clang-tidy package
updates at random moments, so we have to resolve
the issues when doing urelated refreshes of CI images.
Aleš Mrázek [Fri, 5 Dec 2025 16:56:19 +0000 (17:56 +0100)]
utils/modeling: support for annotations in python3.14
PEP 649 & PEP 749: Deferred evaluation of annotations
The annotations on classes(ConfigSchema classes in our case) are no longer evaluated eagerly. They are evaluated only when necessary.
Vladimír Čunát [Mon, 1 Dec 2025 11:24:30 +0000 (12:24 +0100)]
doc /logging/groups: document the three missing groups
In particular, I was now interested in `cache-gc`
and incorrectly assumed that it's merged with `cache`
(the C code didn't help, as they appear merged on that level).
It seemed to bring more complexity than benefit.
In many parts this meant revert to code before a few commits.
It's slightly tricky that qry or req may be NULL in some cases,
but I believe I've caught all of them by conditions, and moreover
they're cases where it doesn't make sense to update kr_cache_top_*
Vladimír Čunát [Tue, 5 Aug 2025 08:59:57 +0000 (10:59 +0200)]
lib/cache/top.h: avoid issues with inclusion in C++
kru.h would be a bit complicated to adapt, so let's avoid it.
I don't think uint32_t as return price will be an issue,
though we might... e.g. add a static_assert() into top.c