]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
6 years agomodules/{policy,view}: do not act if FAIL or DONE
Vladimír Čunát [Wed, 12 Dec 2018 14:29:23 +0000 (15:29 +0100)] 
modules/{policy,view}: do not act if FAIL or DONE

Not all actions are destructive, but it seems generally expected that if
an earlier module or other code already transitioned the request into
a FAIL or DONE state, we don't want to apply rules anymore.
In particular, later rule actions would "overwrite" what previous
actions did.

6 years agoview: allow multiple :tsig rules with the same key
Vladimír Čunát [Tue, 11 Dec 2018 17:13:32 +0000 (18:13 +0100)] 
view: allow multiple :tsig rules with the same key

It's perhaps still confusing that there are three distinct rule chains:
policy, view:tsig and view:addr.

6 years agoview: change :addr to a more natural semantics
Vladimír Čunát [Mon, 17 Sep 2018 09:34:11 +0000 (11:34 +0200)] 
view: change :addr to a more natural semantics

Continue executing :addr rules until a non-chain action is executed.
Before this, the only the first match in view:addr rules got a chance,
even though the inner policy rule might not trigger in that case
or be a chain action.

6 years agoview doc: warn against split-horizon DNS
Vladimír Čunát [Mon, 17 Sep 2018 10:48:30 +0000 (12:48 +0200)] 
view doc: warn against split-horizon DNS

6 years agoMerge branch 'doc_graft' into 'master'
Petr Špaček [Thu, 13 Dec 2018 14:31:16 +0000 (14:31 +0000)] 
Merge branch 'doc_graft' into 'master'

policy: improve example for grafting subtrees

See merge request knot/knot-resolver!726

6 years agopolicy: improve example for grafting subtrees
Petr Špaček [Thu, 13 Dec 2018 14:29:58 +0000 (15:29 +0100)] 
policy: improve example for grafting subtrees

6 years agoMerge branch 'ci-pytests-fix-connflood' into 'master'
Petr Špaček [Thu, 13 Dec 2018 11:40:59 +0000 (11:40 +0000)] 
Merge branch 'ci-pytests-fix-connflood' into 'master'

ci: run pytests with ASAN + fix con_flood

See merge request knot/knot-resolver!725

6 years agoci: run small respdiff with ASAN build
Tomas Krizek [Wed, 12 Dec 2018 16:53:27 +0000 (17:53 +0100)] 
ci: run small respdiff with ASAN build

6 years agopytests/conn_flood: select number of connections dynamically
Tomas Krizek [Tue, 11 Dec 2018 17:19:15 +0000 (18:19 +0100)] 
pytests/conn_flood: select number of connections dynamically

6 years agoci/gitlab-ci.yaml: use ASAN build for pytests
Tomas Krizek [Tue, 11 Dec 2018 16:48:57 +0000 (17:48 +0100)] 
ci/gitlab-ci.yaml: use ASAN build for pytests

6 years agoMerge branch 'alexforster/so-attach-bpf' into 'master'
Petr Špaček [Thu, 13 Dec 2018 11:28:24 +0000 (11:28 +0000)] 
Merge branch 'alexforster/so-attach-bpf' into 'master'

daemon: support Linux eBPF socket filters with new net.bpf_set(fd) and net.bpf_clear() bindings

See merge request knot/knot-resolver!719

6 years agodaemon/bindings: eBPF socket filter support, fix broken RHEL/CentOS build; fix callba...
Grigorii Demidov [Tue, 11 Dec 2018 15:39:52 +0000 (16:39 +0100)] 
daemon/bindings: eBPF socket filter support, fix broken RHEL/CentOS build; fix callbacks for map_walk()

6 years agodaemon/bindings: eBPF socket filters bindings, avoid usage of lua 5.3 macro; fix...
Grigorii Demidov [Tue, 11 Dec 2018 14:57:57 +0000 (15:57 +0100)] 
daemon/bindings: eBPF socket filters bindings, avoid usage of lua 5.3 macro; fix clang warnings

6 years agodaemon: support Linux eBPF socket filters with new net.bpf_set(fd) and net.bpf_clear...
Alex Forster [Wed, 5 Dec 2018 23:01:33 +0000 (17:01 -0600)] 
daemon: support Linux eBPF socket filters with new net.bpf_set(fd) and net.bpf_clear() bindings

6 years agoMerge branch 'tcp-timeout-trigger-fix' into 'master'
Petr Špaček [Wed, 12 Dec 2018 16:45:27 +0000 (16:45 +0000)] 
Merge branch 'tcp-timeout-trigger-fix' into 'master'

daemon/io: additional integrity check

See merge request knot/knot-resolver!724

6 years agodaemon/io: additional integrity check
Grigorii Demidov [Wed, 12 Dec 2018 13:32:17 +0000 (14:32 +0100)] 
daemon/io: additional integrity check

6 years agoMerge !629: new statistics
Vladimír Čunát [Tue, 11 Dec 2018 20:29:54 +0000 (20:29 +0000)] 
Merge !629: new statistics

Closes #186.

6 years agoadd NEWS entries for this branch
Vladimír Čunát [Tue, 11 Dec 2018 18:18:40 +0000 (19:18 +0100)] 
add NEWS entries for this branch

6 years agostats nitpick: refactor to simpler code
Vladimír Čunát [Tue, 11 Dec 2018 18:06:12 +0000 (19:06 +0100)] 
stats nitpick: refactor to simpler code

These if-guards seemed unnecessarily complicated.

6 years agobogus_log: document new function frequent()
Petr Špaček [Tue, 11 Dec 2018 17:10:54 +0000 (18:10 +0100)] 
bogus_log: document new function frequent()

6 years agostats: document new counters
Petr Špaček [Tue, 11 Dec 2018 17:03:37 +0000 (18:03 +0100)] 
stats: document new counters

6 years agostats: fix crash when stats.get/set is called with invalid parameters
Petr Špaček [Tue, 11 Dec 2018 16:03:13 +0000 (17:03 +0100)] 
stats: fix crash when stats.get/set is called with invalid parameters

Closes: #186
6 years agobogus_log: integration tests for bogus_log.frequent()
Petr Špaček [Tue, 11 Dec 2018 15:42:49 +0000 (16:42 +0100)] 
bogus_log: integration tests for bogus_log.frequent()

6 years agostats: integration tests
Petr Špaček [Tue, 11 Dec 2018 14:32:50 +0000 (15:32 +0100)] 
stats: integration tests

6 years agofixup! added stats for all dns header flags
Petr Špaček [Tue, 11 Dec 2018 10:40:26 +0000 (11:40 +0100)] 
fixup! added stats for all dns header flags

Flag counting was incorrect.

6 years agofix content type
Ulrich Wisser [Thu, 19 Jul 2018 22:44:31 +0000 (18:44 -0400)] 
fix content type

6 years agoadded tests for new web apis
Ulrich Wisser [Thu, 19 Jul 2018 22:36:14 +0000 (18:36 -0400)] 
added tests for new web apis
added new global bogus_log

6 years agoexpose bogus_log.frequent as web api
Ulrich Wisser [Thu, 19 Jul 2018 22:20:42 +0000 (18:20 -0400)] 
expose bogus_log.frequent as web api

6 years agobogus_log: add list of most frequent bogus queries
Ulrich Wisser [Thu, 19 Jul 2018 02:19:18 +0000 (22:19 -0400)] 
bogus_log: add list of most frequent bogus queries

6 years agoall stats are now named with prefix answer_
Ulrich Wisser [Tue, 17 Jul 2018 20:47:35 +0000 (16:47 -0400)] 
all stats are now named with prefix answer_
stats with query_ prefix are deprecated
added stats for all dns header flags

6 years agoexpose stats.upstreams as web api /upstreams
Ulrich Wisser [Tue, 17 Jul 2018 20:46:54 +0000 (16:46 -0400)] 
expose stats.upstreams as web api /upstreams

6 years agoMerge !721: daemon/worker, session: correctly process...
Vladimír Čunát [Tue, 11 Dec 2018 13:51:14 +0000 (13:51 +0000)] 
Merge !721: daemon/worker, session: correctly process...

... connected upstreams list when closing outgoing connection

6 years agodaemon/worker, session: correctly process connected...
Grigorii Demidov [Mon, 10 Dec 2018 14:01:37 +0000 (15:01 +0100)] 
daemon/worker, session: correctly process connected...

... upstreams list when closing outgoing connection

6 years agoMerge !673: use randomness from gnutls instead of internal ISAAC
Vladimír Čunát [Tue, 11 Dec 2018 11:56:29 +0000 (11:56 +0000)] 
Merge !673: use randomness from gnutls instead of internal ISAAC

6 years agokr_random_coin: do not crash on invalid values
Petr Špaček [Mon, 10 Dec 2018 17:43:00 +0000 (18:43 +0100)] 
kr_random_coin: do not crash on invalid values

6 years agoremove kr_rand_bytes_nonstatic()
Vladimír Čunát [Mon, 17 Sep 2018 16:33:35 +0000 (18:33 +0200)] 
remove kr_rand_bytes_nonstatic()

It seems simpler, now that we have kr_rnd_buffered().

6 years agobuffer randomness from gnutls
Vladimír Čunát [Mon, 17 Sep 2018 15:37:16 +0000 (17:37 +0200)] 
buffer randomness from gnutls

gnutls_rnd() is more heavy-weight than I originally anticipated,
and in simple profiling it would take roughly 1% of CPU.
With this simple buffering the usage dropped well under 0.1%.

6 years agoadd kr_random_coin() to make some code more readable
Vladimír Čunát [Mon, 17 Sep 2018 13:54:01 +0000 (15:54 +0200)] 
add kr_random_coin() to make some code more readable

6 years agouse randomness from gnutls instead of internal ISAAC
Vladimír Čunát [Wed, 12 Sep 2018 15:08:22 +0000 (17:08 +0200)] 
use randomness from gnutls instead of internal ISAAC

6 years agoMerge !722: small command input fixes
Vladimír Čunát [Mon, 10 Dec 2018 16:23:09 +0000 (16:23 +0000)] 
Merge !722: small command input fixes

6 years agoworker interactive mode: check stdin type
Vladimír Čunát [Mon, 10 Dec 2018 16:06:37 +0000 (17:06 +0100)] 
worker interactive mode: check stdin type

In particular, redirection from a file was leading to abort(),
so we provide an error message instead.

6 years agoworker shutdown: close the leaking uv handle
Vladimír Čunát [Mon, 10 Dec 2018 15:14:02 +0000 (16:14 +0100)] 
worker shutdown: close the leaking uv handle

6 years agoMerge branch 'fwd-upstream-ranking' into 'master'
Petr Špaček [Mon, 10 Dec 2018 12:40:18 +0000 (12:40 +0000)] 
Merge branch 'fwd-upstream-ranking' into 'master'

fix some inconsistencies in tcp connection error handling; forwarding - avoid attempts to communicate with timeouted upstream.

See merge request knot/knot-resolver!716

6 years agolib/nsrep: lower default value for the time interval after which timeouted NS will...
Grigorii Demidov [Fri, 7 Dec 2018 14:18:43 +0000 (15:18 +0100)] 
lib/nsrep: lower default value for the time interval after which timeouted NS will be reprobed

6 years agodaemon/io: improved log
Grigorii Demidov [Fri, 7 Dec 2018 10:22:59 +0000 (11:22 +0100)] 
daemon/io: improved log

6 years agodaemon/session: session_close() alwayes delete peers addresses from the list of estbl...
Grigorii Demidov [Thu, 6 Dec 2018 17:37:51 +0000 (18:37 +0100)] 
daemon/session: session_close() alwayes delete peers addresses from the list of estblished TCP connections even if underlying transport is UDP; fixed

6 years agodaemon/worker: additional check for expired tasks
Grigorii Demidov [Fri, 7 Dec 2018 09:02:54 +0000 (10:02 +0100)] 
daemon/worker: additional check for expired tasks

6 years agodaemon: increase udp timeouts when forwarding
Grigorii Demidov [Wed, 5 Dec 2018 10:51:52 +0000 (11:51 +0100)] 
daemon: increase udp timeouts when forwarding

6 years agodaemon, lib/nsrep: tuning of upstreams timeouting algorithm
Grigorii Demidov [Tue, 4 Dec 2018 14:02:51 +0000 (15:02 +0100)] 
daemon, lib/nsrep: tuning of upstreams timeouting algorithm

6 years agodaemon, resolve, nsrep: improve transport failures handling when forwarding
Grigorii Demidov [Mon, 3 Dec 2018 12:18:01 +0000 (13:18 +0100)] 
daemon, resolve, nsrep: improve transport failures handling when forwarding

6 years agobugfixes in tcp connection error handling
Grigorii Demidov [Fri, 30 Nov 2018 15:43:32 +0000 (16:43 +0100)] 
bugfixes in tcp connection error handling

6 years agofixup! daemon: forwarding - attempt to handle timeouted upstream
Vladimír Čunát [Fri, 30 Nov 2018 09:37:40 +0000 (10:37 +0100)] 
fixup! daemon: forwarding - attempt to handle timeouted upstream

Reduce copy&paste.

6 years agodaemon: forwarding - attempt to handle timeouted upstream
Grigorii Demidov [Thu, 29 Nov 2018 16:58:25 +0000 (17:58 +0100)] 
daemon: forwarding - attempt to handle timeouted upstream

6 years agoMerge branch 'tls_server_docs' into 'master'
Petr Špaček [Thu, 6 Dec 2018 13:26:51 +0000 (13:26 +0000)] 
Merge branch 'tls_server_docs' into 'master'

docs: TLS server config clarification

See merge request knot/knot-resolver!718

6 years agodocs: TLS server config clarification
Petr Špaček [Thu, 6 Dec 2018 12:50:42 +0000 (13:50 +0100)] 
docs: TLS server config clarification

6 years agoMerge branch 'cflare-tls-auth' into 'master'
Petr Špaček [Wed, 5 Dec 2018 15:42:46 +0000 (15:42 +0000)] 
Merge branch 'cflare-tls-auth' into 'master'

Experimental DNS-over-TLS to auth module

See merge request knot/knot-resolver!711

6 years agoexperimental_dot_auth: remove bundled basexx library
Petr Špaček [Wed, 5 Dec 2018 15:21:24 +0000 (16:21 +0100)] 
experimental_dot_auth: remove bundled basexx library

6 years agoexperimental_dot_auth: polish docs
Petr Špaček [Wed, 5 Dec 2018 15:20:58 +0000 (16:20 +0100)] 
experimental_dot_auth: polish docs

6 years agorename experimental dot module to experimental_dot_auth
Petr Špaček [Wed, 5 Dec 2018 14:49:49 +0000 (15:49 +0100)] 
rename experimental dot module to experimental_dot_auth

6 years agodo not enable experimental dot module by default
Petr Špaček [Wed, 5 Dec 2018 14:47:17 +0000 (15:47 +0100)] 
do not enable experimental dot module by default

6 years agomodules/dot, daemon/tls: fix lint warnings
Grigorii Demidov [Thu, 22 Nov 2018 16:39:20 +0000 (17:39 +0100)] 
modules/dot, daemon/tls: fix lint warnings

6 years agodaemon/worker: minor adaptation of fa677610 after cherrypicking from older branch
Grigorii Demidov [Thu, 22 Nov 2018 15:45:30 +0000 (16:45 +0100)] 
daemon/worker: minor adaptation of fa677610 after cherrypicking from older branch

6 years agodot module in lua
Manu Bretelle [Fri, 9 Nov 2018 04:12:29 +0000 (04:12 +0000)] 
dot module in lua

This modules allows knot-resolver to discover authoritative servers SPKI
digest by leveraging magic NS target names ala DNSCurve.

6 years agodaemon: allow opportunistic DNS over TLS to origins
Marek Vavruša [Tue, 31 Jul 2018 22:12:25 +0000 (15:12 -0700)] 
daemon: allow opportunistic DNS over TLS to origins

This commit allows opportunistic DNS over TLS to origins configured
as supporting DoT on port 853. It also adds interface for clearing
configured TLS clients to allow runtime reconfiguration.

The general mode of operation is as follows:

1. Produce a new outgoing query
2. Check if the selected upstream address has configured TLS support on port 853
 2a. If it does: upgrade to DNS over TLS, it cannot be downgraded from this point
 2b. If not: continue with preferred protocol

This allows further automatic discovery as in [1], but right now it has to be configured
manually.

[1]: https://tools.ietf.org/id/draft-bortzmeyer-dprive-resolver-to-auth-00.html

(cherrypicked from cloudflare branch, need to be adapted)

6 years agoMerge branch 'ci-transport-tests' into 'master'
Petr Špaček [Tue, 4 Dec 2018 16:28:52 +0000 (16:28 +0000)] 
Merge branch 'ci-transport-tests' into 'master'

transport tests

See merge request knot/knot-resolver!707

6 years agopytests/kresd: add option to wait for port if taken by system
Tomas Krizek [Tue, 4 Dec 2018 08:16:23 +0000 (09:16 +0100)] 
pytests/kresd: add option to wait for port if taken by system

6 years agopytests/test_rehandshake: fix test
Tomas Krizek [Tue, 4 Dec 2018 07:40:54 +0000 (08:40 +0100)] 
pytests/test_rehandshake: fix test

6 years agopytests: remove test_tls_cert_expired
Tomas Krizek [Mon, 3 Dec 2018 12:16:01 +0000 (13:16 +0100)] 
pytests: remove test_tls_cert_expired

6 years agopytests/test_pipelining: fix issue with net.ipv6=true
Tomas Krizek [Mon, 3 Dec 2018 12:13:56 +0000 (13:13 +0100)] 
pytests/test_pipelining: fix issue with net.ipv6=true

6 years agopytests: reserve kresd ports using files in tmpdir
Tomas Krizek [Mon, 3 Dec 2018 10:22:38 +0000 (11:22 +0100)] 
pytests: reserve kresd ports using files in tmpdir

6 years agopytests: nitpicks
Tomas Krizek [Fri, 30 Nov 2018 11:15:54 +0000 (12:15 +0100)] 
pytests: nitpicks

6 years agopytests: update kresd.conf
Tomas Krizek [Fri, 30 Nov 2018 10:43:03 +0000 (11:43 +0100)] 
pytests: update kresd.conf

6 years agopytests/tests: fix typos in README
Tomas Krizek [Fri, 30 Nov 2018 10:40:54 +0000 (11:40 +0100)] 
pytests/tests: fix typos in README

6 years agopytests: rehandshake - search log
Tomas Krizek [Wed, 28 Nov 2018 10:36:20 +0000 (11:36 +0100)] 
pytests: rehandshake - search log

6 years agopytests: add rehandshake test
Tomas Krizek [Tue, 27 Nov 2018 14:54:12 +0000 (15:54 +0100)] 
pytests: add rehandshake test

6 years agopytests: add hints and forward options to Kresd
Tomas Krizek [Tue, 27 Nov 2018 13:29:04 +0000 (14:29 +0100)] 
pytests: add hints and forward options to Kresd

6 years agopytests: fix prefix tests
Tomas Krizek [Thu, 22 Nov 2018 09:54:15 +0000 (10:54 +0100)] 
pytests: fix prefix tests

6 years agoci/debian-stable: add dependencies for executing pytests
Tomas Krizek [Wed, 21 Nov 2018 09:47:14 +0000 (10:47 +0100)] 
ci/debian-stable: add dependencies for executing pytests

6 years agopytests: parametrize test_prefix_trailing_garbage
Tomas Krizek [Tue, 20 Nov 2018 16:25:06 +0000 (17:25 +0100)] 
pytests: parametrize test_prefix_trailing_garbage

6 years agopytests: parametrize tcp_prefix tests
Tomas Krizek [Tue, 20 Nov 2018 16:04:01 +0000 (17:04 +0100)] 
pytests: parametrize tcp_prefix tests

6 years agopytests: parametrize test_conn_mgmt tests
Tomas Krizek [Tue, 20 Nov 2018 14:50:17 +0000 (15:50 +0100)] 
pytests: parametrize test_conn_mgmt tests

6 years agopytests: add html report
Tomas Krizek [Tue, 20 Nov 2018 14:18:56 +0000 (15:18 +0100)] 
pytests: add html report

6 years agopytests: parametrize test_ignore_garbage
Tomas Krizek [Tue, 20 Nov 2018 12:51:00 +0000 (13:51 +0100)] 
pytests: parametrize test_ignore_garbage

6 years agopytests: clean up docstrings
Tomas Krizek [Tue, 20 Nov 2018 11:53:09 +0000 (12:53 +0100)] 
pytests: clean up docstrings

6 years agopytests: update readme
Tomas Krizek [Tue, 20 Nov 2018 11:12:58 +0000 (12:12 +0100)] 
pytests: update readme

6 years agoci/pytests: run.sh additional pytest options
Tomas Krizek [Mon, 19 Nov 2018 13:47:49 +0000 (14:47 +0100)] 
ci/pytests: run.sh additional pytest options

6 years agopytests: conn_flood set socket limit to 15k
Tomas Krizek [Tue, 20 Nov 2018 10:46:00 +0000 (11:46 +0100)] 
pytests: conn_flood set socket limit to 15k

6 years agopytests: fix utils.ping_alive
Tomas Krizek [Mon, 19 Nov 2018 18:36:05 +0000 (19:36 +0100)] 
pytests: fix utils.ping_alive

6 years agopytests: import test_oob
Tomas Krizek [Mon, 19 Nov 2018 17:35:15 +0000 (18:35 +0100)] 
pytests: import test_oob

6 years agopytests: omit useless startup part of verbose log
Tomas Krizek [Mon, 19 Nov 2018 16:46:22 +0000 (17:46 +0100)] 
pytests: omit useless startup part of verbose log

6 years agopytests: add predictable msgids to setup/teardown pings
Tomas Krizek [Mon, 19 Nov 2018 14:58:22 +0000 (15:58 +0100)] 
pytests: add predictable msgids to setup/teardown pings

6 years agopytests: import test_conn_flood (test8)
Tomas Krizek [Mon, 19 Nov 2018 13:04:25 +0000 (14:04 +0100)] 
pytests: import test_conn_flood (test8)

6 years agopytests: import test_tls_session_resumption (test18)
Tomas Krizek [Fri, 16 Nov 2018 11:35:21 +0000 (12:35 +0100)] 
pytests: import test_tls_session_resumption (test18)

6 years agopytests: test_tls move + doc
Tomas Krizek [Fri, 16 Nov 2018 09:28:56 +0000 (10:28 +0100)] 
pytests: test_tls move + doc

6 years agopytests: import test_tls_cert_expired (test17)
Tomas Krizek [Thu, 15 Nov 2018 16:54:21 +0000 (17:54 +0100)] 
pytests: import test_tls_cert_expired (test17)

6 years agopytests: import test_tls_cert_hostname_mismatch (test16)
Tomas Krizek [Thu, 15 Nov 2018 16:52:00 +0000 (17:52 +0100)] 
pytests: import test_tls_cert_hostname_mismatch (test16)

6 years agopytests: import test_tls_selfsigned_cert (test15)
Tomas Krizek [Thu, 15 Nov 2018 16:44:15 +0000 (17:44 +0100)] 
pytests: import test_tls_selfsigned_cert (test15)

6 years agopytests: add testing TLS certs
Tomas Krizek [Thu, 15 Nov 2018 16:54:49 +0000 (17:54 +0100)] 
pytests: add testing TLS certs

6 years agopytests: import test_tls_no_cert (test14)
Tomas Krizek [Thu, 15 Nov 2018 16:10:06 +0000 (17:10 +0100)] 
pytests: import test_tls_no_cert (test14)

6 years agopytests: import test_query_flood_garbage (test9)
Tomas Krizek [Thu, 15 Nov 2018 12:48:53 +0000 (13:48 +0100)] 
pytests: import test_query_flood_garbage (test9)