]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Petr Špaček [Thu, 29 Aug 2019 13:44:09 +0000 (15:44 +0200)]
fixup! WIP: turn RESUME_LAYERS into a function
Petr Špaček [Thu, 29 Aug 2019 13:39:29 +0000 (15:39 +0200)]
ffimodule: minor simplification
Petr Špaček [Thu, 29 Aug 2019 12:37:33 +0000 (14:37 +0200)]
WIP: turn RESUME_LAYERS into a function
Petr Špaček [Wed, 28 Aug 2019 13:32:00 +0000 (15:32 +0200)]
WIP: debug
Petr Špaček [Wed, 28 Aug 2019 13:31:45 +0000 (15:31 +0200)]
WIP: adapt for knot_rdata_init initializing last padding byte
Petr Špaček [Mon, 26 Aug 2019 13:38:18 +0000 (15:38 +0200)]
valgrind: avoid build-time dependency on Valgrind
Valgrind manual
http://valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.clientreq
encounrages copying headers into project to avoid build-time dependency
on Valgrind.
@tkrizek What do you think?
Petr Špaček [Fri, 23 Aug 2019 13:38:28 +0000 (15:38 +0200)]
cache: LMDB & Valgrind integration
I hope this will detect attemps to write uninitialized or deallocated
memory to LMDB sooner than in commit phase - tracebacks from commit
phase do not show where the uninitialized value originated.
Petr Špaček [Fri, 23 Aug 2019 13:17:31 +0000 (15:17 +0200)]
mempool: Valgrind support
Valgrind can now detect access to deallocated memory on mempool.
See http://valgrind.org/docs/manual/mc-manual.html#mc-manual.mempools
We need to profile performance impact to see if it is measurable and
possibly disable it in release builds using -DNVALGRIND define. See
http://valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.clientreq
Petr Špaček [Mon, 19 Aug 2019 14:17:57 +0000 (16:17 +0200)]
mempool: pull in simplified version from Knot DNS
Function kr_pkt_text was only user of mp_printf functions, so these were
removed to simplify code.
Assumption is that kr_pkt_text is used only for debugging and is not
optimized for speed - in the worst case it needs to convert data to text
representation twice.
Vladimír Čunát [Fri, 23 Aug 2019 09:12:09 +0000 (09:12 +0000)]
Merge !861: modules/prefill: resigned expired RRSIGS in test zones
Fixes #496
Ivana Krumlova [Thu, 22 Aug 2019 14:18:54 +0000 (16:18 +0200)]
modules/prefill: resigned expired RRSIGS in test zones
Fixes: #496
Petr Špaček [Fri, 16 Aug 2019 08:27:20 +0000 (08:27 +0000)]
Merge branch 'cd-servfail' into 'master'
lib/resolve answer_finalize: don't SERVFAIL bogus +cd
See merge request knot/knot-resolver!860
Vladimír Čunát [Wed, 14 Aug 2019 08:48:46 +0000 (10:48 +0200)]
lib/resolve answer_finalize: don't SERVFAIL bogus +cd
As kresd works now, typically we do not know whether these records are
bogus, as with +cd we do not attempt validation. Still, it's possible
that we have those records in cache from an occasion without +cd, in
which case we know they're bogus and this regression happened.
The potential impact of this issue seems minimal.
Tomas Krizek [Mon, 12 Aug 2019 10:25:42 +0000 (10:25 +0000)]
Merge branch 'rebinding-fixes' into 'master'
Rebinding fixes
See merge request knot/knot-resolver!859
Vladimír Čunát [Fri, 9 Aug 2019 13:21:03 +0000 (15:21 +0200)]
rebinding NEWS
Vladimír Čunát [Fri, 9 Aug 2019 10:05:51 +0000 (12:05 +0200)]
rebinding: change/fix when triggered inside sub-query
This avoids getting into an inconsistent state of the request (assert),
and it also allows some real-life cases to succeed without using
a forbidden address in any way (even though they *are* weird).
I can still imagine weird setups where a request gets failed even
though it would be resolvable without *using* a forbidden address,
but none of these seem reasonable anyway (or common in practice).
Vladimír Čunát [Fri, 9 Aug 2019 10:04:29 +0000 (12:04 +0200)]
rebinding nitpick: respect ALLOW_LOCAL flag
Some people might want the rebinding module generally but still use
policy to allow local addresses in some specific cases.
Tomas Krizek [Mon, 12 Aug 2019 08:01:28 +0000 (08:01 +0000)]
Merge branch 'ubuntu-dbg' into 'master'
distro/deb: generate *-dbg symbols package explicitly
See merge request knot/knot-resolver!858
Tomas Krizek [Fri, 9 Aug 2019 11:12:45 +0000 (13:12 +0200)]
modules/prefill: temporarily disable prefill tests
Related #496
Tomas Krizek [Thu, 8 Aug 2019 08:27:25 +0000 (10:27 +0200)]
distro/deb: generate *-dbg symbols package explicitly
Tomas Krizek [Mon, 5 Aug 2019 16:31:59 +0000 (16:31 +0000)]
Merge branch 'ci-obs-release' into 'master'
ci: fix obs:release job
See merge request knot/knot-resolver!857
Tomas Krizek [Mon, 5 Aug 2019 16:18:52 +0000 (18:18 +0200)]
ci: fix obs:release job
Tomas Krizek [Mon, 5 Aug 2019 14:46:23 +0000 (14:46 +0000)]
Merge branch 'release-4.2.0' into 'master'
Release 4.2.0
See merge request knot/knot-resolver!856
Tomas Krizek [Mon, 5 Aug 2019 13:57:33 +0000 (15:57 +0200)]
bump version to 4.2.0
Tomas Krizek [Mon, 5 Aug 2019 13:52:35 +0000 (15:52 +0200)]
ci: create proper release tarball in archive job
Vladimír Čunát [Mon, 5 Aug 2019 13:22:07 +0000 (15:22 +0200)]
daemon/udp_queue: appease the linker if not optimized
Vladimír Čunát [Mon, 5 Aug 2019 11:58:41 +0000 (13:58 +0200)]
tweak NEWS for tomorrow release
Vladimír Čunát [Mon, 5 Aug 2019 11:52:01 +0000 (13:52 +0200)]
meson.build: disable sendmmsg by default for now
Most users probably aren't much interested in slight reduction of CPU
usage, and we want to give it some more testing before enabling.
Vladimír Čunát [Mon, 5 Aug 2019 13:00:36 +0000 (13:00 +0000)]
Merge !825: policy: support forwarding to multiple targets
Tomas Krizek [Mon, 8 Jul 2019 15:33:10 +0000 (17:33 +0200)]
doc: add Quick Reference section to User guide
Tomas Krizek [Tue, 16 Jul 2019 10:05:03 +0000 (12:05 +0200)]
distro/*: add lua-psl dependency
Tomas Krizek [Mon, 15 Jul 2019 17:26:12 +0000 (19:26 +0200)]
modules/policy: add slice_randomize_psl() test
Tomas Krizek [Mon, 15 Jul 2019 15:53:50 +0000 (17:53 +0200)]
modules/policy: basic test_slice test
Tomas Krizek [Mon, 15 Jul 2019 15:44:36 +0000 (17:44 +0200)]
modules/policy: document policy.slice()
Tomas Krizek [Mon, 15 Jul 2019 15:44:28 +0000 (17:44 +0200)]
modules/policy: add policy.slice() function
Vladimír Čunát [Thu, 25 Jul 2019 09:57:12 +0000 (09:57 +0000)]
Merge !838: modules/refuse_nord: refuse queries without RD bit set
Tomas Krizek [Wed, 24 Jul 2019 10:20:24 +0000 (12:20 +0200)]
modules/stats: adjust test
Tomas Krizek [Wed, 24 Jul 2019 10:00:51 +0000 (12:00 +0200)]
doc/build: clarify documentation about tests
Tomas Krizek [Wed, 24 Jul 2019 09:47:00 +0000 (11:47 +0200)]
modules/refuse_nord: document usage
Tomas Krizek [Wed, 24 Jul 2019 08:38:18 +0000 (10:38 +0200)]
modules/refuse_nord: add test
Tomas Krizek [Sun, 7 Jul 2019 10:53:01 +0000 (12:53 +0200)]
modules/refuse_nord: refuse queries without RD bit set
Refusing to answer queries without RD bit makes it harder
to read what data is present in resolver's cache.
Tomas Krizek [Tue, 23 Jul 2019 13:22:45 +0000 (13:22 +0000)]
Merge branch 'rebinding_fix' into 'master'
avoid a false-positive assert from rebinding module
See merge request knot/knot-resolver!851
Vladimír Čunát [Mon, 27 Aug 2018 15:10:50 +0000 (17:10 +0200)]
kr_request: remove ::additional
Somehow I didn't notice this field when adding ::add_selected.
We probably never put anything into answer's ADDITIONAL,
so noone's noticed a problem until now.
Vladimír Čunát [Wed, 10 Jul 2019 08:25:49 +0000 (10:25 +0200)]
lib/resolve answer_finalize: simplify a bit of code
Vladimír Čunát [Wed, 10 Jul 2019 08:17:05 +0000 (10:17 +0200)]
lib/resolve answer_finalize: separate a special case
We currently allow modules to produce a packet beforehand,
but the possibility was rather implicit in this part of code.
In particular, we might possible trigger a false alarm in
assert(answer->current <= KNOT_ANSWER)
Tomas Krizek [Tue, 23 Jul 2019 07:54:24 +0000 (07:54 +0000)]
Merge branch 'ci-extract-tar' into 'master'
ci: respdiff - extract multiple archives
See merge request knot/knot-resolver!853
Tomas Krizek [Mon, 22 Jul 2019 15:27:04 +0000 (17:27 +0200)]
ci: respdiff - extract multiple archives
Vladimír Čunát [Mon, 22 Jul 2019 10:22:10 +0000 (10:22 +0000)]
Merge !850: daemon/tls: fix handling of GNUTLS_E_AGAIN
Closes #489
Tomas Krizek [Fri, 19 Jul 2019 13:25:38 +0000 (15:25 +0200)]
daemon/tls: fix handling of GNUTLS_E_AGAIN
The code incorrectly assumes GNUTLS_E_AGAIN can only be caused
by reading the entire libuv buffer. Legitime causes of GNUTLS_E_AGAIN
wouldn't be processed correctly. These could be caused by a new
session ticket sent by the server.
Fixes #489
Petr Špaček [Sat, 20 Jul 2019 20:04:38 +0000 (20:04 +0000)]
Merge branch 'mod_api_clarif' into 'master'
modules: fix typo in link to upgrading guide
See merge request knot/knot-resolver!852
Petr Špaček [Sat, 20 Jul 2019 20:05:17 +0000 (16:05 -0400)]
modules: fix typo in link to upgrading guide
Tomas Krizek [Fri, 19 Jul 2019 07:53:58 +0000 (07:53 +0000)]
Merge branch 'ci-add-debian10' into 'master'
ci: add distrotest:debian10
See merge request knot/knot-resolver!848
Tomas Krizek [Thu, 18 Jul 2019 13:48:58 +0000 (15:48 +0200)]
ci: add distrotest:debian10
Tomas Krizek [Thu, 18 Jul 2019 13:24:46 +0000 (13:24 +0000)]
Merge branch 'ci-update' into 'master'
ci: update
See merge request knot/knot-resolver!847
Tomas Krizek [Thu, 18 Jul 2019 12:45:18 +0000 (14:45 +0200)]
ci/README: add --no-cache to docker builds to force pkg update
Tomas Krizek [Thu, 18 Jul 2019 10:59:26 +0000 (12:59 +0200)]
ci: fix distrotests for testing repo
Tomas Krizek [Thu, 18 Jul 2019 12:43:03 +0000 (14:43 +0200)]
ci/debian-buster: add dependencies from knot-resolver-testing OBS repo
Tomas Krizek [Thu, 18 Jul 2019 12:29:29 +0000 (14:29 +0200)]
ci/debian-stable: delete old image
Tomas Krizek [Thu, 18 Jul 2019 12:28:11 +0000 (14:28 +0200)]
ci/debian-buster: add lua-psl optional dependnecy
Tomas Krizek [Thu, 18 Jul 2019 12:27:46 +0000 (14:27 +0200)]
ci/debian-buster: update to released version
Petr Špaček [Wed, 17 Jul 2019 09:03:57 +0000 (09:03 +0000)]
Merge branch 'perf-sendmmsg-answ' into 'master'
use sendmmsg syscall towards UDP clients
See merge request knot/knot-resolver!846
Vladimír Čunát [Fri, 12 Jul 2019 14:22:57 +0000 (16:22 +0200)]
daemon: use sendmmsg towards UDP clients
Vladimír Čunát [Wed, 3 Jul 2019 11:30:04 +0000 (13:30 +0200)]
main: better support for profiling
Petr Špaček [Wed, 10 Jul 2019 14:06:44 +0000 (14:06 +0000)]
Merge branch 'release-410' into 'master'
Release 4.1.0
See merge request knot/knot-resolver!845
Petr Špaček [Wed, 10 Jul 2019 12:22:44 +0000 (14:22 +0200)]
release 4.1.0
Petr Špaček [Wed, 10 Jul 2019 13:30:51 +0000 (15:30 +0200)]
gc: reformat source code to conform to Linux codestyle
Main motivation is getting rid of tab-space mix.
Reformated using github/torvalds/linux/master/scripts/Lindent.
Tomas Krizek [Tue, 2 Jul 2019 14:44:38 +0000 (16:44 +0200)]
systemd/kres-cache-gc: make service more robust
Tomas Krizek [Tue, 2 Jul 2019 14:11:43 +0000 (16:11 +0200)]
kr_cache_gc: fix double-free for failed/unifinished txns
Vladimír Čunát [Tue, 2 Jul 2019 09:22:04 +0000 (11:22 +0200)]
gc: better approximation of the space to free
Vladimír Čunát [Tue, 2 Jul 2019 09:21:09 +0000 (11:21 +0200)]
gc: adjust DEBUG output
Tomas Krizek [Mon, 1 Jul 2019 16:08:40 +0000 (18:08 +0200)]
distro/tests: check kres-cache-gc is started
Tomas Krizek [Mon, 1 Jul 2019 16:02:42 +0000 (18:02 +0200)]
kr_cache_gc: update docs
Tomas Krizek [Mon, 1 Jul 2019 15:32:53 +0000 (17:32 +0200)]
systemd: add kres-cache-gc.service
Tomas Krizek [Mon, 1 Jul 2019 10:28:34 +0000 (12:28 +0200)]
utils/cache_gc: meson - rename to kres-cache-gc
Vladimír Čunát [Thu, 27 Jun 2019 14:50:13 +0000 (16:50 +0200)]
gc: fix a lint warning
I think the condition is still quite well readable even though much
shorter than my original !(kd[i - 1] == 0 && kd[i - 2] == 0)
Vladimír Čunát [Thu, 27 Jun 2019 14:23:46 +0000 (16:23 +0200)]
gc: handle the NS multi-entries much better
Vladimír Čunát [Thu, 27 Jun 2019 13:51:49 +0000 (15:51 +0200)]
gc: clean warnings with -DDEBUG
Petr Špaček [Thu, 27 Jun 2019 12:12:28 +0000 (14:12 +0200)]
gc: cleanup warnings from GCC 9 compiler
Petr Špaček [Tue, 25 Jun 2019 11:01:06 +0000 (13:01 +0200)]
gc: keep root and TLD data in cache as much as possible
Petr Špaček [Tue, 25 Jun 2019 11:00:22 +0000 (13:00 +0200)]
gc: delete inconsistent entries from cache instead of skipping them
Petr Špaček [Tue, 25 Jun 2019 10:55:28 +0000 (12:55 +0200)]
gc: skip over "VERS" metadata entry in cache
Petr Špaček [Tue, 25 Jun 2019 10:44:42 +0000 (12:44 +0200)]
gc: fix kr_gc_key_consistent to work with root zone NSECs
Vladimír Čunát [Thu, 20 Jun 2019 12:57:52 +0000 (14:57 +0200)]
utils/cache_gc: adapt for faster checking of usage
- don't print a line in every checking cycle
- don't exit when cache isn't found
- reduce recommended interval to 10s (compromise)
- don't increase cache size (but keep the code for now)
Vladimír Čunát [Mon, 17 Jun 2019 11:31:17 +0000 (13:31 +0200)]
utils/cache_gc: more lint fixes
I can't see any real benefit of floating-point in the amount_tofree
computation; we could use round(), but it doesn't seem significant.
Vladimír Čunát [Mon, 17 Jun 2019 11:11:07 +0000 (13:11 +0200)]
utils/cache_gc lint: stricter parsing of CLI integers
For example, "10foo" will no longer be accepted as number 10.
Tomas Krizek [Mon, 17 Jun 2019 09:51:55 +0000 (11:51 +0200)]
utils/cache_gc: meson - add sources to c_lint
Tomas Krizek [Mon, 17 Jun 2019 09:39:46 +0000 (11:39 +0200)]
utils/cache_gc: rename daemon to kres_cache_gc
Tomas Krizek [Mon, 17 Jun 2019 08:52:56 +0000 (10:52 +0200)]
client: move under utils directory
Vladimír Čunát [Fri, 14 Jun 2019 12:59:07 +0000 (14:59 +0200)]
utils/kr_cache_gc: minor nitpicks
It should be no real change, just better readability, hopefully.
Vladimír Čunát [Fri, 14 Jun 2019 12:56:48 +0000 (14:56 +0200)]
utils/kr_cache_gc: support NSEC3 (aggressive) RRs
Vladimír Čunát [Fri, 14 Jun 2019 12:48:21 +0000 (14:48 +0200)]
lib/cache: make entry_h_consistent() generic
Basically all use cases get renamed to *_E(), except one in utils/kr_cache_gc.
It was perhaps confusing that this name only applied to 'E' entries.
Tomas Krizek [Thu, 13 Jun 2019 15:35:58 +0000 (17:35 +0200)]
doc: document cache garbage collector
Tomas Krizek [Thu, 13 Jun 2019 11:53:58 +0000 (13:53 +0200)]
utils/kr_cache_gc: fix lint:pedantic
Tomas Krizek [Thu, 16 May 2019 11:43:33 +0000 (13:43 +0200)]
distro: package kr_cache_gc
Tomas Krizek [Thu, 16 May 2019 10:29:05 +0000 (12:29 +0200)]
utils/kr_cache_gc: add params for configuring cache
Tomas Krizek [Wed, 15 May 2019 16:06:15 +0000 (18:06 +0200)]
utils/kr_cache_gc: set default rw_txn_items to 100
Tomas Krizek [Wed, 15 May 2019 16:05:41 +0000 (18:05 +0200)]
utils/kr_cache_gc: re-initialize lmdb txn in case of error
Tomas Krizek [Wed, 15 May 2019 16:04:58 +0000 (18:04 +0200)]
utils/kr_cache_gc: skip invalid entries during iteration
Tomas Krizek [Wed, 15 May 2019 14:12:51 +0000 (16:12 +0200)]
kr_cache_gc: build with meson
Libor Peltan [Fri, 11 May 2018 14:20:58 +0000 (16:20 +0200)]
kr_cache_gc: randomized deleting of parts of huge categories