]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Petr Špaček [Thu, 11 Jan 2018 18:26:58 +0000 (19:26 +0100)]
Merge branch 'systemd-modifications' into 'master'
Systemd modifications
See merge request knot/knot-resolver!436
Tomas Krizek [Thu, 11 Jan 2018 15:13:01 +0000 (16:13 +0100)]
systemd: add knot-resolver alias
The `knot-resolver` name is used for paths and user name. Creating a
systemd alias with the same name is user-friendly to end users who won't
have to remember another name (`kresd`).
Note: Systemd Alias is only created after service is enabled. Packagers
are thus advised to create symlinks for unit files during package installation
so users can use `knot-resolver` name right from the start.
Tomas Krizek [Thu, 11 Jan 2018 12:50:52 +0000 (13:50 +0100)]
systemd: use persistent cache by default
The /run directory is non-persistent. Use /var/cache/knot-resolver
as a persistent cache.
Tomas Krizek [Thu, 11 Jan 2018 12:55:08 +0000 (13:55 +0100)]
README: remove trailing whitespace
Petr Špaček [Thu, 11 Jan 2018 17:48:53 +0000 (18:48 +0100)]
Merge branch 'clan-scan-build' into 'master'
CI: add Clan scan build to pipeline
See merge request knot/knot-resolver!437
Petr Špaček [Thu, 11 Jan 2018 17:12:30 +0000 (18:12 +0100)]
CI: add Clang scan-build to the pipeline
For now error produced by scan-build are not fatal.
We need to fix these first.
Petr Špaček [Thu, 11 Jan 2018 17:12:06 +0000 (18:12 +0100)]
CI: use images from local registry
Petr Špaček [Thu, 11 Jan 2018 07:07:21 +0000 (08:07 +0100)]
Merge branch 'fix-systemd-service' into 'master'
systemd: drop WantedBy directive from kresd.service
See merge request knot/knot-resolver!433
Daniel Kahn Gillmor [Tue, 9 Jan 2018 21:06:45 +0000 (16:06 -0500)]
systemd: drop WantedBy directive from kresd.service
This directive is unnecessary in the .service file, and it also causes
a dependency cycle that systemd is obliged to break.
Since kresd is socket-activated, there is no need for the WantedBy
directive in the .service file itself. As long as the .socket files
are installed, the service will run when it is used.
Petr Špaček [Wed, 10 Jan 2018 14:46:26 +0000 (15:46 +0100)]
Merge branch 'systemd-enable-manual-activation' into 'master'
systemd: enable manual activation of kresd.service as non-root user
See merge request knot/knot-resolver!434
Tomas Krizek [Wed, 10 Jan 2018 13:05:53 +0000 (14:05 +0100)]
systemd: enable manual activation of kresd.service as non-root user
To be able to bind to a well known port as a non-root user, the CAP_NET_BIND_SERVICE
capability is required.
Vladimír Čunát [Tue, 9 Jan 2018 09:54:20 +0000 (10:54 +0100)]
Merge !431: daemon: fix clang warnings
Grigorii Demidov [Tue, 9 Jan 2018 09:35:26 +0000 (10:35 +0100)]
daemon: fix clang warnings
Petr Špaček [Mon, 8 Jan 2018 11:40:07 +0000 (12:40 +0100)]
Merge branch 'sim_qry' into 'master'
outbound TCP connections sharing; TLS over outbound TCP connections
Closes #104
See merge request knot/knot-resolver!379
Grigorii Demidov [Mon, 8 Jan 2018 09:12:17 +0000 (10:12 +0100)]
daemon: avoid memory leaks under heavy load when using tls over outgoing tcp connection
Grigorii Demidov [Fri, 5 Jan 2018 09:03:23 +0000 (10:03 +0100)]
daemon: kresd fall into endless loop in some circumstances when tls is used; fix
Grigorii Demidov [Fri, 5 Jan 2018 07:15:39 +0000 (08:15 +0100)]
daemon/tls_ephemeral_credentials: avoid some memory leaks
grid [Wed, 3 Jan 2018 10:39:03 +0000 (11:39 +0100)]
daemon: explicit processing of UV_EOF within stream read callback function
Vladimír Čunát [Thu, 14 Dec 2017 12:24:35 +0000 (13:24 +0100)]
TLS: only print [tls] messages if --verbose
Petr Špaček [Wed, 13 Dec 2017 16:05:33 +0000 (17:05 +0100)]
modules/policy: TLS defaults to port 853
grid [Wed, 13 Dec 2017 13:50:54 +0000 (14:50 +0100)]
modules/policy: local variable declarations were fixed; cleanup
grid [Wed, 13 Dec 2017 13:46:43 +0000 (14:46 +0100)]
modules/policy: local variable declarations were fixed
grid [Wed, 13 Dec 2017 13:25:39 +0000 (14:25 +0100)]
daemon/tls: tls client bugfix; correct processing of tcp connection closure
grid [Wed, 13 Dec 2017 09:20:53 +0000 (10:20 +0100)]
daemon/tls: tls_push() can fall into endless loop in some circumstances; prevent it
grid [Wed, 6 Dec 2017 10:45:43 +0000 (11:45 +0100)]
daemon: outbound TLS: penalise NS if authentication fails
grid [Wed, 6 Dec 2017 09:46:15 +0000 (10:46 +0100)]
daemon: cleanup - free the memory allocated for hostnames
Vladimír Čunát [Tue, 5 Dec 2017 17:34:56 +0000 (18:34 +0100)]
policy.TLS_FORWARD: reduce net.tls_client() calls
It should be enough to update the table once per TLS_FORWARD rule,
without re-doing that every time the policy is triggered.
Vladimír Čunát [Tue, 5 Dec 2017 17:02:57 +0000 (18:02 +0100)]
print_tls_client_params: print all address#port pairs
nitpick: pre-allocate table sizes
grid [Tue, 5 Dec 2017 14:15:44 +0000 (15:15 +0100)]
daemon: TLS over outbound TCP connection - use hostname authentication
grid [Mon, 27 Nov 2017 23:04:32 +0000 (00:04 +0100)]
daemon: bugfixes
Grigorii Demidov [Fri, 24 Nov 2017 10:59:50 +0000 (11:59 +0100)]
daemon: bugfix; resolver fails on assertion if TLS over outbound connection is used and upstream closes connection after each query
Grigorii Demidov [Mon, 20 Nov 2017 19:26:23 +0000 (20:26 +0100)]
daemon: retry waiting tasks when outbound TCP connection has problems
Grigorii Demidov [Thu, 16 Nov 2017 13:28:16 +0000 (14:28 +0100)]
daemon/worker: clear query TCP flags when retrying
Grigorii Demidov [Thu, 16 Nov 2017 12:10:31 +0000 (13:10 +0100)]
daemon/worker: bugfix, avoid access to deallocated task
Grigorii Demidov [Thu, 16 Nov 2017 11:27:46 +0000 (12:27 +0100)]
daemon/worker: retry all waiting tasks if upstream drops TCP connection
Grigorii Demidov [Thu, 16 Nov 2017 09:52:46 +0000 (10:52 +0100)]
daemon/worker: don't SERVFAIL immediately when TCP connection to upstream fails
Vladimír Čunát [Wed, 15 Nov 2017 10:30:03 +0000 (11:30 +0100)]
CI: try increasing the number of allowed filedescriptors
(cherry picked from commit
a4a6169c3cdf2293ea0637b9af4526fb2cbbb94d )
Testing what happens on our CI.
Grigorii Demidov [Wed, 15 Nov 2017 09:56:09 +0000 (10:56 +0100)]
daemon: TCP - for now session source address is queried at tcp_accept(). AF_UNSPEC is treated as error for both of udp&tcp.
Grigorii Demidov [Tue, 14 Nov 2017 12:03:06 +0000 (13:03 +0100)]
daemon: improved reliability under heavy load; bugfixing & minor refactoring
Grigorii Demidov [Tue, 12 Sep 2017 11:52:10 +0000 (13:52 +0200)]
daemon: reuse outbound TCP connections if possible; TLS over outbound TCP connection
Vladimír Čunát [Thu, 4 Jan 2018 13:39:53 +0000 (14:39 +0100)]
Merge !430: Travis fixes and dependency updates
Vladimír Čunát [Thu, 4 Jan 2018 13:26:32 +0000 (14:26 +0100)]
travis: skip Deckard tests
Vladimír Čunát [Thu, 4 Jan 2018 10:45:38 +0000 (11:45 +0100)]
travis: try to fix python modules
Vladimír Čunát [Thu, 4 Jan 2018 10:35:34 +0000 (11:35 +0100)]
bootstrap-depends: update dependencies
Petr Špaček [Thu, 4 Jan 2018 13:16:30 +0000 (14:16 +0100)]
Merge branch 'travis_fixes' into 'master'
Do not point to Travis from README
See merge request knot/knot-resolver!429
Petr Špaček [Thu, 4 Jan 2018 13:09:28 +0000 (14:09 +0100)]
README: use badges from Gitlab instead of Travis/Coveralls
Petr Špaček [Thu, 4 Jan 2018 10:45:32 +0000 (11:45 +0100)]
Makefile: suppress misleadning warning about missing coverage.stats dir
Petr Špaček [Thu, 4 Jan 2018 10:45:05 +0000 (11:45 +0100)]
Makefile: remove unused check-config-clean
Petr Špaček [Thu, 4 Jan 2018 10:19:55 +0000 (11:19 +0100)]
Merge branch 'vendemiat/extend_kres_lua' into 'master'
Add useful lua functions to handle knot types
See merge request knot/knot-resolver!425
Marek Vavruša [Thu, 4 Jan 2018 00:07:35 +0000 (16:07 -0800)]
allow access to cache object through context
this surfaces the struct kr_cache through context variable,
it doesn't implement any API or documented interface for it,
so I just added a tests for the struct presence and introspection
Marek Vavruša [Wed, 3 Jan 2018 23:24:23 +0000 (15:24 -0800)]
added basic tests for cache interface
Marek Vavruša [Wed, 3 Jan 2018 20:00:49 +0000 (12:00 -0800)]
renamed pkt:clear() to pkt:recycle() and added tests
Marek Vavruša [Tue, 2 Jan 2018 23:03:22 +0000 (15:03 -0800)]
support text conversion of unknown RR types
Marek Vavruša [Fri, 29 Dec 2017 21:01:56 +0000 (13:01 -0800)]
added more functions to packet, added tests
Vicky Shrestha [Thu, 21 Dec 2017 06:07:02 +0000 (22:07 -0800)]
add useful lua functions to handle knot types
Petr Špaček [Thu, 4 Jan 2018 09:40:46 +0000 (10:40 +0100)]
Merge branch 'vendemiat/track_qsize' into 'master'
daemon: add query packet size to kr_request
See merge request knot/knot-resolver!424
Vicky Shrestha [Sat, 16 Dec 2017 04:37:15 +0000 (20:37 -0800)]
Add query packet size to kr_request
This is useful when we do logging from the finish layer
Petr Špaček [Wed, 3 Jan 2018 17:21:48 +0000 (18:21 +0100)]
Merge branch 'publish_master_coverage' into 'master'
CI: publish coverage only for master branch (on web)
See merge request knot/knot-resolver!426
Petr Špaček [Wed, 3 Jan 2018 16:56:39 +0000 (17:56 +0100)]
CI: publish coverage only for master branch (on web)
Non-master branches must not overwrite results from master branch.
From now only master branch publishes results on Gitlab Pages.
Results for other branches can be downloaded from artifacts.
Petr Špaček [Sun, 24 Dec 2017 00:37:14 +0000 (01:37 +0100)]
Merge branch 'build-coverage-artifacts' into 'master'
CI coverage: build coverage report
See merge request knot/knot-resolver!407
Petr Špaček [Sat, 23 Dec 2017 22:47:24 +0000 (23:47 +0100)]
fixup! build: added `make coverage` to compute C and Lua code coverage
Test coverage results for Lua code were off-by-one line.
Petr Špaček [Sat, 23 Dec 2017 19:32:24 +0000 (20:32 +0100)]
CI coverage: parallelize Lua code coverage processing
Execution of scripts/luacov_to_info.lua can take quite a long time so it
is now done in paralell.
Beware: This needs proper depedencies on coverage-lua-fix-paths target
and so on to avoid race conditions.
Petr Špaček [Fri, 22 Dec 2017 12:21:24 +0000 (13:21 +0100)]
CI coverage: merge test coverage data from parallel runs
We run tests in paralell so have to make sure that coverage tools
do not overwrite results from each run.
This is hacky because lcov tool insists on having gcno and gcda files
in the same place as original source, so we have to copy files
to workaround this.
Petr Špaček [Thu, 21 Dec 2017 15:42:20 +0000 (16:42 +0100)]
daemon: gather luacov statistics from early start
If KRESD_COVERAGE_STATS environment variable is set, luacov statistics
are saved to path specified by it.
Beware! Parallel execution needs special handling which is not built-in.
Petr Špaček [Thu, 21 Dec 2017 09:09:11 +0000 (10:09 +0100)]
CI coverage: add missing Lua files to the report
Luacov does not know about files which were not loaded at all.
Script luacov_gen_empty.sh generates empty luacov stats for all files
which forces luacov to show all files.
Petr Špaček [Wed, 20 Dec 2017 11:47:10 +0000 (12:47 +0100)]
CI coverage: handle Lua code coverage properly
Luacov statistics contained paths to installed files instead of source
files that it was a mess. The stats are now rewritten using hacky
mapping (created from install commands produced by make).
Also, branch and function coverage for Lua was always zero so now it is
turned off not to confuse users.
kresd config for respdiff now enables luacov as well.
Marek Vavruša [Wed, 29 Nov 2017 21:58:26 +0000 (13:58 -0800)]
fix gitignore
Marek Vavruša [Wed, 29 Nov 2017 21:24:55 +0000 (13:24 -0800)]
CI coverage: build coverage report and publish to pages
Beware: this version does not handle parallel execution
Petr Špaček [Tue, 19 Dec 2017 14:17:30 +0000 (15:17 +0100)]
Merge branch 'ci-transport' into 'master'
CI: test transports
See merge request knot/knot-resolver!423
Petr Špaček [Tue, 19 Dec 2017 13:44:50 +0000 (14:44 +0100)]
Docker: update e-mail address
Petr Špaček [Tue, 19 Dec 2017 13:41:37 +0000 (14:41 +0100)]
CI: run respdiff over UDP/TCP/TLS
Petr Špaček [Wed, 13 Dec 2017 14:57:19 +0000 (15:57 +0100)]
Merge branch 'fix_memcached' into 'master'
fixup! memcached: rename module kmemcached -> memcached
See merge request knot/knot-resolver!421
Petr Špaček [Wed, 13 Dec 2017 13:47:06 +0000 (14:47 +0100)]
fixup! memcached: rename module kmemcached -> memcached
Petr Špaček [Tue, 12 Dec 2017 16:50:12 +0000 (17:50 +0100)]
Merge branch 'http_doc_fixes' into 'master'
http: error out if GeoIP is requested but mmdblua is not available
See merge request knot/knot-resolver!420
Petr Špaček [Tue, 12 Dec 2017 16:46:47 +0000 (17:46 +0100)]
http: error out if GeoIP is requested but mmdblua is not available
Vladimír Čunát [Tue, 12 Dec 2017 09:16:07 +0000 (10:16 +0100)]
Merge !419: release 1.5.1 (and fixup details)
Vladimír Čunát [Mon, 11 Dec 2017 15:25:28 +0000 (16:25 +0100)]
bootstrap-depends.sh: try to fix travis on osx
Vladimír Čunát [Mon, 11 Dec 2017 13:33:59 +0000 (14:33 +0100)]
fix missing include
struct timeval wasn't available, probably depending on libknot version,
breaking e.g. the Docker build.
Vladimír Čunát [Mon, 11 Dec 2017 13:18:36 +0000 (14:18 +0100)]
NEWS and version update for 1.5.1
Vladimír Čunát [Mon, 11 Dec 2017 13:02:45 +0000 (14:02 +0100)]
docs nitpick: fix rendering of "code fragments"
Petr Špaček [Mon, 11 Dec 2017 12:35:29 +0000 (13:35 +0100)]
Merge branch 'monotonic-nitpicks' into 'master'
Monotonic nitpicks
See merge request knot/knot-resolver!418
Vladimír Čunát [Mon, 11 Dec 2017 12:25:18 +0000 (13:25 +0100)]
monotonic timestamps: document they are milliseconds
Vladimír Čunát [Mon, 11 Dec 2017 12:23:39 +0000 (13:23 +0100)]
resolve.c: fix verbose logging of RTT after
0abbe1f4
Petr Špaček [Mon, 11 Dec 2017 10:45:38 +0000 (11:45 +0100)]
Merge branch 'remove_devel_log' into 'master'
detect_time_jump: remove forgotten debug print
See merge request knot/knot-resolver!417
Petr Špaček [Mon, 11 Dec 2017 10:41:24 +0000 (11:41 +0100)]
detect_time_jump: remove forgotten debug print
fixup! module: detect discontinuous jumps in the system time
Petr Špaček [Fri, 8 Dec 2017 14:49:07 +0000 (15:49 +0100)]
Merge branch 'monotonic-timer' into 'master'
use monotonic time
Closes #247
See merge request knot/knot-resolver!392
Vítězslav Kříž [Mon, 4 Dec 2017 11:34:33 +0000 (12:34 +0100)]
module: detect discontinuous jumps in the system time
Check differences between real and monotonic time.
It clears cache when this diffrence changes since
last cache clear.
Vítězslav Kříž [Thu, 30 Nov 2017 16:35:27 +0000 (17:35 +0100)]
use monotonic time
Monotonic time from libuv function uv_now (wrapped in kr_now) is
used for query timeout, stats and RTT in reputation cache.
Cache, DNSSEC Validation and Cookies use real time.
Petr Špaček [Fri, 8 Dec 2017 13:27:06 +0000 (14:27 +0100)]
Merge branch 'rrtype_update' into 'master'
daemon: add missing RR type definitions
See merge request knot/knot-resolver!416
Petr Špaček [Fri, 8 Dec 2017 13:22:15 +0000 (14:22 +0100)]
daemon: add missing RR type definitions
Some RR type definitions present in IANA DNS parameters registry were
missing in kresd. This commit synchronizes the tables with IANA registry
as of 2017-12-08 13:20 UTC.
At the same time, this commit is
fixup! converted constant tables, support kres.type.TYPE1234
The mentioned commit accidentally removed NULL definition which broke TA
signaling module.
Vitezslav Kriz [Fri, 8 Dec 2017 09:32:05 +0000 (10:32 +0100)]
Merge branch 'detect-time-skew' into 'master'
time_skew: Detect time skew during kresd start.
See merge request knot/knot-resolver!414
Petr Špaček [Thu, 7 Dec 2017 21:29:44 +0000 (22:29 +0100)]
time_skew: Do not print message if trust anchor for . is not configured
Without this check, the module would print warning for every single run
without root trust anchor.
Vítězslav Kříž [Wed, 6 Dec 2017 13:00:16 +0000 (14:00 +0100)]
time_skew: Detect time skew during kresd start.
This module is enabled by default, but disabled in Deckard tests.
Petr Špaček [Thu, 7 Dec 2017 16:45:58 +0000 (17:45 +0100)]
rplan: fix kr_qflags_*() to work with more than 32 flags
Originally division around sizeof(uint32_t) caused silent truncation
for struct kr_qflags with sizes not multiple of 4 bytes.
Attempts to optimize using uint32_t blocks could lead to read/write
beyond end of uint32_t so I'm not willing to risk it.
Also, the code was refactored to avoid duplication between _set and _clear.
Quick look into assembly produced by gcc 7.2.1 with -O2 on x86_64 confirms that
all auxiliary functions got inlined so there are not extra function calls.
Unit tests are attached. These fail on the previous version of _set() and
_clear() and work now.
Petr Špaček [Thu, 7 Dec 2017 10:17:16 +0000 (11:17 +0100)]
Merge branch 'ci-fixup' into 'master'
CI fixups
Closes #282
See merge request knot/knot-resolver!415
Petr Špaček [Thu, 7 Dec 2017 10:10:42 +0000 (11:10 +0100)]
CI: add lua-http package to Docker image for testing
Related: !405
Petr Špaček [Thu, 7 Dec 2017 08:37:26 +0000 (09:37 +0100)]
CI: use Knot DNS 2.6 instead of master
Hopefully this will make build more reliable because breakage in Knot
DNS master will not affect us. On the other hand, we must not forget to
update Knot DNS in the image!
Closes: #282
Petr Špaček [Tue, 5 Dec 2017 10:14:54 +0000 (11:14 +0100)]
Merge branch 'improve-readability' into 'master'
code-style: replace `-->` in for loops with `i > 0` and `i--`
See merge request knot/knot-resolver!408
Vítězslav Kříž [Thu, 30 Nov 2017 12:37:03 +0000 (13:37 +0100)]
code-style: remove special operator (-->) in for loops
Petr Špaček [Mon, 4 Dec 2017 16:01:02 +0000 (17:01 +0100)]
Merge branch 'confusing-error-msg' into 'master'
Fix confusing error messages regarding root hints
Closes #278
See merge request knot/knot-resolver!413