]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
2 years agoscripts/kresd-dbg.sh: auto-detect install prefix, change KRDBG_SCRIPT_FILE to KRDBG_W... kresd-dbg-script
Oto Šťáva [Wed, 22 Feb 2023 07:44:18 +0000 (08:44 +0100)] 
scripts/kresd-dbg.sh: auto-detect install prefix, change KRDBG_SCRIPT_FILE to KRDBG_WORKSPACE

2 years agoscripts/kresd-dbg.sh: fix Massif and add Callgrind support
Oto Šťáva [Wed, 8 Feb 2023 09:17:12 +0000 (10:17 +0100)] 
scripts/kresd-dbg.sh: fix Massif and add Callgrind support

2 years agoscripts/kresd-dbg.sh: add Vim debugging option
Oto Šťáva [Wed, 23 Nov 2022 08:57:34 +0000 (09:57 +0100)] 
scripts/kresd-dbg.sh: add Vim debugging option

2 years agoscripts: add kresd-dbg.sh convenience script for debugging
Oto Šťáva [Wed, 9 Nov 2022 11:57:03 +0000 (12:57 +0100)] 
scripts: add kresd-dbg.sh convenience script for debugging

2 years agoMerge !1386: lib/utils: fix timestamp format in dumps of records obs-knot-resolver-es11k1/deployments/2454 obs-knot-resolver-es11k1/deployments/2455 obs-knot-resolver-es11k1/deployments/2456 obs-knot-resolver-es11k1/deployments/2457
Vladimír Čunát [Sun, 26 Feb 2023 15:38:31 +0000 (16:38 +0100)] 
Merge !1386: lib/utils: fix timestamp format in dumps of records

2 years agolib/utils: fix timestamp format in dumps of records
Vladimír Čunát [Mon, 13 Feb 2023 15:59:11 +0000 (16:59 +0100)] 
lib/utils: fix timestamp format in dumps of records

The debug dumps of packets used UNIX timestamps (in RRSIG validity)
instead of the customary human stamps.
This was an unintentional regression of 0555828e, i.e. since v5.4.1

I looked again at all other differences from default kdig style,
and the only ones are that we don't show class and don't do IDN.
(both seem suitable here)

2 years agoMerge !1387: ci: fix macOS builds obs-knot-resolver-es11k1/deployments/2450 obs-knot-resolver-es11k1/deployments/2451 obs-knot-resolver-es11k1/deployments/2452 obs-knot-resolver-es11k1/deployments/2453
Vladimír Čunát [Wed, 22 Feb 2023 11:18:14 +0000 (12:18 +0100)] 
Merge !1387: ci: fix macOS builds

2 years agoci: fix macOS builds
Vladimír Čunát [Wed, 22 Feb 2023 10:44:10 +0000 (11:44 +0100)] 
ci: fix macOS builds

Let's specify more of the dependencies explicitly.
I suspect it was pkg-config that was missing;
https://github.com/CZ-NIC/knot-resolver/actions/runs/4241689540/jobs/7372234570

2 years agoMerge !1383: ci: leap < 15.4 are dead obs-knot-resolver-es11k1/deployments/2436 obs-knot-resolver-es11k1/deployments/2437 obs-knot-resolver-es11k1/deployments/2438 obs-knot-resolver-es11k1/deployments/2439 obs-knot-resolver-es11k1/deployments/2440 obs-knot-resolver-es11k1/deployments/2441 obs-knot-resolver-es11k1/deployments/2442 obs-knot-resolver-es11k1/deployments/2443 obs-knot-resolver-es11k1/deployments/2444 obs-knot-resolver-es11k1/deployments/2445 obs-knot-resolver-es11k1/deployments/2446 obs-knot-resolver-es11k1/deployments/2447 obs-knot-resolver-es11k1/deployments/2448 obs-knot-resolver-es11k1/deployments/2449
Vladimír Čunát [Wed, 8 Feb 2023 09:14:00 +0000 (10:14 +0100)] 
Merge !1383: ci: leap < 15.4 are dead

2 years agoci: leap < 15.4 are dead
Vladimír Čunát [Mon, 6 Feb 2023 14:38:46 +0000 (15:38 +0100)] 
ci: leap < 15.4 are dead

These packaging tests are dying anyway;
the manager branch reworked them.
So at least the breakages won't be shown in red until then.

https://gitlab.nic.cz/knot/knot-resolver/-/jobs/852665
https://build.opensuse.org/request/show/1050454

obs:leap15 after updating fails later in the vagrant step though:
https://gitlab.nic.cz/knot/knot-resolver/-/jobs/852799

2 years agoMerge !1378: tests/pytests: quality-of-life improvements and notes obs-knot-resolver-es11k1/deployments/2429 obs-knot-resolver-es11k1/deployments/2430 obs-knot-resolver-es11k1/deployments/2431 obs-knot-resolver-es11k1/deployments/2432 obs-knot-resolver-es11k1/deployments/2434 obs-knot-resolver-es11k1/deployments/2435
Vladimír Čunát [Thu, 2 Feb 2023 09:41:16 +0000 (10:41 +0100)] 
Merge !1378: tests/pytests: quality-of-life improvements and notes

2 years agotests/pytests: quality-of-life improvements and notes
Oto Šťáva [Thu, 26 Jan 2023 07:45:24 +0000 (08:45 +0100)] 
tests/pytests: quality-of-life improvements and notes

Added the option to run `kresd` inside `pytests` under `valgrind` and
`rr`, which can help with debugging. Also added a clarifying note that I
personally would have liked to have while exploring this.

2 years agoMerge !1382: tests/pytests: adapt to stricter handling of trailing bytes obs-knot-resolver-es11k1/deployments/2422 obs-knot-resolver-es11k1/deployments/2423 obs-knot-resolver-es11k1/deployments/2424 obs-knot-resolver-es11k1/deployments/2425 obs-knot-resolver-es11k1/deployments/2426 obs-knot-resolver-es11k1/deployments/2427 obs-knot-resolver-es11k1/deployments/2428
Vladimír Čunát [Thu, 26 Jan 2023 18:02:42 +0000 (19:02 +0100)] 
Merge !1382: tests/pytests: adapt to stricter handling of trailing bytes

2 years agotests/pytests: adapt to stricter handling of trailing bytes
Vladimír Čunát [Thu, 26 Jan 2023 11:47:04 +0000 (12:47 +0100)] 
tests/pytests: adapt to stricter handling of trailing bytes

Since commit a0cbbde1 we don't ignore trailing bytes in queries.

2 years agoMerge branch 'release-5.6.0' into 'master' obs-knot-resolver-8xyvhu/deployments/2420 obs-knot-resolver-8xyvhu/deployments/2421 obs-knot-resolver-kv62s6/deployments/2418 v5.6.0
Aleš Mrázek [Thu, 26 Jan 2023 17:01:18 +0000 (18:01 +0100)] 
Merge branch 'release-5.6.0' into 'master'

release 5.6.0

See merge request knot/knot-resolver!1381

2 years agoci: allow failure for bad OBS distrotest jobs
Vladimír Čunát [Thu, 26 Jan 2023 16:07:01 +0000 (17:07 +0100)] 
ci: allow failure for bad OBS distrotest jobs

They've been failing for many months, e.g. see
https://gitlab.nic.cz/knot/knot-resolver/-/pipelines/104497
This way it at least won't be confusing by showing red in CI.

2 years agoAUTHORS: .mailmap update
Aleš Mrázek [Thu, 26 Jan 2023 13:51:29 +0000 (14:51 +0100)] 
AUTHORS: .mailmap update

2 years agorelease 5.6.0 obs-knot-resolver-bs4hbr/deployments/2417
Aleš Mrázek [Thu, 26 Jan 2023 12:21:55 +0000 (13:21 +0100)] 
release 5.6.0

2 years agoMerge branch 'reply-errors' into 'master'
Aleš Mrázek [Thu, 26 Jan 2023 12:17:00 +0000 (13:17 +0100)] 
Merge branch 'reply-errors' into 'master'

avoid excessive TCP reconnections in some cases

See merge request knot/knot-resolver!1380

2 years agoNEWS for the past two commits
Vladimír Čunát [Mon, 23 Jan 2023 11:15:47 +0000 (12:15 +0100)] 
NEWS for the past two commits

2 years agodaemon/io: penalize servers that close without reply
Vladimír Čunát [Thu, 19 Jan 2023 17:54:11 +0000 (18:54 +0100)] 
daemon/io: penalize servers that close without reply

2 years agodaemon/worker: call server_selection.error() more
Vladimír Čunát [Thu, 19 Jan 2023 14:45:09 +0000 (15:45 +0100)] 
daemon/worker: call server_selection.error() more

On most fundamental issues like DNS message not parsing,
we did not call this.  Selection needs such information.

2 years agoMerge !1379: tests/integration/deckard: update to version with --forked
Vladimír Čunát [Thu, 26 Jan 2023 09:57:46 +0000 (10:57 +0100)] 
Merge !1379: tests/integration/deckard: update to version with --forked

2 years agotests/integration/deckard: update to version with --forked
Oto Šťáva [Thu, 26 Jan 2023 08:27:07 +0000 (09:27 +0100)] 
tests/integration/deckard: update to version with --forked

2 years agoMerge !1371: predict: fully deactivate prediction with `period = 0` obs-knot-resolver-es11k1/deployments/2382 obs-knot-resolver-es11k1/deployments/2383 obs-knot-resolver-es11k1/deployments/2384 obs-knot-resolver-es11k1/deployments/2385 obs-knot-resolver-es11k1/deployments/2386 obs-knot-resolver-es11k1/deployments/2387 obs-knot-resolver-es11k1/deployments/2388 obs-knot-resolver-es11k1/deployments/2389 obs-knot-resolver-es11k1/deployments/2390 obs-knot-resolver-es11k1/deployments/2391 obs-knot-resolver-es11k1/deployments/2392 obs-knot-resolver-es11k1/deployments/2393 obs-knot-resolver-es11k1/deployments/2394 obs-knot-resolver-es11k1/deployments/2395 obs-knot-resolver-es11k1/deployments/2396 obs-knot-resolver-es11k1/deployments/2397 obs-knot-resolver-es11k1/deployments/2398 obs-knot-resolver-es11k1/deployments/2399 obs-knot-resolver-es11k1/deployments/2400 obs-knot-resolver-es11k1/deployments/2401 obs-knot-resolver-es11k1/deployments/2402 obs-knot-resolver-es11k1/deployments/2403 obs-knot-resolver-es11k1/deployments/2404 obs-knot-resolver-es11k1/deployments/2405 obs-knot-resolver-es11k1/deployments/2406 obs-knot-resolver-es11k1/deployments/2407 obs-knot-resolver-es11k1/deployments/2408 obs-knot-resolver-es11k1/deployments/2409 obs-knot-resolver-es11k1/deployments/2410 obs-knot-resolver-es11k1/deployments/2411 obs-knot-resolver-es11k1/deployments/2412 obs-knot-resolver-es11k1/deployments/2413 obs-knot-resolver-es11k1/deployments/2414 obs-knot-resolver-es11k1/deployments/2415 obs-knot-resolver-es11k1/deployments/2416
Vladimír Čunát [Thu, 22 Dec 2022 15:06:06 +0000 (16:06 +0100)] 
Merge !1371: predict: fully deactivate prediction with `period = 0`

2 years agopredict: fully deactivate prediction with `period = 0`
Vladimír Čunát [Thu, 22 Dec 2022 12:58:53 +0000 (13:58 +0100)] 
predict: fully deactivate prediction with `period = 0`

That setting is recommended by documentation but it would still leave
the timer triggering repeatedly.  Maybe it didn't cause any practical
difference, but it was unnecessary and possibly confusing.

2 years agoMerge !1368: Copyright notices: remove years and replace e-mail obs-knot-resolver-es11k1/deployments/2379 obs-knot-resolver-es11k1/deployments/2380 obs-knot-resolver-es11k1/deployments/2381
Vladimír Čunát [Mon, 19 Dec 2022 09:07:28 +0000 (10:07 +0100)] 
Merge !1368: Copyright notices: remove years and replace e-mail

2 years agoCopyright notices: remove years and replace e-mail
Oto Šťáva [Mon, 12 Dec 2022 09:34:23 +0000 (10:34 +0100)] 
Copyright notices: remove years and replace e-mail

2 years agoMerge !1369: NEWS + doc about TTL: forgotten minor tweaks obs-knot-resolver-es11k1/deployments/2373 obs-knot-resolver-es11k1/deployments/2374 obs-knot-resolver-es11k1/deployments/2375 obs-knot-resolver-es11k1/deployments/2376 obs-knot-resolver-es11k1/deployments/2377 obs-knot-resolver-es11k1/deployments/2378
Vladimír Čunát [Tue, 13 Dec 2022 16:20:52 +0000 (17:20 +0100)] 
Merge !1369: NEWS + doc about TTL: forgotten minor tweaks

2 years agoNEWS + doc about TTL: forgotten minor tweaks
Vladimír Čunát [Thu, 14 Jul 2022 09:31:25 +0000 (11:31 +0200)] 
NEWS + doc about TTL: forgotten minor tweaks

2 years agoMerge !1323: TTL tweaks
Vladimír Čunát [Tue, 13 Dec 2022 11:56:59 +0000 (12:56 +0100)] 
Merge !1323: TTL tweaks

Closes #127 and #736

2 years agoNEWS + doc about TTL: apply changes from previous commits
Vladimír Čunát [Thu, 14 Jul 2022 09:31:25 +0000 (11:31 +0200)] 
NEWS + doc about TTL: apply changes from previous commits

(and minor other changes)

2 years agoTTL bounds: improve the logic
Vladimír Čunát [Thu, 14 Jul 2022 08:53:27 +0000 (10:53 +0200)] 
TTL bounds: improve the logic

- apply to first (uncached) answer already
- don't extend over signature validity

Nit: the tests were using too high TTL (RFCs disallow the "sign bit").
It was working because (manual) cache-insertion was applying bounds,
but now the bounds don't get applied anymore, so it would fail.

2 years agocache.max_ttl(): lower the default from six days to one day
Vladimír Čunát [Mon, 28 Feb 2022 18:21:04 +0000 (19:21 +0100)] 
cache.max_ttl(): lower the default from six days to one day

Allowing too much seems to have more risk than benefit.  For example,
the 2-day TTL on DS records in .com zone (e.g. Slack issue months ago).

2 years agolib/cache: tweak TTL computation for packets
Vladimír Čunát [Mon, 28 Feb 2022 18:10:16 +0000 (19:10 +0100)] 
lib/cache: tweak TTL computation for packets

When a whole packet is cached (instead of individual RRs),
let's simplify the way the packet's TTL gets computed.

The previous mechanism came from commit 5b383a2bb7,
probably a misunderstanding of:
https://datatracker.ietf.org/doc/html/rfc2308#section-5
Anyway, I see no motivation to do it, and this way we should
get rid of some weird cases where we might extend TTL of some records,
except if they were below the cache.min_ttl() setting (5s default).

2 years agoMerge !1367: docs: run `meson setup` explicitly in build instructions obs-knot-resolver-es11k1/deployments/2370 obs-knot-resolver-es11k1/deployments/2371 obs-knot-resolver-es11k1/deployments/2372
Vladimír Čunát [Sat, 10 Dec 2022 15:43:00 +0000 (16:43 +0100)] 
Merge !1367: docs: run `meson setup` explicitly in build instructions

2 years agodocs: run `meson setup` explicitly in build instructions
Vladimír Čunát [Wed, 7 Dec 2022 12:17:11 +0000 (13:17 +0100)] 
docs: run `meson setup` explicitly in build instructions

Fixing all instances of the same issue on the same docs page.

2 years agodocs: run `meson setup` explicitly in build instructions
Štěpán Balážik [Tue, 6 Dec 2022 14:43:01 +0000 (15:43 +0100)] 
docs: run `meson setup` explicitly in build instructions

This silences the following warning given on newer version of meson:

WARNING: Running the setup command as `meson [options]` instead of
`meson setup [options]` is ambiguous and deprecated.

2 years agoMerge !1365: iterate: no longer accept DNS messages with trailing data obs-knot-resolver-es11k1/deployments/2366 obs-knot-resolver-es11k1/deployments/2367 obs-knot-resolver-es11k1/deployments/2368 obs-knot-resolver-es11k1/deployments/2369
Vladimír Čunát [Tue, 6 Dec 2022 13:28:56 +0000 (14:28 +0100)] 
Merge !1365: iterate: no longer accept DNS messages with trailing data

2 years agoiterate: no longer accept DNS messages with trailing data
Vladimír Čunát [Tue, 6 Dec 2022 11:50:10 +0000 (12:50 +0100)] 
iterate: no longer accept DNS messages with trailing data

We can get stricter here;
with negligible fraction of real-life names regressing.

2 years agodaemon/worker: minor refactoring around knot_pkt_parse()
Vladimír Čunát [Thu, 1 Dec 2022 18:25:57 +0000 (19:25 +0100)] 
daemon/worker: minor refactoring around knot_pkt_parse()

The separate function wasn't really doing anything.
Also add a debug log.

2 years agoMerge !1364: policy.STUB: minor improvements
Vladimír Čunát [Tue, 6 Dec 2022 09:26:45 +0000 (10:26 +0100)] 
Merge !1364: policy.STUB: minor improvements

2 years agopolicy.STUB: avoid copying +dnssec flag from client to upstream
Vladimír Čunát [Tue, 29 Nov 2022 10:40:09 +0000 (11:40 +0100)] 
policy.STUB: avoid copying +dnssec flag from client to upstream

I can't see any motivation for the copying behavior,
and it made caching non-deterministic.

2 years agopolicy.STUB: avoid applying aggressive DNSSEC denial proofs
Vladimír Čunát [Tue, 29 Nov 2022 10:30:32 +0000 (11:30 +0100)] 
policy.STUB: avoid applying aggressive DNSSEC denial proofs

In particular, avoids unintentional NXDOMAIN on grafted subtrees.
Consequently the users can drop 'NO_CACHE' flag and get caching.

2 years agoMerge !1366: policy.DEBUG_IF: don't trigger .REQTRACE unconditionally
Vladimír Čunát [Tue, 6 Dec 2022 09:17:26 +0000 (10:17 +0100)] 
Merge !1366: policy.DEBUG_IF: don't trigger .REQTRACE unconditionally

2 years agopolicy.DEBUG_IF: don't trigger .REQTRACE unconditionally
Vladimír Čunát [Mon, 5 Dec 2022 13:38:45 +0000 (14:38 +0100)] 
policy.DEBUG_IF: don't trigger .REQTRACE unconditionally

I broke this in 54ab3f78 or closely around, so this never worked well
since 5.4.1, and maybe structured logging (5.4.0) had related issues.

2 years agoMerge !1353: add option to link sbin/kresd to jemalloc obs-knot-resolver-es11k1/deployments/2361 obs-knot-resolver-es11k1/deployments/2365
Vladimír Čunát [Wed, 30 Nov 2022 17:11:58 +0000 (18:11 +0100)] 
Merge !1353: add option to link sbin/kresd to jemalloc

2 years agoNEWS, doc: document jemalloc
Vladimír Čunát [Fri, 14 Oct 2022 11:54:36 +0000 (13:54 +0200)] 
NEWS, doc: document jemalloc

2 years agouse jemalloc in CI
Vladimír Čunát [Fri, 7 Oct 2022 13:46:13 +0000 (15:46 +0200)] 
use jemalloc in CI

2 years agodistro/pkg/*: build with jemalloc
Vladimír Čunát [Fri, 7 Oct 2022 12:17:57 +0000 (14:17 +0200)] 
distro/pkg/*: build with jemalloc

2 years agoadd option to link sbin/kresd to jemalloc
Vladimír Čunát [Fri, 7 Oct 2022 12:06:41 +0000 (14:06 +0200)] 
add option to link sbin/kresd to jemalloc

And by default do so iff jemalloc is found.

I chose the simplicity of adding the chosen allocator just
in the single binary.  Other sbin/* don't matter really,
and dynamic libs (e.g. modules) will just follow whoever loaded them.

2 years agoMerge !1362: ci/images: drop the LXC images
Vladimír Čunát [Mon, 21 Nov 2022 12:35:17 +0000 (13:35 +0100)] 
Merge !1362: ci/images: drop the LXC images

2 years agoci/images: drop the LXC images
Vladimír Čunát [Mon, 21 Nov 2022 11:52:55 +0000 (12:52 +0100)] 
ci/images: drop the LXC images

Last use case was dropped in 36b08eb30387,
and I don't expect we'd use this in future anymore.
The "bullseye" in README was clearly a typo (it's the codename for 11).

2 years agoMerge !1360: doc/build.rst nit: add dnsdist as optional dependency
Vladimír Čunát [Tue, 15 Nov 2022 08:50:01 +0000 (09:50 +0100)] 
Merge !1360: doc/build.rst nit: add dnsdist as optional dependency

2 years agodoc/build.rst nit: add dnsdist as optional dependency
Oto Šťáva [Tue, 15 Nov 2022 08:28:11 +0000 (09:28 +0100)] 
doc/build.rst nit: add dnsdist as optional dependency

2 years agoMerge !1356: ci improvements, mainly for respdiff
Vladimír Čunát [Mon, 7 Nov 2022 17:30:01 +0000 (18:30 +0100)] 
Merge !1356: ci improvements, mainly for respdiff

2 years agodoc nit: tweak the link to dnsflagday.net
Vladimír Čunát [Sat, 5 Nov 2022 06:21:43 +0000 (07:21 +0100)] 
doc nit: tweak the link to dnsflagday.net

As the web is now, combination without www doesn't redirect https
(only http).  So let's switch to the final URL; apex is problematic.

2 years agoci respdiff+resperf: make the skipped cases orange
Vladimír Čunát [Thu, 27 Oct 2022 16:08:32 +0000 (18:08 +0200)] 
ci respdiff+resperf: make the skipped cases orange

2 years agoci respdiff+resperf: make them run manually
Vladimír Čunát [Wed, 26 Oct 2022 15:38:49 +0000 (17:38 +0200)] 
ci respdiff+resperf: make them run manually

In that case there's no need to wait for other jobs, too.

2 years agoci: make jobs interruptible by default
Vladimír Čunát [Wed, 26 Oct 2022 16:45:21 +0000 (18:45 +0200)] 
ci: make jobs interruptible by default

We're usually not interested in CI on older commits,
and this default will help cancelling expensive respdiff jobs.

Also add default runner tags to make them less likely
to get underspecified.  For example, each job should choose
one option in the docker/lxc and amd64/arm64 pairs.

2 years agoci pytests: migrate away from LXC runner
Vladimír Čunát [Wed, 26 Oct 2022 15:55:35 +0000 (17:55 +0200)] 
ci pytests: migrate away from LXC runner

This reverts commit 15c1353544be, with some modifications.
On LXC we've had issues with
  FileExistsError: [Errno 17] File exists: '/tmp/pytest-kresd-portdir'
.. which disappear with this commit.  (I don't know how/why.)

2 years agoMerge !1357: doc XDP: update the list of required capabilities
Vladimír Čunát [Thu, 3 Nov 2022 09:04:42 +0000 (10:04 +0100)] 
Merge !1357: doc XDP: update the list of required capabilities

2 years agodoc XDP: update the list of required capabilities
Vladimír Čunát [Thu, 27 Oct 2022 15:31:07 +0000 (17:31 +0200)] 
doc XDP: update the list of required capabilities

We're the same as knotd in this; it evolved a bit
with libknot and kernel versions.  Taken from:
https://www.knot-dns.cz/docs/3.2/singlehtml/#mode-xdp-pre-requisites

2 years agoMerge !1355: daemon/network: fix heap-buffer-overflow in endpoint key generation
Vladimír Čunát [Tue, 25 Oct 2022 07:09:49 +0000 (09:09 +0200)] 
Merge !1355: daemon/network: fix heap-buffer-overflow in endpoint key generation

2 years agodaemon/network: fix heap-buffer-overflow in endpoint key generation
Oto Šťáva [Thu, 20 Oct 2022 11:06:31 +0000 (13:06 +0200)] 
daemon/network: fix heap-buffer-overflow in endpoint key generation

Reproducible by listening on an interface by name, ASAN reports a
heap-buffer-overflow. This was a regression caused by !1286, which did
not account for null-terminators properly.

2 years agoMerge !1349: modules/dns64: add recommendation to also disable DNS64 via IPv4
Vladimír Čunát [Fri, 14 Oct 2022 11:57:03 +0000 (13:57 +0200)] 
Merge !1349: modules/dns64: add recommendation to also disable DNS64 via IPv4

2 years agomodules/dns64: add recommendation to also disable DNS64 via IPv4
Tom Herbers [Sat, 8 Oct 2022 12:43:52 +0000 (14:43 +0200)] 
modules/dns64: add recommendation to also disable DNS64 via IPv4

It's resonable to assume that people would also want to disable DNS64 for
IPv4 source addresses if they only enable it for some IPv6 sources.

Close https://github.com/CZ-NIC/knot-resolver/pull/83

2 years agoMerge !1352: ci nixos-unstable:pkgbuild: fixup recent regression
Vladimír Čunát [Fri, 14 Oct 2022 11:22:50 +0000 (13:22 +0200)] 
Merge !1352: ci nixos-unstable:pkgbuild: fixup recent regression

2 years agoci nixos-unstable:pkgbuild: fixup recent regression
Vladimír Čunát [Fri, 14 Oct 2022 11:16:38 +0000 (13:16 +0200)] 
ci nixos-unstable:pkgbuild: fixup recent regression

https://gitlab.nic.cz/knot/knot-resolver/-/jobs/802541#L272

2 years agoMerge !1348: ci/images/debian-11: drop go
Vladimír Čunát [Mon, 10 Oct 2022 13:59:41 +0000 (15:59 +0200)] 
Merge !1348: ci/images/debian-11: drop go

2 years agoci/images/debian-11: drop go
Vladimír Čunát [Fri, 7 Oct 2022 13:24:00 +0000 (15:24 +0200)] 
ci/images/debian-11: drop go

I don't know how to fix building the image with it.
A few things were tried around different go versions (from -backports).

2 years agoMerge branch 'release-5.5.3' into 'master' obs-knot-resolver-8xyvhu/deployments/2281 obs-knot-resolver-es11k1/deployments/2282 obs-knot-resolver-es11k1/deployments/2284 obs-knot-resolver-es11k1/deployments/2285 obs-knot-resolver-es11k1/deployments/2286 obs-knot-resolver-es11k1/deployments/2287 obs-knot-resolver-es11k1/deployments/2288 obs-knot-resolver-es11k1/deployments/2289 obs-knot-resolver-es11k1/deployments/2290 obs-knot-resolver-es11k1/deployments/2291 obs-knot-resolver-es11k1/deployments/2293 obs-knot-resolver-es11k1/deployments/2294 obs-knot-resolver-es11k1/deployments/2295 obs-knot-resolver-es11k1/deployments/2296 obs-knot-resolver-es11k1/deployments/2297 obs-knot-resolver-kv62s6/deployments/2280 v5.5.3
Aleš Mrázek [Wed, 21 Sep 2022 12:09:25 +0000 (14:09 +0200)] 
Merge branch 'release-5.5.3' into 'master'

release 5.5.3

See merge request knot/knot-resolver!1343

2 years agorelease 5.5.3 obs-knot-resolver-bs4hbr/deployments/2275 obs-knot-resolver-bs4hbr/deployments/2279
Vladimír Čunát [Fri, 16 Sep 2022 11:28:52 +0000 (13:28 +0200)] 
release 5.5.3

2 years agolib/zonecut + iterator: limit large NS sets
Vladimír Čunát [Wed, 17 Aug 2022 14:34:06 +0000 (16:34 +0200)] 
lib/zonecut + iterator: limit large NS sets

It's a mitigation for CVE-2022-40188 and similar DoS attempts.
It's using really trivial approaches, at least for now.

2 years agoMerge !1340: ci macOS: add Knot 3.2 obs-knot-resolver-es11k1/deployments/2249 obs-knot-resolver-es11k1/deployments/2250 obs-knot-resolver-es11k1/deployments/2251 obs-knot-resolver-es11k1/deployments/2252 obs-knot-resolver-es11k1/deployments/2253 obs-knot-resolver-es11k1/deployments/2255 obs-knot-resolver-es11k1/deployments/2256 obs-knot-resolver-es11k1/deployments/2257 obs-knot-resolver-es11k1/deployments/2258 obs-knot-resolver-es11k1/deployments/2259 obs-knot-resolver-es11k1/deployments/2260 obs-knot-resolver-es11k1/deployments/2261 obs-knot-resolver-es11k1/deployments/2262 obs-knot-resolver-es11k1/deployments/2263 obs-knot-resolver-es11k1/deployments/2264 obs-knot-resolver-es11k1/deployments/2265 obs-knot-resolver-es11k1/deployments/2266 obs-knot-resolver-es11k1/deployments/2267 obs-knot-resolver-es11k1/deployments/2268 obs-knot-resolver-es11k1/deployments/2269 obs-knot-resolver-es11k1/deployments/2270 obs-knot-resolver-es11k1/deployments/2271 obs-knot-resolver-es11k1/deployments/2272 obs-knot-resolver-es11k1/deployments/2273 obs-knot-resolver-es11k1/deployments/2274
Vladimír Čunát [Fri, 26 Aug 2022 10:46:42 +0000 (12:46 +0200)] 
Merge !1340: ci macOS: add Knot 3.2

2 years agoci macOS: add Knot 3.2
Oto Šťáva [Fri, 26 Aug 2022 10:46:42 +0000 (12:46 +0200)] 
ci macOS: add Knot 3.2

2 years agoMerge !1339: cache test: loosen conditions on cache usage obs-knot-resolver-es11k1/deployments/2248
Vladimír Čunát [Thu, 25 Aug 2022 19:17:10 +0000 (21:17 +0200)] 
Merge !1339: cache test: loosen conditions on cache usage

2 years agoNEWS: mention config_tests for macOS
Vladimír Čunát [Thu, 25 Aug 2022 19:14:25 +0000 (21:14 +0200)] 
NEWS: mention config_tests for macOS

2 years agocache test: loosen conditions on cache usage
Vladimír Čunát [Thu, 25 Aug 2022 16:02:03 +0000 (18:02 +0200)] 
cache test: loosen conditions on cache usage

This fixes config_tests on aarch64 macOS.
The key difference is that they use 16k pages,
so LMDB space usage also behaves a bit different.

2 years agoMerge !1338: macOS nits obs-knot-resolver-es11k1/deployments/2247
Vladimír Čunát [Wed, 24 Aug 2022 16:04:34 +0000 (18:04 +0200)] 
Merge !1338: macOS nits

2 years agotests/config: skip `freebind` sub-test on macOS
Vladimír Čunát [Wed, 24 Aug 2022 09:51:49 +0000 (11:51 +0200)] 
tests/config: skip `freebind` sub-test on macOS

That option isn't supported there, so the test wouldn't work.
Now the config tests work for me on x86 macOS.

2 years agodaemon/http nit: silence a warning
Vladimír Čunát [Wed, 24 Aug 2022 09:50:14 +0000 (11:50 +0200)] 
daemon/http nit: silence a warning

Enums are more like ints anyway (in standard),
even when drawn from a small subset.

2 years agodaemon/io: log another message if `freebind` isn't supported
Vladimír Čunát [Wed, 24 Aug 2022 08:58:26 +0000 (10:58 +0200)] 
daemon/io: log another message if `freebind` isn't supported

So far the message wasn't pointing to freebind at all:
[net   ] bind to '::1@53' (UDP): Operation not supported

I used preprocessor to avoid duplication and unused warnings.

Another way would be to ignore the freebind option if not supported,
but I think it's better to convince users not to specify it.

2 years agoMerge branch 'release-5.5.2' into 'master' obs-knot-resolver-8xyvhu/deployments/2238 obs-knot-resolver-bs4hbr/deployments/2276 obs-knot-resolver-bs4hbr/deployments/2277 obs-knot-resolver-es11k1/deployments/2239 obs-knot-resolver-es11k1/deployments/2240 obs-knot-resolver-es11k1/deployments/2241 obs-knot-resolver-es11k1/deployments/2242 obs-knot-resolver-es11k1/deployments/2243 obs-knot-resolver-es11k1/deployments/2244 obs-knot-resolver-es11k1/deployments/2245 obs-knot-resolver-es11k1/deployments/2246 obs-knot-resolver-kv62s6/deployments/2237 v5.5.2
Aleš Mrázek [Tue, 16 Aug 2022 11:43:52 +0000 (13:43 +0200)] 
Merge branch 'release-5.5.2' into 'master'

release 5.5.2

See merge request knot/knot-resolver!1337

2 years agoci OBS: replace Ubuntu 21.10 by 22.04 obs-knot-resolver-bs4hbr/deployments/2236
Vladimír Čunát [Tue, 16 Aug 2022 07:46:29 +0000 (09:46 +0200)] 
ci OBS: replace Ubuntu 21.10 by 22.04

21.10 isn't supported anymore, which is probably why it's failing.

2 years agoci OBS: replace Fedora 34 by 36
Vladimír Čunát [Tue, 16 Aug 2022 07:40:06 +0000 (09:40 +0200)] 
ci OBS: replace Fedora 34 by 36

We've already done that on OBS side, which is probably why it's failing.

2 years agorelease 5.5.2
Aleš Mrázek [Mon, 15 Aug 2022 13:52:16 +0000 (15:52 +0200)] 
release 5.5.2

2 years agodoc nit: fix broken link, luacov home moved
Vladimír Čunát [Mon, 15 Aug 2022 09:45:32 +0000 (11:45 +0200)] 
doc nit: fix broken link, luacov home moved

https://github.com/lunarmodules/luacov/issues/99

2 years agoNEWS nit: prefer imperative formulations
Vladimír Čunát [Sun, 14 Aug 2022 15:15:18 +0000 (17:15 +0200)] 
NEWS nit: prefer imperative formulations

We're mostly using those in NEWS and first line of commit messages.
I'm not sure if they're much better than alternatives, but at least
consistency is nice.

2 years agoMerge !1328: daemon/worker: drop caching of kr_request mempools obs-knot-resolver-es11k1/deployments/2226 obs-knot-resolver-es11k1/deployments/2227 obs-knot-resolver-es11k1/deployments/2228 obs-knot-resolver-es11k1/deployments/2229 obs-knot-resolver-es11k1/deployments/2233
Vladimír Čunát [Thu, 11 Aug 2022 09:57:09 +0000 (11:57 +0200)] 
Merge !1328: daemon/worker: drop caching of kr_request mempools

2 years agodaemon/worker: drop caching of kr_request mempools
Vladimír Čunát [Wed, 3 Aug 2022 14:52:01 +0000 (16:52 +0200)] 
daemon/worker: drop caching of kr_request mempools

This caused a huge increase in real memory usage in case of queries
arriving to kresd while being disconnected from internet.
The usage was slowly creeping up, even over 2G.

Interesting past commits: b350d38d and two preceding.

There apparently was no real memory leak.  I assume that reusal of
long-living mempools is risky in terms of memory fragmentation,
though the extent of the issue surprised me very much.
The issue seemed the same with normal glibc and jemalloc.

I generally dislike ad-hoc optimization attempts like these freelists.
Now the allocator can better decide *itself* how to reuse memory.

2 years agodaemon/worker: drop a long unused #define
Vladimír Čunát [Wed, 3 Aug 2022 14:39:02 +0000 (16:39 +0200)] 
daemon/worker: drop a long unused #define

2 years agoMerge !1336: lib/generic/array: avoid quadratic work for long arrays obs-knot-resolver-es11k1/deployments/2224 obs-knot-resolver-es11k1/deployments/2225
Vladimír Čunát [Tue, 9 Aug 2022 07:47:32 +0000 (09:47 +0200)] 
Merge !1336: lib/generic/array: avoid quadratic work for long arrays

2 years agolib/generic/array: avoid quadratic work for long arrays
Vladimír Čunát [Mon, 8 Aug 2022 16:40:15 +0000 (18:40 +0200)] 
lib/generic/array: avoid quadratic work for long arrays

For long arrays we really want to increase their length by a fraction.
Otherwise it will cost lots of CPU.  Doubling seems customary,
though I could imagine e.g. keeping the +50% growth on longest arrays.

I finally got sufficiently angry with this piece of code when debugging
https://forum.turris.cz/t/how-to-debug-a-custom-hosts-file-for-kresd/17449
though in that case it wasn't the main source of inefficiency.

CI: two of the mysterious/bogus warnings around arrays disappeared.

2 years agoMerge !1334: modules/renumber: fix renumber.name behaviour obs-knot-resolver-es11k1/deployments/2223
Vladimír Čunát [Mon, 8 Aug 2022 15:01:45 +0000 (17:01 +0200)] 
Merge !1334: modules/renumber: fix renumber.name behaviour

Fixes #760

2 years agomodules/renumber: fix renumber.name behaviour
Oto Šťáva [Mon, 8 Aug 2022 11:36:22 +0000 (13:36 +0200)] 
modules/renumber: fix renumber.name behaviour

Fixes #760.

Also removes a warning in policy.REROUTE that is no longer true.

2 years agoMerge !1333: lib/log: Coverity Scan nits
Vladimír Čunát [Mon, 8 Aug 2022 14:05:12 +0000 (16:05 +0200)] 
Merge !1333: lib/log: Coverity Scan nits

2 years agolib/log: Coverity Scan nits
Oto Šťáva [Mon, 8 Aug 2022 11:03:32 +0000 (13:03 +0200)] 
lib/log: Coverity Scan nits

Fixes CIDs 355763 and 355764. Also fixes a minor typo.

2 years agoMerge !1332{ ci/images/README: clarify build.sh for Coverity Scan
Vladimír Čunát [Mon, 8 Aug 2022 09:41:24 +0000 (11:41 +0200)] 
Merge !1332{ ci/images/README: clarify build.sh for Coverity Scan

2 years agoci/images/README: clarify usage of build.sh for Coverity Scan
Oto Šťáva [Mon, 8 Aug 2022 07:34:02 +0000 (09:34 +0200)] 
ci/images/README: clarify usage of build.sh for Coverity Scan