]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Daniel Kahn Gillmor [Thu, 24 May 2018 17:31:53 +0000 (13:31 -0400)]
synchronize distro/deb with official debian packaging
Note that this is not an exact synchronization, just the salient parts
where i believe upstream wants to sync up with debian.
I've left alone indications of upstream package maintainership, and
I've left debhelper back at version 9, for example. and i've left the
differences between the shipped debian/kresd.conf (debian package
ships a minimal kresd.conf that doesn't load those four modules, in
particular).
Petr Špaček [Mon, 28 May 2018 10:49:16 +0000 (12:49 +0200)]
Merge branch 'doc-nitpicks' into 'master'
documentation nitpicks
See merge request knot/knot-resolver!592
Vladimír Čunát [Fri, 25 May 2018 14:07:39 +0000 (16:07 +0200)]
other docs nitpicks
I don't think it's good to write that we "provide a library",
as it currently doesn't seem suitable for usage outside kresd.
Vladimír Čunát [Thu, 24 May 2018 17:24:37 +0000 (19:24 +0200)]
policy, view: documentation nitpicks
It seems like implementation and docs got de-synchronized,
probably at some point very long ago (years).
Vladimír Čunát [Mon, 21 May 2018 08:57:17 +0000 (10:57 +0200)]
doc/build: refresh build-time requirements
Tomas Krizek [Fri, 25 May 2018 15:10:40 +0000 (17:10 +0200)]
Merge branch 'systemctl-start' into 'master'
doc: systemd -- clarify how to manually start all services.
See merge request knot/knot-resolver!591
Daniel Kahn Gillmor [Thu, 24 May 2018 15:01:22 +0000 (11:01 -0400)]
doc: systemd -- clarify how to manually start all services.
See https://github.com/systemd/systemd/issues/9080 for
details/discussion.
Tomas Krizek [Fri, 25 May 2018 14:48:15 +0000 (16:48 +0200)]
Merge branch 'ci-docker-update' into 'master'
ci: add pytest-xdist dependency for Deckard
See merge request knot/knot-resolver!590
Tomas Krizek [Fri, 25 May 2018 14:38:51 +0000 (16:38 +0200)]
ci: add pytest-xdist dependency for Deckard
Petr Špaček [Thu, 24 May 2018 17:06:09 +0000 (19:06 +0200)]
Merge branch 'endianness' into 'master'
handle htobe32 et al. on glibc systems with a non-Linux kernel
See merge request knot/knot-resolver!588
Daniel Kahn Gillmor [Thu, 24 May 2018 16:59:26 +0000 (12:59 -0400)]
handle htobe32 et al. on glibc systems with a non-Linux kernel
This fix copies over an updated #if clause from libknot's
src/contrib/endian.h.
This should resolve:
https://gitlab.labs.nic.cz/knot/knot-resolver/issues/348
See also discussion about this same problem in libknot from a couple
years ago:
https://bugs.debian.org/840460
I note that contrib/wire.h in knot-resolver is out of sync with
src/contrib/wire.h (and src/contrib/endian.h) from libknot. I don't
know whether there's any upstream preference for keeping these in sync
in some more reliable way than manual comparisons. For now i'm just
providing a narrow fix for the specific problem.
Petr Špaček [Sat, 19 May 2018 11:30:28 +0000 (13:30 +0200)]
Merge branch 'iter-minim-op' into 'master'
iterate: avoid turning off qname minimization in a case
Closes #339
See merge request knot/knot-resolver!584
Vladimír Čunát [Wed, 16 May 2018 11:59:06 +0000 (13:59 +0200)]
iterate: avoid turning off qname minimization in a case
Thanks to @ spakka for discovering this and authoring an earlier version
of this commit.
Vladimír Čunát [Wed, 16 May 2018 08:54:56 +0000 (10:54 +0200)]
Merge !576: validate: avoid incorrect downgrade of NS
Vladimír Čunát [Wed, 16 May 2018 08:19:48 +0000 (10:19 +0200)]
validate: be more careful with marking RRs as insecure
In case of referrals the authoritative server might add also another NS
record(s), and this might lead to downgrading the corresponding zones.
Regressed probably in
f0da0a35 !505.
Marek Vavruša [Tue, 1 May 2018 17:39:04 +0000 (10:39 -0700)]
improve verbose logs
Vladimír Čunát [Fri, 11 May 2018 16:11:47 +0000 (18:11 +0200)]
Merge !579: treewide: additional dname checks
Grigorii Demidov [Thu, 10 May 2018 12:16:53 +0000 (14:16 +0200)]
treewide: additional dname checks
Vladimír Čunát [Fri, 11 May 2018 15:29:31 +0000 (17:29 +0200)]
Merge !539: cleanup after knot minimal version bumps
Vladimír Čunát [Fri, 13 Apr 2018 16:09:31 +0000 (18:09 +0200)]
lua bindings: complete knot_pkt_t
We don't need the end, but I prefer to get rid of the exception,
as we now require libknot > 2.6 anyway and it only implies adding
a few more binding lines.
Vladimír Čunát [Wed, 4 Apr 2018 10:50:32 +0000 (12:50 +0200)]
treewide: remove branches supporting old knot
Our Makefile required >= 2.6.4 for some time already.
It's pretty straightforward, except for zonefile.lua.in -> zonefile.lua
Tomas Krizek [Fri, 11 May 2018 08:58:13 +0000 (10:58 +0200)]
Merge branch 'ci-respdiff-config' into 'master'
ci: respdiff - use relative path to restart script
See merge request knot/knot-resolver!580
Tomas Krizek [Fri, 11 May 2018 08:39:01 +0000 (10:39 +0200)]
ci: respdiff - use relative path to restart script
Petr Špaček [Thu, 10 May 2018 13:06:22 +0000 (15:06 +0200)]
Merge branch 'augeas-ci' into 'master'
add augeas-tools so we can test our lens in Deckard
See merge request knot/knot-resolver!566
Stepan Balazik [Mon, 23 Apr 2018 11:29:18 +0000 (13:29 +0200)]
add augeas-tool so we can test our lens in Deckard
Petr Špaček [Thu, 10 May 2018 12:33:38 +0000 (14:33 +0200)]
Merge branch 'udp-src-scheck' into 'master'
daemon: check source in udp answer
See merge request knot/knot-resolver!522
Grigorii Demidov [Mon, 19 Mar 2018 14:59:02 +0000 (15:59 +0100)]
daemon/worker: compare udp src ports as well as addresses; cleanup
Grigorii Demidov [Wed, 14 Mar 2018 13:21:01 +0000 (14:21 +0100)]
daemon: check source in udp answer
Petr Špaček [Wed, 9 May 2018 16:54:51 +0000 (18:54 +0200)]
Merge branch 'prefill_fix' into 'master'
prefill: fix ca_file to actually expect file and not a directory
See merge request knot/knot-resolver!578
Petr Špaček [Wed, 9 May 2018 16:42:28 +0000 (18:42 +0200)]
prefill: fix ca_file to actually expect file and not a directory
This was leftover from an old version which used directory with
certificates instead of bundle in single file.
Related: !511
Petr Špaček [Wed, 9 May 2018 15:11:30 +0000 (17:11 +0200)]
Merge branch 'nitpicks' into 'master'
misc nitpicks
See merge request knot/knot-resolver!568
Vladimír Čunát [Tue, 24 Apr 2018 14:14:29 +0000 (16:14 +0200)]
policy docs: replace incorrect example
The example didn't work and I don't immediately see how to quickly fix
it, so let's have another more complex example instead (fished from an
older forum post of mine).
Vladimír Čunát [Fri, 13 Apr 2018 16:14:47 +0000 (18:14 +0200)]
ta_signal_query: correct logging
Vladimír Čunát [Mon, 16 Apr 2018 13:34:43 +0000 (15:34 +0200)]
daemon docs: mention relation of hostname() and TLS
Vladimír Čunát [Mon, 16 Apr 2018 13:32:54 +0000 (15:32 +0200)]
cache TTL limit nitpicks: allow equality, fix docs
I also tried making a clickable define in the docs,
like for cache.ns_tout(), but I failed.
Petr Špaček [Wed, 9 May 2018 14:58:24 +0000 (16:58 +0200)]
Merge branch 'marek/add-lru-bindings' into 'master'
daemon/lua: added basic bindings for LRU
See merge request knot/knot-resolver!569
Marek Vavruša [Tue, 24 Apr 2018 02:05:30 +0000 (19:05 -0700)]
daemon/lua: added basic bindings for LRU
Only get-set operations are added, added some tests.
Petr Špaček [Wed, 9 May 2018 14:48:52 +0000 (16:48 +0200)]
Merge branch 'tls-inv-session' into 'master'
daemon/worker: improved server-side error handling
See merge request knot/knot-resolver!574
Grigorii Demidov [Fri, 27 Apr 2018 11:54:21 +0000 (13:54 +0200)]
daemon/worker: improved server-side error handling
Petr Špaček [Wed, 9 May 2018 12:56:21 +0000 (14:56 +0200)]
Merge branch 'tcp-leaks' into 'master'
daemon/worker: orphaned tasks prevention
See merge request knot/knot-resolver!570
Grigorii Demidov [Tue, 24 Apr 2018 12:22:48 +0000 (14:22 +0200)]
daemon/worker: orphaned tasks prevention
Tomas Krizek [Fri, 27 Apr 2018 08:14:05 +0000 (10:14 +0200)]
Merge branch 'ci-diffrepro' into 'master'
ci: respdiff - run diffrepro 3 times to reproduce results
See merge request knot/knot-resolver!572
Tomas Krizek [Thu, 26 Apr 2018 13:20:53 +0000 (15:20 +0200)]
ci: respdiff - run diffrepro 3 times to reproduce results
Tomas Krizek [Wed, 25 Apr 2018 14:59:21 +0000 (16:59 +0200)]
Merge branch 'arch-update' into 'master'
distro/arch: generate debug symbols
See merge request knot/knot-resolver!571
Tomas Krizek [Wed, 25 Apr 2018 14:42:06 +0000 (16:42 +0200)]
distro/arch: create debug symbols pkg
Tomas Krizek [Wed, 25 Apr 2018 09:49:50 +0000 (11:49 +0200)]
distro/arch: don't overwrite kresd.conf by default
Vladimír Čunát [Mon, 23 Apr 2018 16:01:08 +0000 (18:01 +0200)]
Merge !551: misc changes from Marek
Marek Vavruša [Mon, 9 Apr 2018 07:01:53 +0000 (00:01 -0700)]
iterate: allow lame negative answers in PERMISSIVE mode
Some nameservers are hopelessly broken (ns1-ord.salesforce.com),
and will return lame negative answers which will flag the nameserver
as bad, so it wouldn't be picked for valid queries.
Marek Vavruša [Fri, 6 Apr 2018 20:25:21 +0000 (13:25 -0700)]
copy transitive query flags when CNAME chasing
This is an issue for things like disabling minimisation, which only works
for the original query and not for the CNAME target.
Marek Vavruša [Fri, 6 Apr 2018 05:43:57 +0000 (22:43 -0700)]
check per-query flags instead of global options, getter for NS name
Checking query flags instead of global context option allows setting
overrides on individual queries. The effect is the same as query flags
start by copying request flags which start by copying context options.
Marek Vavruša [Fri, 6 Apr 2018 05:48:51 +0000 (22:48 -0700)]
add bindings for the checkout layer
This one was missing from the current bindings. The checkout layer
runs when the worker attempts to send a DNS query to given upstream
when the address is already determined. The layer can add EDNS options
or update outbound query, or block particular addresses / protocol.
Marek Vavruša [Tue, 3 Apr 2018 22:51:32 +0000 (15:51 -0700)]
lua: added typecheck for string-to-dname conversion
Vladimír Čunát [Mon, 23 Apr 2018 12:44:12 +0000 (14:44 +0200)]
Merge !519: Restore cache insert RR API
Closes #332.
Marek Vavruša [Fri, 23 Mar 2018 16:40:36 +0000 (09:40 -0700)]
cache: restore flagging entries written into cache
This was probably lost during the cache backend rewrite in 2.x
fixes #332
Marek Vavruša [Thu, 22 Mar 2018 18:06:43 +0000 (11:06 -0700)]
kres: added missing nil check for dname2str
Marek Vavruša [Thu, 15 Mar 2018 23:13:47 +0000 (16:13 -0700)]
kres: added interface for RR set wire size and packet remaining bytes
Marek Vavruša [Thu, 15 Mar 2018 22:46:55 +0000 (15:46 -0700)]
kres: preserve error code value along with the text explanation
Wrapping the error code in a structure preserves both the numeric value
and the ability to convert it into textual format.
Marek Vavruša [Thu, 15 Mar 2018 21:38:43 +0000 (14:38 -0700)]
kres: added rr:rdcount() and tests
Marek Vavruša [Fri, 16 Mar 2018 02:27:59 +0000 (19:27 -0700)]
lib/utils: fixed memory corruption in kr_pkt_recycle and kr_pkt_clear_payload
Previous implementation forgot to clear the compression table, which is
an internal structure to packet. So when a recycled packet was reused,
it compared owners of newly inserted records with dangling pointers left
in the compression table.
This is less of a problem in query processing,
as each packet uses a memory pool, so the pointed names were never deallocated,
but it would write out wrong compression pointers because the compression
table kept pointing into packet that was now cleared and reused for something else.
It is more of a problem with packets created without a memory pool,
as the compression table kept references to memory that was already freed.
Marek Vavruša [Thu, 15 Mar 2018 05:54:42 +0000 (22:54 -0700)]
kres: cleanup, added typechecks where missing
Marek Vavruša [Wed, 14 Mar 2018 21:13:33 +0000 (14:13 -0700)]
kres: added rr:merge_data(source) for RR merging
This is generally useful for parsing records from packet, as they
are broken into individual RRs that need reassembling.
Marek Vavruša [Mon, 12 Mar 2018 04:13:05 +0000 (21:13 -0700)]
kres: add insert and sync interfaces to the cache metatype
This adds metatype wrappers for kr_cache_insert_rr and kr_cache_sync
for the cache metatype, and tests.
Marek Vavruša [Mon, 12 Mar 2018 04:12:39 +0000 (21:12 -0700)]
kres: add constructor for rrsets and refactor rr2str function to use it
This updates the metatype to wrap knot_rrset_add_rdata and knot_rrset_init_empty
in a nicer way, and adds automatic GC destructor and tests.
Marek Vavruša [Wed, 14 Mar 2018 19:10:46 +0000 (12:10 -0700)]
cache: changed get_new_ttl private API to allow custom timestamp
Before the API depended on the qry object which only makes sense during
resolution of requests, not when manipulating cache out of it.
Vladimír Čunát [Mon, 23 Apr 2018 12:26:48 +0000 (14:26 +0200)]
cache: restored kr_cache_insert_rr API
This commit abstracts out stash_rrset from stash_rrarray_entry,
and fixes incrementing metrics on actual record insertion.
It then resurfaces kr_cache_insert_rr that was deleted in 2.0
using the extracted function.
vcunat separated stash_rrset_precond() later during rebase.
Vladimír Čunát [Mon, 23 Apr 2018 11:08:03 +0000 (13:08 +0200)]
Merge !565: changes from security repo
Closes #334 and #336
Vladimír Čunát [Mon, 23 Apr 2018 10:43:52 +0000 (12:43 +0200)]
NEWS: cleanup
- TLS errors were mentioned twice
- the option mode wasn't changed, just a static function name
Vladimír Čunát [Mon, 23 Apr 2018 10:43:07 +0000 (12:43 +0200)]
rfc7706: fixup links to modules
They didn't work locally for me, at least.
Petr Špaček [Mon, 23 Apr 2018 08:40:00 +0000 (10:40 +0200)]
Merge branch 'release-2-3-0' into 'master'
Release 2.3.0
Closes knot-resolver#334 and knot-resolver#336
See merge request knot/knot-resolver-security!3
Tomas Krizek [Fri, 13 Apr 2018 10:57:36 +0000 (12:57 +0200)]
release 2.3.0
Petr Špaček [Mon, 23 Apr 2018 08:18:21 +0000 (10:18 +0200)]
docs: document our position on RFC 7706
Vladimír Čunát [Fri, 20 Apr 2018 13:48:07 +0000 (15:48 +0200)]
lib/generic/pack: more NULL checks
Inspired by Marek's MR.
Grigorii Demidov [Thu, 19 Apr 2018 14:02:30 +0000 (16:02 +0200)]
daemon/worker: fix misplaced timer stop
fixup!
8ea37cc3 daemon/worker: robustness against the slow-lorris attack
Vladimír Čunát [Thu, 19 Apr 2018 12:28:22 +0000 (14:28 +0200)]
lib/generic/pack: fix a bug/inconsistency
The NULL is never tested, and it was breaking our usual iteration pattern.
Grigorii Demidov [Thu, 19 Apr 2018 08:55:17 +0000 (10:55 +0200)]
daemon/worker: fix missed deinitialization when processing erroneous TCP states
Grigorii Demidov [Wed, 18 Apr 2018 15:12:36 +0000 (17:12 +0200)]
daemon/worker: adjust tcp timeouts
This is an attempt to fix two problems:
1. kresd tries to close incoming TCP connection too early. This may lead
to multiple client reconnections. This problem primarily
affects TCP/TLS clients who send several queries over single TCP connection.
2. In certain circumstances outbound TCP connection doesn't timeout
despite that fact that upstream doesn't send back any answers.
This may lead to timeouts on non-problematic queries.
Petr Špaček [Fri, 13 Apr 2018 15:01:33 +0000 (17:01 +0200)]
Merge branch 'crache' into 'master'
Handle RRs with non-Internet class and meta-types
Closes knot-resolver#334
See merge request knot/knot-resolver-security!2
Vladimír Čunát [Wed, 4 Apr 2018 17:33:03 +0000 (19:33 +0200)]
cache: catch disallowed RR types at API entry points
Petr Špaček [Fri, 13 Apr 2018 14:52:39 +0000 (16:52 +0200)]
Merge branch 'cookie-qcount0' into 'master'
Refuse EDNS cookie requests if cookie module is missing
Closes knot-resolver#336
See merge request knot/knot-resolver-security!4
Vladimír Čunát [Wed, 4 Apr 2018 15:42:35 +0000 (17:42 +0200)]
iterate: only pick RRs from the IN class
Petr Špaček [Fri, 13 Apr 2018 14:43:50 +0000 (16:43 +0200)]
Merge branch 'slow-lorris' into 'master'
Protection against slowlorris attack on autoritative side
See merge request knot/knot-resolver-security!5
Grigorii Demidov [Thu, 5 Apr 2018 10:28:26 +0000 (12:28 +0200)]
lib/resolve: cleanup
Grigorii Demidov [Thu, 5 Apr 2018 09:12:31 +0000 (11:12 +0200)]
lib/resolve: accept incoming requests with QDCOUNT = 0 only if cookie module has loaded.
Grigorii Demidov [Fri, 13 Apr 2018 08:19:14 +0000 (10:19 +0200)]
daemon/worker: robustness against the slow-lorris attack
Petr Špaček [Fri, 20 Apr 2018 15:26:29 +0000 (17:26 +0200)]
Merge branch 'stale_verbose' into 'master'
serve_stale: log only in verbose mode
See merge request knot/knot-resolver!564
Petr Špaček [Fri, 20 Apr 2018 14:50:24 +0000 (16:50 +0200)]
serve_stale: log only in verbose mode
Tomas Krizek [Fri, 20 Apr 2018 14:43:27 +0000 (16:43 +0200)]
Merge branch 'packaging-update' into 'master'
distro/rpm: update dependency declarations to conform with pkg standards
See merge request knot/knot-resolver!563
Tomas Krizek [Fri, 20 Apr 2018 14:34:19 +0000 (16:34 +0200)]
distro/rpm: update dependency declarations to conform with pkg standards
Tomas Krizek [Fri, 20 Apr 2018 14:19:30 +0000 (16:19 +0200)]
Merge branch 'packaging-update' into 'master'
distro/deb: add prefill module
See merge request knot/knot-resolver!562
Tomas Krizek [Fri, 20 Apr 2018 13:57:33 +0000 (15:57 +0200)]
distro/deb: add prefill module
Petr Špaček [Fri, 20 Apr 2018 11:11:26 +0000 (13:11 +0200)]
Merge branch 'fromjson' into 'master'
export a JSON decode function to lua
See merge request knot/knot-resolver!560
Anbang Wen [Wed, 18 Apr 2018 20:37:42 +0000 (13:37 -0700)]
export a JSON decode function to lua
Since there is already a bundled JSON library, expose it to lua for
modules to use.
Petr Špaček [Thu, 19 Apr 2018 12:13:10 +0000 (14:13 +0200)]
Merge branch 'separate-tls-counter' into 'master'
daemon/worker: separate counter for TLS sendings
See merge request knot/knot-resolver!557
Grigorii Demidov [Fri, 13 Apr 2018 15:42:55 +0000 (17:42 +0200)]
daemon/worker: separate counter for TLS sendings
Petr Špaček [Wed, 18 Apr 2018 15:18:59 +0000 (17:18 +0200)]
Merge branch 'root-zone-import' into 'master'
root zone import implementation
See merge request knot/knot-resolver!511
Petr Špaček [Wed, 18 Apr 2018 12:33:42 +0000 (14:33 +0200)]
prefill: documentation
Petr Špaček [Wed, 18 Apr 2018 10:49:50 +0000 (12:49 +0200)]
prefill: replace CA directory path with CA file path
luasec internally calls SSL_CTX_load_verify_locations() which has
non-intuituve behavior for directories. Given that we already use path
to certificate file for TLS_FORWARD it is better to use consistent and
intuitive interface.
Petr Špaček [Wed, 18 Apr 2018 10:45:16 +0000 (12:45 +0200)]
prefill: mandate explicit URL configuration
Default values would cause confusion when we introduce support for
non-root zones.
Petr Špaček [Wed, 18 Apr 2018 07:46:28 +0000 (09:46 +0200)]
prefill: configation syntax for multiple zones
Only root zone can be imported (for now) but we want to
avoid changing syntax when support for other zones is added.
Petr Špaček [Mon, 16 Apr 2018 16:07:04 +0000 (18:07 +0200)]
prefill: import zone immediately after start
Delaying import would leak bunch of queries from the resolver between
moment of start and import.