]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
7 years agomake: fix Fedora problems with symbols
Vladimír Čunát [Tue, 23 Jan 2018 12:55:45 +0000 (13:55 +0100)] 
make: fix Fedora problems with symbols

7 years agomake: CFLAGS cleanup
Vladimír Čunát [Tue, 23 Jan 2018 12:51:04 +0000 (13:51 +0100)] 
make: CFLAGS cleanup

Readability, and don't -I embedded lmdb if not using it.

7 years agomake: use -fvisibility=hidden by default
Vladimír Čunát [Tue, 23 Jan 2018 12:36:17 +0000 (13:36 +0100)] 
make: use -fvisibility=hidden by default

Symbols not marked by KR_EXPORT shouldn't be visible outside
the same output binary (e.g. sbin/kresd or lib/kdns_modules/hints.so)
Also mark `engine_hint_root_file`.

7 years agosecurity release 1.5.2 v1.5.2
Vladimír Čunát [Mon, 22 Jan 2018 10:45:44 +0000 (11:45 +0100)] 
security release 1.5.2

7 years agovalidator nitpick: remove a useless dead store
Vladimír Čunát [Mon, 15 Jan 2018 17:08:47 +0000 (18:08 +0100)] 
validator nitpick: remove a useless dead store

Discovered by clang scan.

7 years agovalidator: fix NSEC* + delegation -> NXDOMAIN
Vladimír Čunát [Fri, 5 Jan 2018 09:15:43 +0000 (10:15 +0100)] 
validator: fix NSEC* + delegation -> NXDOMAIN

7 years agovalidator: fix NSEC* -> NODATA
Vladimír Čunát [Fri, 12 Jan 2018 15:15:08 +0000 (16:15 +0100)] 
validator: fix NSEC* -> NODATA

7 years agoMerge branch 'fix_memcached' into 'master'
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

7 years agofixup! memcached: rename module kmemcached -> memcached
Petr Špaček [Wed, 13 Dec 2017 13:47:06 +0000 (14:47 +0100)] 
fixup! memcached: rename module kmemcached -> memcached

7 years agoMerge branch 'http_doc_fixes' into 'master'
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

7 years agohttp: error out if GeoIP is requested but mmdblua is not available
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

7 years agoMerge !419: release 1.5.1 (and fixup details) v1.5.1
Vladimír Čunát [Tue, 12 Dec 2017 09:16:07 +0000 (10:16 +0100)] 
Merge !419: release 1.5.1 (and fixup details)

7 years agobootstrap-depends.sh: try to fix travis on osx
Vladimír Čunát [Mon, 11 Dec 2017 15:25:28 +0000 (16:25 +0100)] 
bootstrap-depends.sh: try to fix travis on osx

7 years agofix missing include
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.

7 years agoNEWS and version update for 1.5.1
Vladimír Čunát [Mon, 11 Dec 2017 13:18:36 +0000 (14:18 +0100)] 
NEWS and version update for 1.5.1

7 years agodocs nitpick: fix rendering of "code fragments"
Vladimír Čunát [Mon, 11 Dec 2017 13:02:45 +0000 (14:02 +0100)] 
docs nitpick: fix rendering of "code fragments"

7 years agoMerge branch 'monotonic-nitpicks' into 'master'
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

7 years agomonotonic timestamps: document they are milliseconds
Vladimír Čunát [Mon, 11 Dec 2017 12:25:18 +0000 (13:25 +0100)] 
monotonic timestamps: document they are milliseconds

7 years agoresolve.c: fix verbose logging of RTT after 0abbe1f4
Vladimír Čunát [Mon, 11 Dec 2017 12:23:39 +0000 (13:23 +0100)] 
resolve.c: fix verbose logging of RTT after 0abbe1f4

7 years agoMerge branch 'remove_devel_log' into 'master'
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

7 years agodetect_time_jump: remove forgotten debug print
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

7 years agoMerge branch 'monotonic-timer' into 'master'
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

7 years agomodule: detect discontinuous jumps in the system time
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.

7 years agouse monotonic time
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.

7 years agoMerge branch 'rrtype_update' into 'master'
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

7 years agodaemon: add missing RR type definitions
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.

7 years agoMerge branch 'detect-time-skew' into 'master'
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

7 years agotime_skew: Do not print message if trust anchor for . is not configured
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.

7 years agotime_skew: Detect time skew during kresd start.
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.

7 years agorplan: fix kr_qflags_*() to work with more than 32 flags
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.

7 years agoMerge branch 'ci-fixup' into 'master'
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

7 years agoCI: add lua-http package to Docker image for testing
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

7 years agoCI: use Knot DNS 2.6 instead of master
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
7 years agoMerge branch 'improve-readability' into 'master'
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

7 years agocode-style: remove special operator (-->) in for loops
Vítězslav Kříž [Thu, 30 Nov 2017 12:37:03 +0000 (13:37 +0100)] 
code-style: remove special operator (-->) in for loops

7 years agoMerge branch 'confusing-error-msg' into 'master'
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

7 years agotrust_anchor: propper error message when file cannot be read
Vítězslav Kříž [Mon, 4 Dec 2017 14:18:22 +0000 (15:18 +0100)] 
trust_anchor: propper error message when file cannot be read

7 years agohints: server stop when root hints load failed
Vítězslav Kříž [Mon, 4 Dec 2017 14:15:33 +0000 (15:15 +0100)] 
hints: server stop when root hints load failed

If user provides custom hints file with config option hints.root_file('file')
resovler fail with error. Before it just silently pass and may fail
when loading defaults file, which leads to confusing error message.

7 years agoMerge branch 'cleanup-fixup' into 'master'
Petr Špaček [Fri, 1 Dec 2017 20:35:04 +0000 (21:35 +0100)] 
Merge branch 'cleanup-fixup' into 'master'

fixup! client: move sources into separate directory

See merge request knot/knot-resolver!410

7 years agofixup! client: move sources into separate directory
Petr Špaček [Fri, 1 Dec 2017 20:30:58 +0000 (21:30 +0100)] 
fixup! client: move sources into separate directory

Previous cleanup attempt broke installation on systems without libedit.
client-install has to be defined at least as .PHONY target.
(I want to avoid if spagethi outside of client.mk.)

7 years agoMerge branch 'cleanup' into 'master'
Petr Špaček [Fri, 1 Dec 2017 13:27:48 +0000 (14:27 +0100)] 
Merge branch 'cleanup' into 'master'

Pre-2.0 cleanup

See merge request knot/knot-resolver!409

7 years agoclient: add warning that client is highly experimental
Petr Špaček [Fri, 1 Dec 2017 13:07:42 +0000 (14:07 +0100)] 
client: add warning that client is highly experimental

7 years agoclient: move sources into separate directory
Petr Špaček [Fri, 1 Dec 2017 13:00:36 +0000 (14:00 +0100)] 
client: move sources into separate directory

Let's not mix daemon and client files as client might grow to multiple
files in future. This will also help with upcomming changes to packaging
scripts.

7 years agoetcd: rename module ketcd -> etcd
Petr Špaček [Fri, 1 Dec 2017 12:52:16 +0000 (13:52 +0100)] 
etcd: rename module ketcd -> etcd

The old name was confusing because module name was different than all
other names and references in manual.

7 years agomemcached: rename module kmemcached -> memcached
Petr Špaček [Fri, 1 Dec 2017 12:46:11 +0000 (13:46 +0100)] 
memcached: rename module kmemcached -> memcached

The old name was confusing because module name backend name provided by
that modules were different.

7 years agoscripts: make scripts/inet_pton.py compatible with Python 2 and Python 3
Petr Špaček [Fri, 1 Dec 2017 12:43:19 +0000 (13:43 +0100)] 
scripts: make scripts/inet_pton.py compatible with Python 2 and Python 3

It is 2017 already, so Python 3 is the default.

7 years agoscripts: remove scripts/supervisor.py
Petr Špaček [Fri, 1 Dec 2017 12:41:35 +0000 (13:41 +0100)] 
scripts: remove scripts/supervisor.py

The script did not work under Python 3, and given broad support for
SO_REUSEPORT, it is easier to drop it than to debug it.

7 years agoMerge branch 'priming' into 'master'
Petr Špaček [Tue, 28 Nov 2017 14:38:19 +0000 (15:38 +0100)] 
Merge branch 'priming' into 'master'

priming: implement priming queries as module

Closes #220

See merge request knot/knot-resolver!391

7 years agopriming: enable module by default
Vítězslav Kříž [Mon, 27 Nov 2017 16:10:15 +0000 (17:10 +0100)] 
priming: enable module by default

Also removed priming query from trust anchor module.
Updated deckard repository.

7 years agopriming: implement priming queries as module
Vítězslav Kříž [Wed, 1 Nov 2017 17:26:54 +0000 (18:26 +0100)] 
priming: implement priming queries as module

7 years agoMerge branch 'code-coverage' into 'master'
Petr Špaček [Tue, 28 Nov 2017 12:21:33 +0000 (13:21 +0100)] 
Merge branch 'code-coverage' into 'master'

Updated config tests, fixing code coverage for C and Lua

See merge request knot/knot-resolver!403

7 years agobuild: detect presence of lcov and luacov
Petr Špaček [Tue, 28 Nov 2017 12:18:04 +0000 (13:18 +0100)] 
build: detect presence of lcov and luacov

7 years agoscripts: pack all submodules with make-archive.sh
Petr Špaček [Tue, 28 Nov 2017 10:27:43 +0000 (11:27 +0100)] 
scripts: pack all submodules with make-archive.sh

It does not make sense to create "distribution" tarball with dirty
working tree or missing submodules, so this is now forbidden.
make-archive.sh requires clean working tree and all submodules.

Packing all submodules prevents us from releasing incomplete tarball,
especially around release time.

Distributions like Fedora are gradually getting ability to run
integration test suites so it does not hurt to pack everything including
test.

7 years agoCI: Add coverage CI target to parse code coverage and display it in MRs
Marek Vavruša [Sun, 26 Nov 2017 01:05:08 +0000 (17:05 -0800)] 
CI: Add coverage CI target to parse code coverage and display it in MRs

7 years agofixed issues with newer luacheck
Marek Vavruša [Sun, 26 Nov 2017 04:15:35 +0000 (20:15 -0800)] 
fixed issues with newer luacheck

7 years agobuild: removed old check for libknot 2.3.0
Marek Vavruša [Sun, 26 Nov 2017 01:04:30 +0000 (17:04 -0800)] 
build: removed old check for libknot 2.3.0

The 2.4.0 is required as a minimum.

7 years agobuild: make lint depends on autogenerated Lua files
Marek Vavruša [Sun, 26 Nov 2017 01:03:48 +0000 (17:03 -0800)] 
build: make lint depends on autogenerated Lua files

Lint should always render the .lua from .lua.in files before checking.

7 years agobuild: added `make coverage` to compute C and Lua code coverage
Marek Vavruša [Sun, 26 Nov 2017 00:54:11 +0000 (16:54 -0800)] 
build: added `make coverage` to compute C and Lua code coverage

Currently it gathers gcov and luacov code coverage, and merges it
in a single lcov info file. It returns summary at the end which the
CI can parse and interpret. It can build a html report later using
the data.

7 years agotests/config: added a TAP-based test environment for modules/configs
Marek Vavruša [Sun, 26 Nov 2017 00:23:46 +0000 (16:23 -0800)] 
tests/config: added a TAP-based test environment for modules/configs

I moved the test files to module directories because it allows
vendoring of whole modules including tests etc.

The test environment provides convenience functions and produces
test output in TAP format. Ideally all tests should use a common
format, so that CI can parse it provide better test output on PRs.
It seems like Gitlab CI doesn't support anything yet, but there
are two sort-of standards supported in CI tools - TAP and JUnit.
I chose TAP because it's easier to read for humans, cmocka supports it,
and it should be easier to adapt Deckard. There are also tools to
convert TAP into JUnit XML file.

Also added more tests for global functions and variables, and the
test tool now also tracks coverage (if `luacov` is installed).

7 years agoMerge branch 'docker-updates' into 'master'
Petr Špaček [Mon, 27 Nov 2017 10:14:51 +0000 (11:14 +0100)] 
Merge branch 'docker-updates' into 'master'

CI: unify Docker images for kresd and Deckard CI

See merge request knot/knot-resolver!404

7 years agoCI: unify Docker images for kresd and Deckard CI
Petr Špaček [Mon, 27 Nov 2017 10:10:09 +0000 (11:10 +0100)] 
CI: unify Docker images for kresd and Deckard CI

The Docker image now should work for both projects.
Also, the image was extended with tools to measure code coverage.

7 years agoMerge branch 'lualint' into 'master'
Petr Špaček [Fri, 24 Nov 2017 14:56:51 +0000 (15:56 +0100)] 
Merge branch 'lualint' into 'master'

CI: add Lua lint and installcheck tests

See merge request knot/knot-resolver!402

7 years agofixup! tests: fixed config tests locking up on error, added test for predict
Petr Špaček [Fri, 24 Nov 2017 14:48:56 +0000 (15:48 +0100)] 
fixup! tests: fixed config tests locking up on error, added test for predict

/bin/sh in our image does not support "function" keyword

7 years agoCI: run installcheck tests with and without Valgrind
Petr Špaček [Fri, 24 Nov 2017 14:15:25 +0000 (15:15 +0100)] 
CI: run installcheck tests with and without Valgrind

7 years agoCI: disable Deckard under Valgrind
Petr Špaček [Fri, 24 Nov 2017 13:55:35 +0000 (14:55 +0100)] 
CI: disable Deckard under Valgrind

The test is useless in its current form because all the information goes
to logs, which are later discarded.

We need to fix issues detected by Valgrind first and then enable strict
mode which will not let the test pass if any problem is detected.

This might require recompiling LuaJIT in a way which is compatible with
Valgrind.

7 years agoCI: disallow Valgrind failures in unit tests
Petr Špaček [Fri, 24 Nov 2017 13:54:34 +0000 (14:54 +0100)] 
CI: disallow Valgrind failures in unit tests

7 years agoCI: add Lua lint
Petr Špaček [Fri, 24 Nov 2017 13:05:42 +0000 (14:05 +0100)] 
CI: add Lua lint

7 years agoMerge branch 'daemon-lua-linter-fixes' into 'master'
Petr Špaček [Fri, 24 Nov 2017 07:52:59 +0000 (08:52 +0100)] 
Merge branch 'daemon-lua-linter-fixes' into 'master'

Fixed linter issues in `daemon/lua`, added more config tests

See merge request knot/knot-resolver!400

7 years agoMerge branch 'fix-obvious-linter-problems' into 'daemon-lua-linter-fixes'
Petr Špaček [Fri, 24 Nov 2017 07:46:59 +0000 (08:46 +0100)] 
Merge branch 'fix-obvious-linter-problems' into 'daemon-lua-linter-fixes'

fixed obvious linter problems

See merge request knot/knot-resolver!401

7 years agofixed obvious linter problems
Marek Vavruša [Fri, 24 Nov 2017 05:07:31 +0000 (21:07 -0800)] 
fixed obvious linter problems

there are two modules that couldn't work before:

* graphite
* ketcd

7 years agodaemon/lua: fixed unused variables, whitespace, cleanup
Marek Vavruša [Thu, 23 Nov 2017 09:02:15 +0000 (01:02 -0800)] 
daemon/lua: fixed unused variables, whitespace, cleanup

Also fixed improper promotion of `ffi` to global variable.

```
$ luacheck --codes daemon/lua/
Checking daemon/lua/config.lua                    OK
Checking daemon/lua/kres-gen.lua                  OK
Checking daemon/lua/kres.lua                      OK
Checking daemon/lua/sandbox.lua                   OK
Checking daemon/lua/trust_anchors.lua             OK
Checking daemon/lua/zonefile.lua                  OK

Total: 0 warnings / 0 errors in 6 files
```

7 years agoadded basic config test for consts, depend on knot >= 2.4, cleanup
Marek Vavruša [Thu, 23 Nov 2017 08:59:31 +0000 (00:59 -0800)] 
added basic config test for consts, depend on knot >= 2.4, cleanup

The library now depends on libknot >= 2.4.0 (in Debian stable),
this allows us to remove a dead code and sed-ing of the kres.lua

Added a basic config tests to check that constants still work,
and basic interface to rrsets still works after the change.

7 years agoMerge branch 'fix-predict-module' into 'master'
Petr Špaček [Fri, 24 Nov 2017 07:18:12 +0000 (08:18 +0100)] 
Merge branch 'fix-predict-module' into 'master'

Fixed predict module, config tests, cleanup

See merge request knot/knot-resolver!399

7 years agomodules/predict: added test for prediction process
Marek Vavruša [Fri, 24 Nov 2017 04:32:01 +0000 (20:32 -0800)] 
modules/predict: added test for prediction process

this tests that:
* sampling frequent queries works
* the code to find periodic appearences of the same name and type
* resolving predicted queries works

it doesn't test pessimistic cases or failure modes

7 years agotests/config: added basic assert support (compatible with busted)
Marek Vavruša [Fri, 24 Nov 2017 04:30:00 +0000 (20:30 -0800)] 
tests/config: added basic assert support (compatible with busted)

There is no dependency on a testing library yet, so I added a
basic interface for mocking and asserting test values to get
something to start with. I'll probably replace it with busted
or telescope later on to get nicer testing output.

7 years agorenamed TEST env variable to KRESD_NO_LISTEN
Marek Vavruša [Fri, 24 Nov 2017 03:31:55 +0000 (19:31 -0800)] 
renamed TEST env variable to KRESD_NO_LISTEN

7 years agoconverted constant tables, support kres.type.TYPE1234
Marek Vavruša [Thu, 23 Nov 2017 07:50:58 +0000 (23:50 -0800)] 
converted constant tables, support kres.type.TYPE1234

The difficulty with using structs as constant tables is that access
to non-existent fields throws an error. This is difficult to handle
without wrapping every access in a pcall, for example in predict module:

```
error: /usr/local/lib/kdns_modules/predict.lua:34: 'struct rr_type' has no member named 'TYPE65535'
```

So I converted the constant tables into regular Lua tables,
and added a metatable for RR types to allow looking up unnamed types,
in the TYPE%d format. Looking up non-existent fields will now
return nil instead of throwing an error.

7 years agomodules/predict: cleaned up unused function, variables, trailing whitespace
Marek Vavruša [Thu, 23 Nov 2017 07:55:31 +0000 (23:55 -0800)] 
modules/predict: cleaned up unused function, variables, trailing whitespace

The `stats` module is now also included if not exists.

```
$ luacheck modules/predict
Checking modules/predict/predict.lua              OK

Total: 0 warnings / 0 errors in 1 file
```

7 years agotests: fixed config tests locking up on error, added test for predict
Marek Vavruša [Thu, 23 Nov 2017 07:40:28 +0000 (23:40 -0800)] 
tests: fixed config tests locking up on error, added test for predict

The config tests locked up on error as if error was raised from the
event callback, it would never reach the `quit()` statement, so
server would never close on error.

Added a script to make running these types of tests a little bit nicer
and to allow concurrent execution of config tests.

Added a test for the predict module, that fails on prediction
of unknown types:

```
error: /usr/local/lib/kdns_modules/predict.lua:34: 'struct rr_type' has no member named 'TYPE65535'
```

7 years agoMerge branch 'add-lua-linter' into 'master'
Petr Špaček [Thu, 23 Nov 2017 16:10:00 +0000 (17:10 +0100)] 
Merge branch 'add-lua-linter' into 'master'

Added luacheck for linting Lua files and static analysis

See merge request knot/knot-resolver!398

7 years agoAdded luacheck for linting Lua files and static analysis
Marek Vavruša [Thu, 23 Nov 2017 02:57:39 +0000 (18:57 -0800)] 
Added luacheck for linting Lua files and static analysis

This is super useful for checking things like misusing undefined
variables or modifying globals, especially in modules when it's
not immediately visible which variables are in the global
namespace and which are not.

I added several exceptions for files in daemon/lua and tests,
as for example sandbox module needs to legitimately modify
global namespace.

There's a lot of things failing, so I didn't make it part of the
standard `make check`, but we should eventually enable it to
improve code quality and spot problems with CI.

7 years agoMerge branch 'deckard_fail_artifacts' into 'master'
Petr Špaček [Mon, 20 Nov 2017 16:45:28 +0000 (17:45 +0100)] 
Merge branch 'deckard_fail_artifacts' into 'master'

CI optimization

Closes #270

See merge request knot/knot-resolver!397

7 years agoCI: enable QTRACE logging for kresd
Petr Špaček [Mon, 20 Nov 2017 15:35:06 +0000 (16:35 +0100)] 
CI: enable QTRACE logging for kresd

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.