]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Vladimír Čunát [Mon, 8 Apr 2019 15:55:37 +0000 (17:55 +0200)]
fixup! modules/http DoH: allocate req.qsource on req.pool
Vladimír Čunát [Mon, 8 Apr 2019 13:54:43 +0000 (15:54 +0200)]
modules/http DoH: allocate req.qsource on req.pool
The problem is that C structures are not scanned by lua GC,
so we'd have to keep these alive in some other way; therefore
it's simpler to just use the mempool.
Vladimír Čunát [Mon, 8 Apr 2019 13:52:18 +0000 (15:52 +0200)]
lib/utils kr_straddr_socket(): support mempools
"Unfortunately", for FFI-bound C functions there it doesn't hold that
missing parameters would be converted to nil/NULL.
Still, this function seems unlikely to have been used outside the repo.
Vladimír Čunát [Mon, 8 Apr 2019 10:20:20 +0000 (12:20 +0200)]
lua resolve*(): fix a problem with JIT
It caused crashes somewhere inside LuaJIT or the JIT-ed code.
Petr Špaček [Thu, 4 Apr 2019 16:25:09 +0000 (18:25 +0200)]
doh: add docs
Petr Špaček [Thu, 4 Apr 2019 16:21:37 +0000 (18:21 +0200)]
http: print nice error if cert exists but key does not
Petr Špaček [Thu, 4 Apr 2019 11:33:04 +0000 (13:33 +0200)]
doh: cleanup, removing unused Lua variables
Petr Špaček [Thu, 4 Apr 2019 11:19:45 +0000 (13:19 +0200)]
doh: limit max query size to 1024 B
The value is kind of arbitrary, as precaution. 64k value was causing
cqueues to close connections with GET requests with "Broken pipe"
and it seems to work with 1024 B.
Petr Špaček [Thu, 4 Apr 2019 10:38:53 +0000 (12:38 +0200)]
doh: code cleanup, merging resolve_pkt and resolve
Petr Špaček [Wed, 3 Apr 2019 14:33:13 +0000 (16:33 +0200)]
doh: polish timeouts
Petr Špaček [Wed, 3 Apr 2019 14:29:17 +0000 (16:29 +0200)]
doh: remove devel output
Petr Špaček [Wed, 3 Apr 2019 14:27:07 +0000 (16:27 +0200)]
stats: collect stats on inbound transport protocol
Petr Špaček [Wed, 3 Apr 2019 13:12:38 +0000 (15:12 +0200)]
doh: remember source transport
Petr Špaček [Wed, 3 Apr 2019 12:08:05 +0000 (14:08 +0200)]
doh: test RFC 8484 section 6 - huge answers
Petr Špaček [Tue, 2 Apr 2019 17:12:46 +0000 (19:12 +0200)]
doh: make client and server address available to modules
This will allow modules like view etc. work in the same way with packets
received over HTTP.
Petr Špaček [Tue, 2 Apr 2019 16:18:34 +0000 (18:18 +0200)]
doh: fix memory leaks
Petr Špaček [Tue, 2 Apr 2019 13:49:17 +0000 (15:49 +0200)]
doh: send out HTTP TTL
We intentionally compute max-age header as minimum over all RRs, doing
so only over ANSWER section does not make sense (and RFC 8484 allows us
to do so).
Petr Špaček [Mon, 1 Apr 2019 17:05:57 +0000 (19:05 +0200)]
doh: GET support, breaks on large payloads
This seems to be a limitation in cqueues but we have to confirm this.
Petr Špaček [Mon, 1 Apr 2019 16:01:08 +0000 (18:01 +0200)]
doh: checks around POST HTTP method
Vladimír Čunát [Fri, 29 Mar 2019 19:46:36 +0000 (20:46 +0100)]
fixup! WIP: DoH experiment
Vladimír Čunát [Fri, 29 Mar 2019 19:16:31 +0000 (20:16 +0100)]
cache: fix incorrect TTL of positive packets in cache
It's a regression of
b00ee5fa8 (v3.0.0). Fortunately, since that
version we use cache for positive packets only when they are BOGUS
(see `bool want_pkt =`) so that they're available for +cd queries.
Therefore the impact was really negligible, until the DoT module.
Petr Špaček [Fri, 29 Mar 2019 15:35:31 +0000 (16:35 +0100)]
DoH experiment
First version which actually works with Firefox DoH in default
configuration.
Limitations:
- does not support HTTP GET method
- headers for HTTP cache are not generated
- error handling is largely missing
- no tests
- ACLs will not work, modules do not see source IP address of the HTTP
endpoint
Petr Špaček [Wed, 10 Apr 2019 12:24:29 +0000 (12:24 +0000)]
Merge branch 'table_print' into 'master'
Usability improvements for table_print
See merge request knot/knot-resolver!790
Vladimír Čunát [Wed, 10 Apr 2019 11:59:14 +0000 (13:59 +0200)]
fixup! sandbox: table_print prints function signatures instead of pointers
Vladimír Čunát [Wed, 10 Apr 2019 11:44:59 +0000 (13:44 +0200)]
fixup! sandbox: table_print sorts table keys
Petr Špaček [Sat, 16 Mar 2019 11:26:19 +0000 (12:26 +0100)]
sandbox: table_print prints function signatures instead of pointers
This does not work with C functions etc. but it seems that we do not
expose them directly in Lua interface for users.
Petr Špaček [Sat, 16 Mar 2019 10:06:21 +0000 (11:06 +0100)]
sandbox: table_print sorts table keys
This makes it much easier to navigate in complex data structures.
AFAIK table_print is not used for anything except user interface so it
is not performance critical and we can re-sort table every time.
Tomas Krizek [Wed, 10 Apr 2019 11:06:42 +0000 (11:06 +0000)]
Merge branch 'deb-pkging-cleanup' into 'master'
drop libkres9 and libkres-dev packages
See merge request knot/knot-resolver!795
Daniel Kahn Gillmor [Sun, 24 Mar 2019 18:03:45 +0000 (19:03 +0100)]
drop libkres9 and libkres-dev packages
Debian packaging as of 3.2.1-3 is no longer shipping libkres9 or
libkres-dev (see https://bugs.debian.org/923970). This brings the
upstream debian-style packaging in line with the Debian packaging on
that front.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Petr Špaček [Mon, 8 Apr 2019 12:44:49 +0000 (12:44 +0000)]
Merge branch 'ds-algo-nodata' into 'master'
validate nitpick fix: unsupported algo edge case
See merge request knot/knot-resolver!798
Vladimír Čunát [Thu, 28 Mar 2019 07:34:26 +0000 (08:34 +0100)]
validate nitpick fix: unsupported algo edge case
kr_dnskeys_trusted() semantics is changed, but I do NOT consider that
a part of public API.
Go insecure due to algorithm support even if DNSKEY is NODATA.
I can't see how that's relevant to practical usage, but I think this new
behavior makes more sense. We still do try to fetch the DNSKEY even
though we have information about its un-usability beforehand.
I'd consider fixing that a premature optimization.
We'll still be affected if the DNSKEY query SERVFAILs or something.
Thanks to PowerDNS people for catching this!
Petr Špaček [Fri, 5 Apr 2019 16:45:03 +0000 (16:45 +0000)]
Merge branch 'pytests-check-gnutls' into 'master'
pytests: check minimum required gnutls version
Closes #457
See merge request knot/knot-resolver!796
Tomas Krizek [Mon, 25 Mar 2019 08:46:57 +0000 (09:46 +0100)]
pytests: check minimum required gnutls version
Add a message to make extra requirements clear instead of throwing
a compilation error.
Closes #457
Tomas Krizek [Thu, 4 Apr 2019 13:03:10 +0000 (13:03 +0000)]
Merge branch 'key-rollover' into 'master'
daemon/lua/trust_anchors: don't crash when dealing with unknown algorhitm
Closes #449
See merge request knot/knot-resolver!788
Petr Špaček [Thu, 4 Apr 2019 11:46:51 +0000 (13:46 +0200)]
trust_anchors: update Deckard to take ta_update module into account
Tomas Krizek [Thu, 28 Mar 2019 11:41:32 +0000 (12:41 +0100)]
trust_anchors: improve error messages
Petr Špaček [Fri, 22 Mar 2019 15:32:12 +0000 (16:32 +0100)]
trust_anchors: add explanatory error messages for removed functions
Petr Špaček [Fri, 22 Mar 2019 15:30:17 +0000 (16:30 +0100)]
unify error message format between between C and Lua
User-friendly error message is intentionally at the end so users,
typically looking at the last line in logs, can see immediatelly what
happened.
Petr Špaček [Fri, 22 Mar 2019 13:45:56 +0000 (14:45 +0100)]
trust_anchors: do not accept add_file() for managed TA without ta_update module
Previous version would add the TA and then print error message, which is
not expected.
Tomas Krizek [Wed, 20 Mar 2019 12:32:55 +0000 (13:32 +0100)]
meson: config_tests - remove obsolete args, retuncode checks
Tomas Krizek [Mon, 18 Mar 2019 13:05:30 +0000 (14:05 +0100)]
trust_anchrors/bootstrap.test: fix test
Tomas Krizek [Wed, 13 Mar 2019 11:51:39 +0000 (12:51 +0100)]
WIP: test/integration: update deckard
Tomas Krizek [Tue, 19 Mar 2019 16:16:03 +0000 (17:16 +0100)]
ci: fix luacheck
Tomas Krizek [Tue, 19 Mar 2019 15:45:50 +0000 (16:45 +0100)]
ta_update.test: increase time for testing in CI
Tomas Krizek [Tue, 19 Mar 2019 15:20:11 +0000 (16:20 +0100)]
ta_update: abort update if keyset is no longer managed
Tomas Krizek [Tue, 19 Mar 2019 14:33:57 +0000 (15:33 +0100)]
ta_update: remove useless initialization
It's impossible to add managed keysets unless ta_update is loaded,
in which case ta_update.start() is called by trust_anchors.add_file().
On ta_update unload, previously managed keys are flagged as unmanaged.
Tomas Krizek [Tue, 19 Mar 2019 13:27:05 +0000 (14:27 +0100)]
doc/upgrading: document removal of -k and -K
Tomas Krizek [Tue, 19 Mar 2019 12:01:35 +0000 (13:01 +0100)]
trust_anchors: remove syntactic sugar and duplicity
Tomas Krizek [Tue, 19 Mar 2019 11:20:55 +0000 (12:20 +0100)]
trust_anchors: always load keyfile_default
Tomas Krizek [Mon, 18 Mar 2019 17:31:12 +0000 (18:31 +0100)]
trust_anchors: make sure to stop tracking managed key when overriding it
Tomas Krizek [Mon, 18 Mar 2019 17:24:11 +0000 (18:24 +0100)]
daemon: remove -k/-K options
Since DNSSEC is now enabled by default and always loads the
keyfile_default specified during compilation, these options are
obsolete.
Use trust_anchors.add_file() in config file if you require this
functionality.
Tomas Krizek [Mon, 18 Mar 2019 16:25:18 +0000 (17:25 +0100)]
scripts/launch-test-instance: remove obsolete script
Tomas Krizek [Mon, 18 Mar 2019 12:17:13 +0000 (13:17 +0100)]
ta_update: polish test
Tomas Krizek [Mon, 18 Mar 2019 11:57:49 +0000 (12:57 +0100)]
trust_anchors: rename distrust to remove
Petr Špaček [Fri, 15 Mar 2019 16:23:57 +0000 (17:23 +0100)]
trust_anchors: document distrust and polish related docs
Petr Špaček [Fri, 15 Mar 2019 15:58:06 +0000 (16:58 +0100)]
ta_update: remove parameter refresh_plan(is_initial)
It was unused since cleanup in trust_anchors and just cluttering the code.
Tomas Krizek [Tue, 19 Mar 2019 13:10:27 +0000 (14:10 +0100)]
trust_anchors: use cleaner interface between ta_update and trust_anchors module
+ tests
Exracting RFC 5011 to separate module was a good opportunity for
cleanup.
Petr Špaček [Fri, 15 Mar 2019 15:32:29 +0000 (16:32 +0100)]
trust_anchors: add distrust function to remove TA
Petr Špaček [Thu, 14 Mar 2019 16:57:49 +0000 (17:57 +0100)]
trust_anchors: do not bootstrap if root TA exists
Previously a typo in keyfile path triggered re-bootstrap even if root TA
was already installed.
Petr Špaček [Thu, 14 Mar 2019 16:54:33 +0000 (17:54 +0100)]
trust_anchors: get rid of double negation in add_file()
This simple change makes it easier to follow what the code does.
Tomas Krizek [Wed, 13 Mar 2019 13:31:31 +0000 (14:31 +0100)]
ci: luacheckrc - organize, add ta_update
Tomas Krizek [Wed, 13 Mar 2019 12:41:45 +0000 (13:41 +0100)]
nitpick: modules/ta_update - unify log message format
Tomas Krizek [Wed, 13 Mar 2019 12:40:25 +0000 (13:40 +0100)]
modules/ta_update: remove all asserts
Tomas Krizek [Wed, 13 Mar 2019 11:51:14 +0000 (12:51 +0100)]
tests/integration: update kresd config for deckard
Tomas Krizek [Wed, 13 Mar 2019 11:23:22 +0000 (12:23 +0100)]
lua/trust_anchors: use tabs everywhere
Tomas Krizek [Wed, 13 Mar 2019 11:22:28 +0000 (12:22 +0100)]
daemon/lua/trust_anchors: write keyset after bootstrap
Tomas Krizek [Tue, 12 Mar 2019 17:47:35 +0000 (18:47 +0100)]
modules/ta_update: move RFC5011 to a separate module
Tomas Krizek [Tue, 12 Mar 2019 14:47:46 +0000 (15:47 +0100)]
daemon/lua/trust_anchors: bootstrap TA immediately after startup
Tomas Krizek [Tue, 12 Mar 2019 14:31:42 +0000 (15:31 +0100)]
daemon/lua/trust_anchors: don't crash when dealing with unknown algorhitm
Tomas Krizek [Mon, 11 Mar 2019 16:20:31 +0000 (17:20 +0100)]
daemon/lua/trust_anchors.test.integr: test key rollover to unsupported algorhitm
Petr Špaček [Fri, 22 Mar 2019 08:34:47 +0000 (08:34 +0000)]
Merge branch 'pytests-silent' into 'master'
pytests: omit verbose log for query flood test
See merge request knot/knot-resolver!793
Tomas Krizek [Thu, 21 Mar 2019 14:57:25 +0000 (15:57 +0100)]
pytests: omit verbose log for query flood test
Tomas Krizek [Wed, 20 Mar 2019 12:47:33 +0000 (12:47 +0000)]
Merge branch 'listen-on-tls' into 'master'
daemon: listen on TLS port 853 by default
See merge request knot/knot-resolver!792
Tomas Krizek [Wed, 20 Mar 2019 11:57:16 +0000 (12:57 +0100)]
daemon: listen on TLS port 853 by default
Tomas Krizek [Wed, 20 Mar 2019 09:41:27 +0000 (09:41 +0000)]
Merge branch 'ci-updates' into 'master'
ci: minor updates
See merge request knot/knot-resolver!791
Tomas Krizek [Tue, 19 Mar 2019 16:20:23 +0000 (17:20 +0100)]
ci: archive logs properly testlogs
Tomas Krizek [Wed, 20 Mar 2019 09:14:34 +0000 (10:14 +0100)]
ci: fix obs-devel nightly build
Tomas Krizek [Tue, 19 Mar 2019 16:21:22 +0000 (16:21 +0000)]
Merge branch 'meson-fix-includes' into 'master'
meson: use correct luajit includes from pkgconfig
See merge request knot/knot-resolver!789
Tomas Krizek [Wed, 13 Mar 2019 17:00:37 +0000 (18:00 +0100)]
ci/travis: update script to reflect API changes
Tomas Krizek [Wed, 13 Mar 2019 16:47:07 +0000 (17:47 +0100)]
meson: use correct luajit includes from pkgconfig
Petr Špaček [Tue, 12 Mar 2019 13:04:42 +0000 (13:04 +0000)]
Merge branch 'nsrep-bugfix' into 'master'
nsrep: allow inclusion of good nameservers if there's space in selection
See merge request knot/knot-resolver!787
Marek Vavruša [Tue, 5 Mar 2019 18:35:21 +0000 (10:35 -0800)]
nsrep: allow inclusion of good nameservers if there's space in selection
The current algorithm doesn't work if there's 3 unknown nameservers in the
address selection set, and the 4th is known working with higher score
than unknown.
Petr Špaček [Tue, 12 Mar 2019 13:03:36 +0000 (13:03 +0000)]
Merge branch 'netlist' into 'master'
change net.list() output format
Closes #448
See merge request knot/knot-resolver!786
Vladimír Čunát [Tue, 12 Mar 2019 10:17:27 +0000 (11:17 +0100)]
daemon/network endpoint_array_t: decrease indirection
The extra pointer layer was useless. Note: we couldn't put an UV handle
directly inside an array because their addresses can't be moved IIRC,
but we had it behind a pointer already.
Vladimír Čunát [Tue, 12 Mar 2019 09:28:53 +0000 (10:28 +0100)]
daemon/network: enum endpoint_flag -> endpoint_flags_t
The dual UDP+TCP is completely eliminated except for the externally
exposed "APIs" - lua net.listen() and command-line parameters.
Vladimír Čunát [Mon, 11 Mar 2019 17:33:19 +0000 (18:33 +0100)]
daemon/network: adapt _listen and _close to repeats
We could get multiple addr#port tuples even before the UDP+TCP split,
but now it would becom quite common, so the API needs to count on that.
Vladimír Čunát [Mon, 11 Mar 2019 14:31:35 +0000 (15:31 +0100)]
daemon/network: stop using combined UDP+TCP endpoints
It was confusing, e.g. the new net.list() or net.bpf_set() were wrong.
Implementation cleanup: merge _fd variant into open_endpoint(),
as the code was repetitive and differed in unnecessary places.
Vladimír Čunát [Mon, 11 Mar 2019 13:49:47 +0000 (14:49 +0100)]
daemon/io nitpick: more const in parameters
Vladimír Čunát [Mon, 11 Mar 2019 15:14:48 +0000 (16:14 +0100)]
tests: adapt to change of net.list() output
Tomas Krizek [Fri, 8 Mar 2019 15:44:24 +0000 (16:44 +0100)]
daemon/bindings/net: change output format of net.list()
Vladimír Čunát [Tue, 12 Mar 2019 11:41:06 +0000 (11:41 +0000)]
Merge !769: resolve: always send DO bit when iterating
Closes #153.
Vladimír Čunát [Tue, 5 Mar 2019 16:15:07 +0000 (17:15 +0100)]
resolve nitpick: simplify deep nesting in query_finalize()
Vladimír Čunát [Tue, 30 Jan 2018 08:23:35 +0000 (09:23 +0100)]
resolve: always send DO bit when iterating or forwarding
Petr Špaček [Tue, 12 Mar 2019 11:30:14 +0000 (11:30 +0000)]
Merge branch 'dkg/update-dygraph' into 'master'
modules/http: bring dygraph in sync with upstream dygraph 2.1.0
See merge request knot/knot-resolver!783
Daniel Kahn Gillmor [Thu, 7 Mar 2019 20:42:12 +0000 (15:42 -0500)]
modules/http: use upstream dygraph 2.1.0
For some reason, knot-resolver was shipping a copy of dygraph 2.1.0
that identified itself as 2.0.0. This patch changes a single octet
(the minor version number) by fetching a clean copy from
http://dygraphs.com/2.1.0/dygraph.min.js.
Daniel Kahn Gillmor [Thu, 7 Mar 2019 20:40:39 +0000 (15:40 -0500)]
modules/http: rename dygraph-combined.js to dygraph.min.js to match upstream
Since dygraph version 2.0.0, upstream dygraph has been calling their
shipped files dygraph.min.js (see http://dygraphs.com/download.html).
Use the standard upstream name.
Tomas Krizek [Tue, 12 Mar 2019 11:12:22 +0000 (11:12 +0000)]
Merge branch 'meson' into 'master'
meson build system
Closes #452, #451, #338, #290, #279, #212, and #350
See merge request knot/knot-resolver!771
Tomas Krizek [Tue, 12 Mar 2019 10:23:34 +0000 (11:23 +0100)]
gitlabci: use correct container version in resperf
Petr Špaček [Tue, 12 Mar 2019 08:03:29 +0000 (09:03 +0100)]
docs: polish section Compiling from sources
Petr Špaček [Mon, 11 Mar 2019 12:42:11 +0000 (13:42 +0100)]
docs: polish upgrade docs