]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Vladimír Čunát [Tue, 18 Oct 2016 11:26:02 +0000 (13:26 +0200)]
client-subnet WIP: mainly cache changes
Status: all deckard tests succeed (non-ECS).
Design plan:
- It was decided to deviate from rfc7871, as full
implementation would be potentially very cache-hungry
(there are very many meaningful IP prefixes).
Instead, a geo DB will be used to partition IPs into discrete
categories. That's what the authoritative NSs use AFAIK.
- For now the granularity would be a country, as used by
https://www.maxmind.com/en/geoip2-databases
- Cache deduplicates equal records for different locations.
That's implemented by splitting the mapping into two:
usual key + location -> hash, and usual key + hash -> RRdata.
Timestamp and TTL of the RRset is stored in the first part,
and the stored RRs have TTLs zeroed.
(All this forced changes in lib/cache.h API.)
Michal Karm Babacek [Thu, 6 Oct 2016 20:20:00 +0000 (22:20 +0200)]
Tip for running kresd in containers.
Based on [issue 28](https://github.com/CZ-NIC/knot-resolver/issues/28), we were able to boost kresd performance running in a Docker container on DockerCloud by nearly 100% by binding to a single interface:ipaddress. It might be handy for other users to know.
Ondřej Surý [Mon, 3 Oct 2016 11:15:52 +0000 (13:15 +0200)]
Merge branch 'p/net.listen' into 'master'
net.listen: make it more flexible
As noted in #94, it feels natural to call it like:
``net.listen({net.lo, '192.168.1.1'})``
Also minor fixes were done in that function and corresponding docs.
See merge request !46
Vladimír Čunát [Fri, 30 Sep 2016 13:10:55 +0000 (15:10 +0200)]
doc: fix a typo
Marek Vavrusa [Tue, 27 Sep 2016 20:14:36 +0000 (20:14 +0000)]
daemon/worker: set query source addr for tcp
Ondřej Surý [Thu, 8 Sep 2016 14:48:43 +0000 (16:48 +0200)]
Various little quirks required to build on FreeBSD
Vladimír Čunát [Wed, 7 Sep 2016 13:07:34 +0000 (15:07 +0200)]
Merge !45: various nitpicks
Assortment of unimportant changes that I created during trying to understand how the whole resolution process works. Best read each commit separately.
Vladimír Čunát [Wed, 7 Sep 2016 12:46:16 +0000 (14:46 +0200)]
net.listen: make it more flexible
As noted in #94, it feels natural to call it like:
``net.listen({net.lo, '192.168.1.1'})``
Also, minor fixes were done in that function and corresponding docs.
Marek Vavrusa [Mon, 5 Sep 2016 00:42:03 +0000 (17:42 -0700)]
daemon/worker: retransmit based on current score
if the score is known (and not glued), the retry
rate is <avg(rtt), 250ms>
if the NS score is unknown or worse than 250ms,
it is always retried at this rate
all other servers in the list use default rate
Marek Vavrusa [Mon, 5 Sep 2016 00:40:22 +0000 (17:40 -0700)]
lib/nsrep: respect -DFAVOUR_IPV6=X
maintainer may wish to choose neutral or even
more favoured server selection of IPv6 servers.
-DFAVOUR_IPV6=0 makes neutral server selection
-DFAVOUR_IPV6=40 gives IPv6 40ms better chance
Marek Vavrusa [Sun, 4 Sep 2016 23:11:08 +0000 (16:11 -0700)]
modules/http: changed wording
Marek Vavrusa [Thu, 25 Aug 2016 17:45:01 +0000 (10:45 -0700)]
build: bumped version requirement to libknot 2.2.0
Marek Vavrusa [Thu, 25 Aug 2016 17:41:29 +0000 (10:41 -0700)]
modules/http: cleanup
Marek Vavrusa [Thu, 25 Aug 2016 17:40:00 +0000 (10:40 -0700)]
build: cleanup, fixes for FreeBSD
Marek Vavrusa [Thu, 25 Aug 2016 17:39:40 +0000 (10:39 -0700)]
modules/daf: support multiple targets in forward
RTT tracking for all targets is also supported,
but no loadbalancing is done based on that yet
Vladimír Čunát [Thu, 25 Aug 2016 16:11:12 +0000 (18:11 +0200)]
daemon/worker.h: drop unused typedef qr_task_send_cb
Vladimír Čunát [Thu, 25 Aug 2016 14:42:57 +0000 (16:42 +0200)]
move worker initialization to daemon/worker.c
Consequently, there's no use for worker_reserve in the header.
Vladimír Čunát [Thu, 25 Aug 2016 14:27:08 +0000 (16:27 +0200)]
daemon/worker.h: move internal stuff to the end
Also break overlong lines.
Vladimír Čunát [Thu, 25 Aug 2016 10:57:52 +0000 (12:57 +0200)]
daemon/main: error handling nitpicks
The last hunk: we'd report worker failure even if we didn't
attempt to start it due to previous failures.
Vladimír Čunát [Thu, 25 Aug 2016 11:38:00 +0000 (13:38 +0200)]
docs nitpicks
Vladimír Čunát [Wed, 24 Aug 2016 15:08:53 +0000 (17:08 +0200)]
don't use kr_crypto_reinit()
We called kr_crypto_init() just before forking and then _reinit() in
all children, but we never did any cryptography in-between - better
initialize after forking.
Note: the function is KR_EXPORT. It might not be useful anymore, but
its removal would require bumping libkres soname.
Vladimír Čunát [Thu, 25 Aug 2016 12:35:09 +0000 (14:35 +0200)]
fix version number to 1.1.1
Reported: https://gitlab.labs.nic.cz/knot/resolver/issues/92
Ondřej Surý [Wed, 24 Aug 2016 12:05:47 +0000 (14:05 +0200)]
Update NEWS
Ondřej Surý [Wed, 24 Aug 2016 12:03:29 +0000 (14:03 +0200)]
Reuse packet_source address when retrying over TCP. This prevents
timeouts over TCP when <n> first nameservers timeout over UDP as
previously the TCP would connect again to the first and only the
first nameserver in task->addrlist.
This would need to be ultimately fixed in TCP Fast Retransmit.
Ondřej Surý [Wed, 24 Aug 2016 11:59:22 +0000 (13:59 +0200)]
Add missing curly braces
Ondřej Surý [Wed, 24 Aug 2016 09:22:33 +0000 (11:22 +0200)]
Add missing %s
Ondřej Surý [Wed, 24 Aug 2016 08:33:44 +0000 (10:33 +0200)]
Fix querying/optional listing when retrying with different destination
Ondřej Surý [Wed, 24 Aug 2016 06:40:35 +0000 (08:40 +0200)]
Update NEWS file for 1.1.1 release
Marek Vavrusa [Wed, 24 Aug 2016 00:28:47 +0000 (17:28 -0700)]
lib/resolve: track rtt of all tried servers
when doing fast retransmit, each address may be
contacted 1-N times, but previously only cumulative
RTT was tracked for the NS that sent the answer.
now the approximate query start time is subtracted
from cumulative RTT to give an idea how long it
took since the query was actually sent, and all
the NSs that didn't respond within their retransmit
windows are penalised too
Marek Vavrusa [Tue, 23 Aug 2016 21:17:40 +0000 (14:17 -0700)]
lib/resolve: fixed 0x20 with retransmit
bcf3f4b made query_finalize() to be called on
each outbound query before sending, so each
retransmitted query got different 0x20 case
and the only responses from the latest contacted
NS matched.
reverted back the old behaviour where query case
is randomised when an outbound query is generated,
not before sending
Marek Vavrusa [Tue, 23 Aug 2016 02:56:11 +0000 (19:56 -0700)]
lib/resolve: fixed pass through for stub mode
REFUSED response no longer causes retry in
iterator when operating in stub mode
Marek Vavrusa [Tue, 23 Aug 2016 02:07:19 +0000 (19:07 -0700)]
modules/daf: allow forwarding to custom port
example:
> daf.add 'forward 127.0.0.1@5353'
Ondřej Surý [Tue, 23 Aug 2016 12:22:42 +0000 (14:22 +0200)]
Print protocol used in verbose mode
Karel Slany [Tue, 23 Aug 2016 09:14:47 +0000 (11:14 +0200)]
Fixed error: added missing struct kr_query entry into Lua wrapper.
The missing entry caused some entries to be dear and written to wrong
positions.
Ondřej Surý [Wed, 17 Aug 2016 12:47:28 +0000 (14:47 +0200)]
Update script to print all 16 bytes of IPv6 addr
Ondřej Surý [Wed, 17 Aug 2016 12:45:56 +0000 (14:45 +0200)]
Add last missing byte to IPv6 root hints
Ondřej Surý [Wed, 17 Aug 2016 12:40:10 +0000 (14:40 +0200)]
lib/zonecut.c: cleanup
Ondřej Surý [Wed, 17 Aug 2016 12:38:00 +0000 (14:38 +0200)]
Correctly encode IPv6 addresses in root hints to prevent to uint16_t conversion
Ondřej Surý [Mon, 15 Aug 2016 13:00:34 +0000 (15:00 +0200)]
Fix missing 'else' in hexval2char()
Ondřej Surý [Mon, 15 Aug 2016 12:57:50 +0000 (14:57 +0200)]
whitespace cleanups
Ondřej Surý [Mon, 15 Aug 2016 12:57:50 +0000 (14:57 +0200)]
whitespace cleanups
Ondřej Surý [Mon, 15 Aug 2016 07:58:11 +0000 (09:58 +0200)]
Read EnvironmentFile and user $KRESD_ARGS
Ondřej Surý [Mon, 15 Aug 2016 07:35:14 +0000 (09:35 +0200)]
Update systemd units to be named after daemon
Marek Vavrusa [Thu, 11 Aug 2016 23:41:37 +0000 (16:41 -0700)]
changelog: updated to 1.1.0
Grigorii Demidov [Wed, 10 Aug 2016 08:24:27 +0000 (10:24 +0200)]
lib/resolve: empty final answer when SERVFAIL
Marek Vavrusa [Thu, 11 Aug 2016 22:32:43 +0000 (00:32 +0200)]
Merge branch 'cookies-wip' into 'master'
DNS Cookies
Second merge request introducing DNS cookies.
See merge request !38
Ondřej Surý [Thu, 11 Aug 2016 12:06:30 +0000 (14:06 +0200)]
Delete static and shared library
Karel Slany [Wed, 10 Aug 2016 14:36:49 +0000 (16:36 +0200)]
Fixed an error that caused the integration tests to fail.
EDNS data from the packet must be erased before attempting to send the
query again.
Marek Vavrusa [Tue, 9 Aug 2016 20:54:44 +0000 (13:54 -0700)]
build: fixed build, removed unused variables
Marek Vavrusa [Tue, 9 Aug 2016 20:54:26 +0000 (13:54 -0700)]
build: fixed build with libknot<2.3 without cookies
the cookies require libknot>=2.3, Makefile didn't
check for that, and turning cookies off wasn't
possible either
Karel Slany [Tue, 9 Aug 2016 13:45:46 +0000 (15:45 +0200)]
Fixed a possible memory leak.
Karel Slany [Tue, 9 Aug 2016 11:00:48 +0000 (13:00 +0200)]
Removed or rephrased some comments.
Karel Slany [Tue, 9 Aug 2016 10:28:24 +0000 (12:28 +0200)]
Deleted code that has already been commented out.
Karel Slany [Fri, 5 Aug 2016 12:09:31 +0000 (14:09 +0200)]
Reduced the number of kr_answer_write_cookie() arguments.
Karel Slany [Thu, 4 Aug 2016 14:29:05 +0000 (16:29 +0200)]
Function kr_rplan_push() fails again with null name.
Introduced kr_rplan_push_empty() to create empty query for DNS cookies.
Karel Slany [Thu, 4 Aug 2016 14:26:15 +0000 (16:26 +0200)]
Removed qdcount from struct kr_query.
Karel Slany [Thu, 4 Aug 2016 14:16:56 +0000 (16:16 +0200)]
Adapted to recent libknot changes.
Karel Slany [Thu, 4 Aug 2016 10:26:48 +0000 (12:26 +0200)]
Disabled TCP fallback on BADCOOKIE response. Failing instead.
Karel Slany [Sun, 31 Jul 2016 14:49:27 +0000 (16:49 +0200)]
Removed the shallow copy from configuration code in cookie module.
Karel Slany [Sun, 31 Jul 2016 10:25:25 +0000 (12:25 +0200)]
Added checks for FAIL and DONE when calling cookie module functions.
Karel Slany [Tue, 26 Jul 2016 13:39:20 +0000 (15:39 +0200)]
Merged similar code into one function.
Karel Slany [Tue, 26 Jul 2016 11:40:14 +0000 (13:40 +0200)]
Removed comment that was out of place.
Karel Slany [Tue, 26 Jul 2016 11:07:05 +0000 (13:07 +0200)]
Made some function parameters const.
Karel Slany [Tue, 26 Jul 2016 10:35:16 +0000 (12:35 +0200)]
Renamed kr_resolve_query_finalize() to kr_resolve_checkout().
Karel Slany [Tue, 26 Jul 2016 10:21:37 +0000 (12:21 +0200)]
Removed SHA algorithm structures from public interface.
Karel Slany [Tue, 26 Jul 2016 09:56:12 +0000 (11:56 +0200)]
Simplified interface of srvr_sockaddr_cc_check() as suggested in code review.
Karel Slany [Tue, 26 Jul 2016 09:08:16 +0000 (11:08 +0200)]
Removed code for guessing source address using NS reputation mechanism.
Karel Slany [Tue, 26 Jul 2016 08:49:21 +0000 (10:49 +0200)]
Removed assert call as suggested in merge request.
Karel Slany [Tue, 26 Jul 2016 08:29:19 +0000 (10:29 +0200)]
Fixed some typos.
Karel Slany [Tue, 26 Jul 2016 08:26:39 +0000 (10:26 +0200)]
Removed round brackets from documentation as suggested in merge request.
Karel Slany [Tue, 26 Jul 2016 08:12:22 +0000 (10:12 +0200)]
Deleted a comment.
Karel Slany [Mon, 25 Jul 2016 14:26:38 +0000 (16:26 +0200)]
Removed a comment.
Karel Slany [Mon, 25 Jul 2016 14:13:58 +0000 (16:13 +0200)]
Added a more explanatory comment.
Karel Slany [Mon, 25 Jul 2016 13:26:47 +0000 (15:26 +0200)]
Added checks when accessing algorithm structures in array.
Karel Slany [Mon, 25 Jul 2016 11:52:43 +0000 (13:52 +0200)]
Using https://www.gnu.org/licenses/ in file headers.
Karel Slany [Mon, 25 Jul 2016 11:33:45 +0000 (13:33 +0200)]
Function kr_resolve_query_finalize() returns error code.
Karel Slany [Mon, 25 Jul 2016 11:24:52 +0000 (13:24 +0200)]
Added src parameter in kr_resolve_query_finalize().
Karel Slany [Mon, 25 Jul 2016 10:42:50 +0000 (12:42 +0200)]
Removed assertion.
Karel Slany [Mon, 25 Jul 2016 10:38:26 +0000 (12:38 +0200)]
Added a comment.
Karel Slany [Mon, 25 Jul 2016 10:31:53 +0000 (12:31 +0200)]
Added a check.
Karel Slany [Mon, 25 Jul 2016 09:28:43 +0000 (11:28 +0200)]
Replaced one assertion check.
Karel Slany [Mon, 25 Jul 2016 09:20:27 +0000 (11:20 +0200)]
Added tests for cookie length.
Karel Slany [Mon, 25 Jul 2016 09:07:22 +0000 (11:07 +0200)]
Removed some assignments.
Karel Slany [Mon, 25 Jul 2016 09:02:52 +0000 (11:02 +0200)]
Removed some asserts.
Karel Slany [Fri, 22 Jul 2016 12:30:16 +0000 (14:30 +0200)]
Explicitly deleting cookies from responses when server functionality disabled.
Karel Slany [Fri, 22 Jul 2016 12:29:33 +0000 (14:29 +0200)]
Minor code enhancement.
Karel Slany [Fri, 22 Jul 2016 12:27:25 +0000 (14:27 +0200)]
Reserving space for cookies also if only server cookie functionality enabled.
Karel Slany [Thu, 21 Jul 2016 10:13:19 +0000 (12:13 +0200)]
Served cookie queries are handled inside cookie module.
Karel Slany [Wed, 20 Jul 2016 14:22:55 +0000 (16:22 +0200)]
Removed unnecessary square brackets from cookie module documentation.
Karel Slany [Wed, 20 Jul 2016 13:21:01 +0000 (15:21 +0200)]
Putting cookie option into request before packet is finalised.
Karel Slany [Wed, 20 Jul 2016 12:57:45 +0000 (14:57 +0200)]
Deleting cookies from EDNS OPTs before adding new ones.
Karel Slany [Wed, 20 Jul 2016 12:27:58 +0000 (14:27 +0200)]
Minor refactoring.
Karel Slany [Mon, 18 Jul 2016 15:38:36 +0000 (17:38 +0200)]
Added library callback for finalising outbound queries.
Karel Slany [Fri, 15 Jul 2016 13:37:47 +0000 (15:37 +0200)]
Fixed memory leak when passing multiple cookie secrets in a single JSON string.
Karel Slany [Thu, 14 Jul 2016 14:57:19 +0000 (16:57 +0200)]
Fixed comparison of signed and unsigned type.
Karel Slany [Thu, 14 Jul 2016 14:46:56 +0000 (16:46 +0200)]
Using new functions from libknot to check cookie algorithms input sanity.
Karel Slany [Thu, 14 Jul 2016 14:40:11 +0000 (16:40 +0200)]
Changed API of SHA256-based cookie algorithms to match recent libknot changes.
Karel Slany [Thu, 14 Jul 2016 14:04:37 +0000 (16:04 +0200)]
Removed input/output parameter from kr_nonce_write_wire().
Karel Slany [Thu, 14 Jul 2016 09:40:03 +0000 (11:40 +0200)]
Tied LRU_COOKIES_SIZE to LRU_RTT_SIZE.
Karel Slany [Wed, 13 Jul 2016 13:09:40 +0000 (15:09 +0200)]
Deleted unused code.