]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
5 years agomodules/policy: optimize special domain processing
Vladimír Čunát [Mon, 12 Aug 2019 14:08:37 +0000 (16:08 +0200)] 
modules/policy: optimize special domain processing

Running the full special-domain checks is relatively expensive.

5 years agomodules/policy: optimize postrules
Vladimír Čunát [Wed, 31 Jul 2019 13:55:43 +0000 (15:55 +0200)] 
modules/policy: optimize postrules

I've never seen anyone use postrules.

5 years agolua FFI: avoid frequent usage of lua_pushpointer()
Vladimír Čunát [Wed, 7 Aug 2019 07:36:13 +0000 (09:36 +0200)] 
lua FFI: avoid frequent usage of lua_pushpointer()

The new way of transitioning to layer callbacks - done because of
portability (mainly to aarch64) - is a bit expensive.  This is a simple
way of recovering that cost.  Merge 603a24f regressed speed a bit.

5 years agoMerge branch 'packaging-fixes' into 'master' obs-knot-dns-deve-jq0xxt/deployments/412 obs-knot-dns-deve-jq0xxt/deployments/414 obs-knot-dns-deve-jq0xxt/deployments/416 obs-knot-dns-deve-jq0xxt/deployments/418 obs-knot-resolver-es11k1/deployments/413 obs-knot-resolver-es11k1/deployments/415 obs-knot-resolver-es11k1/deployments/417 obs-knot-resolver-es11k1/deployments/419
Petr Špaček [Thu, 28 Nov 2019 09:06:17 +0000 (10:06 +0100)] 
Merge branch 'packaging-fixes' into 'master'

Packaging fixes

See merge request knot/knot-resolver!895

5 years agosystemd: add proper User/Group
Tomas Krizek [Wed, 27 Nov 2019 11:46:06 +0000 (12:46 +0100)] 
systemd: add proper User/Group

The Group= settings was ommited and default group of User= was
implicitly used. Now the group set at build time is respected.

GC didn't respect the user/group set at build time at all.

5 years agodistro/*: http module requires the same knot-resolver version
Tomas Krizek [Tue, 26 Nov 2019 11:58:02 +0000 (12:58 +0100)] 
distro/*: http module requires the same knot-resolver version

Previously, it was possible to update just "knot-resolver" even
when the "knot-resolver-module-http" package was installed, or the
other way around.

5 years agoMerge branch 'ci-timeout' into 'master' obs-knot-dns-deve-jq0xxt/deployments/410 obs-knot-resolver-es11k1/deployments/411
Tomas Krizek [Wed, 27 Nov 2019 14:57:22 +0000 (15:57 +0100)] 
Merge branch 'ci-timeout' into 'master'

ci: increase test timeout

See merge request knot/knot-resolver!897

5 years agoci: increase test timeout
Tomas Krizek [Wed, 27 Nov 2019 14:43:54 +0000 (15:43 +0100)] 
ci: increase test timeout

During heavy load, test:valgrind tends to fail quite often with timeout.
This should improve the situation.

5 years agoMerge branch 'packaging-docs' into 'master' obs-knot-dns-deve-jq0xxt/deployments/386 obs-knot-dns-deve-jq0xxt/deployments/388 obs-knot-dns-deve-jq0xxt/deployments/392 obs-knot-dns-deve-jq0xxt/deployments/394 obs-knot-dns-deve-jq0xxt/deployments/396 obs-knot-dns-deve-jq0xxt/deployments/399 obs-knot-dns-deve-jq0xxt/deployments/404 obs-knot-resolver-bs4hbr/deployments/385 obs-knot-resolver-es11k1/deployments/387 obs-knot-resolver-es11k1/deployments/389 obs-knot-resolver-es11k1/deployments/393 obs-knot-resolver-es11k1/deployments/395 obs-knot-resolver-es11k1/deployments/397 obs-knot-resolver-es11k1/deployments/400 obs-knot-resolver-es11k1/deployments/405
Petr Špaček [Wed, 20 Nov 2019 12:42:51 +0000 (12:42 +0000)] 
Merge branch 'packaging-docs' into 'master'

tests: packaging

See merge request knot/knot-resolver!892

5 years agotests: packaging
Lukáš Ježek [Mon, 18 Nov 2019 11:16:42 +0000 (12:16 +0100)] 
tests: packaging

Directory with subdirectory "packaging" is called "component".

List all components: python3 tests/packaging-doc.py --list
Run all tests/compoments: python3 tests/packaging-doc.py
Run specific test/component: python3 tests/packaging-doc.py --test <component>

The file structure for 1 component:
daemon - dependencies for 1 component "kresd daemon" (default component, must always be there)
scripts/distros - dependencies for 1 component for specific distro (must always be there)
scripts/dockerfile_gen.py - test Dockerfile generator, see below
tests/packaging.py - script to generate and build all combinations
                     of Docker files for all components
[component] - directory of component/test, see below
      (e.g. "client/packaging/", "modules/http/packaging/" etc.)

The file structure of each component:
[component]
<distro>/<version> - package names
- builddeps - list of build depedencies
- rundeps - list of runtime depedencies
- pre-build.sh - script called before build phase
- post-build.sh - script called after build phase
- pre-run.sh - script called before run phase
- post-run.sh - script called after run phase
- install.sh and build.sh script called during build phase
test.config or test.sh - kresd config test or shell script
note: content of "scripts/distroos" is same as "<distro>/<version>" of component.

There are "build" and "run" phases. "build" phase precedes "run" phase.
All script are called in this order:
1. pre-<phase>.sh
2. install packages specifed in the file "<phase>deps"
3a. for "build" phase: run build.sh and install.sh
3b. for "run" phase: run 'kresd -c [component]/test.config' or config.sh
4. remove packages specified in the file "<phase>deps"
5. post-<phase>.sh

Each step above is combines base components with a component under test.
E.g. component "scripts/distros" always precedes component "daemon/packaging"
and it precedes the tested component e.g. "modules/http".

In long term we might migrate this to py.test or some other well known
framework.

5 years agoMerge branch 'doh_decrypt' into 'master'
Tomas Krizek [Wed, 20 Nov 2019 12:19:11 +0000 (12:19 +0000)] 
Merge branch 'doh_decrypt' into 'master'

DoH debugging: auxiliary library for OpenSSL key logging

See merge request knot/knot-resolver!886

5 years agodistro/rpm: fix opensuse build
Tomas Krizek [Wed, 20 Nov 2019 10:45:42 +0000 (11:45 +0100)] 
distro/rpm: fix opensuse build

opensslkey_debug is never built for opensuse, because
openssl is not a dependency, thus there's no need to remove
the non-existent file.

5 years agodog debug: ignore -Wpedantic to unblock CI
Vladimír Čunát [Wed, 23 Oct 2019 13:18:51 +0000 (15:18 +0200)] 
dog debug: ignore -Wpedantic to unblock CI

It would be cumbersome to explicitly cast all those void*
to correct function types.

5 years agodoh debug: do not build debug_opensslkeylog if openssl is missing
Petr Špaček [Wed, 23 Oct 2019 11:34:08 +0000 (13:34 +0200)] 
doh debug: do not build debug_opensslkeylog if openssl is missing

5 years agoci: add openssl devel package for http module debug library
Petr Špaček [Tue, 22 Oct 2019 14:08:08 +0000 (16:08 +0200)] 
ci: add openssl devel package for http module debug library

5 years agodoh debug: add depedency on openssl to meson build
Petr Špaček [Tue, 22 Oct 2019 13:04:38 +0000 (15:04 +0200)] 
doh debug: add depedency on openssl to meson build

5 years agodoh debug: package debug_opensslkeylog.so
Petr Špaček [Tue, 22 Oct 2019 12:57:03 +0000 (14:57 +0200)] 
doh debug: package debug_opensslkeylog.so

5 years agodoh debug: log timestamp of each OPENSSLKEYLOGFILE opening
Petr Špaček [Tue, 22 Oct 2019 11:30:47 +0000 (13:30 +0200)] 
doh debug: log timestamp of each OPENSSLKEYLOGFILE opening

Wireshark 3.0.5 is able to deal with # comments in middle of log file.

5 years agodoh debug: create OPENSSLKEYLOGFILE accessible only by process owner
Petr Špaček [Tue, 22 Oct 2019 11:26:39 +0000 (13:26 +0200)] 
doh debug: create OPENSSLKEYLOGFILE accessible only by process owner

5 years agodoh debug: log timestamp of OPENSSLKEYLOGFILE creation
Petr Špaček [Tue, 22 Oct 2019 11:26:04 +0000 (13:26 +0200)] 
doh debug: log timestamp of OPENSSLKEYLOGFILE creation

5 years agodoh debug: build and install OpenSSL SSLKEYLOGFILE helper library
Petr Špaček [Tue, 22 Oct 2019 10:56:08 +0000 (12:56 +0200)] 
doh debug: build and install OpenSSL SSLKEYLOGFILE helper library

It is not used in any way by default, enabling it requires manual
LD_PRELOAD= trickery as described in the source file.

5 years agodoh debug: avoid warning about _GNU_SOURCE redefinition
Petr Špaček [Tue, 22 Oct 2019 10:40:49 +0000 (12:40 +0200)] 
doh debug: avoid warning about _GNU_SOURCE redefinition

5 years agodoh debug: use more descriptive name debug_opensslkeylog
Petr Špaček [Tue, 22 Oct 2019 10:07:22 +0000 (12:07 +0200)] 
doh debug: use more descriptive name debug_opensslkeylog

5 years agodoh debug: rename SSLKEYLOG environment variable to OPENSSLKEYLOG
Petr Špaček [Tue, 22 Oct 2019 10:03:30 +0000 (12:03 +0200)] 
doh debug: rename SSLKEYLOG environment variable to OPENSSLKEYLOG

This avoids conflict between GnuTLS's built-in SSLKEYLOG and our hack
for OpenSSL. This would be important for instances which run
DNS-over-TLS using built-in GnuTLS
and at the same time DNS-over-HTTPS using lua-http (based on OpenSSL).

5 years agodoh debug: add helper library with OpenSSL SSLKEYLOGFILE= support
Petr Špaček [Tue, 22 Oct 2019 09:58:30 +0000 (11:58 +0200)] 
doh debug: add helper library with OpenSSL SSLKEYLOGFILE= support

Original file is GNU GPLv3+ licensed and was copied from
https://git.lekensteyn.nl/peter/wireshark-notes/plain/src/sslkeylog.c
blob: 370668907056f769e2d09bf7bd2e768249049f8f
commit: de25eb75c8d90282ba90396218210c4601603347
Copyright (C) 2014 Peter Wu <peter@lekensteyn.nl>

5 years agoMerge branch 'zone-forward-ng' into 'master'
Petr Špaček [Wed, 20 Nov 2019 12:00:16 +0000 (12:00 +0000)] 
Merge branch 'zone-forward-ng' into 'master'

cache entry_list: fix crash on insertion via lua

See merge request knot/knot-resolver!889

5 years agotests: skip Deckard integration tests if sendmmsg is enabled
Petr Špaček [Wed, 20 Nov 2019 11:46:20 +0000 (12:46 +0100)] 
tests: skip Deckard integration tests if sendmmsg is enabled

All Deckard tests would fail anyway so we now print a warning and skip
Deckard tests.

5 years agocache: integration test for explicit NS insertion
Petr Špaček [Wed, 20 Nov 2019 11:38:38 +0000 (12:38 +0100)] 
cache: integration test for explicit NS insertion

5 years agocache entry_list: fix crash on insertion via lua
Vladimír Čunát [Thu, 24 Oct 2019 08:35:31 +0000 (10:35 +0200)] 
cache entry_list: fix crash on insertion via lua

When inserting NS or xNAME, we could get into this place with
qry == NULL, and we'd crash when trying to use the memory pool.
Let's simply use the stack instead.

5 years agoMerge branch 'rpm-config-permissions' into 'master'
Petr Špaček [Wed, 20 Nov 2019 09:53:03 +0000 (09:53 +0000)] 
Merge branch 'rpm-config-permissions' into 'master'

distro/rpm: move root.keys to proper location

Closes #513

See merge request knot/knot-resolver!888

5 years agodistro/rpm: don't mark certificate as config file
Tomas Krizek [Fri, 8 Nov 2019 12:03:08 +0000 (13:03 +0100)] 
distro/rpm: don't mark certificate as config file

5 years agodistro/rpm: move root.keys to proper location
Tomas Krizek [Thu, 24 Oct 2019 14:40:35 +0000 (16:40 +0200)] 
distro/rpm: move root.keys to proper location

Fixes #513

5 years agomeson: add option install_root_keys
Tomas Krizek [Fri, 8 Nov 2019 11:23:45 +0000 (12:23 +0100)] 
meson: add option install_root_keys

5 years agomeson: enable root keys installation to keyfile_default location
Tomas Krizek [Thu, 24 Oct 2019 14:40:20 +0000 (16:40 +0200)] 
meson: enable root keys installation to keyfile_default location

5 years agoMerge branch 'sendmmsg_use-after-free' into 'master'
Petr Špaček [Wed, 20 Nov 2019 09:40:30 +0000 (09:40 +0000)] 
Merge branch 'sendmmsg_use-after-free' into 'master'

sendmmsg: fix a use-after-free case

See merge request knot/knot-resolver!891

5 years agoNEWS for sendmmsg (preliminary text)
Vladimír Čunát [Fri, 15 Nov 2019 14:40:07 +0000 (15:40 +0100)] 
NEWS for sendmmsg (preliminary text)

5 years agodaemon/worker: add assertion
Vladimír Čunát [Fri, 15 Nov 2019 12:25:27 +0000 (13:25 +0100)] 
daemon/worker: add assertion

It might detect some use-after-free cases even without ASAN.

5 years agodaemon/udp_queue: add a ref-unref pair
Vladimír Čunát [Fri, 15 Nov 2019 12:22:11 +0000 (13:22 +0100)] 
daemon/udp_queue: add a ref-unref pair

I must admit I don't really understand why we had a rare case
of use-after-free in the sendmmsg call, but this change should avoid
that without affecting anything else.

5 years agoMerge branch 'ci-backtraces' into 'master' obs-knot-dns-deve-jq0xxt/deployments/381 obs-knot-resolver-es11k1/deployments/382
Tomas Krizek [Tue, 19 Nov 2019 12:00:36 +0000 (12:00 +0000)] 
Merge branch 'ci-backtraces' into 'master'

ci: print backtraces from respdiff/resperf

See merge request knot/knot-resolver!893

5 years agoci: print docker output on respdiff/resperf failure
Tomas Krizek [Tue, 19 Nov 2019 11:44:17 +0000 (12:44 +0100)] 
ci: print docker output on respdiff/resperf failure

5 years agoci: use new security repo in gitlabci
Tomas Krizek [Tue, 19 Nov 2019 11:42:03 +0000 (12:42 +0100)] 
ci: use new security repo in gitlabci

5 years agoMerge branch 'ci-boxes' into 'master' obs-knot-dns-deve-jq0xxt/deployments/363 obs-knot-dns-deve-jq0xxt/deployments/366 obs-knot-dns-deve-jq0xxt/deployments/368 obs-knot-dns-deve-jq0xxt/deployments/370 obs-knot-dns-deve-jq0xxt/deployments/372 obs-knot-dns-deve-jq0xxt/deployments/374 obs-knot-dns-deve-jq0xxt/deployments/376 obs-knot-dns-deve-jq0xxt/deployments/378 obs-knot-resolver-bs4hbr/deployments/365 obs-knot-resolver-es11k1/deployments/364 obs-knot-resolver-es11k1/deployments/367 obs-knot-resolver-es11k1/deployments/369 obs-knot-resolver-es11k1/deployments/371 obs-knot-resolver-es11k1/deployments/373 obs-knot-resolver-es11k1/deployments/375 obs-knot-resolver-es11k1/deployments/377 obs-knot-resolver-es11k1/deployments/379
Tomas Krizek [Mon, 11 Nov 2019 09:23:06 +0000 (09:23 +0000)] 
Merge branch 'ci-boxes' into 'master'

ci: update distrotests

See merge request knot/knot-resolver!890

5 years agoci: use new distros for distrotests
Tomas Krizek [Fri, 8 Nov 2019 14:53:50 +0000 (15:53 +0100)] 
ci: use new distros for distrotests

5 years agodistro/tests: add ubuntu1910
Tomas Krizek [Fri, 8 Nov 2019 14:47:57 +0000 (15:47 +0100)] 
distro/tests: add ubuntu1910

5 years agodistro/tests: add Fedora 31
Tomas Krizek [Fri, 8 Nov 2019 14:47:38 +0000 (15:47 +0100)] 
distro/tests: add Fedora 31

5 years agodistro/tests: use generic/opensuse15 box
Tomas Krizek [Fri, 8 Nov 2019 14:46:35 +0000 (15:46 +0100)] 
distro/tests: use generic/opensuse15 box

5 years agodistro/tests: make ansible debug output readable
Tomas Krizek [Fri, 8 Nov 2019 14:45:52 +0000 (15:45 +0100)] 
distro/tests: make ansible debug output readable

5 years agomeson: remove upper version limit for knot
Tomas Krizek [Fri, 8 Nov 2019 12:18:43 +0000 (13:18 +0100)] 
meson: remove upper version limit for knot

The advanced version comparison was isn't implemeted in meson 0.46,
which is used for CentOS 7 and it caused build issue with development
version of Knot.

5 years agoMerge branch 'watchdog-details' into 'master' obs-knot-dns-deve-jq0xxt/deployments/318 obs-knot-dns-deve-jq0xxt/deployments/322 obs-knot-dns-deve-jq0xxt/deployments/324 obs-knot-dns-deve-jq0xxt/deployments/326 obs-knot-dns-deve-jq0xxt/deployments/328 obs-knot-dns-deve-jq0xxt/deployments/330 obs-knot-dns-deve-jq0xxt/deployments/332 obs-knot-dns-deve-jq0xxt/deployments/334 obs-knot-dns-deve-jq0xxt/deployments/336 obs-knot-dns-deve-jq0xxt/deployments/338 obs-knot-dns-deve-jq0xxt/deployments/340 obs-knot-dns-deve-jq0xxt/deployments/342 obs-knot-dns-deve-jq0xxt/deployments/343 obs-knot-dns-deve-jq0xxt/deployments/345 obs-knot-dns-deve-jq0xxt/deployments/347 obs-knot-dns-deve-jq0xxt/deployments/349 obs-knot-dns-deve-jq0xxt/deployments/356 obs-knot-dns-deve-jq0xxt/deployments/358 obs-knot-dns-deve-jq0xxt/deployments/360 obs-knot-resolver-es11k1/deployments/321 obs-knot-resolver-es11k1/deployments/323 obs-knot-resolver-es11k1/deployments/325 obs-knot-resolver-es11k1/deployments/327 obs-knot-resolver-es11k1/deployments/329 obs-knot-resolver-es11k1/deployments/331 obs-knot-resolver-es11k1/deployments/333 obs-knot-resolver-es11k1/deployments/335 obs-knot-resolver-es11k1/deployments/337 obs-knot-resolver-es11k1/deployments/339 obs-knot-resolver-es11k1/deployments/341 obs-knot-resolver-es11k1/deployments/344 obs-knot-resolver-es11k1/deployments/346 obs-knot-resolver-es11k1/deployments/348 obs-knot-resolver-es11k1/deployments/350 obs-knot-resolver-es11k1/deployments/357 obs-knot-resolver-es11k1/deployments/359 obs-knot-resolver-es11k1/deployments/361
Petr Špaček [Wed, 23 Oct 2019 12:11:38 +0000 (12:11 +0000)] 
Merge branch 'watchdog-details' into 'master'

watchdog details

See merge request knot/knot-resolver!881

5 years agomodules/watchdog: use abort() for restarts
Vladimír Čunát [Thu, 10 Oct 2019 13:16:03 +0000 (15:16 +0200)] 
modules/watchdog: use abort() for restarts

Motivation: core-dump might be very useful, and in this case there
are even very useful pointers on the C stack.

5 years agoMerge branch 'systemd-network-online' into 'master'
Petr Špaček [Wed, 23 Oct 2019 11:42:50 +0000 (11:42 +0000)] 
Merge branch 'systemd-network-online' into 'master'

systemd/kresd: fix dependency on network-online.target

See merge request knot/knot-resolver!884

5 years agosystemd/kresd: fix dependency on network-online.target
Tomas Krizek [Thu, 17 Oct 2019 08:37:44 +0000 (10:37 +0200)] 
systemd/kresd: fix dependency on network-online.target

The missing Wants= and After= directives for network-online.target
made it possible for kresd to start before network interfaces were
properly initialized and configured with IP addresses, leading to a
failure to bind to addresses.

5 years agoMerge branch 'ci-odvr' into 'master'
Tomas Krizek [Wed, 23 Oct 2019 11:13:52 +0000 (11:13 +0000)] 
Merge branch 'ci-odvr' into 'master'

ci: add support for knot-resolver-odvr OBS repo

See merge request knot/knot-resolver!887

5 years agoci: add support for knot-resolver-odvr OBS repo obs-knot-dns-deve-jq0xxt/deployments/312 obs-knot-resolver-8xyvhu/deployments/311
Tomas Krizek [Tue, 22 Oct 2019 13:14:59 +0000 (15:14 +0200)] 
ci: add support for knot-resolver-odvr OBS repo

5 years agoMerge branch 'knot-3-dev' into 'master' obs-knot-dns-deve-jq0xxt/deployments/314
Tomas Krizek [Tue, 22 Oct 2019 09:29:09 +0000 (09:29 +0000)] 
Merge branch 'knot-3-dev' into 'master'

tweak conditionals to work with knot 3.0.dev

See merge request knot/knot-resolver!885

5 years agotweak conditionals to work with knot 3.0.dev obs-knot-dns-deve-jq0xxt/deployments/309
Vladimír Čunát [Mon, 21 Oct 2019 12:32:51 +0000 (14:32 +0200)] 
tweak conditionals to work with knot 3.0.dev

I didn't plan this well ahead :-/

5 years agoMerge branch 'ci-knot-2.9' into 'master' obs-knot-dns-deve-jq0xxt/deployments/307 obs-knot-resolver-es11k1/deployments/303 obs-knot-resolver-es11k1/deployments/304 obs-knot-resolver-es11k1/deployments/305 obs-knot-resolver-es11k1/deployments/306 obs-knot-resolver-es11k1/deployments/308 obs-knot-resolver-es11k1/deployments/310
Tomas Krizek [Wed, 16 Oct 2019 15:07:27 +0000 (15:07 +0000)] 
Merge branch 'ci-knot-2.9' into 'master'

ci: switch to Knot DNS 2.9.x

See merge request knot/knot-resolver!883

5 years agoci: switch to Knot DNS 2.9.x
Tomas Krizek [Wed, 16 Oct 2019 14:03:55 +0000 (16:03 +0200)] 
ci: switch to Knot DNS 2.9.x

5 years agoMerge branch 'meson-libknot' into 'master' obs-knot-dns-deve-jq0xxt/deployments/301 obs-knot-resolver-es11k1/deployments/302
Tomas Krizek [Tue, 15 Oct 2019 13:59:12 +0000 (13:59 +0000)] 
Merge branch 'meson-libknot' into 'master'

meson: allow libknot 3.0.dev

See merge request knot/knot-resolver!882

5 years agomeson: allow libknot 3.0.dev
Tomas Krizek [Mon, 14 Oct 2019 11:37:03 +0000 (13:37 +0200)] 
meson: allow libknot 3.0.dev

5 years agoMerge !880: nitpicks: comments and .gitignore obs-knot-dns-deve-jq0xxt/deployments/291 obs-knot-dns-deve-jq0xxt/deployments/293 obs-knot-dns-deve-jq0xxt/deployments/295 obs-knot-dns-deve-jq0xxt/deployments/297 obs-knot-dns-deve-jq0xxt/deployments/299 obs-knot-resolver-es11k1/deployments/292 obs-knot-resolver-es11k1/deployments/294 obs-knot-resolver-es11k1/deployments/296 obs-knot-resolver-es11k1/deployments/298 obs-knot-resolver-es11k1/deployments/300
Vladimír Čunát [Thu, 10 Oct 2019 12:48:05 +0000 (12:48 +0000)] 
Merge !880: nitpicks: comments and .gitignore

5 years agolib/*: improve some comments
Vladimír Čunát [Tue, 24 Sep 2019 07:41:13 +0000 (09:41 +0200)] 
lib/*: improve some comments

5 years ago.gitignore: remove *.d rule
Vladimír Čunát [Tue, 30 Jul 2019 10:48:28 +0000 (12:48 +0200)] 
.gitignore: remove *.d rule

- we have ./systemd/*.d dirs
- with meson we don't do in-tree builds, so *.d files shouldn't appear

5 years agoMerge branch 'enable-sendmmsg' into 'master'
Petr Špaček [Thu, 10 Oct 2019 10:27:29 +0000 (10:27 +0000)] 
Merge branch 'enable-sendmmsg' into 'master'

meson: set sendmmsg to autodetection

See merge request knot/knot-resolver!877

5 years agomeson: set sendmmsg to autodetection
Tomas Krizek [Fri, 4 Oct 2019 17:12:23 +0000 (19:12 +0200)] 
meson: set sendmmsg to autodetection

5 years agoMerge branch 'perf-getsockname-2' into 'master'
Petr Špaček [Thu, 10 Oct 2019 10:24:57 +0000 (10:24 +0000)] 
Merge branch 'perf-getsockname-2' into 'master'

daemon: avoid excessive getsockname() syscalls

See merge request knot/knot-resolver!854

5 years agodaemon sendmmsg: fix a minor TODO
Vladimír Čunát [Tue, 6 Aug 2019 11:54:02 +0000 (13:54 +0200)] 
daemon sendmmsg: fix a minor TODO

This shouldn't change the operation in any way, it's just nicer.

5 years agodaemon: avoid excessive getsockname() syscalls
Vladimír Čunát [Thu, 25 Jul 2019 13:51:09 +0000 (15:51 +0200)] 
daemon: avoid excessive getsockname() syscalls

Calling this on every incoming UDP request could cost us up to 5% time.

5 years agoMerge branch 'http_reuseport' into 'master' obs-knot-dns-deve-jq0xxt/deployments/289 obs-knot-resolver-es11k1/deployments/290
Petr Špaček [Wed, 9 Oct 2019 12:45:56 +0000 (12:45 +0000)] 
Merge branch 'http_reuseport' into 'master'

http: fix SO_REUSEPORT for HTTP sockets

See merge request knot/knot-resolver!879

5 years agohttp: fix parallel execution of HTTP tests with SO_REUSEPORT
Petr Špaček [Wed, 9 Oct 2019 12:35:53 +0000 (14:35 +0200)] 
http: fix parallel execution of HTTP tests with SO_REUSEPORT

We have to use disjoint port ranges for individual test, otherwise
parallel test execution leads to unpredictable results.

5 years agoNEWS: http REUSEPORT, watchdog
Vladimír Čunát [Wed, 9 Oct 2019 08:38:56 +0000 (10:38 +0200)] 
NEWS: http REUSEPORT, watchdog

5 years agohttp: fix SO_REUSEPORT for HTTP sockets obs-knot-resolver-bs4hbr/deployments/286
Petr Špaček [Tue, 8 Oct 2019 16:57:07 +0000 (18:57 +0200)] 
http: fix SO_REUSEPORT for HTTP sockets

lua-cqueues.socket.fdopen() resets the reuseport flag, so binding Nth
instance without systemd socket activation failed

5 years agoMerge branch 'watchdog' into 'master' obs-knot-dns-deve-jq0xxt/deployments/287 obs-knot-resolver-es11k1/deployments/288
Tomas Krizek [Tue, 8 Oct 2019 16:58:33 +0000 (16:58 +0000)] 
Merge branch 'watchdog' into 'master'

watchdog rewrite

See merge request knot/knot-resolver!878

5 years agodistro/*: package watchdog module obs-knot-resolver-bs4hbr/deployments/285
Tomas Krizek [Tue, 8 Oct 2019 15:42:59 +0000 (17:42 +0200)] 
distro/*: package watchdog module

5 years agowatchdog rewrite obs-knot-resolver-bs4hbr/deployments/282
Petr Špaček [Tue, 8 Oct 2019 12:56:12 +0000 (14:56 +0200)] 
watchdog rewrite

The watchdog module now can be loaded without systemd, has customisable
callbacks, and can do real DNS queries and check their results.

5 years agoMerge branch 'setrlimit' into 'master'
Petr Špaček [Tue, 8 Oct 2019 08:00:26 +0000 (08:00 +0000)] 
Merge branch 'setrlimit' into 'master'

file-descriptor count limit

See merge request knot/knot-resolver!876

5 years agodaemon/main: file-descriptor count limit: soft->hard
Vladimír Čunát [Mon, 7 Oct 2019 12:16:56 +0000 (14:16 +0200)] 
daemon/main: file-descriptor count limit: soft->hard

5 years agosystemd: file-descriptor count limit 1Mi
Vladimír Čunát [Mon, 7 Oct 2019 12:29:30 +0000 (14:29 +0200)] 
systemd: file-descriptor count limit 1Mi

5 years agoMerge branch 'release-4-2-2' into 'master' obs-knot-dns-deve-jq0xxt/deployments/280 obs-knot-resolver-es11k1/deployments/281 obs-knot-resolver-kv62s6/deployments/279 v4.2.2
Tomas Krizek [Mon, 7 Oct 2019 12:28:42 +0000 (12:28 +0000)] 
Merge branch 'release-4-2-2' into 'master'

release 4.2.2

See merge request knot/knot-resolver!875

5 years agoci: remove pkg:epel-7 pkg:fedora-29 jobs
Tomas Krizek [Mon, 7 Oct 2019 11:21:30 +0000 (13:21 +0200)] 
ci: remove pkg:epel-7 pkg:fedora-29 jobs

These jobs started to suddenly fail inexplicably. They also
require privileged mode and are a mess in general

Build and packaging for these distros is handled by nightly OBS builds
nowadays, so let's remove these.

Perhaps in the future, it might make sense ot bring back some sensible
CentOS 7 build (without the packaging part) to make sure we keep
compatibility with older GnuTLS on every commit / MR, instead of
nightly.

5 years agorelease 4.2.2
Petr Špaček [Fri, 4 Oct 2019 06:56:02 +0000 (08:56 +0200)] 
release 4.2.2

5 years agoMerge branch 'lua-libknot-regression' into 'master' obs-knot-dns-deve-jq0xxt/deployments/273 obs-knot-dns-deve-jq0xxt/deployments/275 obs-knot-dns-deve-jq0xxt/deployments/277 obs-knot-resolver-es11k1/deployments/274 obs-knot-resolver-es11k1/deployments/276 obs-knot-resolver-es11k1/deployments/278
Petr Špaček [Fri, 4 Oct 2019 06:52:05 +0000 (06:52 +0000)] 
Merge branch 'lua-libknot-regression' into 'master'

lua bindings: fix a regression from b42195a2

Closes #514

See merge request knot/knot-resolver!873

5 years agolua bindings: fix a regression from b42195a2
Vladimír Čunát [Mon, 30 Sep 2019 11:20:43 +0000 (13:20 +0200)] 
lua bindings: fix a regression from b42195a2

I'm really sorry; I didn't notice and it only hit parts that
*apparently* aren't tested normally.  Only 32-bit systems would be
affected, due to the structure only changing ABI on 32-bit systems.

5 years agomodules/sd_watchdog nitpick: fix printf on some systems
Vladimír Čunát [Wed, 2 Oct 2019 13:13:22 +0000 (15:13 +0200)] 
modules/sd_watchdog nitpick: fix printf on some systems

The integer length didn't match on normal 32-bit linux.

5 years agoMerge branch 'packaging-updates' into 'master' obs-knot-dns-deve-jq0xxt/deployments/264 obs-knot-dns-deve-jq0xxt/deployments/266 obs-knot-dns-deve-jq0xxt/deployments/270 obs-knot-resolver-es11k1/deployments/265 obs-knot-resolver-es11k1/deployments/267 obs-knot-resolver-es11k1/deployments/269 obs-knot-resolver-es11k1/deployments/271
Tomas Krizek [Mon, 30 Sep 2019 11:26:31 +0000 (11:26 +0000)] 
Merge branch 'packaging-updates' into 'master'

distro/arch: add lua51-cqueues optional dependency

See merge request knot/knot-resolver!871

5 years agodistro/arch: add lua51-cqueues optional dependency
Tomas Krizek [Mon, 30 Sep 2019 08:20:27 +0000 (10:20 +0200)] 
distro/arch: add lua51-cqueues optional dependency

5 years agoMerge branch 'minor-fixes' into 'master' obs-knot-dns-deve-jq0xxt/deployments/256 obs-knot-dns-deve-jq0xxt/deployments/258 obs-knot-dns-deve-jq0xxt/deployments/260 obs-knot-dns-deve-jq0xxt/deployments/262 obs-knot-resolver-es11k1/deployments/257 obs-knot-resolver-es11k1/deployments/259 obs-knot-resolver-es11k1/deployments/261 obs-knot-resolver-es11k1/deployments/263
Tomas Krizek [Thu, 26 Sep 2019 15:01:17 +0000 (15:01 +0000)] 
Merge branch 'minor-fixes' into 'master'

minor fixes

See merge request knot/knot-resolver!870

5 years agodocker: use latest Knot DNS obs-knot-resolver-bs4hbr/deployments/255
Tomas Krizek [Thu, 26 Sep 2019 13:42:36 +0000 (15:42 +0200)] 
docker: use latest Knot DNS

5 years agoci: keep OBS_REPO default value for distrotest jobs
Tomas Krizek [Thu, 26 Sep 2019 13:42:15 +0000 (15:42 +0200)] 
ci: keep OBS_REPO default value for distrotest jobs

5 years agoMerge branch 'release-4-2-1' into 'master'
Tomas Krizek [Thu, 26 Sep 2019 12:12:57 +0000 (12:12 +0000)] 
Merge branch 'release-4-2-1' into 'master'

release 4.2.1

See merge request knot/knot-resolver!869

5 years agorelease 4.2.1 obs-knot-resolver-kv62s6/deployments/254 v4.2.1
Tomas Krizek [Wed, 25 Sep 2019 12:11:56 +0000 (14:11 +0200)] 
release 4.2.1

5 years agodoc/upgrading: add note about knot-resolver-dbg
Tomas Krizek [Thu, 26 Sep 2019 11:55:37 +0000 (13:55 +0200)] 
doc/upgrading: add note about knot-resolver-dbg

5 years agoMerge branch 'nsrep-fixes' into 'master' obs-knot-dns-deve-jq0xxt/deployments/249 obs-knot-resolver-es11k1/deployments/250
Petr Špaček [Wed, 25 Sep 2019 12:02:05 +0000 (12:02 +0000)] 
Merge branch 'nsrep-fixes' into 'master'

nsrep fixes

Closes #497

See merge request knot/knot-resolver!868

5 years agolib/nsrep: randomize the order of NS names
Vladimír Čunát [Tue, 24 Sep 2019 13:17:41 +0000 (15:17 +0200)] 
lib/nsrep: randomize the order of NS names

... as input into the *unchanged* algorithm (which is ugly).
This partially addresses the problem attempted by reverted commit,
and it also improves some other properties of the algorithm.

5 years agoRevert "nsrep: allow inclusion of good nameservers if there's space in selection"
Vladimír Čunát [Tue, 24 Sep 2019 12:51:49 +0000 (14:51 +0200)] 
Revert "nsrep: allow inclusion of good nameservers if there's space in selection"

This reverts commit 196ebd4f0b3a55830b1e313fa82abfd8c290eedd.
It was buggy, and I can't simply recover the intended effect.

5 years agoMerge branch 'validate-trim-ttls' into 'master' obs-knot-resolver-es11k1/deployments/246 obs-knot-resolver-es11k1/deployments/247
Petr Špaček [Mon, 23 Sep 2019 15:03:41 +0000 (15:03 +0000)] 
Merge branch 'validate-trim-ttls' into 'master'

validator: trim TTLs by RRSIG's expiration and original TTL

Closes #319

See merge request knot/knot-resolver!866

5 years agovalidator: trim TTLs by RRSIG's expiration and original TTL
Vladimír Čunát [Tue, 3 Sep 2019 14:33:50 +0000 (16:33 +0200)] 
validator: trim TTLs by RRSIG's expiration and original TTL

A down-side is that validation can now modify the validated RRset
on success.  I checked all transitive call sites that it's OK.
The change is pretty simple; I just hand-tested it a bit with faketime.

5 years agoMerge branch 'policy-special-use-dnames' into 'master' obs-knot-resolver-es11k1/deployments/243 obs-knot-resolver-es11k1/deployments/244 obs-knot-resolver-es11k1/deployments/245
Tomas Krizek [Fri, 20 Sep 2019 14:12:20 +0000 (14:12 +0000)] 
Merge branch 'policy-special-use-dnames' into 'master'

modules/policy: DENY forgotten special-use domains

See merge request knot/knot-resolver!855

5 years agomodules/policy: DENY home.arpa. and local. domains
Vladimír Čunát [Tue, 17 Sep 2019 15:42:05 +0000 (17:42 +0200)] 
modules/policy: DENY home.arpa. and local. domains

- home.arpa.: 4. from https://tools.ietf.org/html/rfc8375#section-4
- local.: 4. from https://tools.ietf.org/html/rfc6762#section-22.1
Well, it's just an approximation... if the user specifies a forwarding
policy, any special names will also get forwarded, even though the RFC
says not to.  And this code will also reply NXDOMAIN to home.arpa. DS.

Some of these DENY rules are perhaps unnecessary, but for now we keep
the same approach.  For arguments see the MR 855 thread and linked ML.

5 years agoMerge branch 'libknot-2.9' into 'master'
Tomas Krizek [Fri, 20 Sep 2019 12:10:45 +0000 (12:10 +0000)] 
Merge branch 'libknot-2.9' into 'master'

add compatibility with libknot 2.9

See merge request knot/knot-resolver!864