]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Tomas Krizek [Thu, 10 Jun 2021 10:57:01 +0000 (10:57 +0000)]
Merge branch 'disable-asserts' into 'master'
meson: disable assertions
See merge request knot/knot-resolver!1183
Tomas Krizek [Thu, 10 Jun 2021 09:28:49 +0000 (11:28 +0200)]
meson: disable assertions
Make sure assertions are turned off - we use our own mechanism
(implemented in !1146), so this mostly affects foreign code, like Knot
DNS headers.
https://gitlab.nic.cz/knot/knot-resolver/-/merge_requests/1146#note_203044
Tomas Krizek [Thu, 10 Jun 2021 10:53:42 +0000 (10:53 +0000)]
Merge branch 'apkg' into 'master'
distro: add apkg support
See merge request knot/knot-resolver!1178
Tomas Krizek [Thu, 10 Jun 2021 10:18:21 +0000 (12:18 +0200)]
ci: reorder pipeline
Tomas Krizek [Tue, 8 Jun 2021 14:52:40 +0000 (16:52 +0200)]
ci: reuse pkg artifacts
Tomas Krizek [Tue, 8 Jun 2021 14:25:10 +0000 (16:25 +0200)]
scripts: remove scripts obsoleted by apkg
Tomas Krizek [Tue, 8 Jun 2021 14:15:31 +0000 (16:15 +0200)]
distro/pkg: support custom release numbers
Tomas Krizek [Tue, 8 Jun 2021 13:38:45 +0000 (15:38 +0200)]
scripts: update OBS source creation script
Tomas Krizek [Mon, 7 Jun 2021 15:19:26 +0000 (17:19 +0200)]
ci: switch to Debian 11
Tomas Krizek [Mon, 7 Jun 2021 11:42:43 +0000 (13:42 +0200)]
scripts/make-archive: allow creation of tagged archive
Tomas Krizek [Tue, 1 Jun 2021 13:31:30 +0000 (15:31 +0200)]
ci: split pkgtest into separate child pipeline
Tomas Krizek [Tue, 18 May 2021 13:03:28 +0000 (15:03 +0200)]
ci: build and install packages with apkg
Jakub Ružička [Tue, 16 Feb 2021 16:42:25 +0000 (17:42 +0100)]
distro: add apkg support
Jakub Ružička [Tue, 16 Feb 2021 16:34:18 +0000 (17:34 +0100)]
move distro files into apkg template dir
Tomas Krizek [Thu, 10 Jun 2021 09:17:00 +0000 (09:17 +0000)]
Merge branch 'kind-doh-legacy' into 'master'
rename kind="doh" to kind="doh_legacy"
See merge request knot/knot-resolver!1180
Tomas Krizek [Thu, 27 May 2021 13:20:53 +0000 (15:20 +0200)]
rename kind="doh" to kind="doh_legacy"
The purpose of this change is to make it harder to accidentally use the
legacy DoH implementation and free up the "doh" kind which may be used
as an alias to a modern implementation in the future.
Tomas Krizek [Wed, 26 May 2021 08:03:51 +0000 (08:03 +0000)]
Merge branch 'improve-assertions' into 'master'
lib/utils: define kr_require(), kr_assume() macros
Closes #495
See merge request knot/knot-resolver!1146
Tomas Krizek [Tue, 25 May 2021 12:17:23 +0000 (14:17 +0200)]
treewide: rename assumptions to kr_assert() / kr_fails_assert()
To (hopefully) improve readability, rename the typical macro usage of:
if (!kr_assume(x)) y; // to
if (kr_fails_assert(x)) y;
As a convenience, replace the assert without a return value to a more
simple version:
(void)!kr_assume(x); // becomes
kr_assert(x);
Tomas Krizek [Tue, 25 May 2021 10:40:01 +0000 (12:40 +0200)]
lib/dnssec/ta.c: replace asserts
Vladimír Čunát [Mon, 17 May 2021 11:05:02 +0000 (13:05 +0200)]
lib/utils kr_ranked_rrarray_add(): clarify RRset sizes
Vladimír Čunát [Fri, 14 May 2021 09:05:05 +0000 (11:05 +0200)]
lib/cache assertions: saving to cache is not critical
Vladimír Čunát [Fri, 14 May 2021 08:44:26 +0000 (10:44 +0200)]
lib/cache: simplify rdataset_dematerialize()
Trying to handle the NULL here was pointless, so let's simplify.
As it was, it couldn't trigger anyway (would crash earlier).
Vladimír Čunát [Wed, 12 May 2021 17:22:01 +0000 (19:22 +0200)]
lib/cache entry2answer(): trigger failures before jumps
It's a little more verbose, but it should be more valuable in case
we encounter them.
Vladimír Čunát [Wed, 12 May 2021 17:03:37 +0000 (19:03 +0200)]
treewide: minor C11 cleanup
Vladimír Čunát [Wed, 12 May 2021 11:48:00 +0000 (13:48 +0200)]
lib/utils kr_fail(): don't mangle errno
Lukáš Ježek [Fri, 23 Apr 2021 08:49:47 +0000 (10:49 +0200)]
lib/cookies/nonce.c: remove assert.h include
Vladimír Čunát [Thu, 15 Apr 2021 12:28:35 +0000 (14:28 +0200)]
treewide: eradicate "assert" in comments to fix CI
Vladimír Čunát [Thu, 15 Apr 2021 11:59:48 +0000 (13:59 +0200)]
ci: check for "assert" in most C files
Vladimír Čunát [Thu, 15 Apr 2021 10:07:09 +0000 (12:07 +0200)]
lib/utils kr_fail(): simple rate limit for forking
Default 5 minutes (but off).
Randomize the delays +-25%.
Tomas Krizek [Fri, 26 Mar 2021 14:41:29 +0000 (15:41 +0100)]
doc: document debugging options
Tomas Krizek [Fri, 26 Mar 2021 13:14:01 +0000 (14:14 +0100)]
doc: mention DEBUG_* policies for debugging requests
Tomas Krizek [Fri, 19 Mar 2021 15:47:34 +0000 (16:47 +0100)]
daemon: allow kr_assume() configuration
- add lua options debugging.assumption_abort and
debugging.assumption_fork to make the behaviour configurable
- select default values based on meson buildtype:
- debug/debugoptimized (default, e.g. used in CI) - abort and don't
fork
- plain/release - don't abort, but fork if abort is user-configured
Tomas Krizek [Wed, 24 Mar 2021 16:44:49 +0000 (17:44 +0100)]
utils/client/kresc.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:48 +0000 (17:44 +0100)]
utils/cache_gc/main.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:48 +0000 (17:44 +0100)]
utils/cache_gc/kr_cache_gc.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:48 +0000 (17:44 +0100)]
utils/cache_gc/db.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:48 +0000 (17:44 +0100)]
modules/stats/stats.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:48 +0000 (17:44 +0100)]
modules/hints/hints.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:48 +0000 (17:44 +0100)]
modules/dnstap/dnstap.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:48 +0000 (17:44 +0100)]
modules/cookies/cookies.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:48 +0000 (17:44 +0100)]
modules/cookies/cookiemonster.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:48 +0000 (17:44 +0100)]
modules/cookies/cookiectl.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:47 +0000 (17:44 +0100)]
lib/zonecut.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:47 +0000 (17:44 +0100)]
lib/utils.h: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:47 +0000 (17:44 +0100)]
lib/utils.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:47 +0000 (17:44 +0100)]
lib/selection_iter.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:47 +0000 (17:44 +0100)]
lib/selection_forward.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:47 +0000 (17:44 +0100)]
lib/selection.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:47 +0000 (17:44 +0100)]
lib/rplan.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:47 +0000 (17:44 +0100)]
lib/resolve.h: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:47 +0000 (17:44 +0100)]
lib/resolve.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:46 +0000 (17:44 +0100)]
lib/module.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:46 +0000 (17:44 +0100)]
lib/layer/validate.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:46 +0000 (17:44 +0100)]
lib/layer/iterate.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:46 +0000 (17:44 +0100)]
lib/generic/trie.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:46 +0000 (17:44 +0100)]
lib/generic/queue.h: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:46 +0000 (17:44 +0100)]
lib/generic/queue.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:46 +0000 (17:44 +0100)]
lib/generic/pack.h: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:46 +0000 (17:44 +0100)]
lib/generic/lru.h: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:45 +0000 (17:44 +0100)]
lib/generic/lru.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:45 +0000 (17:44 +0100)]
lib/dnssec/signature.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:45 +0000 (17:44 +0100)]
lib/dnssec/nsec3.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:45 +0000 (17:44 +0100)]
lib/dnssec/nsec.h: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:45 +0000 (17:44 +0100)]
lib/dnssec/nsec.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:45 +0000 (17:44 +0100)]
lib/dnssec.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:45 +0000 (17:44 +0100)]
lib/cookies/helper.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:44 +0000 (17:44 +0100)]
lib/cookies/alg_sha.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:44 +0000 (17:44 +0100)]
lib/cookies/alg_containers.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:44 +0000 (17:44 +0100)]
lib/cache/peek.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:44 +0000 (17:44 +0100)]
lib/cache/nsec3.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:44 +0000 (17:44 +0100)]
lib/cache/nsec1.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:44 +0000 (17:44 +0100)]
lib/cache/knot_pkt.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:44 +0000 (17:44 +0100)]
lib/cache/impl.h: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:44 +0000 (17:44 +0100)]
lib/cache/entry_rr.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:43 +0000 (17:44 +0100)]
lib/cache/entry_pkt.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:43 +0000 (17:44 +0100)]
lib/cache/entry_list.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:43 +0000 (17:44 +0100)]
lib/cache/cdb_lmdb.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:43 +0000 (17:44 +0100)]
lib/cache/api.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:43 +0000 (17:44 +0100)]
daemon/zimport.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:43 +0000 (17:44 +0100)]
daemon/worker.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:43 +0000 (17:44 +0100)]
daemon/udp_queue.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:43 +0000 (17:44 +0100)]
daemon/tls_session_ticket-srv.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:43 +0000 (17:44 +0100)]
daemon/tls.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:42 +0000 (17:44 +0100)]
daemon/session.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:42 +0000 (17:44 +0100)]
daemon/network.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:42 +0000 (17:44 +0100)]
daemon/main.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:42 +0000 (17:44 +0100)]
daemon/io.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:42 +0000 (17:44 +0100)]
daemon/http.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:42 +0000 (17:44 +0100)]
daemon/ffimodule.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:42 +0000 (17:44 +0100)]
daemon/engine.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:42 +0000 (17:44 +0100)]
daemon/bindings/net.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:41 +0000 (17:44 +0100)]
daemon/bindings/impl.h: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 16:44:41 +0000 (17:44 +0100)]
daemon/bindings/cache.c: replace asserts
Tomas Krizek [Wed, 24 Mar 2021 13:21:28 +0000 (14:21 +0100)]
meson: disable assetions
This primarily affects dependency headers and contrib code, as kresd now
uses kr_require() or kr_assume() instead of assert().
Tomas Krizek [Wed, 3 Mar 2021 14:45:59 +0000 (15:45 +0100)]
lib/utils: define kr_require(), kr_assume() macros
These macros should replace the use of assert() in our entire codebase.
assert() have the following issues:
- can be turned off at compilation time
- they don't have consistent meaning in our code
kr_require() behaves similarly to assert - it checks a condition and
aborts if it fails. Unlike asserts, these aren't turned off by using
-DNDEBUG. kr_require() should be used for non-recoverable errors.
kr_assume() is a way to check for non-fatal errors which supports error
reporing, debugging and recovery. The function returns a boolean value
which the caller must use for error handling. An error log message is
produced when the condition fails. Optionally, when kr_debug_assumption
is set to true, the process will use fork() and the child will abort().
This generates a coredump for debugging purposes, while allowing the
parent process to keep running and recover from the non-fatal error.
This can be useful for debugging hard to reproduce errors in production
environments.
Tomas Krizek [Mon, 24 May 2021 13:44:10 +0000 (13:44 +0000)]
Merge branch 'expose-http-headers' into 'master'
daemon/http: expose HTTP headers to kr_request
Closes #616
See merge request knot/knot-resolver!1165
Lukáš Ježek [Wed, 21 Apr 2021 10:33:46 +0000 (12:33 +0200)]
doc: add DoH configuration net.doh_headers
Lukáš Ježek [Wed, 21 Apr 2021 09:33:40 +0000 (11:33 +0200)]
daemon/http: add expose headers config test
Tomas Krizek [Thu, 8 Apr 2021 15:38:43 +0000 (17:38 +0200)]
nitpick: fix lint:tidy warnings
Tomas Krizek [Thu, 8 Apr 2021 15:14:47 +0000 (17:14 +0200)]
bindings/net: rename to doh_headers()