]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
3 years agomanager: datamodel: supervisor section removed
Aleš Mrázek [Mon, 4 Jul 2022 16:24:58 +0000 (18:24 +0200)] 
manager: datamodel: supervisor section removed
- watchdog moved to top-level

3 years agofix manager's gitlab CI config usage of removed features
Vasek Sraier [Mon, 4 Jul 2022 12:03:41 +0000 (14:03 +0200)] 
fix manager's gitlab CI config usage of removed features

3 years agomanager: remove systemd support
Vasek Sraier [Fri, 24 Jun 2022 15:20:00 +0000 (17:20 +0200)] 
manager: remove systemd support

Why? Because it is dangerous to use. You'd have to run manager with root privileges
to be able to spawn systemd services via DBus. There is an option to do the same
with session instances of systemd, but that is unpackageable and pretty much unusable
in production. We will therefore rely on supervisord, as it's support got much better
recently.

3 years agoMerge branch 'manager-supervisord-improvements' into 'manager'
Vaclav Sraier [Mon, 4 Jul 2022 15:28:19 +0000 (17:28 +0200)] 
Merge branch 'manager-supervisord-improvements' into 'manager'

supervisord improvements

See merge request knot/knot-resolver!1280

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 agomanager: optimized supervisord process startup by using custom version of XML-RPC API
Vasek Sraier [Fri, 24 Jun 2022 15:34:49 +0000 (17:34 +0200)] 
manager: optimized supervisord process startup by using custom version of XML-RPC API

3 years agomanager: fix bad config schema definition
Vasek Sraier [Sat, 18 Jun 2022 22:14:35 +0000 (00:14 +0200)] 
manager: fix bad config schema definition

3 years agomanager: more startup logging and small supervisord detection optimization
Vasek Sraier [Sat, 18 Jun 2022 21:55:50 +0000 (23:55 +0200)] 
manager: more startup logging and small supervisord detection optimization

3 years agomanager: bug fix: utility function to spawn subprocesses did not unblock signals...
Vasek Sraier [Sat, 18 Jun 2022 21:16:05 +0000 (23:16 +0200)] 
manager: bug fix: utility function to spawn subprocesses did not unblock signals, so spawned processes could not be stopped properly

3 years agoconfigured build system for native C extensions
Vasek Sraier [Fri, 17 Jun 2022 22:42:08 +0000 (00:42 +0200)] 
configured build system for native C extensions

3 years agomade supervisord sd_notify() plugin properly functional + supervisord config changes
Vasek Sraier [Fri, 17 Jun 2022 13:03:43 +0000 (15:03 +0200)] 
made supervisord sd_notify() plugin properly functional + supervisord config changes

- X-SUPERVISORD-TYPE=notify in a process's environment should make the process behave similarly to Type=notify systemd service units
- startsec with the above means time, after which it will get killed without ready notification

3 years agomanager: experimental implementation of supervisord extension to support sd_notify()
Vasek Sraier [Wed, 25 May 2022 13:03:14 +0000 (15:03 +0200)] 
manager: experimental implementation of supervisord extension to support sd_notify()

contains:
- python module written in C, because Python does not support socket auxiliary messages like SCM_CREDENTIALS
- XML-RPC extension for supervisord, which actually does not do anything except for injecting code into supervisord internals

3 years agochanged supervisord controller so that we don't need to be rewriting config with...
Vasek Sraier [Sat, 26 Mar 2022 21:56:53 +0000 (22:56 +0100)] 
changed supervisord controller so that we don't need to be rewriting config with every change

3 years agomanager: add time since startup to logs
Vasek Sraier [Sat, 26 Mar 2022 21:56:09 +0000 (22:56 +0100)] 
manager: add time since startup to logs

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 agoMerge branch 'manager-datamodel-policy' into 'manager'
Aleš Mrázek [Tue, 21 Jun 2022 09:55:34 +0000 (11:55 +0200)] 
Merge branch 'manager-datamodel-policy' into 'manager'

manager: datamodel: policy improvements

See merge request knot/knot-resolver!1312

3 years agomanager: datamodel: policy: action validation refactored
Aleš Mrázek [Tue, 21 Jun 2022 09:45:04 +0000 (11:45 +0200)] 
manager: datamodel: policy: action validation refactored

3 years agomanager: datamodel: removed 'Dict' from policy sections
Aleš Mrázek [Mon, 20 Jun 2022 20:35:58 +0000 (22:35 +0200)] 
manager: datamodel:  removed 'Dict' from policy sections
- related to #702

3 years agomanager: datamodel: slices: actions validation
Aleš Mrázek [Fri, 17 Jun 2022 22:12:31 +0000 (00:12 +0200)] 
manager: datamodel: slices: actions validation

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 agomanager: datamodel: policy: forward action validation
Aleš Mrázek [Wed, 15 Jun 2022 12:54:33 +0000 (14:54 +0200)] 
manager: datamodel: policy: forward action validation

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 agomanager: datamodel: policy: forward-tls action removed
Aleš Mrázek [Sun, 12 Jun 2022 15:33:37 +0000 (17:33 +0200)] 
manager: datamodel: policy: forward-tls action removed
- ForwardServerSchema moved to policy_schema module

4 years agomanager: datamodel: policy: schema extended by new policy actions
Aleš Mrázek [Fri, 10 Jun 2022 14:33:04 +0000 (16:33 +0200)] 
manager: datamodel: policy: schema extended by new policy actions
- policy schema tests improved

4 years agomanager: datamodel: logging module renamed
Aleš Mrázek [Thu, 9 Jun 2022 20:48:29 +0000 (22:48 +0200)] 
manager: datamodel: logging module renamed

4 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

4 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

4 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

4 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)

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

4 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)

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

4 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;
        ~~~~~~~~~~~~~~~~~~^~~

4 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

4 years agomanager: datamodel: policy: validation refactored
Aleš Mrázek [Thu, 9 Jun 2022 09:05:12 +0000 (11:05 +0200)] 
manager: datamodel: policy: validation refactored
- forward_zone.py renamed to forward_zone_schema.py

4 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

4 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

4 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.

4 years agomanager: datamodel: templates: jinja2 macros for policy.slice()
Aleš Mrázek [Wed, 8 Jun 2022 15:51:20 +0000 (17:51 +0200)] 
manager: datamodel: templates: jinja2 macros for policy.slice()

4 years agomanager: datamodel: slices section created
Aleš Mrázek [Tue, 7 Jun 2022 20:25:03 +0000 (22:25 +0200)] 
manager: datamodel: slices section created

4 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

4 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

4 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

4 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.

4 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.

4 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

4 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"

4 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.

4 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

4 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.

4 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

4 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

4 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

4 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

4 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.

4 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

4 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

4 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.

4 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

4 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

4 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

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

4 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.

4 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.

4 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

4 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

4 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

4 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

4 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

4 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

4 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

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

4 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()

4 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.

4 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.

4 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.

4 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

4 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

4 years agoMerge branch 'manager-datamodel-server' into 'manager'
Aleš Mrázek [Tue, 17 May 2022 13:52:30 +0000 (15:52 +0200)] 
Merge branch 'manager-datamodel-server' into 'manager'

manager: datamodel: server section removed

See merge request knot/knot-resolver!1293

4 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

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

4 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).

4 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

4 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

4 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

4 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

4 years agomodules/stats: use trie_t instead of map_t
Oto Šťáva [Wed, 27 Apr 2022 09:14:02 +0000 (11:14 +0200)] 
modules/stats: use trie_t instead of map_t

4 years agolib/generic/trie: add trie_apply_with_key()
Vladimír Čunát [Thu, 28 Apr 2022 11:32:52 +0000 (13:32 +0200)] 
lib/generic/trie: add trie_apply_with_key()

4 years agomanager: datamodel: nsid moved to top-level
Aleš Mrázek [Thu, 5 May 2022 11:57:30 +0000 (13:57 +0200)] 
manager: datamodel: nsid moved to top-level

4 years agoMerge !1292: lib/dnssec/ta: use trie_t instead of map_t
Vladimír Čunát [Wed, 4 May 2022 12:15:44 +0000 (14:15 +0200)] 
Merge !1292: lib/dnssec/ta: use trie_t instead of map_t