]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Petr Špaček [Wed, 29 Apr 2020 10:12:07 +0000 (12:12 +0200)]
doc: link to survey page
Tomas Krizek [Wed, 29 Apr 2020 08:05:17 +0000 (10:05 +0200)]
Merge branch 'distrotest-f32' into 'master'
distro/tests: add Fedora 32
See merge request knot/knot-resolver!989
Tomas Krizek [Tue, 28 Apr 2020 16:01:15 +0000 (18:01 +0200)]
distro/tests: add Fedora 32
Tomas Krizek [Mon, 27 Apr 2020 16:08:34 +0000 (18:08 +0200)]
Merge branch 'distrotest-ubuntu2004' into 'master'
distro/tests: add Ubuntu 20.04
See merge request knot/knot-resolver!986
Tomas Krizek [Thu, 23 Apr 2020 12:51:35 +0000 (14:51 +0200)]
distro/tests: add Ubuntu 20.04
Vladimír Čunát [Mon, 27 Apr 2020 14:08:55 +0000 (16:08 +0200)]
Merge !982: docs: set user expectations
Petr Špaček [Thu, 23 Apr 2020 10:07:18 +0000 (12:07 +0200)]
docs: ask for feedback around policies
Feedback will get handy when we start working on #535.
Petr Špaček [Thu, 23 Apr 2020 09:38:08 +0000 (11:38 +0200)]
docs: add warning about DoH properties
Petr Špaček [Thu, 23 Apr 2020 09:37:44 +0000 (11:37 +0200)]
docs: add warning about DoT properties
Petr Špaček [Wed, 22 Apr 2020 08:18:56 +0000 (10:18 +0200)]
daemon: warn that non-Linux platforms are untested
Hopefully this will help to set right expectations.
Tomas Krizek [Mon, 27 Apr 2020 13:57:55 +0000 (15:57 +0200)]
Merge branch 'docker_debug' into 'master'
Docker debug improvements
See merge request knot/knot-resolver!984
Petr Špaček [Mon, 27 Apr 2020 06:13:57 +0000 (08:13 +0200)]
docker: measure request resolution time in debug mode
Petr Špaček [Mon, 27 Apr 2020 06:13:21 +0000 (08:13 +0200)]
docker: enable DO bit in debug mode
Petr Špaček [Mon, 27 Apr 2020 06:12:10 +0000 (08:12 +0200)]
docker: always clear cache in debug mode
Petr Špaček [Wed, 8 Apr 2020 07:40:17 +0000 (09:40 +0200)]
WIP: improvements for Docker debug mode
Petr Špaček [Mon, 27 Apr 2020 13:23:28 +0000 (15:23 +0200)]
Merge branch 'dname-support' into 'master'
DNAME support
Closes #234
See merge request knot/knot-resolver!965
Vladimír Čunát [Fri, 24 Apr 2020 10:24:42 +0000 (12:24 +0200)]
lib/cache: shut up linters
It makes no sense to run produce/consume with either of these NULL.
Petr Špaček [Mon, 27 Apr 2020 12:43:37 +0000 (14:43 +0200)]
tests: add Deckard module with DNAME tests
Vladimír Čunát [Fri, 17 Apr 2020 09:14:12 +0000 (11:14 +0200)]
validator: stricter filtering of "failed" ranks from answer
It appears possible that a KR_RANK_MISSING record might still get into
answer in some edge cases, so let's be more defensive. See
cce8d9355 .
Vladimír Čunát [Mon, 30 Mar 2020 15:28:26 +0000 (17:28 +0200)]
fix DNAME support
Vladimír Čunát [Fri, 24 Apr 2020 10:15:19 +0000 (12:15 +0200)]
Merge !983: prefill/zimport: fix race condition on TA access
Petr Špaček [Fri, 24 Apr 2020 09:08:32 +0000 (11:08 +0200)]
zimport: log errors on error level, not just verbose
Petr Špaček [Fri, 24 Apr 2020 09:08:06 +0000 (11:08 +0200)]
prefill/zimport: NEWS
Petr Špaček [Fri, 24 Apr 2020 08:59:07 +0000 (10:59 +0200)]
prefill/zimport: fix race condition on TA access
TA RRset might change asynchronously between zi_zone_import() and
zi_zone_process(), we cannot rely pointer from zi_zone_import().
Petr Špaček [Thu, 23 Apr 2020 12:29:29 +0000 (14:29 +0200)]
Merge branch 'cname-rank-no-ta' into 'master'
cache: fix cases of CNAMEs not getting cached
See merge request knot/knot-resolver!974
Vladimír Čunát [Wed, 22 Apr 2020 11:38:39 +0000 (13:38 +0200)]
iterate: use resolve_badmsg() fallback for more RCODEs
+ REFUSED and SERVFAIL (in non-STUB)
Vladimír Čunát [Tue, 7 Apr 2020 08:25:05 +0000 (10:25 +0200)]
cache: avoid CNAMEs when QTYPE=DS
It's disallowed combination, but why not fix it when it's so easy.
This was exposed by some of the previous two commits (not sure why)
in CI test for kresd->kresd forwarding.
Vladimír Čunát [Mon, 6 Apr 2020 10:10:50 +0000 (12:10 +0200)]
cache: fix CNAME caching when validation is disabled
This also fixes the same for DNAMEs - soon, when they get supported.
Only the special case is changed - xNAMEs when no TAs exist.
Overall the TA handling in kresd is buggy; fortunately in practice it
seems very rare to run in other configuration than single root TA.
Vladimír Čunát [Mon, 6 Apr 2020 11:43:05 +0000 (13:43 +0200)]
cache: in STUB mode always cache whole packets
... instead of individual records.
- iterator in STUB mode can't process individual CNAME steps from cache
- perhaps it's more suitable for STUB anyway
Tomas Krizek [Fri, 17 Apr 2020 09:54:47 +0000 (11:54 +0200)]
Merge branch 'ci-dumpcap-fix' into 'master'
ci: enable docker-build to run non-interactively
See merge request knot/knot-resolver!981
Štěpán Balážik [Thu, 16 Apr 2020 19:52:27 +0000 (21:52 +0200)]
ci: enable docker-build to run non-interactively
Tomas Krizek [Thu, 16 Apr 2020 12:54:48 +0000 (14:54 +0200)]
Merge branch 'ci-dumpcap' into 'master'
ci: add dumpcap for Deckard to Debian image
See merge request knot/knot-resolver!980
Štěpán Balážik [Thu, 16 Apr 2020 12:34:47 +0000 (14:34 +0200)]
ci: add dumpcap for Deckard to Debian image
Vladimír Čunát [Wed, 15 Apr 2020 13:10:51 +0000 (15:10 +0200)]
Merge !979: lua: properly initialize random number generator
Petr Špaček [Wed, 15 Apr 2020 08:55:07 +0000 (10:55 +0200)]
lua: properly initialize random number generator
Formerly multiple instances could use the same seed,
which prevented the retry logic in Lua modules (e.g. prefill) from
retrying at different times.
AFAIK security impact is zero aside from potential thundering-herd
problem with many kresd instances.
Vladimír Čunát [Wed, 15 Apr 2020 08:49:59 +0000 (10:49 +0200)]
Merge !978: doc: support sphinx 3.0.0+
Tomas Krizek [Wed, 15 Apr 2020 08:14:51 +0000 (10:14 +0200)]
doc: use python as default domain
Our lua functions don't conform to C function declarations, which
generates warnings when using Sphinx 3.0.0+.
Tomas Krizek [Tue, 14 Apr 2020 14:39:00 +0000 (16:39 +0200)]
doc: use sphinx 3.0.0+ on readthedocs
Tomas Krizek [Tue, 14 Apr 2020 14:36:28 +0000 (16:36 +0200)]
doc/lib: add warning about potential doc inaccuracies
Tomas Krizek [Tue, 14 Apr 2020 14:36:07 +0000 (16:36 +0200)]
doc/policy: make sure only one reference to rpz() exists
Tomas Krizek [Tue, 14 Apr 2020 14:35:20 +0000 (16:35 +0200)]
doc/upgrading: reword to use new-style C reference
Tomas Krizek [Tue, 14 Apr 2020 11:30:06 +0000 (13:30 +0200)]
lib/rplan: clean up codestyle for doxygen
Tomas Krizek [Tue, 14 Apr 2020 11:28:21 +0000 (13:28 +0200)]
lib/utils: ensure consistent use of KR_* macros
The macros that expand to __attribute__(x) should precede function
declaration, consistently with all the other code.
Tomas Krizek [Tue, 14 Apr 2020 11:06:09 +0000 (13:06 +0200)]
doc/doxygen: configure macro expansion and edge cases
Configure doxygen to expand/ignore some macros like KR_EXPORT.
Skip some edge-case symbols that would be difficult to fix otherwise.
Vladimír Čunát [Wed, 15 Apr 2020 08:25:20 +0000 (10:25 +0200)]
Merge !975: prevent bogus RRsets from leaking into answers
Closes #396
Petr Špaček [Tue, 7 Apr 2020 13:55:52 +0000 (15:55 +0200)]
validator: use rank BOGUS where appropriate instead of MISSING
MISSING triggers re-query to auth in attempt to find missing RRSIGs.
It causes reduntant queries and also puts some BOGUS RRsets in answers.
(It sounds bad but we were correctly setting rcode=SERVFAIL and AD=0
even before this commit.)
Formerly RRSIG ranks did not reflect results of validation.
Now we mark them as BOGUS and upgrade them to SECURE if they validate.
New validator phase answer_finalize prevents BOGUS RRsets from being
put even into SERVFAIL answers.
Closes: #396
Petr Špaček [Tue, 14 Apr 2020 16:09:31 +0000 (18:09 +0200)]
Merge branch '194-support-rpz-cname-redirection' into 'master'
support arbitrary data in RPZ
See merge request knot/knot-resolver!964
Lukáš Ježek [Tue, 14 Apr 2020 08:33:38 +0000 (10:33 +0200)]
modules/policy: use origin and domain name as binary data
Lukáš Ježek [Mon, 6 Apr 2020 07:54:53 +0000 (09:54 +0200)]
modules/policy: Return NODATA on *. action in rpz file
Lukáš Ježek [Mon, 6 Apr 2020 07:09:21 +0000 (09:09 +0200)]
modules/policy/rpz: Correct work if RRset is suffixed zone name
Lukáš Ježek [Thu, 2 Apr 2020 12:38:13 +0000 (14:38 +0200)]
modules/policy: Add RPZ test
Lukáš Ježek [Wed, 1 Apr 2020 10:49:45 +0000 (12:49 +0200)]
modules/policy: Take multiple RR types from rpz file for a single domain name
Lukáš Ježek [Mon, 30 Mar 2020 10:02:05 +0000 (12:02 +0200)]
modules/policy: Overwrite rdata by rpz file
Lukáš Ježek [Thu, 26 Mar 2020 08:05:46 +0000 (09:05 +0100)]
modules/policy: Add ANSWER action
Tomas Krizek [Tue, 14 Apr 2020 14:49:26 +0000 (16:49 +0200)]
Merge branch 'pkg-varlib-permissions' into 'master'
systemd/tmpfiles: change directory owner to root
See merge request knot/knot-resolver!972
Tomas Krizek [Thu, 2 Apr 2020 13:29:56 +0000 (15:29 +0200)]
systemd/tmpfiles: change directory owner to root
Change the owner of kresd files to root:knot-resolver. This improves
behaviour for Fedora, where kresd can run under root (e.g. in Docker).
Otherwise, running kresd as root on Fedora would fail because of dropped
capabilities and attempting to access /var/lib/knot-resolver, which was
owned by knot-resolver.
This change makes it possible for both root (user) and knot-resolver
(group) to have the same permissions on these directories despite
dropped capabilities.
Tomas Krizek [Thu, 2 Apr 2020 13:29:41 +0000 (15:29 +0200)]
distro/rpm: make owner consistent with other dirs
Petr Špaček [Tue, 14 Apr 2020 08:16:35 +0000 (10:16 +0200)]
Merge branch 'cache-pkt-large' into 'master'
cache: fix large answers from packet cache
See merge request knot/knot-resolver!976
Vladimír Čunát [Thu, 9 Apr 2020 09:44:35 +0000 (11:44 +0200)]
cache: fix large answers from packet cache
Atomic packets larger than both 4k and net.bufsize() could not
be fetched from cache; now that's fixed in a minimalistic way.
(Minimalistic except for nitpicks like adding comments.)
Vladimír Čunát [Tue, 14 Apr 2020 07:23:53 +0000 (09:23 +0200)]
Merge !977: lua worker.bg_worker: also report missing cqueues
Fixes #562 (kind-of)
Petr Špaček [Tue, 14 Apr 2020 05:54:57 +0000 (07:54 +0200)]
lua worker: improve message when missing cqueues
Vladimír Čunát [Tue, 14 Apr 2020 05:55:29 +0000 (07:55 +0200)]
lua worker.bg_worker: also report missing cqueues
Otherwise people could get confusing errors like:
> attempt to index field 'bg_worker' (a nil value)
Tomas Krizek [Wed, 8 Apr 2020 10:23:18 +0000 (12:23 +0200)]
Merge branch 'rpm-centos8' into 'master'
distro/rpm: make spec centos8 compatible
See merge request knot/knot-resolver!973
Tomas Krizek [Wed, 8 Apr 2020 09:09:12 +0000 (11:09 +0200)]
ci: add obs:centos8 job
Tomas Krizek [Wed, 8 Apr 2020 09:07:15 +0000 (11:07 +0200)]
distro/tests: add centos8
Tomas Krizek [Fri, 3 Apr 2020 09:52:26 +0000 (11:52 +0200)]
distro/rpm: make spec centos8 compatible
Tomas Krizek [Fri, 3 Apr 2020 13:32:47 +0000 (15:32 +0200)]
Merge branch 'policy-postrules' into 'master'
policy postrules
Closes #556
See merge request knot/knot-resolver!969
Vladimír Čunát [Thu, 2 Apr 2020 07:46:50 +0000 (09:46 +0200)]
rebinding: deduplicate code of policy.REFUSE
Vladimír Čunát [Thu, 2 Apr 2020 07:01:11 +0000 (09:01 +0200)]
policy: fix qry parameter in postrules
Some rules need it and it was nil until now.
Vladimír Čunát [Wed, 4 Dec 2019 08:18:57 +0000 (09:18 +0100)]
modules/policy: make actions usable in postrules
DENY, DENY_MSG, DROP, REFUSE and TC will now clear the _selected RRs.
I believe that's what people usually expect of these actions anyway.
Tomas Krizek [Thu, 2 Apr 2020 12:33:49 +0000 (14:33 +0200)]
Merge branch 'modules-tests' into 'master'
modules/meson.build: move test definitions closer to modules
See merge request knot/knot-resolver!971
Vladimír Čunát [Thu, 2 Apr 2020 09:14:25 +0000 (11:14 +0200)]
modules/meson.build: move test definitions closer to modules
Vladimír Čunát [Thu, 2 Apr 2020 12:11:04 +0000 (14:11 +0200)]
Merge !966: daf and HTTP fixes
Closes #553.
Tomas Krizek [Wed, 1 Apr 2020 15:28:41 +0000 (17:28 +0200)]
daf: make protocol detection consistent with http module
Tomas Krizek [Wed, 1 Apr 2020 15:07:53 +0000 (17:07 +0200)]
daf: fix example in documentation
Tomas Krizek [Wed, 1 Apr 2020 12:53:22 +0000 (14:53 +0200)]
modules/daf: add warning since examples can be misleading
Tomas Krizek [Wed, 1 Apr 2020 12:37:17 +0000 (14:37 +0200)]
modules/daf: add some basic tests
Tomas Krizek [Wed, 1 Apr 2020 09:57:05 +0000 (11:57 +0200)]
modules/daf: fix pass, deny, drop and tc actions
Previously, all those actions caused resolver to return SERVFAIL,
because the lua code failed to evaluate.
Notably, deny action now properly returns NXDOMAIN instead of SERVFAIL.
The drop action still returns SERVFAIL.
Tomas Krizek [Wed, 1 Apr 2020 09:04:31 +0000 (11:04 +0200)]
daf/README: use proper syntax, not syntactic sugar
Petr Špaček [Wed, 1 Apr 2020 08:32:21 +0000 (10:32 +0200)]
http: update favicon to match Resolver colors
Old favicon used Knot DNS colors (dark blue) instead of Knot Resolver
colors (light blue).
Petr Špaček [Tue, 31 Mar 2020 15:31:00 +0000 (17:31 +0200)]
daf: fix add() handling of empty rule strings
Petr Špaček [Tue, 31 Mar 2020 15:29:53 +0000 (17:29 +0200)]
daf: config tests for HTTP API
Petr Špaček [Tue, 31 Mar 2020 14:12:49 +0000 (16:12 +0200)]
daf: remove ordering requirement between http and daf modules
Petr Špaček [Tue, 31 Mar 2020 14:11:53 +0000 (16:11 +0200)]
tests: avoid deprecated -f 1 in config tests, use -n
Omission in
a339ee10d71380f6c0779950b73dd3c419036135 .
Related: #529
Petr Špaček [Tue, 31 Mar 2020 14:01:47 +0000 (16:01 +0200)]
daf: fix HTTP DELETE
Rule ID is a number, not a string.
Petr Špaček [Tue, 31 Mar 2020 13:35:37 +0000 (15:35 +0200)]
http: also log results of HTTP requests
Jiří Helebrant [Tue, 31 Mar 2020 12:48:18 +0000 (14:48 +0200)]
daf: fix the ajax error callback for rule control
Petr Špaček [Tue, 31 Mar 2020 12:33:00 +0000 (14:33 +0200)]
daf: fix consensus() function to correctly detect empty answers
consensus() function is affected by
https://gitlab.labs.nic.cz/knot/knot-resolver/issues/554
so this fix helps only with single-instance scenarios.
Jiří Helebrant [Tue, 31 Mar 2020 09:40:47 +0000 (11:40 +0200)]
daf: fix the rule builder form
Petr Špaček [Tue, 31 Mar 2020 07:30:18 +0000 (09:30 +0200)]
http: log requests in verbose mode
Petr Špaček [Tue, 31 Mar 2020 07:02:16 +0000 (09:02 +0200)]
daf: fix HTTP API endpoints to work with webmgmt interface
It is broken at least since
1223599d1cb8d92f1ebe7100e926b8fe44bee2f2 ,
i.e. 4.0.0.
realPy [Mon, 30 Mar 2020 10:54:22 +0000 (12:54 +0200)]
daf: fix del method
The id rule is not the same as the index of the array.
Fixes: #553
Tomas Krizek [Thu, 2 Apr 2020 11:56:46 +0000 (13:56 +0200)]
Merge branch 'deckard_debug' into 'master'
tests: revert broken commits in Deckard repo
See merge request knot/knot-resolver!970
Petr Špaček [Thu, 2 Apr 2020 11:25:15 +0000 (13:25 +0200)]
tests: revert broken commits in Deckard repo
I don't know why exactly it fails ... let's unblock release.
Vladimír Čunát [Wed, 1 Apr 2020 10:17:01 +0000 (12:17 +0200)]
Merge !968: daemon: decrease tcp backlog to 128
Tomas Krizek [Tue, 31 Mar 2020 15:32:09 +0000 (17:32 +0200)]
daemon: decrease tcp backlog to 128
From our TCP benchmarks, values over 128 don't seem to have any
measurable benefits, even with hundreds of thousands of connections.
On the contrary, during very high TCP and CPU load, smaller backlog
seems to dramatically improve latency for clients that keep idle TCP
connections.
During normal/low load, smaller backlog doesn't seem to have any
benefits.
When measured against "aggressive" clients that immediately close the
TCP connection once their query is answered, backlog smaller than 128
was measured to hurt performance.
The application's backlog size is ultimately limited by
net.core.somaxconn, which has been set to 128 prior to Linux 5.4.
Therefore, this change only affects newer kernels and those who have
manually set this value to a higher size.
For more, see
https://gitlab.labs.nic.cz/knot/knot-resolver/-/merge_requests/968
Vladimír Čunát [Wed, 1 Apr 2020 09:34:59 +0000 (11:34 +0200)]
Merge !967: abort integration tests if sendmmsg is enabled
Petr Špaček [Wed, 1 Apr 2020 09:04:37 +0000 (11:04 +0200)]
Merge branch 'lua-resolve-opt' into 'master'
lua resolve(): correctly include EDNS0 in the virtual packet
See merge request knot/knot-resolver!963
Petr Špaček [Tue, 31 Mar 2020 09:43:00 +0000 (11:43 +0200)]
deckard: abort if sendmmsg/recvmmsg are in use
Deckard does not support these and it leads to confusing errors.
In long term we need to migrate Deckard to different network backend:
https://gitlab.labs.nic.cz/knot/deckard/issues/42
Vladimír Čunát [Fri, 27 Mar 2020 08:36:11 +0000 (09:36 +0100)]
lua resolve(): correctly include EDNS0 in the virtual packet
The new allocation approach isn't perfectly optimal, but it seems
relatively easy to understand and handles OOM conditions OK (I think).