]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
7 years agoCI: run non-interactive kresd to avoid false positives
Petr Špaček [Mon, 20 Nov 2017 15:33:38 +0000 (16:33 +0100)] 
CI: run non-interactive kresd to avoid false positives

See Deckard MR!85 for details.

7 years agoCI: archive Deckard artifacts on failure
Petr Špaček [Mon, 20 Nov 2017 15:31:54 +0000 (16:31 +0100)] 
CI: archive Deckard artifacts on failure

7 years agoCI: optimize Deckard-under-Valgrind
Petr Špaček [Thu, 16 Nov 2017 13:23:56 +0000 (14:23 +0100)] 
CI: optimize Deckard-under-Valgrind

Packages are already present in the image so we do not need to spend
time on package maintenance.

7 years agoMerge !396: lua: fixup making the bindings bogus
Vladimír Čunát [Mon, 20 Nov 2017 13:41:15 +0000 (14:41 +0100)] 
Merge !396: lua: fixup making the bindings bogus

7 years agolua: fixup making the bindings bogus
Vladimír Čunát [Mon, 20 Nov 2017 13:23:24 +0000 (14:23 +0100)] 
lua: fixup making the bindings bogus

For now I didn't touch the generator to be correct on this line,
as we will probably want to change it after bumping minimal libknot
version.

7 years agoMerge !395: minor fixes (see commits)
Vladimír Čunát [Mon, 20 Nov 2017 13:12:48 +0000 (14:12 +0100)] 
Merge !395: minor fixes (see commits)

7 years agolua: fix mistakes in bindings (forgotten regeneration)
Vladimír Čunát [Mon, 20 Nov 2017 13:07:46 +0000 (14:07 +0100)] 
lua: fix mistakes in bindings (forgotten regeneration)

7 years agodaemon: fix a typo in SIGPIPE blocking
Vladimír Čunát [Tue, 14 Nov 2017 13:18:43 +0000 (14:18 +0100)] 
daemon: fix a typo in SIGPIPE blocking

I'm sorry. Buggy commit: 2ba2a5e8

7 years agoMerge !394: util: fix policy.QTRACE for QDCOUNT != 1
Vladimír Čunát [Thu, 16 Nov 2017 16:54:28 +0000 (17:54 +0100)] 
Merge !394: util: fix policy.QTRACE for QDCOUNT != 1

7 years agoutil: fix policy.QTRACE for QDCOUNT != 1
Petr Špaček [Thu, 16 Nov 2017 16:41:32 +0000 (17:41 +0100)] 
util: fix policy.QTRACE for QDCOUNT != 1

7 years agoMerge !393: lua resolve(): make DNSSEC_WANT imply +dnssec
Vladimír Čunát [Thu, 16 Nov 2017 16:04:13 +0000 (17:04 +0100)] 
Merge !393: lua resolve(): make DNSSEC_WANT imply +dnssec

7 years agolua resolve(): make DNSSEC_WANT imply +dnssec
Vladimír Čunát [Thu, 16 Nov 2017 15:32:12 +0000 (16:32 +0100)] 
lua resolve(): make DNSSEC_WANT imply +dnssec

7 years agoMerge !390: utils kr_strcatdup: deal with overflow
Vladimír Čunát [Wed, 15 Nov 2017 09:07:44 +0000 (10:07 +0100)] 
Merge !390: utils kr_strcatdup: deal with overflow

7 years agoutils kr_strcatdup: deal with overflowing size_t
Vladimír Čunát [Wed, 15 Nov 2017 08:48:29 +0000 (09:48 +0100)] 
utils kr_strcatdup: deal with overflowing size_t

It's very unlikely to happen - sum of string lengths overflowing -
even on a 32-bit platform, and the input seems not controllable by
adversaries, but let's fix it anyway.

7 years agoMerge branch 'fix-check-config' into 'master'
Petr Špaček [Mon, 13 Nov 2017 13:12:26 +0000 (14:12 +0100)] 
Merge branch 'fix-check-config' into 'master'

Fix check target (check-config requires installed version of kresd)

Closes #272

See merge request knot/knot-resolver!389

7 years agotests: check-config and check-integration require installed version
Petr Špaček [Mon, 13 Nov 2017 12:55:29 +0000 (13:55 +0100)] 
tests: check-config and check-integration require installed version

Path to module directory gets hardcoded into binaries so check-config
and check-integration cannot work prior installation.

To indicate this depedency, the target check-config was moved from
"check" target to "installcheck".

Deckard requires additional libraries so it is not included in
installcheck.

fixes: #272

7 years agounit tests: always use libraries from build directory
Petr Špaček [Mon, 13 Nov 2017 12:43:29 +0000 (13:43 +0100)] 
unit tests: always use libraries from build directory

Previously it might happen that installed libraries
had higher priority over libraries in build directory.

7 years agoMerge !388: minor fixes
Vladimír Čunát [Mon, 13 Nov 2017 09:50:46 +0000 (10:50 +0100)] 
Merge !388: minor fixes

7 years agotests_cache: give it more space
Vladimír Čunát [Mon, 13 Nov 2017 09:41:25 +0000 (10:41 +0100)] 
tests_cache: give it more space

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=878976
In general, platforms with page size other than 4k might better compile
with -DCPU_PAGE_SIZE=nnnnn but real impact should only be this test and
better alignment in the mempool allocator.

7 years agodaemon: block SIGPIPE
Vladimír Čunát [Mon, 13 Nov 2017 09:24:53 +0000 (10:24 +0100)] 
daemon: block SIGPIPE

We can ignore the signal, as the affected libuv calls report error
by returning EPIPE anyway.
Fixes https://gitlab.labs.nic.cz/knot/knot-resolver/issues/271

7 years agoMerge branch 'build-docs-submodules' into 'master'
Petr Špaček [Mon, 6 Nov 2017 15:08:13 +0000 (16:08 +0100)] 
Merge branch 'build-docs-submodules' into 'master'

Add note about initializing submodules needed to build successfully.

See merge request knot/knot-resolver!387

7 years agoAdd note about initializing submodules needed to build successfully.
Stepan Balazik [Mon, 6 Nov 2017 14:55:08 +0000 (15:55 +0100)] 
Add note about initializing submodules needed to build successfully.

7 years agoMerge !385: release 1.5.0 v1.5.0
Vladimír Čunát [Thu, 2 Nov 2017 11:37:43 +0000 (12:37 +0100)] 
Merge !385: release 1.5.0

7 years agorelease 1.5.0
Vladimír Čunát [Thu, 2 Nov 2017 11:22:16 +0000 (12:22 +0100)] 
release 1.5.0

7 years agoMerge !384: add KR_RANK_TRY
Vladimír Čunát [Thu, 2 Nov 2017 11:19:16 +0000 (12:19 +0100)] 
Merge !384: add KR_RANK_TRY

attempt validation for more records but require it for fewer of them
(e.g. avoids SERVFAIL when server adds extra records but omits RRSIGs)

7 years agoadd KR_RANK_TRY
Vladimír Čunát [Wed, 1 Nov 2017 15:36:34 +0000 (16:36 +0100)] 
add KR_RANK_TRY

attempt validation for more records but require it for fewer of them
(e.g. avoids SERVFAIL when server adds extra records but omits RRSIGs)

7 years agoMerge !383: rfc8145: DNSSEC Key Tag Signaling (by default)
Vladimír Čunát [Thu, 2 Nov 2017 11:07:57 +0000 (12:07 +0100)] 
Merge !383: rfc8145: DNSSEC Key Tag Signaling (by default)

7 years agoSignaling trust anchor is enabled by default
Vítězslav Kříž [Wed, 1 Nov 2017 17:52:40 +0000 (18:52 +0100)] 
Signaling trust anchor is enabled by default

7 years agoSignaling Trust Anchor Knowledge in DNSSEC using Key Tag Query
Vítězslav Kříž [Mon, 30 Oct 2017 15:59:37 +0000 (16:59 +0100)] 
Signaling Trust Anchor Knowledge in DNSSEC using Key Tag Query

Implementation of RFC 8145 section 5 as module.

Fixes: #383
fixup! Signaling Trust Anchor Knowledge in DNSSEC using Key Tag Query

7 years agodaemon: add ability to load modules with _ in name
Petr Špaček [Wed, 1 Nov 2017 16:52:12 +0000 (17:52 +0100)] 
daemon: add ability to load modules with _ in name

7 years agoMerge !381: etc/root.hints: B's IPv4 updated today
Vladimír Čunát [Tue, 24 Oct 2017 14:47:49 +0000 (16:47 +0200)] 
Merge !381: etc/root.hints: B's IPv4 updated today

7 years agoetc/root.hints: B's IPv4 updated today
Vladimír Čunát [Tue, 24 Oct 2017 14:40:32 +0000 (16:40 +0200)] 
etc/root.hints: B's IPv4 updated today

7 years agoMerge branch 'systemd-cleanup' into 'master'
Petr Špaček [Tue, 24 Oct 2017 10:27:21 +0000 (12:27 +0200)] 
Merge branch 'systemd-cleanup' into 'master'

systemd: drop RefuseManualStart=true, disable kresd.service by default

See merge request knot/knot-resolver!380

7 years agodocument how to make kresd listen on public ports in this configuration.
Daniel Kahn Gillmor [Fri, 20 Oct 2017 14:48:59 +0000 (10:48 -0400)] 
document how to make kresd listen on public ports in this configuration.

7 years agosystemd: Add FreeBind=true to kresd.socket
Daniel Kahn Gillmor [Fri, 20 Oct 2017 14:43:21 +0000 (10:43 -0400)] 
systemd: Add FreeBind=true to kresd.socket

This allows the socket to be bound before the network interface comes
up, which is preferable to having a race between the interface coming
up and the socket being bound.

7 years agosystemd: drop RefuseManualStart=true, disable kresd.service by default
Daniel Kahn Gillmor [Thu, 19 Oct 2017 19:32:20 +0000 (15:32 -0400)] 
systemd: drop RefuseManualStart=true, disable kresd.service by default

I introduced RefuseManualStart=true last year when writing the initial
systemd unit file for kresd.  I did this because i didn't want to
start running the daemon if no one was going to talk to it.

I'm no longer convinced that this directive has a good justification.
While i think that there is no need to activate the service without
socket activation, i think preventing manual invocation is actively
harmful (admins will reflexively do "systemctl restart kresd" just
like they do "systemctl restart apache2" and it's jarring to have it
rejected).

A distributor who wants to (by default) delay kresd startup until it
is accessed can ship the preset file included here, but leave the
*.socket units enabled by default.

7 years agoMerge branch 'roothints-tests' into 'master'
Petr Špaček [Fri, 13 Oct 2017 13:52:38 +0000 (15:52 +0200)] 
Merge branch 'roothints-tests' into 'master'

roothints: fix segfault with hints.root_file, added test

See merge request knot/knot-resolver!378

7 years agoroothints: fix segfault with hints.root_file, added test
Vítězslav Kříž [Fri, 13 Oct 2017 08:31:18 +0000 (10:31 +0200)] 
roothints: fix segfault with hints.root_file, added test

7 years agoMerge branch 'ci-deckard-valgrind' into 'master'
Petr Špaček [Wed, 11 Oct 2017 14:09:28 +0000 (16:09 +0200)] 
Merge branch 'ci-deckard-valgrind' into 'master'

Check deckard with valgrind during CI

See merge request knot/knot-resolver!365

7 years agoCheck deckard with valgrind during CI
Štěpán Kotek [Mon, 18 Sep 2017 13:23:35 +0000 (15:23 +0200)] 
Check deckard with valgrind during CI

refs #227

7 years agoMerge branch 'basic-dockerfile' into 'master'
Petr Špaček [Wed, 11 Oct 2017 09:24:52 +0000 (11:24 +0200)] 
Merge branch 'basic-dockerfile' into 'master'

CI: new Dockerfile

See merge request knot/knot-resolver!375

7 years agoRun respdiff CI in new docker image
Štěpán Kotek [Wed, 11 Oct 2017 07:53:35 +0000 (09:53 +0200)] 
Run respdiff CI in new docker image

7 years agoRun pylint and pep8 CI with new dockerfile.
Štěpán Kotek [Wed, 11 Oct 2017 07:51:24 +0000 (09:51 +0200)] 
Run pylint and pep8 CI with new dockerfile.

7 years agoRun deckard CI checks in new docker image
Štěpán Kotek [Wed, 27 Sep 2017 12:39:26 +0000 (14:39 +0200)] 
Run deckard CI checks in new docker image

7 years agoRun valgrind CI checks with new docker image
Štěpán Kotek [Wed, 11 Oct 2017 07:31:48 +0000 (09:31 +0200)] 
Run valgrind CI checks with new docker image

7 years agoAdd new Dockerfile for CI based on debian.
Štěpán Kotek [Wed, 11 Oct 2017 06:49:22 +0000 (08:49 +0200)] 
Add new Dockerfile for CI based on debian.

7 years agoMerge !377: package fixes, primarily for Darwin
Vladimír Čunát [Fri, 29 Sep 2017 21:51:09 +0000 (23:51 +0200)] 
Merge !377: package fixes, primarily for Darwin

7 years agoNEWS: document Darwin fixes
Vladimír Čunát [Fri, 29 Sep 2017 21:46:55 +0000 (23:46 +0200)] 
NEWS: document Darwin fixes

7 years agomake: fix date command on Darwin
Vladimír Čunát [Fri, 29 Sep 2017 21:35:49 +0000 (23:35 +0200)] 
make: fix date command on Darwin

The -r has two different meanings, apparently :-D

7 years agomodules: use LIBEXT to fix Darwin
Vladimír Čunát [Fri, 29 Sep 2017 21:00:43 +0000 (23:00 +0200)] 
modules: use LIBEXT to fix Darwin

7 years agoroot hints: improve error message
Vladimír Čunát [Fri, 29 Sep 2017 20:56:38 +0000 (22:56 +0200)] 
root hints: improve error message

... when the installed root.hints isn't found

7 years agoMerge !376: misc nitpicks
Vladimír Čunát [Wed, 27 Sep 2017 16:31:36 +0000 (18:31 +0200)] 
Merge !376: misc nitpicks

7 years agotests/deckard: update to fix faketime
Vladimír Čunát [Wed, 27 Sep 2017 16:24:11 +0000 (18:24 +0200)] 
tests/deckard: update to fix faketime

7 years agonitpick: use KR_COLD when we have it
Vladimír Čunát [Mon, 25 Sep 2017 12:37:21 +0000 (14:37 +0200)] 
nitpick: use KR_COLD when we have it

7 years agodoc: drop a flag deprecated since Sphinx 1.6
Vladimír Čunát [Mon, 25 Sep 2017 08:29:16 +0000 (10:29 +0200)] 
doc: drop a flag deprecated since Sphinx 1.6

It's true by default anyway.

7 years agoMerge !374: release 1.4.0 v1.4.0
Vladimír Čunát [Thu, 21 Sep 2017 18:19:00 +0000 (20:19 +0200)] 
Merge !374: release 1.4.0

7 years agorelease 1.4.0 tomorrow
Vladimír Čunát [Thu, 21 Sep 2017 15:24:35 +0000 (17:24 +0200)] 
release 1.4.0 tomorrow

7 years agoMerge !373: Dockerfile: the aho-corasick module is now needed
Vladimír Čunát [Thu, 21 Sep 2017 14:05:54 +0000 (16:05 +0200)] 
Merge !373: Dockerfile: the aho-corasick module is now needed

7 years agoDockerfile: the aho-corasick module is now needed
Vladimír Čunát [Thu, 21 Sep 2017 13:57:51 +0000 (15:57 +0200)] 
Dockerfile: the aho-corasick module is now needed

... even if only building

7 years agoMerge !371: FORWARD: don't validate NS in authority section
Vladimír Čunát [Thu, 21 Sep 2017 13:46:13 +0000 (15:46 +0200)] 
Merge !371: FORWARD: don't validate NS in authority section

Fixes https://gitlab.labs.nic.cz/knot/knot-resolver/issues/248

7 years agovalidate: wildcard expansion -> adjust to_wire
Vladimír Čunát [Thu, 21 Sep 2017 11:44:58 +0000 (13:44 +0200)] 
validate: wildcard expansion -> adjust to_wire

We pushed all authority to the wire, but that was unnecessary,
and in particular it clashed with not validating NS in authority when
forwarding (new change).  Let's only apply this to NSEC* RRs.

7 years agoMerge !372: fixes after merge !367: root hints
Vladimír Čunát [Thu, 21 Sep 2017 13:37:10 +0000 (15:37 +0200)] 
Merge !372: fixes after merge !367: root hints

7 years agonitpick: unsigned vs. long makes a difference in printf
Vladimír Čunát [Thu, 21 Sep 2017 09:21:55 +0000 (11:21 +0200)] 
nitpick: unsigned vs. long makes a difference in printf

Sometimes I was getting huge RTT numbers in the output (>4G).

7 years agohints: fix linkage on darwin
Vladimír Čunát [Thu, 21 Sep 2017 07:32:39 +0000 (09:32 +0200)] 
hints: fix linkage on darwin

It's not very nice that this symbol used in hints.so is defined in
sbin/kresd, but it touches the daemon structures and thus doesn't
really belong into libkres.

7 years agoengine: nitpicks around loading root hints
Vladimír Čunát [Thu, 21 Sep 2017 08:51:37 +0000 (10:51 +0200)] 
engine: nitpicks around loading root hints

"lua_" in name is not appropriate, as the function does no lua stuff
anymore, so let's unify it to "engine_".

7 years agonitpick: unused-variable since !367 (cac9e018c3)
Vladimír Čunát [Thu, 21 Sep 2017 08:09:34 +0000 (10:09 +0200)] 
nitpick: unused-variable since !367 (cac9e018c3)

7 years agovalidate: improve verbose messages
Vladimír Čunát [Wed, 20 Sep 2017 08:45:39 +0000 (10:45 +0200)] 
validate: improve verbose messages

Next time it will be directly visible what record fails to validate,
which was the most time-expensive part when creating the parent commit.

7 years agoFORWARD: don't validate NS in authority section
Vladimír Čunát [Tue, 19 Sep 2017 13:43:03 +0000 (15:43 +0200)] 
FORWARD: don't validate NS in authority section

Fixes https://gitlab.labs.nic.cz/knot/knot-resolver/issues/248
Some (exotic?) resolvers add extra NS records but doesn't provide
signatures for them even though we ask with +dnssec +cd.
That lead to validation errors.  Current example server: 198.101.242.72
Let's not try to validate them when FORWARDing, as we won't most likely
need those records anyway (contrary to iteration mode).

7 years agoMerge !367: roothints: load from zonefile
Vladimír Čunát [Tue, 19 Sep 2017 14:15:15 +0000 (16:15 +0200)] 
Merge !367: roothints: load from zonefile

7 years agoMerge !370: make: link gnutls into libkres
Vladimír Čunát [Tue, 12 Sep 2017 13:49:58 +0000 (15:49 +0200)] 
Merge !370: make: link gnutls into libkres

7 years agomake: link gnutls into libkres
Vladimír Čunát [Tue, 12 Sep 2017 13:14:16 +0000 (15:14 +0200)] 
make: link gnutls into libkres

It's needed after the parent merge (sometimes, e.g. on macos).
We always depended on it through libdnssec, so it's no real difference.

7 years agoMerge !369: gnutls logging improvements
Vladimír Čunát [Tue, 12 Sep 2017 11:54:42 +0000 (13:54 +0200)] 
Merge !369: gnutls logging improvements

7 years agognutls logging improvements
Vladimír Čunát [Tue, 12 Sep 2017 11:45:30 +0000 (13:45 +0200)] 
gnutls logging improvements

- move it to utils.c, so it's sensitive to later changes in verbosity
- don't mark the lines with [tls], as they may come through libdnssec
- use stdout like other verbose messages, instead of stderr (real errors)

7 years agoroothints: various changes
Vladimír Čunát [Mon, 11 Sep 2017 16:38:42 +0000 (18:38 +0200)] 
roothints: various changes

- expose the function as hints.root_file
- use the same filename as Debian
- remove the unneeded script
- docs and some nitpicks

7 years agoMerge branch 'max-resolve-time' into 'master'
Petr Špaček [Mon, 11 Sep 2017 10:55:54 +0000 (12:55 +0200)] 
Merge branch 'max-resolve-time' into 'master'

Limit maximal resolution time

Closes #241

See merge request !368

7 years agolib/resolve: optimazlization of resolution overall time checking
Grigorii Demidov [Mon, 11 Sep 2017 08:55:19 +0000 (10:55 +0200)] 
lib/resolve: optimazlization of resolution overall time checking

7 years agoroothints: load from zonefile
Vitezslav Kriz [Thu, 7 Sep 2017 14:29:18 +0000 (16:29 +0200)] 
roothints: load from zonefile

7 years agolib: additional checks when overall resolution time of single query is checked
Grigorii Demidov [Thu, 7 Sep 2017 13:09:24 +0000 (15:09 +0200)] 
lib: additional checks when overall resolution time of single query is checked

7 years agolib: support of an upper limit for resolution time of single query
Grigorii Demidov [Thu, 7 Sep 2017 12:07:13 +0000 (14:07 +0200)] 
lib: support of an upper limit for resolution time of single query

7 years agoMerge !366: worker: disable assert we can't fix immediately
Vladimír Čunát [Thu, 7 Sep 2017 09:11:02 +0000 (11:11 +0200)] 
Merge !366: worker: disable assert we can't fix immediately

7 years agoworker: disable assertion that we can't fix immediately
Vladimír Čunát [Thu, 7 Sep 2017 09:04:06 +0000 (11:04 +0200)] 
worker: disable assertion that we can't fix immediately

Production kresd should compile with -DNDEBUG, so it wouldn't be
affected by this, but it was annoying for debugging other problems.
See https://gitlab.labs.nic.cz/knot/knot-resolver/issues/245

7 years agoMerge !362: LMDB fixes - transactions and cache.clear()
Vladimír Čunát [Wed, 6 Sep 2017 13:45:09 +0000 (15:45 +0200)] 
Merge !362: LMDB fixes - transactions and cache.clear()

7 years agoNEWS: entry for this branch
Vladimír Čunát [Wed, 6 Sep 2017 13:28:39 +0000 (15:28 +0200)] 
NEWS: entry for this branch

Fixes https://gitlab.labs.nic.cz/knot/knot-resolver/issues/240

7 years agocache: nitpicks
Vladimír Čunát [Mon, 4 Sep 2017 12:57:09 +0000 (14:57 +0200)] 
cache: nitpicks

7 years agocache.clear() on LMDB: be more strict about transactions
Vladimír Čunát [Mon, 4 Sep 2017 12:48:41 +0000 (14:48 +0200)] 
cache.clear() on LMDB: be more strict about transactions

In particular, don't keep even a reset read-only transaction.
This doesn't help with that MDB_BAD_TXN, but still it seems better.

7 years agocache.clear() on LMDB: simplify .cachelock
Vladimír Čunát [Mon, 4 Sep 2017 12:22:50 +0000 (14:22 +0200)] 
cache.clear() on LMDB: simplify .cachelock

The locking was done incorrectly - the copied text from man open(2)
suggested creating a *unique* file and linking that one to the lockfile.
Anyway, I don't think we need to support cache on NFSv3 on old kernels ;-)

7 years agoMerge !364: doc/build: fix another instance of the old link
Vladimír Čunát [Mon, 4 Sep 2017 11:49:17 +0000 (13:49 +0200)] 
Merge !364: doc/build: fix another instance of the old link

7 years agodoc/build: fix another instance of the old link
Vladimír Čunát [Mon, 4 Sep 2017 11:42:01 +0000 (13:42 +0200)] 
doc/build: fix another instance of the old link

7 years agoMerge !363: README: Fix homepage/download link
Vladimír Čunát [Mon, 4 Sep 2017 11:37:51 +0000 (13:37 +0200)] 
Merge !363: README: Fix homepage/download link

7 years agoFix homepage/download link in README
helb [Mon, 4 Sep 2017 11:24:01 +0000 (13:24 +0200)] 
Fix homepage/download link in README

Homepage link was broken – https://www.knot-resolver.cz/pages/try.html returns 404 (moved to /download during website redesign)

7 years agocache.clear() on LMDB: first try mdb_drop()
Vladimír Čunát [Mon, 4 Sep 2017 10:51:47 +0000 (12:51 +0200)] 
cache.clear() on LMDB: first try mdb_drop()

It's certainly a cleaner way.

7 years agocache: handle LMDB resize by another process
Vladimír Čunát [Fri, 1 Sep 2017 15:11:31 +0000 (17:11 +0200)] 
cache: handle LMDB resize by another process

kresd never handled it.  It's perhaps a rare occasion when different
instances (attempt to) set different cache sizes.

7 years agodocs: purge long-dead cache API from an example
Vladimír Čunát [Fri, 1 Sep 2017 15:40:36 +0000 (17:40 +0200)] 
docs: purge long-dead cache API from an example

7 years agocache: rework reusing transactions (LMDB)
Vladimír Čunát [Fri, 1 Sep 2017 13:33:30 +0000 (15:33 +0200)] 
cache: rework reusing transactions (LMDB)

Previously a read transaction could be held open by each fork
indefinitely.  That was done for better speed, but it had a downside
of keeping old pages alive and potentially reading only old data,
until some writes were attempted by that fork.

Now kr_cache_ provides explicit API for suitable points where to break
transactions, reusing the _sync command.  On LMDB side the read-only
transaction is only reset and later renewed, supposedly giving better
performance than aborting (see LMDB docs on reset+renew).

Performance: preliminary testing with two forks, resperf on comcast
query-set shows no noticeable difference in peak QPS.

7 years agoMerge !361: main ipc_activity: misc improvements
Vladimír Čunát [Fri, 1 Sep 2017 13:50:36 +0000 (15:50 +0200)] 
Merge !361: main ipc_activity: misc improvements

Fixes #150.

7 years agoMerge branch 'ci-valgrind' into 'master'
Petr Špaček [Thu, 31 Aug 2017 11:32:53 +0000 (13:32 +0200)] 
Merge branch 'ci-valgrind' into 'master'

Run unittests in CI under Valgrind memcheck

See merge request !353

7 years agoCheck for memory leaks during unittest CI using valgrind
Štěpán Kotek [Wed, 30 Aug 2017 09:06:11 +0000 (11:06 +0200)] 
Check for memory leaks during unittest CI using valgrind

New ci task has been added that checks for possible memory leaks when running unittests. Messages from valgrind are displayed only when leak is detected.
refs #227

7 years agoAdd dockerfile for valgrind ci tests.
Štěpán Kotek [Tue, 29 Aug 2017 11:31:39 +0000 (13:31 +0200)] 
Add dockerfile for valgrind ci tests.

7 years agomain ipc_activity: close and free handle on error
Vitezslav Kriz [Tue, 29 Aug 2017 10:08:48 +0000 (12:08 +0200)] 
main ipc_activity: close and free handle on error

7 years agomain ipc_activity: misc improvements
Vladimír Čunát [Thu, 24 Aug 2017 11:59:01 +0000 (13:59 +0200)] 
main ipc_activity: misc improvements

Stop IPC after getting an error.  One point is the situation when one
of the forks ends for some reason, which lead to problems.
Another point is pipes getting out of sync.

Smaller changes:
- don't free the handle while it's still half-in-use
- don't fully panic here because of ENOMEM, just stop IPC

Fixes https://gitlab.labs.nic.cz/knot/knot-resolver/issues/150