]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Petr Špaček [Tue, 12 Mar 2019 09:09:41 +0000 (09:09 +0000)]
Merge branch 'nitpicks' into 'master'
unify packet to string conversion between C and Lua
See merge request knot/knot-resolver!785
Vladimír Čunát [Thu, 28 Feb 2019 16:52:51 +0000 (17:52 +0100)]
daemon/main nitpick: unify exit code number handling
Petr Špaček [Tue, 30 Oct 2018 12:37:18 +0000 (13:37 +0100)]
unify packet to string conversion between C and Lua
There is no reason to have two distinct functions to do the same task,
especially if the Lua version did not print all the information.
(Found and amended a bit by vcunat.)
Petr Špaček [Fri, 8 Mar 2019 11:07:31 +0000 (11:07 +0000)]
Merge branch 'servfail-retry' into 'master'
fix fallback when SERVFAIL or REFUSED is received from upstream
See merge request knot/knot-resolver!784
Vladimír Čunát [Fri, 8 Mar 2019 10:04:34 +0000 (11:04 +0100)]
NEWS: merge the "Improvements" sections
Vladimír Čunát [Thu, 7 Mar 2019 14:39:11 +0000 (15:39 +0100)]
resolve, iterate: fix fallback when upstream SERVFAILs
or REFUSEs. We typically ended up retrying with the same server,
which is almost never good. Now we remove the server from the set.
Nitpick: a couple kr_query fields are reordered for better packing.
Petr Špaček [Thu, 7 Mar 2019 16:26:15 +0000 (16:26 +0000)]
Merge branch 'cache-stats' into 'master'
reworked cache stats
See merge request knot/knot-resolver!775
Vladimír Čunát [Tue, 5 Mar 2019 17:36:01 +0000 (18:36 +0100)]
cache: remove a useless internal function
Petr Špaček [Tue, 26 Feb 2019 16:06:24 +0000 (17:06 +0100)]
reworked cache stats
All cache operations are now counted. These are internal cache
operations and do not map directly to number of queries or even number
of RRs.
Closes: !515
Petr Špaček [Tue, 26 Feb 2019 13:02:09 +0000 (14:02 +0100)]
cache: use cache_op helper when possible
Petr Špaček [Tue, 26 Feb 2019 11:08:53 +0000 (12:08 +0100)]
gitattributes: specify word diff regex for C and C++ sources
This makes git diff --word-diff easier to read.
Petr Špaček [Tue, 26 Feb 2019 10:57:59 +0000 (11:57 +0100)]
cache: rename kr_cache_sync -> kr_cache_commit
Function originally called kr_cache_sync() was in fact responsible
for calling mdb_txn_commit() and not mdb_env_sync() which was confusing.
Petr Špaček [Tue, 26 Feb 2019 08:20:31 +0000 (09:20 +0100)]
cache: remove unsupported prune() operation from API
Cache cleaning needs to be done using separate mechanism
because cleaning it from worker process does not fit well into our
processing model. It is going to be a separate daemon.
Vladimír Čunát [Tue, 5 Mar 2019 16:55:38 +0000 (16:55 +0000)]
Merge !773: misc. ubsan fixes
Vladimír Čunát [Tue, 19 Feb 2019 19:27:50 +0000 (20:27 +0100)]
lib/utils kr_memreserve(): fix a ubsan nitpick
Vladimír Čunát [Tue, 19 Feb 2019 18:58:34 +0000 (19:58 +0100)]
lib/generic/lru: fix alignment of contained values
Vladimír Čunát [Tue, 19 Feb 2019 18:41:19 +0000 (19:41 +0100)]
lib/generic/lru: fix alignment of struct lru
Vladimír Čunát [Tue, 19 Feb 2019 18:06:07 +0000 (19:06 +0100)]
contrib/murmurhash3: fix bad type punning
Vladimír Čunát [Tue, 5 Mar 2019 14:46:55 +0000 (14:46 +0000)]
Merge !781: fix flushing of messages to logs in some cases
Vladimír Čunát [Tue, 5 Mar 2019 13:56:38 +0000 (14:56 +0100)]
treewide: fix flushing of messages to logs in some cases
... by setting FILE* properties and replace the explicit flushes.
Explicit flushing couldn't be well done e.g. for lua's error() function.
In particular, we had problems with journald not getting logs timely.
Tomas Krizek [Tue, 5 Mar 2019 14:39:59 +0000 (14:39 +0000)]
Merge branch 'rpz-errors' into 'master'
modules/policy.RPZ: log libzonefile errors as well
See merge request knot/knot-resolver!780
Vladimír Čunát [Tue, 5 Mar 2019 07:55:07 +0000 (08:55 +0100)]
modules/policy.RPZ: log libzonefile errors as well
Petr Špaček [Thu, 28 Feb 2019 13:30:16 +0000 (13:30 +0000)]
Merge branch 'stdin-null' into 'master'
lua event.socket(): remove a hacky workaround
See merge request knot/knot-resolver!778
Vladimír Čunát [Thu, 28 Feb 2019 09:19:48 +0000 (10:19 +0100)]
tests: rename forgotten worker.test.lua
Vladimír Čunát [Thu, 28 Feb 2019 06:39:47 +0000 (07:39 +0100)]
lua event.socket(): disable a hacky workaround
It should be fixed in quite old libuv versions already:
https://github.com/libuv/libuv/issues/883
Tomas Krizek [Thu, 28 Feb 2019 09:18:39 +0000 (09:18 +0000)]
Merge branch 'docker-certs' into 'master'
Add ca-certificates to runtime on Dockerfile
See merge request knot/knot-resolver!779
Jayson Reis [Wed, 27 Feb 2019 18:55:32 +0000 (19:55 +0100)]
Add ca-certificates to runtime on Dockerfile
Petr Špaček [Mon, 25 Feb 2019 13:53:20 +0000 (13:53 +0000)]
Merge branch 'addr-split-port' into 'master'
Splitting port from IP address
See merge request knot/knot-resolver!776
Vladimír Čunát [Mon, 25 Feb 2019 10:49:32 +0000 (11:49 +0100)]
modules/policy: support '#' for separating port numbers
and deduplicate the parsing logic.
Vladimír Čunát [Thu, 21 Feb 2019 16:19:08 +0000 (17:19 +0100)]
lib/utils kr_straddr_split(): simplify the API
After
83539eb7f it was a bit complicated. It allowed to save a memcpy
of the address in case no port was specified, but we only need to do the
split when changing configuration, so it was overzealous optimization.
Petr Špaček [Mon, 25 Feb 2019 10:10:30 +0000 (10:10 +0000)]
Merge branch 'tls-sni' into 'master'
policy.TLS_FORWARD: send SNI on wire if configured
See merge request knot/knot-resolver!762
Petr Špaček [Fri, 22 Feb 2019 09:28:06 +0000 (10:28 +0100)]
daemon: improve readability of TLS parameter handling
Petr Špaček [Thu, 21 Feb 2019 15:02:42 +0000 (16:02 +0100)]
daemon: split TLS authentication into smaller functions
Petr Špaček [Fri, 15 Feb 2019 12:25:37 +0000 (13:25 +0100)]
nitpicks
Vladimír Čunát [Thu, 31 Jan 2019 16:00:22 +0000 (17:00 +0100)]
daemon: rework handling of TLS authentication params
It's mainly about the way we parse and validate them.
Almost all of the parts of validation that were being done
in modules/policy/policy.lua and daemon/tls.c got moved
to daemon/bindings/net.c, so it's easier to follow that.
Also more checks are being done now, e.g. contents of .pin_sha256
and .hostname strings.
Vladimír Čunát [Wed, 23 Jan 2019 17:56:51 +0000 (18:56 +0100)]
policy.TLS_FORWARD: send SNI on wire if configured
In https world it's standard to do that, and it's relied on.
Real-life example: 8.8.8.8#853 over TLSv1.3 won't send a certificate
if we don't send SNI (no idea why; also they do send it with TLSv1.2).
As a consequence, we no longer allow multiple hostnames per
address-port tuple, but that didn't seem useful.
Vladimír Čunát [Fri, 22 Feb 2019 10:04:05 +0000 (10:04 +0000)]
Merge !774: various compiler warning fixes
Tomas Krizek [Mon, 18 Feb 2019 13:10:11 +0000 (14:10 +0100)]
daemon/network: avoid unused functions and variables
Make sure gcc doesn't produce unused func/var warnings when using
optional compilation. This fixes three such issues on CentOS 7.
Tomas Krizek [Thu, 14 Feb 2019 14:52:54 +0000 (15:52 +0100)]
daemon/engine: avoid unused variable with DNDEBUG
Tomas Krizek [Tue, 12 Feb 2019 12:37:04 +0000 (13:37 +0100)]
pytests/tlsproxy: fix C warnings
Vladimír Čunát [Thu, 21 Feb 2019 14:15:18 +0000 (15:15 +0100)]
nitpick fixes for clang-tidy
Vladimír Čunát [Thu, 21 Feb 2019 10:52:46 +0000 (11:52 +0100)]
test nitpicks: fix -Wpedantic issues
Tomas Krizek [Mon, 18 Feb 2019 09:30:06 +0000 (09:30 +0000)]
Merge branch 'doc-rename-flowcharts' into 'master'
doc/flowcharts: use underscores instead of spaces in filename
See merge request knot/knot-resolver!772
Tomas Krizek [Fri, 15 Feb 2019 09:45:03 +0000 (10:45 +0100)]
doc/flowcharts: use underscores instead of spaces in filename
Petr Špaček [Thu, 14 Feb 2019 13:37:07 +0000 (13:37 +0000)]
Merge branch 'doc-flowcharts' into 'master'
doc: attempt on documenting of some kresd algorithms
See merge request knot/knot-resolver!731
Grigorii Demidov [Wed, 2 Jan 2019 16:50:33 +0000 (17:50 +0100)]
doc/flowcharts: minor additions and restructurization
Grigorii Demidov [Tue, 18 Dec 2018 15:43:44 +0000 (16:43 +0100)]
doc: flowcharts, minor actualization of udp task.dia
Grigorii Demidov [Tue, 18 Dec 2018 14:29:05 +0000 (15:29 +0100)]
doc: outgoing tcp query flowchart
Grigorii Demidov [Wed, 31 Oct 2018 13:23:22 +0000 (14:23 +0100)]
doc: attempt on visualizaion of incoming udp query processing
Petr Špaček [Mon, 11 Feb 2019 16:09:00 +0000 (16:09 +0000)]
Merge branch 'nitpicks-lua' into 'master'
smaller changes, mainly around lua error handling
See merge request knot/knot-resolver!768
Vladimír Čunát [Mon, 11 Feb 2019 11:53:01 +0000 (12:53 +0100)]
daemon/bindings: nitpicks fixed during MR review
Vladimír Čunát [Wed, 30 Jan 2019 15:37:59 +0000 (16:37 +0100)]
treewide: avoid lua_tonumber where integer is expected
Vladimír Čunát [Wed, 30 Jan 2019 18:04:32 +0000 (19:04 +0100)]
lua_error_p(): print whole stack trace
We use a function that's not in lua 5.1,
but it's been present in luajit since 2.0.0:
https://github.com/LuaJIT/LuaJIT/commit/
fcddd5a3a
Vladimír Čunát [Fri, 25 Jan 2019 21:01:32 +0000 (22:01 +0100)]
lua from C: unify the way we throw lua_error()
It's often a bit shorter, and it provides us with location.
Vladimír Čunát [Fri, 25 Jan 2019 19:20:22 +0000 (20:20 +0100)]
lib/utils kr_straddr_split(): tweak meaning, use more
Now we don't rewrite the port-splitters in command line by zero bytes.
That was confusing the output of some SW showing the command-line
of running kresd.
Petr Špaček [Thu, 7 Feb 2019 16:23:42 +0000 (16:23 +0000)]
Merge branch 'bindings-split' into 'master'
split code and docs for lua bindings into smaller files
See merge request knot/knot-resolver!765
Vladimír Čunát [Thu, 24 Jan 2019 18:15:29 +0000 (19:15 +0100)]
cleanups after splitting bindings.c
Vladimír Čunát [Thu, 24 Jan 2019 17:18:58 +0000 (18:18 +0100)]
split daemon/bindings.c file
It's now a directory, one C file for each lua table of functions.
We get more total lines due to per-file copyright headers,
but the original file was just too long (nearing 2k lines).
The layout was inspired by the lib/cache/ split.
Disadvantage: git operations (e.g. blame) will stumble on this commit.
During the move, rename the "str" and "xstr" macros, too.
Otherwise there are no real changes, as they would be hard to spot.
Vladimír Čunát [Thu, 7 Feb 2019 10:32:45 +0000 (10:32 +0000)]
Merge !764: doc/kresd.systemd: bind to all interfaces with kresd.socket
Tomas Krizek [Tue, 29 Jan 2019 09:33:41 +0000 (10:33 +0100)]
modules/view/README: mention v4-mapped-on-v6 syntax
Related #445
Tomas Krizek [Tue, 29 Jan 2019 09:33:01 +0000 (10:33 +0100)]
modules/view/README: add IPv6 example
Tomas Krizek [Tue, 29 Jan 2019 09:25:03 +0000 (10:25 +0100)]
doc/kresd.socket: mention IPv4 syntax incompatibility when binding with IPv6
Related #445
Tomas Krizek [Mon, 28 Jan 2019 13:41:05 +0000 (14:41 +0100)]
doc/kresd.systemd: bind to all interfaces with kresd.socket
Tomas Krizek [Mon, 28 Jan 2019 13:43:52 +0000 (14:43 +0100)]
systemd/kresd.socket: explicitly set BindIPv6Only=both
This should be the default, but since we're relying on it in
our documentation, it's better to set it explicitly. It can be
overriden in the drop-in file if necessary.
Vladimír Čunát [Wed, 6 Feb 2019 14:38:48 +0000 (14:38 +0000)]
Merge !767: policy.rpz(): watch for file changes by default
Original thread: https://gitlab.labs.nic.cz/knot/knot-resolver/merge_requests/752
Vladimír Čunát [Fri, 11 Jan 2019 11:44:23 +0000 (12:44 +0100)]
modules/policy RPZ: various nitpicks
- logging
- watch by default
- in Fedora we need to depend on the version for lua 5.1
Jonathan Coetzee [Wed, 6 Feb 2019 13:59:23 +0000 (14:59 +0100)]
modules/policy RPZ: auto-reloading function
vcunat squashed this, rebased, etc.
Vladimír Čunát [Wed, 6 Feb 2019 13:42:39 +0000 (13:42 +0000)]
Merge !766: ta_signal_query: document its limitations
Petr Špaček [Wed, 6 Feb 2019 10:53:25 +0000 (11:53 +0100)]
ta_signal_query: document its limitations
Vladimír Čunát [Wed, 30 Jan 2019 09:58:39 +0000 (09:58 +0000)]
Merge !758: CI: build package for Turris
Tomas Krizek [Thu, 17 Jan 2019 15:12:40 +0000 (16:12 +0100)]
gitlabci: run Turris build in CI
Tomas Krizek [Thu, 17 Jan 2019 14:33:11 +0000 (15:33 +0100)]
distro/turris: import packaging files
Tomas Krizek [Wed, 16 Jan 2019 15:39:26 +0000 (16:39 +0100)]
ci/turris: add Docker container for Turris builds
Vladimír Čunát [Tue, 29 Jan 2019 14:48:12 +0000 (14:48 +0000)]
Merge !756: modules/hints: allow overriding TTL, change default
Closes #442.
Vladimír Čunát [Thu, 17 Jan 2019 14:13:27 +0000 (15:13 +0100)]
dns64 tests: fix by setting hints.ttl() explicitly
Vladimír Čunát [Thu, 17 Jan 2019 13:58:35 +0000 (14:58 +0100)]
modules/hints: change default TTL to 5s, add NEWS
0 was unreasonable. Even if hints are meant for "close" devices,
they will commonly be e.g. behind WiFi, and it seems unreasonable to
expect changes faster than after a couple seconds anyway.
Vladimír Čunát [Mon, 14 Jan 2019 17:10:10 +0000 (18:10 +0100)]
modules/hints: allow overriding the TTL
Fixes #442.
Tomas Krizek [Mon, 28 Jan 2019 12:35:45 +0000 (12:35 +0000)]
Merge branch 'ta-test-timeout' into 'master'
daemon/trust_anchors.test: increase max timeout
See merge request knot/knot-resolver!763
Tomas Krizek [Mon, 28 Jan 2019 11:09:18 +0000 (12:09 +0100)]
daemon/trust_anchors.test: increase max timeout
Our CI environment requires a longer timeout during
high-load.
Vladimír Čunát [Mon, 28 Jan 2019 11:46:40 +0000 (11:46 +0000)]
Merge !753: trust_anchors: don't update unmanaged TAs from files
Vladimír Čunát [Sat, 19 Jan 2019 14:19:54 +0000 (15:19 +0100)]
trust anchors: implementation cleanup
We don't need the trustanchor() lua function for root bootstrap
anymore, so let's get rid of it. It was undocumented (internal).
Vladimír Čunát [Sat, 19 Jan 2019 13:01:34 +0000 (14:01 +0100)]
trust anchors: improve .add()
These keys will now be more uniformly represented and thus also
shown by .summary(). It's still not perfectly synchronized when
that function fails, but that seems acceptable.
Vladimír Čunát [Sat, 19 Jan 2019 11:13:40 +0000 (12:13 +0100)]
trust anchors: extend internal keyset_read()
- allow accepting a string instead of file
- move some checks inside
Vladimír Čunát [Tue, 15 Jan 2019 10:59:06 +0000 (11:59 +0100)]
trust anchors tests: add test_revoked_key()
Vladimír Čunát [Tue, 15 Jan 2019 10:07:33 +0000 (11:07 +0100)]
trust_anchors.summary(): unify the output
It could've been confusing otherwise, e.g. revoked or otherwise
untrusted keys were shown without any annotation in some cases.
Vladimír Čunát [Fri, 11 Jan 2019 15:28:22 +0000 (16:28 +0100)]
trust_anchors: don't update unmanaged TAs from files
This also implies that non-verbose logs won't contain any lines about
the TAs if they are unmanaged (by default), but that seems OK.
Petr Špaček [Wed, 23 Jan 2019 16:21:47 +0000 (16:21 +0000)]
Merge branch 'ci-pytests-new-proxy' into 'master'
pytests: update proxy + test_random_close
See merge request knot/knot-resolver!732
Tomas Krizek [Mon, 21 Jan 2019 13:41:31 +0000 (14:41 +0100)]
pytests/proxy: run test_rehandshake with TLS 1.3 as well
Grigorii Demidov [Thu, 17 Jan 2019 13:01:54 +0000 (14:01 +0100)]
pytests/proxy: support for TLSv1.3 posthadshake reauth
Tomas Krizek [Wed, 16 Jan 2019 13:58:22 +0000 (14:58 +0100)]
pytests/test_rehandshake: fix test
Grigorii Demidov [Wed, 16 Jan 2019 13:48:02 +0000 (14:48 +0100)]
pytests/proxy: disable TLS1.3 suppoert
Grigorii Demidov [Wed, 16 Jan 2019 10:50:00 +0000 (11:50 +0100)]
pytests/proxy: minor improvement in rehandshake processing
Tomas Krizek [Tue, 15 Jan 2019 17:43:06 +0000 (18:43 +0100)]
pytests/kresd.conf: make sure localhost hint is present
Grigorii Demidov [Tue, 15 Jan 2019 13:13:23 +0000 (14:13 +0100)]
pytest/proxy: support for multiple clients, some new functionality; tcproxy removed
Tomas Krizek [Wed, 9 Jan 2019 15:42:31 +0000 (16:42 +0100)]
pytest/test_random_close: use new proxy
Tomas Krizek [Tue, 11 Dec 2018 14:38:32 +0000 (15:38 +0100)]
pytests/test_random_close: add test
Tomas Krizek [Wed, 9 Jan 2019 15:07:12 +0000 (16:07 +0100)]
pytests/test_rehandshake: use new proxy
Tomas Krizek [Wed, 9 Jan 2019 13:14:32 +0000 (14:14 +0100)]
pytests/proxy: Python wrapper
Tomas Krizek [Wed, 9 Jan 2019 13:08:26 +0000 (14:08 +0100)]
pytests/proxy: import code
Original author: Grigorii Demidov <grigorii.demidov@nic.cz>
Tomas Krizek [Tue, 11 Dec 2018 14:20:28 +0000 (15:20 +0100)]
pytests: extract proxy logic to proxyutils