]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
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
Libor Peltan [Fri, 11 May 2018 14:20:28 +0000 (16:20 +0200)]
kr_cache_gc: implemented dry-run (only occupation watching mode)
Libor Peltan [Fri, 4 May 2018 17:06:09 +0000 (19:06 +0200)]
kr_cache_gc: improvements, mostly categories
Libor Peltan [Fri, 4 May 2018 13:27:16 +0000 (15:27 +0200)]
kr_cache_gc: implemented categories, code split and cleanup
categories: different level of what should be deleted based on DB usage
Libor Peltan [Fri, 27 Apr 2018 13:15:11 +0000 (15:15 +0200)]
kr_cache_gc: increasing mapsize if the cache is full
Libor Peltan [Fri, 27 Apr 2018 12:09:39 +0000 (14:09 +0200)]
kr_cache_gc: little improvements
Libor Peltan [Fri, 20 Apr 2018 11:42:54 +0000 (13:42 +0200)]
kr_cache_gc: separated DB transactions to prevent blocking; config; bugfix
Libor Peltan [Fri, 20 Apr 2018 08:44:32 +0000 (10:44 +0200)]
kr_cache_gc: added optional interval of infinite periodic action
Libor Peltan [Fri, 20 Apr 2018 08:21:26 +0000 (10:21 +0200)]
kr_cache_gc: separated main function
Libor Peltan [Sun, 15 Apr 2018 10:47:28 +0000 (12:47 +0200)]
kr_cache_gc: UI improvements
Libor Peltan [Fri, 13 Apr 2018 13:50:32 +0000 (15:50 +0200)]
kr_cache_gc: initial commit
Petr Špaček [Wed, 10 Jul 2019 12:58:35 +0000 (14:58 +0200)]
Revert "Merge branch 'kr_cache_gc' into 'master'"
This reverts commit
c3a754dd295fe5349840f988bfa5f11da790aa88 , reversing
changes made to
06d01bf00a8a0ab64941bbee617ac434296adae8 .
I've have accidentally merged incorrect branch, let's try to fix that by
reverting incorrect version of GC and merging the correct one.
Petr Špaček [Mon, 8 Jul 2019 10:56:51 +0000 (12:56 +0200)]
NEWS: add merge request numbers for security fixes
Tomas Krizek [Wed, 29 May 2019 14:20:17 +0000 (16:20 +0200)]
distro/rpm: handle systemd files update in Fedora
Petr Špaček [Thu, 4 Jul 2019 13:46:24 +0000 (15:46 +0200)]
NEWS for 4.1.0
Petr Špaček [Wed, 10 Jul 2019 12:18:47 +0000 (12:18 +0000)]
Merge branch 'v410-news' into 'master'
Security fix CVE-2019-10191
See merge request knot/knot-resolver!839
Vladimír Čunát [Tue, 25 Jun 2019 14:34:24 +0000 (16:34 +0200)]
nitpicks related to the CVE fix in parent commit
Vladimír Čunát [Tue, 25 Jun 2019 14:33:31 +0000 (16:33 +0200)]
lib/cache: fix CVE-2019-10191
Don't stash a packet with mismatching QNAME+QTYPE.
When receiving an NXDOMAIN or NODATA packet in an insecure zone,
it would get cached with KR_RANK_INSECURE regardless of mismatch
in QNAME. If the 0x20 pattern was preserved in the fake QNAME,
such packet would then be used to answer queries with matching QNAME,
even if there's no proof that this QNAME is insecure.
Vladimír Čunát [Tue, 25 Jun 2019 13:55:20 +0000 (15:55 +0200)]
lib/cache: don't stash packets with zeros in QNAME
Cache uses dname_lf for keys, i.e. zero bytes serve as separators
between labels. Therefore having a zero inside label could masquerade
for QNAME that does have label separators instead of these zeros.
That doesn't seem really exploitable in practice, as standard registries
won't allow such labels, so I can't see any possible attack that would
"cross border" of these registries, e.g. attacking anything inside
example.org without any cooperation from its owner (or org or root).
Tomas Krizek [Wed, 10 Jul 2019 12:12:17 +0000 (12:12 +0000)]
Merge branch 'doc-google-public-dns' into 'master'
doc: document TLS_FORWARD issues with some public DNS providers
See merge request knot/knot-resolver!843
Tomas Krizek [Wed, 10 Jul 2019 08:50:42 +0000 (10:50 +0200)]
doc: document TLS_FORWARD issues with some public DNS providers
Petr Špaček [Wed, 10 Jul 2019 12:10:48 +0000 (12:10 +0000)]
Merge branch 'cache-stale-reader-locks' into 'master'
cache: clear stale reader locks
See merge request knot/knot-resolver!844
Vladimír Čunát [Wed, 10 Jul 2019 10:34:11 +0000 (12:34 +0200)]
lib/cache: handle MDB_READERS_FULL
Abnormally terminated processes might leave stale reader locks,
and this is required to clear them.
Petr Špaček [Wed, 10 Jul 2019 10:52:51 +0000 (10:52 +0000)]
Merge branch 'rebinding_fix' into 'master'
rebinding: fix crash
See merge request knot/knot-resolver!842
Petr Špaček [Wed, 10 Jul 2019 07:06:41 +0000 (09:06 +0200)]
rebinding: clarify comment about *_selected arrays
Petr Špaček [Wed, 10 Jul 2019 06:59:48 +0000 (08:59 +0200)]
rebinding: log each blocked request only in verbose mode
Also the log now uses the same format query UID format as elsewhere.
Petr Špaček [Wed, 10 Jul 2019 06:40:25 +0000 (08:40 +0200)]
rebinding: stop iteration after encountering a filtered address
State FAIL does not stop iteration because kr_resolve_consume() resets
RESOLVED flag on failed attempts. This causes excessive attempts,
basically forcing kresd to try all authoritative servers before giving
up.
This excessive iteration also caused crash on assert in answer_fail
function.
Petr Špaček [Tue, 9 Jul 2019 12:20:05 +0000 (12:20 +0000)]
Merge branch 'zimport' into 'master'
Zone import/prefill
Closes #474
See merge request knot/knot-resolver!840
Ivana Krumlová [Tue, 9 Jul 2019 12:17:54 +0000 (14:17 +0200)]
NEWS: avoid crashing of preffil on empty file
Ivana Krumlová [Mon, 8 Jul 2019 11:29:46 +0000 (13:29 +0200)]
prefill: tests for zone import
Ivana Krumlová [Thu, 4 Jul 2019 15:06:02 +0000 (17:06 +0200)]
prefill: check correct origin attribute
name of SOA record must be "."
Ivana Krumlová [Thu, 4 Jul 2019 13:16:23 +0000 (15:16 +0200)]
zimport: avoid crash on empty zone file
Fixes: #474
Ivana Krumlová [Thu, 4 Jul 2019 12:42:55 +0000 (14:42 +0200)]
zimport: avoid crash on zi_state_parsing() failure
Tomas Krizek [Tue, 9 Jul 2019 09:25:46 +0000 (09:25 +0000)]
Merge branch 'ci-histogram-rcode' into 'master'
ci: collect RCODE histograms from respdiff
See merge request knot/knot-resolver!841
Tomas Krizek [Tue, 9 Jul 2019 07:56:51 +0000 (09:56 +0200)]
ci: collect RCODE histograms from respdiff
Petr Špaček [Wed, 3 Jul 2019 15:36:33 +0000 (15:36 +0000)]
Merge branch 'nitpicks' into 'master'
Nitpicks in Lua binding generation + pkt DO read operation
See merge request knot/knot-resolver!830
Vladimír Čunát [Fri, 17 May 2019 17:06:06 +0000 (19:06 +0200)]
kres-gen: make it work with static libkres as well
Petr Špaček [Fri, 21 Jun 2019 11:30:16 +0000 (13:30 +0200)]
daemon/lua: add ability to read DO bit from packet
Petr Špaček [Fri, 21 Jun 2019 10:57:13 +0000 (12:57 +0200)]
kres-gen: improve debugability in case of missing files or symbols
Petr Špaček [Wed, 3 Jul 2019 13:43:16 +0000 (13:43 +0000)]
Merge branch 'kr_cache_gc' into 'master'
cache garbage collector
Closes #257
See merge request knot/knot-resolver!817
Petr Špaček [Wed, 3 Jul 2019 12:59:44 +0000 (14:59 +0200)]
gc: reformat source code to conform to Linux codestyle
Main motivation is getting rid of tab-space mix.
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:44:35 +0000 (16:44 +0200)]
fixup! gc: handle the NS multi-entries much better
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 [Thu, 20 Jun 2019 12:57:23 +0000 (14:57 +0200)]
fixup! utils/cache_gc: rename daemon to kres_cache_gc
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 14:55:15 +0000 (16:55 +0200)]
fixup! lib/cache: make entry_h_consistent() generic
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