]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
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

2 years agoMerge !1329: README.md: distro updates
Vladimír Čunát [Mon, 8 Aug 2022 09:40:09 +0000 (11:40 +0200)] 
Merge !1329: README.md: distro updates

2 years agoREADME.md: use a working link for Fedora
Vladimír Čunát [Fri, 5 Aug 2022 12:39:40 +0000 (14:39 +0200)] 
README.md: use a working link for Fedora

2 years agoREADME.md: update Ubuntu link from 18.04 to 22.04
Vladimír Čunát [Fri, 5 Aug 2022 12:36:25 +0000 (14:36 +0200)] 
README.md: update Ubuntu link from 18.04 to 22.04

Other LTS than 22.04 have really old versions in the repo (<= 3.2.1),
so better not advertise those at all.

2 years agoREADME.md: add Repology badge
Jakub Jirutka [Thu, 4 Aug 2022 15:45:15 +0000 (17:45 +0200)] 
README.md: add Repology badge

2 years agoREADME.md: add Alpine Linux package to the list
Jakub Jirutka [Thu, 4 Aug 2022 15:44:27 +0000 (17:44 +0200)] 
README.md: add Alpine Linux package to the list

2 years agoMerge !1326: various nits
Vladimír Čunát [Mon, 8 Aug 2022 09:38:26 +0000 (11:38 +0200)] 
Merge !1326: various nits

3 years agodistro: drop tomas.krizek
Vladimír Čunát [Mon, 1 Aug 2022 12:32:52 +0000 (14:32 +0200)] 
distro: drop tomas.krizek

The address won't work anymore, and Jakub says this field isn't needed.

3 years agolib/utils: drop long unused parts
Vladimír Čunát [Fri, 1 Jul 2022 08:33:59 +0000 (10:33 +0200)] 
lib/utils: drop long unused parts

3 years agodrop unused #include lines
Vladimír Čunát [Fri, 1 Jul 2022 07:52:29 +0000 (09:52 +0200)] 
drop unused #include lines

3 years agomodules/dnstap nit: silence a lint:tidy warning
Vladimír Čunát [Wed, 1 Dec 2021 10:36:10 +0000 (11:36 +0100)] 
modules/dnstap nit: silence a lint:tidy warning

https://gitlab.nic.cz/knot/knot-resolver/-/jobs/635837#L219

3 years agoMerge !1325: ci/pkgtest: remove Ubuntu 21.10 obs-knot-resolver-es11k1/deployments/2211 obs-knot-resolver-es11k1/deployments/2212 obs-knot-resolver-es11k1/deployments/2213 obs-knot-resolver-es11k1/deployments/2214 obs-knot-resolver-es11k1/deployments/2215 obs-knot-resolver-es11k1/deployments/2216 obs-knot-resolver-es11k1/deployments/2217 obs-knot-resolver-es11k1/deployments/2218 obs-knot-resolver-es11k1/deployments/2219 obs-knot-resolver-es11k1/deployments/2220 obs-knot-resolver-es11k1/deployments/2221 obs-knot-resolver-es11k1/deployments/2222
Vladimír Čunát [Wed, 27 Jul 2022 09:36:11 +0000 (11:36 +0200)] 
Merge !1325: ci/pkgtest: remove Ubuntu 21.10

3 years agoRevert "ci/pkgtest: switch bad LXC builds to manual start"
Vladimír Čunát [Tue, 26 Jul 2022 16:40:29 +0000 (18:40 +0200)] 
Revert "ci/pkgtest: switch bad LXC builds to manual start"

This reverts commit ac3e7ac72cc347e01660d074dff94edfad2ba9a0.
They have been fixed and seem reliable now.

3 years agoci/pkgtest: remove Ubuntu 21.10
Vladimír Čunát [Tue, 26 Jul 2022 16:26:12 +0000 (18:26 +0200)] 
ci/pkgtest: remove Ubuntu 21.10

It broke down and it isn't relevant anymore.

3 years agoMerge !1309: support (lib)knot 3.2 obs-knot-resolver-es11k1/deployments/2210
Vladimír Čunát [Tue, 26 Jul 2022 16:58:14 +0000 (18:58 +0200)] 
Merge !1309: support (lib)knot 3.2

3 years agoci: add job build-knot32
Vladimír Čunát [Fri, 17 Jun 2022 07:12:20 +0000 (09:12 +0200)] 
ci: add job build-knot32

That way we get at least basic testing before 3.2 is made default in CI.

3 years agoNEWS: now the support for libknot 3.2 should be complete
Vladimír Čunát [Wed, 15 Jun 2022 15:44:38 +0000 (17:44 +0200)] 
NEWS: now the support for libknot 3.2 should be complete

3 years agodaemon: adapt XDP to libknot 3.2
Vladimír Čunát [Wed, 15 Jun 2022 07:30:02 +0000 (09:30 +0200)] 
daemon: adapt XDP to libknot 3.2

3 years agoadapt to libknot 3.2 lower-casing knot_pkt_qname()
Vladimír Čunát [Wed, 15 Jun 2022 08:46:19 +0000 (10:46 +0200)] 
adapt to libknot 3.2 lower-casing knot_pkt_qname()

Our strategy was (and remains) that the in-header QNAME is overwritten
in-place, so most of our code was already (correctly) assuming that
knot_pkt_qname() returns lower-case only.  That simplifies this commit.

3 years agolua bindings: support libknot 3.2
Vladimír Čunát [Wed, 15 Jun 2022 07:26:46 +0000 (09:26 +0200)] 
lua bindings: support libknot 3.2

3 years agoMerge !1317: ci/pkgtest: switch bad LXC builds to manual start obs-knot-resolver-es11k1/deployments/2197 obs-knot-resolver-es11k1/deployments/2198 obs-knot-resolver-es11k1/deployments/2199 obs-knot-resolver-es11k1/deployments/2200 obs-knot-resolver-es11k1/deployments/2201 obs-knot-resolver-es11k1/deployments/2202 obs-knot-resolver-es11k1/deployments/2203 obs-knot-resolver-es11k1/deployments/2204 obs-knot-resolver-es11k1/deployments/2205 obs-knot-resolver-es11k1/deployments/2206 obs-knot-resolver-es11k1/deployments/2207 obs-knot-resolver-es11k1/deployments/2208 obs-knot-resolver-es11k1/deployments/2209
Vladimír Čunát [Wed, 13 Jul 2022 09:34:03 +0000 (11:34 +0200)] 
Merge !1317: ci/pkgtest: switch bad LXC builds to manual start

3 years agoci/pkgtest: switch bad LXC builds to manual start
Vladimír Čunát [Mon, 27 Jun 2022 08:37:13 +0000 (10:37 +0200)] 
ci/pkgtest: switch bad LXC builds to manual start

We've been unable to progress with these failures for some time,
and it's not good to have them red in CI all the time.
Manual start should allow easier testing of future fixes,
without doing the futile runs automatically.

3 years agoMerge !1321: Redirect webserv.lua stdout and stderr to /dev/null
Vladimír Čunát [Wed, 13 Jul 2022 09:04:50 +0000 (11:04 +0200)] 
Merge !1321: Redirect webserv.lua stdout and stderr to /dev/null

Fixes #758

3 years agoRedirect webserv.lua stdout and stderr to /dev/null
Héctor Molinero Fernández [Tue, 12 Jul 2022 19:29:26 +0000 (21:29 +0200)] 
Redirect webserv.lua stdout and stderr to /dev/null

Fixes a regression on Meson 0.57.0 that produces a timeout in config.ta_bootstrap test.

3 years agoMerge !1322: ci: confine docker and macOS jobs to main repository
Vladimír Čunát [Wed, 13 Jul 2022 07:26:03 +0000 (09:26 +0200)] 
Merge !1322: ci: confine docker and macOS jobs to main repository

3 years agoci: confine docker and macOS jobs to main repository
Oto Šťáva [Wed, 13 Jul 2022 06:21:48 +0000 (08:21 +0200)] 
ci: confine docker and macOS jobs to main repository

Some of our CI jobs use project-specific GitLab runners (e.g. requiring
the `dind` tag). The jobs then fail when someone forks the repository
and opens a merge request. This commit confines those jobs to the
`knot/knot-resolver` repository.

3 years agoMerge !1315: hints.add_hosts(): respect comments anywhere in a line obs-knot-resolver-es11k1/deployments/2191 obs-knot-resolver-es11k1/deployments/2192 obs-knot-resolver-es11k1/deployments/2193 obs-knot-resolver-es11k1/deployments/2194 obs-knot-resolver-es11k1/deployments/2195 obs-knot-resolver-es11k1/deployments/2196
Vladimír Čunát [Thu, 7 Jul 2022 17:22:24 +0000 (19:22 +0200)] 
Merge !1315: hints.add_hosts(): respect comments anywhere in a line

3 years agohints.add_hosts(): respect comments anywhere in a line
Vladimír Čunát [Fri, 24 Jun 2022 07:29:38 +0000 (09:29 +0200)] 
hints.add_hosts(): respect comments anywhere in a line

3 years agohints tests: simple check of comment parsing
Vladimír Čunát [Fri, 24 Jun 2022 07:26:31 +0000 (09:26 +0200)] 
hints tests: simple check of comment parsing

3 years agoMerge !1314: daemon/tls: fix a double-free for some cases of policy.TLS_FORWARD obs-knot-resolver-es11k1/deployments/2183 obs-knot-resolver-es11k1/deployments/2184 obs-knot-resolver-es11k1/deployments/2185 obs-knot-resolver-es11k1/deployments/2186 obs-knot-resolver-es11k1/deployments/2187 obs-knot-resolver-es11k1/deployments/2188 obs-knot-resolver-es11k1/deployments/2189 obs-knot-resolver-es11k1/deployments/2190
Vladimír Čunát [Wed, 29 Jun 2022 08:53:40 +0000 (10:53 +0200)] 
Merge !1314: daemon/tls: fix a double-free for some cases of policy.TLS_FORWARD

3 years agodaemon/tls: fix a double-free for some cases of policy.TLS_FORWARD
Oto Šťáva [Thu, 23 Jun 2022 08:14:58 +0000 (10:14 +0200)] 
daemon/tls: fix a double-free for some cases of policy.TLS_FORWARD

The double-free may have happened in some cases when the upstream
resolver was stopped while answering a forwarded query. I was reliably
reproducing it by running resperf on two kresd instances with one forwarded
to the other, and killing the upstream one.

3 years agoMerge !1310: modules/priming: downgrade logs to 'info' level obs-knot-resolver-es11k1/deployments/2181 obs-knot-resolver-es11k1/deployments/2182
Vladimír Čunát [Mon, 27 Jun 2022 08:36:29 +0000 (10:36 +0200)] 
Merge !1310: modules/priming: downgrade logs to 'info' level

3 years agomodules/priming: downgrade logs to 'info' level
Vladimír Čunát [Thu, 16 Jun 2022 08:15:31 +0000 (10:15 +0200)] 
modules/priming: downgrade logs to 'info' level

When kresd starts without working internet connection, these would spam
logs by default every 10 seconds, which doesn't seem useful.

3 years agomodules/priming: don't warn against unloading it
Vladimír Čunát [Thu, 16 Jun 2022 08:12:22 +0000 (10:12 +0200)] 
modules/priming: don't warn against unloading it

I can't see sufficient motivation here.  The cache will be slightly
less ready, but it's not often that you need to contact a root server.

Most importantly, kresd must work well anyway, even with empty cache.
Also, the compiled-in address set of root servers should be quite
accurate - the NS set has never changed, and the last address change
was five years ago with just one of 26 records changing.

3 years agoMerge !1316: nit: daemon/http: remove dead code
Vladimír Čunát [Mon, 27 Jun 2022 07:31:48 +0000 (09:31 +0200)] 
Merge !1316: nit: daemon/http: remove dead code

3 years agonit: daemon/http: remove dead code
Oto Šťáva [Mon, 27 Jun 2022 05:37:58 +0000 (07:37 +0200)] 
nit: daemon/http: remove dead code

3 years agoMerge !1311: daemon/http: improve URI checks obs-knot-resolver-es11k1/deployments/2177 obs-knot-resolver-es11k1/deployments/2178 obs-knot-resolver-es11k1/deployments/2179 obs-knot-resolver-es11k1/deployments/2180
Vladimír Čunát [Thu, 23 Jun 2022 07:39:54 +0000 (09:39 +0200)] 
Merge !1311: daemon/http: improve URI checks

Fixes #746

3 years agodaemon/http: improve URI checks obs-knot-resolver-bs4hbr/deployments/2173
Oto Šťáva [Fri, 17 Jun 2022 08:57:58 +0000 (10:57 +0200)] 
daemon/http: improve URI checks

The `check_uri()` function now only checks that the endpoint is either
`/doh` or `/dns-query`. Parameter checks were moved into
`process_uri_path()` so that the check only takes place for GET
requests. POST requests now do not care about parameters at all.

3 years agoMerge branch 'release-5-5-1' into 'master' obs-knot-resolver-8xyvhu/deployments/2162 obs-knot-resolver-8xyvhu/deployments/2166 obs-knot-resolver-bs4hbr/deployments/2163 obs-knot-resolver-es11k1/deployments/2167 obs-knot-resolver-es11k1/deployments/2168 obs-knot-resolver-es11k1/deployments/2169 obs-knot-resolver-es11k1/deployments/2170 obs-knot-resolver-es11k1/deployments/2172 obs-knot-resolver-es11k1/deployments/2174 obs-knot-resolver-es11k1/deployments/2175 obs-knot-resolver-es11k1/deployments/2176 obs-knot-resolver-kv62s6/deployments/2161 obs-knot-resolver-kv62s6/deployments/2164 obs-knot-resolver-kv62s6/deployments/2165 v5.5.1
Aleš Mrázek [Tue, 14 Jun 2022 07:13:12 +0000 (09:13 +0200)] 
Merge branch 'release-5-5-1' into 'master'

release 5.5.1

See merge request knot/knot-resolver!1308

3 years agoNEWS: date update
Aleš Mrázek [Tue, 14 Jun 2022 06:54:46 +0000 (08:54 +0200)] 
NEWS: date update

3 years agoci/images: git://github.com won't work anymore obs-knot-resolver-bs4hbr/deployments/2158 obs-knot-resolver-bs4hbr/deployments/2159
Vladimír Čunát [Mon, 13 Jun 2022 18:33:22 +0000 (20:33 +0200)] 
ci/images: git://github.com won't work anymore

3 years agoAUTHORS update obs-knot-resolver-bs4hbr/deployments/2157
Aleš Mrázek [Mon, 13 Jun 2022 12:30:04 +0000 (14:30 +0200)] 
AUTHORS update

3 years agorelease 5.5.1
Aleš Mrázek [Mon, 13 Jun 2022 11:40:58 +0000 (13:40 +0200)] 
release 5.5.1

3 years agoMerge !1307: tests/config: improve difference prints of tables obs-knot-resolver-es11k1/deployments/2153 obs-knot-resolver-es11k1/deployments/2154 obs-knot-resolver-es11k1/deployments/2155 obs-knot-resolver-es11k1/deployments/2156 obs-knot-resolver-es11k1/deployments/2160
Vladimír Čunát [Thu, 9 Jun 2022 12:51:54 +0000 (14:51 +0200)] 
Merge !1307: tests/config: improve difference prints of tables

3 years agotests/config: improve difference prints of tables
Vladimír Čunát [Thu, 9 Jun 2022 12:45:57 +0000 (14:45 +0200)] 
tests/config: improve difference prints of tables

3 years agoMerge !1306: renumber: get rid of netmask limitation, now support any netmask
Vladimír Čunát [Thu, 9 Jun 2022 11:42:35 +0000 (13:42 +0200)] 
Merge !1306: renumber: get rid of netmask limitation, now support any netmask

3 years agorenumber: fix incorrect masking of bytes after netmask boundary
Oto Šťáva [Thu, 9 Jun 2022 06:28:02 +0000 (08:28 +0200)] 
renumber: fix incorrect masking of bytes after netmask boundary

(we changed the original fix a bit)

3 years agorenumber: test for arbitrary netmask
Oto Šťáva [Thu, 9 Jun 2022 06:10:48 +0000 (08:10 +0200)] 
renumber: test for arbitrary netmask

3 years agorenumber: get rid of netmask limitation, now support any netmask
cronfy [Sat, 4 Jun 2022 13:48:44 +0000 (17:48 +0400)] 
renumber: get rid of netmask limitation, now support any netmask

(with minor cleanups from vcunat)

3 years agoMerge !1299: tweak inlining
Vladimír Čunát [Thu, 9 Jun 2022 09:20:36 +0000 (11:20 +0200)] 
Merge !1299: tweak inlining

3 years agoci: fixup lint:scan-build
Vladimír Čunát [Tue, 24 May 2022 13:20:52 +0000 (15:20 +0200)] 
ci: fixup lint:scan-build

I have no idea why this one appeared right now (part not touched),
and it does not make sense at all:

../../../lib/utils.c:524:20: warning: Out of bound memory access (accessed memory precedes memory block)
        buf[len_need - 1] = 0;
        ~~~~~~~~~~~~~~~~~~^~~

3 years agotweak inlining
Vladimír Čunát [Tue, 24 May 2022 09:35:14 +0000 (11:35 +0200)] 
tweak inlining

I used -Winline (optimizing, gcc 11 or 12) to gather warnings
about cases that were considered too expensive for inlining.
Some of these probably used not to happen when we were dropping
assertions during preprocessing in -DNDEBUG builds.
This commit mainly improves size of the compiled binary by several KiB.

- queue_head_impl(): optionally (un)inline; not big but in warnings
- queue_pop_impl(): uninline; too complex for my today's eyes
- kr_rand_bytes(): optionally (un)inline
  The inlining potential there comes from calling with a constant.
- kr_straddr(): uninline.  It's never been meant for hot code,
  and this gives us large savings due to deduplicating the static array.
- For some I couldn't see a good resolution due to restrictions in C.

C hint: `static inline` is probably well known;
the other inline combination is well explained at:
https://stackoverflow.com/a/6312813/587396

3 years agoMerge !1298: lib/selection: improve IPv6 avoidance if broken + debug logs
Vladimír Čunát [Thu, 9 Jun 2022 07:22:24 +0000 (09:22 +0200)] 
Merge !1298: lib/selection: improve IPv6 avoidance if broken + debug logs

3 years agolib/selection debug logs: print one more line
Vladimír Čunát [Tue, 24 May 2022 08:36:50 +0000 (10:36 +0200)] 
lib/selection debug logs: print one more line

And that made the "NO6: is KO" line extraneous.
Example in context:
[select][14162.01]   => id: '15271' choosing from addresses: 0 v4 + 1 v6; names to resolve: 6 v4 + 5 v6; force_resolve: 0; NO6: IPv6 is OK
[select][14162.01]   => id: '15271' choosing: 'ns1.p31.dynect.net.'@'2600:2000:2210::31#00053' with timeout 774 ms zone cut: 'amazon.com.'
[select][14162.01]   => id: '15271' updating: 'ns1.p31.dynect.net.'@'2600:2000:2210::31#00053' zone cut: 'amazon.com.' with rtt 316 to srtt: 311 and variance: 89

3 years agolib/selection: improve IPv6 avoidance if broken
Vladimír Čunát [Tue, 24 May 2022 07:02:53 +0000 (09:02 +0200)] 
lib/selection: improve IPv6 avoidance if broken

It was still possible to get into a deadlock here.
https://forum.turris.cz/t/not-connecting-to-applications-like-discord/17111/7
If A records for a NS fell out of cache but AAAA remained,
with probability 1-\epsilon we'd choose an AAAA address
even if IPv6 was considered broken.

I looked at *the whole* no6 strategy again, and I do think that
there are no such holes anymore.  A few percent attempts will still
go over IPv6 even if it's considered broken, but that sounds OK-ish.

3 years agoMerge !1304: tests/packaging: print build_log of failed commands obs-knot-resolver-es11k1/deployments/2150 obs-knot-resolver-es11k1/deployments/2151 obs-knot-resolver-es11k1/deployments/2152
Vladimír Čunát [Mon, 6 Jun 2022 14:10:38 +0000 (16:10 +0200)] 
Merge !1304: tests/packaging: print build_log of failed commands

3 years agotests/packaging: print build_log of failed commands
Oto Šťáva [Wed, 1 Jun 2022 11:34:12 +0000 (13:34 +0200)] 
tests/packaging: print build_log of failed commands

3 years agoMerge !1284: ci: add x86+arm matrices where simple obs-knot-resolver-es11k1/deployments/2148 obs-knot-resolver-es11k1/deployments/2149
Vladimír Čunát [Sat, 4 Jun 2022 13:55:41 +0000 (15:55 +0200)] 
Merge !1284: ci: add x86+arm matrices where simple

3 years agoci docker: make into a x86+arm matrix
Vladimír Čunát [Thu, 7 Apr 2022 18:44:05 +0000 (20:44 +0200)] 
ci docker: make into a x86+arm matrix

No other job can do it, as we don't have docker images ready for that,
and the usual manual workflow won't be well usable with arm64.
We'll need to convert their generation to (manual?) CI schedules.

3 years agoci/pkgtest: make nixos-unstable into a x86+arm matrix
Vladimír Čunát [Thu, 7 Apr 2022 17:29:04 +0000 (19:29 +0200)] 
ci/pkgtest: make nixos-unstable into a x86+arm matrix

Other pkgtest jobs can't do this, as they're designed for LXC
and we don't have an arm+LXC runner.

3 years agoMerge !1305: nits: abort() and #include
Vladimír Čunát [Sat, 4 Jun 2022 13:34:43 +0000 (15:34 +0200)] 
Merge !1305: nits: abort() and #include

3 years agodrop unused #include lines
Vladimír Čunát [Fri, 3 Jun 2022 15:52:25 +0000 (17:52 +0200)] 
drop unused #include lines

https://clangd.llvm.org/design/include-cleaner
Though somehow I'm all the time getting false positives for
"daemon/bindings/impl.h"

3 years agoreplace some occurrences of abort() by kr_require()
Vladimír Čunát [Fri, 3 Jun 2022 15:29:41 +0000 (17:29 +0200)] 
replace some occurrences of abort() by kr_require()

It provides more information and the condition is typically
easier to read, too.

3 years agoMerge !1303: meson nit: deal with warning about future of run_command obs-knot-resolver-es11k1/deployments/2146 obs-knot-resolver-es11k1/deployments/2147
Vladimír Čunát [Wed, 1 Jun 2022 08:38:50 +0000 (10:38 +0200)] 
Merge !1303: meson nit: deal with warning about future of run_command

3 years agomeson nit: deal with warning about future of run_command
Vladimír Čunát [Mon, 30 May 2022 11:48:16 +0000 (13:48 +0200)] 
meson nit: deal with warning about future of run_command

WARNING: You should add the boolean check kwarg to the run_command call.
         It currently defaults to false,
         but it will default to true in future releases of meson.
         See also: https://github.com/mesonbuild/meson/issues/9300

In almost all cases we already check the return code explicitly
and throw a more descriptive message than what would be the default.

3 years agoMerge !1302: renumber: allow renumbering a subnet to a single IP
Vladimír Čunát [Wed, 1 Jun 2022 08:09:42 +0000 (10:09 +0200)] 
Merge !1302: renumber: allow renumbering a subnet to a single IP

3 years agorenumber: named local variables for readability
Oto Šťáva [Wed, 1 Jun 2022 07:49:25 +0000 (09:49 +0200)] 
renumber: named local variables for readability

3 years agorenumber: add test for single IP rewrite
Oto Šťáva [Wed, 1 Jun 2022 07:48:28 +0000 (09:48 +0200)] 
renumber: add test for single IP rewrite

3 years agorenumber: document additions from the parent commit
Vladimír Čunát [Mon, 30 May 2022 09:53:56 +0000 (11:53 +0200)] 
renumber: document additions from the parent commit

3 years agorenumber: allow renumbering a subnet to a single IP
Konstantin Amelichev [Sat, 28 May 2022 11:30:32 +0000 (15:30 +0400)] 
renumber: allow renumbering a subnet to a single IP

https://github.com/CZ-NIC/knot-resolver/pull/77
originally but changed by vcunat quite a bit.

3 years agolib/utils nit: deduplicate one line
Vladimír Čunát [Mon, 30 May 2022 09:13:25 +0000 (11:13 +0200)] 
lib/utils nit: deduplicate one line

3 years agoMerge !1301: lib/cache: handle posix_fallocate returning EOPNOTSUPP
Vladimír Čunát [Sat, 28 May 2022 11:57:49 +0000 (13:57 +0200)] 
Merge !1301: lib/cache: handle posix_fallocate returning EOPNOTSUPP

3 years agolib/cache: handle posix_fallocate returning EOPNOTSUPP (Linux/musl)
Jakub Jirutka [Fri, 27 May 2022 22:37:25 +0000 (00:37 +0200)] 
lib/cache: handle posix_fallocate returning EOPNOTSUPP (Linux/musl)

https://man7.org/linux/man-pages/man3/posix_fallocate.3.html#ERRORS:
> EOPNOTSUPP
> The filesystem containing the file referred to by fd does not support
> this operation.  This error code can be returned by C libraries that
> don't perform the emulation shown in NOTES, such as **musl libc**.

I've encountered this problem on Alpine Linux running inside an LXC
container on Ubuntu with data on ZFS.

3 years agoMerge !1279: daemon/http: HTTP response codes
Vladimír Čunát [Fri, 20 May 2022 08:52:42 +0000 (10:52 +0200)] 
Merge !1279: daemon/http: HTTP response codes

Fixes #728

3 years agodaemon/http: copy headers to streams instead of ownership transfer
Oto Šťáva [Fri, 13 May 2022 08:34:06 +0000 (10:34 +0200)] 
daemon/http: copy headers to streams instead of ownership transfer

3 years agotests/config/tapered: update for difference prints
Vladimír Čunát [Fri, 8 Apr 2022 10:01:16 +0000 (12:01 +0200)] 
tests/config/tapered: update for difference prints

3 years agodaemon/http: documentation
Oto Šťáva [Fri, 8 Apr 2022 09:20:59 +0000 (11:20 +0200)] 
daemon/http: documentation

3 years agoci: ODVR will also need Debian 11
Vladimír Čunát [Thu, 7 Apr 2022 16:46:01 +0000 (18:46 +0200)] 
ci: ODVR will also need Debian 11

Debian 10 could probably get dropped soon, but not yet.

3 years agodaemon/http: move status sends outside nghttp2 callbacks
Oto Šťáva [Wed, 6 Apr 2022 07:56:35 +0000 (09:56 +0200)] 
daemon/http: move status sends outside nghttp2 callbacks

The nghttp2 documentation states that we must not send data from inside
of its callbacks. It may result in crashes.

3 years agodaemon/http: return 400 on failed packet_parse + improved stream handling
Oto Šťáva [Fri, 1 Apr 2022 08:42:36 +0000 (10:42 +0200)] 
daemon/http: return 400 on failed packet_parse + improved stream handling

3 years agodaemon/http: return 400 on stream end with no processed packets
Oto Šťáva [Sat, 26 Mar 2022 08:51:27 +0000 (09:51 +0100)] 
daemon/http: return 400 on stream end with no processed packets

3 years agodaemon/http: add basic HTTP response codes
Oto Šťáva [Fri, 25 Mar 2022 11:21:07 +0000 (12:21 +0100)] 
daemon/http: add basic HTTP response codes

3 years agoMerge !1295: daemon/tls: use GNUTLS_NO_TICKETS_TLS12
Vladimír Čunát [Fri, 20 May 2022 07:39:48 +0000 (09:39 +0200)] 
Merge !1295: daemon/tls: use GNUTLS_NO_TICKETS_TLS12

Closes #742

3 years agodaemon/tls: use GNUTLS_NO_TICKETS_TLS12
Oto Šťáva [Mon, 16 May 2022 12:30:13 +0000 (14:30 +0200)] 
daemon/tls: use GNUTLS_NO_TICKETS_TLS12

3 years agoMerge !1294: lib/dnssec: rewrite most of NSEC validation code
Vladimír Čunát [Wed, 18 May 2022 14:25:22 +0000 (16:25 +0200)] 
Merge !1294: lib/dnssec: rewrite most of NSEC validation code

Closes #443 and #738

3 years agoNEWS for the rewrite of some NSEC validation parts
Vladimír Čunát [Mon, 9 May 2022 11:13:32 +0000 (13:13 +0200)] 
NEWS for the rewrite of some NSEC validation parts

3 years agolib/dnssec: nits
Vladimír Čunát [Thu, 28 Apr 2022 10:37:31 +0000 (12:37 +0200)] 
lib/dnssec: nits

3 years agolib/dnssec: rewrite kr_nsec_ref_to_unsigned()
Vladimír Čunát [Wed, 27 Apr 2022 14:03:06 +0000 (16:03 +0200)] 
lib/dnssec: rewrite kr_nsec_ref_to_unsigned()

- I see no motivation to search for NS records here;
  and I didn't like that loop nesting
- philosophy shift akin to the recent
  replacement of kr_nsec_existence_denial()

3 years agolib/dnssec: drop kr_nsec_name_error_response_check()
Vladimír Čunát [Wed, 27 Apr 2022 11:47:01 +0000 (13:47 +0200)] 
lib/dnssec: drop kr_nsec_name_error_response_check()

Just as with NODATA; basically the same comments
apply here (i.e. for NXDOMAIN) as well.

3 years agolib/dnssec: replace kr_nsec_existence_denial()
Vladimír Čunát [Sat, 23 Apr 2022 15:23:47 +0000 (17:23 +0200)] 
lib/dnssec: replace kr_nsec_existence_denial()

The NSEC validation code has been written very mechanically
according to RFC 4033..4035, but those explain wildcard-related
topics in a way that's hard to understand right.

So here I rewrite it with a different philosophy, so it should be
easier to understand, a bit faster, and less buggy and bug-prone.

3 years agodaemon/lua nit: sort RR rank names in debug logs
Vladimír Čunát [Tue, 26 Apr 2022 12:55:12 +0000 (14:55 +0200)] 
daemon/lua nit: sort RR rank names in debug logs

I was diffing logs from different runs and got annoyed by the shuffles.

3 years agoMerge !1287: tests/dnstap: add missing protobuf dependency
Vladimír Čunát [Wed, 18 May 2022 13:49:00 +0000 (15:49 +0200)] 
Merge !1287: tests/dnstap: add missing protobuf dependency

3 years agotests/dnstap: add missing protobuf dependency
Oto Šťáva [Fri, 22 Apr 2022 05:55:20 +0000 (07:55 +0200)] 
tests/dnstap: add missing protobuf dependency

3 years agoMerge !1286: daemon/network: Use trie_t instead of map_t for network endpoints
Vladimír Čunát [Fri, 13 May 2022 11:30:40 +0000 (13:30 +0200)] 
Merge !1286: daemon/network: Use trie_t instead of map_t for network endpoints

3 years agolib/generic/map: remove
Oto Šťáva [Wed, 11 May 2022 10:19:13 +0000 (12:19 +0200)] 
lib/generic/map: remove

3 years agolib/utils kr_sockaddr_key_same_addr(): more precision
Vladimír Čunát [Fri, 13 May 2022 10:52:20 +0000 (12:52 +0200)] 
lib/utils kr_sockaddr_key_same_addr(): more precision

... in case of IPv6 link-local addresses.
The casting isn't very nice, but we certainly rely on `family` being
always on the same offset anyway (and it's ensured by standards).

3 years agodaemon/network: reintroduce net.close() wildcard semantics
Oto Šťáva [Wed, 11 May 2022 08:10:25 +0000 (10:10 +0200)] 
daemon/network: reintroduce net.close() wildcard semantics

3 years agolib/utils: check for unix socket paths null-termination
Oto Šťáva [Wed, 4 May 2022 05:55:32 +0000 (07:55 +0200)] 
lib/utils: check for unix socket paths null-termination

3 years agodaemon/network: Use trie_t instead of map_t for network endpoints
Oto Šťáva [Wed, 20 Apr 2022 08:08:28 +0000 (10:08 +0200)] 
daemon/network: Use trie_t instead of map_t for network endpoints

3 years agoMerge !1290: modules/stats: use trie_t instead of map_t
Vladimír Čunát [Wed, 11 May 2022 06:23:18 +0000 (08:23 +0200)] 
Merge !1290: modules/stats: use trie_t instead of map_t