]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Marek Vavruša [Sun, 28 Jun 2015 23:06:56 +0000 (01:06 +0200)]
lib/resolve: fixed aborted rec when all IPv6 NS were bad
the query flags were cleared too early, and the rec never
retried if the NS had ipv6 addresses, but all were bad
Marek Vavruša [Sat, 27 Jun 2015 23:26:48 +0000 (01:26 +0200)]
layer/iterate: don't update cut if we get m10n referral/CNAME
Marek Vavruša [Sat, 27 Jun 2015 19:51:36 +0000 (21:51 +0200)]
lib: turned some knobs
Marek Vavruša [Sat, 27 Jun 2015 19:05:19 +0000 (21:05 +0200)]
layer/iterate: work around auths hinting CNAME authority
this fixes an issue when nameserver responds with AA=0 and authority
of a CNAME target (which is in current bailiwick)
Marek Vavruša [Sat, 27 Jun 2015 18:44:52 +0000 (20:44 +0200)]
layer/iterate: work around broken auths that rewrite QNAME
Marek Vavruša [Sat, 27 Jun 2015 18:17:11 +0000 (20:17 +0200)]
modules/hints: fixed AAAA processing (swapped rclass/rtype)
Marek Vavruša [Sat, 27 Jun 2015 15:33:40 +0000 (17:33 +0200)]
layer/rrcache: small ttl check before merging
Marek Vavruša [Fri, 26 Jun 2015 12:23:28 +0000 (14:23 +0200)]
build: fixed travis
Marek Vavruša [Thu, 25 Jun 2015 15:59:50 +0000 (17:59 +0200)]
Merge branch 'dns-0x20'
Marek Vavruša [Thu, 25 Jun 2015 09:43:09 +0000 (11:43 +0200)]
lib/rplan: lowercase snames, fix hints
Marek Vavruša [Wed, 24 Jun 2015 19:22:54 +0000 (21:22 +0200)]
layer/iterate: do not check 0x20 if safemode or cached
Marek Vavruša [Wed, 24 Jun 2015 19:22:32 +0000 (21:22 +0200)]
daemon/worker: less frequent decommit
Marek Vavruša [Wed, 24 Jun 2015 17:33:21 +0000 (19:33 +0200)]
layer/iterate: do DNS 0x20 unless in safe mode
DNS 0x20 https://tools.ietf.org/html/draft-vixie-dnsext-dns0x20-00
is a way to add more randomness into queries to make spoofing tougher
this implementation provides up to 32 bits of randomness to QNAME,
which is more than enough for most names (it is possible to add a
maximum of 1 bit of entropy per alphanumeric character, so it's not very
efficient with shorter names)
fixes #27
Marek Vavruša [Wed, 24 Jun 2015 17:26:48 +0000 (19:26 +0200)]
tests/pydnstest: add support for DNS 0x20
Marek Vavruša [Wed, 24 Jun 2015 15:20:09 +0000 (17:20 +0200)]
lib/cache: cleanup
Marek Vavruša [Tue, 23 Jun 2015 00:32:08 +0000 (02:32 +0200)]
lib: cleanup
Marek Vavruša [Tue, 23 Jun 2015 00:31:58 +0000 (02:31 +0200)]
lib/zonecut: fixed _copy() when addr pack is empty
Marek Vavruša [Mon, 22 Jun 2015 17:15:44 +0000 (19:15 +0200)]
lib/resolve: top-down search if NS is at current zone cut (not backtrace)
Marek Vavruša [Mon, 22 Jun 2015 17:15:01 +0000 (19:15 +0200)]
lib/nsrep: be more aggresive with TCP for broken delegations
libuv doesn't do connected UDP sockets, so we can't get ICMP unreachable
otherwise
Marek Vavruša [Mon, 22 Jun 2015 17:13:40 +0000 (19:13 +0200)]
daemon/worker: trim on pool rollover
Marek Vavruša [Mon, 22 Jun 2015 11:23:43 +0000 (13:23 +0200)]
modules/block: block ANY type example
Marek Vavruša [Mon, 22 Jun 2015 11:17:29 +0000 (13:17 +0200)]
modules/block: updated doc
Marek Vavruša [Mon, 22 Jun 2015 11:08:53 +0000 (13:08 +0200)]
Merge branch 'block-module'
Marek Vavruša [Mon, 22 Jun 2015 00:44:46 +0000 (02:44 +0200)]
modules/block: tweaks here and there to please tracer
Marek Vavruša [Mon, 22 Jun 2015 00:43:52 +0000 (02:43 +0200)]
lib/utils: packet recycling (keeps header, doesn’t free memory)
Marek Vavruša [Mon, 22 Jun 2015 00:27:33 +0000 (02:27 +0200)]
daemon/bindings: no userdata for rplan/query
Marek Vavruša [Sun, 21 Jun 2015 10:31:20 +0000 (12:31 +0200)]
modules/block: common suffix match
Marek Vavruša [Sun, 21 Jun 2015 09:48:38 +0000 (11:48 +0200)]
daemon/ffi: skip layer calls in invalid states
Marek Vavruša [Sat, 20 Jun 2015 21:01:27 +0000 (23:01 +0200)]
modules/block: added Aho-Corasick suffix match, pattern match, doc
Marek Vavruša [Sat, 20 Jun 2015 21:00:53 +0000 (23:00 +0200)]
daemon/bindings: wrapped rrtypes, fixed pkt:add()
Marek Vavruša [Tue, 16 Jun 2015 00:09:53 +0000 (02:09 +0200)]
daemon/bindings: wip on query and packet bindings
Marek Vavruša [Tue, 16 Jun 2015 00:09:15 +0000 (02:09 +0200)]
lib/utils: moved isaac cspring here
Marek Vavruša [Tue, 16 Jun 2015 00:08:46 +0000 (02:08 +0200)]
lib/rplan: stringified query flags
Marek Vavruša [Mon, 15 Jun 2015 20:53:07 +0000 (22:53 +0200)]
daemon/bindings: some basic Lua interface to rplan and query
Marek Vavruša [Mon, 15 Jun 2015 16:43:22 +0000 (18:43 +0200)]
daemon/bindings: fixed Lua <=5.1 compat and bad cast
Marek Vavruša [Mon, 15 Jun 2015 16:21:57 +0000 (18:21 +0200)]
daemon: fixed leaks and bad ffi module cleanup
Marek Vavruša [Mon, 15 Jun 2015 08:34:57 +0000 (10:34 +0200)]
daemon/bindings: Lua 5.0/5.1 compat
Marek Vavruša [Mon, 15 Jun 2015 08:28:15 +0000 (10:28 +0200)]
modules/block: block policies for queries
by default it blocks queries to private zones, can be extended to match anything in the query content (i.e. water torture style attacks)
Marek Vavruša [Mon, 15 Jun 2015 08:26:25 +0000 (10:26 +0200)]
daemon/bindings: minimal Lua interface to packet and DNS primitives (wip)
Marek Vavruša [Mon, 15 Jun 2015 08:25:42 +0000 (10:25 +0200)]
daemon/ffimodule: ignore undefined layers on load
Marek Vavruša [Mon, 15 Jun 2015 08:25:05 +0000 (10:25 +0200)]
daemon/bindings: cleanup
Marek Vavruša [Sat, 13 Jun 2015 20:35:46 +0000 (22:35 +0200)]
daemon/worker: argh
Marek Vavruša [Sat, 13 Jun 2015 17:28:18 +0000 (19:28 +0200)]
Merge branch 'root-hints'
Marek Vavruša [Sat, 13 Jun 2015 17:27:55 +0000 (19:27 +0200)]
modules/hints: configurable root hints, part of module
before root hints were hardcoded to the resolver,
now they are present in form of a cut in the resolution
context, and the modules can add/remove/replace them
on the fly
Marek Vavruša [Sat, 13 Jun 2015 17:25:17 +0000 (19:25 +0200)]
daemon/engine: convert Lua tables to JSON for prop calls
Marek Vavruša [Sat, 13 Jun 2015 17:23:54 +0000 (19:23 +0200)]
daemon/bindings: return top to previous after timer
Marek Vavruša [Sat, 13 Jun 2015 13:22:27 +0000 (15:22 +0200)]
docker: fixed broken musl libc + stack protector
Marek Vavruša [Sat, 13 Jun 2015 12:26:43 +0000 (14:26 +0200)]
Merge branch 'faster-request-proc'
Marek Vavruša [Fri, 12 Jun 2015 22:19:42 +0000 (00:19 +0200)]
layer/rrcache: work around unreclaimable pages on clear
Marek Vavruša [Wed, 10 Jun 2015 23:26:23 +0000 (01:26 +0200)]
modules/redis: ping server if disconnected
Marek Vavruša [Wed, 10 Jun 2015 23:11:32 +0000 (01:11 +0200)]
modules/redis: missing header
Marek Vavruša [Wed, 10 Jun 2015 22:00:23 +0000 (00:00 +0200)]
modules/cachectl: fixed cachectl, optional pruning granularity
Marek Vavruša [Wed, 10 Jun 2015 21:48:18 +0000 (23:48 +0200)]
Merge branch 'cache-redis' into faster-request-proc
Marek Vavruša [Wed, 10 Jun 2015 21:47:16 +0000 (23:47 +0200)]
lua/sandbox: default cache backend/size
Marek Vavruša [Wed, 10 Jun 2015 01:23:26 +0000 (03:23 +0200)]
modules/redis: implement basic hiredis storage backend
the Redis backend supports UNIX, TCP and custom ports
no real transactions nor iteration, but it’s not needed at the moment
transactions keep replies in a freelist, which is purged on transaction
commit / abort
Marek Vavruša [Wed, 10 Jun 2015 13:02:24 +0000 (15:02 +0200)]
travis: cut slack some slack
Marek Vavruša [Wed, 10 Jun 2015 00:36:09 +0000 (02:36 +0200)]
daemon/worker: malloc.h is not present on OS X
Marek Vavruša [Tue, 9 Jun 2015 23:52:24 +0000 (01:52 +0200)]
lib: cleanup
Marek Vavruša [Tue, 9 Jun 2015 23:36:06 +0000 (01:36 +0200)]
lib/lru: args checking
Marek Vavruša [Tue, 9 Jun 2015 20:22:44 +0000 (22:22 +0200)]
layer/iterate: don't even try to minimize root
Marek Vavruša [Tue, 9 Jun 2015 18:31:50 +0000 (20:31 +0200)]
modules/cachectl: count pruned towards deletes
Marek Vavruša [Tue, 9 Jun 2015 18:31:36 +0000 (20:31 +0200)]
lib/zonecut: check for parent of root
Marek Vavruša [Tue, 9 Jun 2015 17:09:05 +0000 (19:09 +0200)]
modules/cachectl: incremental pruning, can clear 64k items in one go
Marek Vavruša [Tue, 9 Jun 2015 17:08:35 +0000 (19:08 +0200)]
lib/cache: cache fixes, use substruct instead of pointer aliasing
fixes potential cache key oob write
Marek Vavruša [Tue, 9 Jun 2015 17:06:35 +0000 (19:06 +0200)]
layer/pktcache: treat all cache insert errors as errors
Marek Vavruša [Tue, 9 Jun 2015 17:06:16 +0000 (19:06 +0200)]
daemon/worker: decommit memory every 1000nth pool delete
Marek Vavruša [Mon, 8 Jun 2015 00:08:18 +0000 (02:08 +0200)]
contrib: ccan/json possible uninitialized use
Marek Vavruša [Mon, 8 Jun 2015 00:03:58 +0000 (02:03 +0200)]
daemon: allocate worker from pool, cleanup
Marek Vavruša [Mon, 8 Jun 2015 00:02:53 +0000 (02:02 +0200)]
tests/test_cache: dladdr is broken for local syms
this relies on a lot of things (intrinsic), frame pointer and symbol dynamic symbol table
Marek Vavruša [Sun, 7 Jun 2015 21:51:42 +0000 (23:51 +0200)]
build: brought back PIC for modules
Marek Vavruša [Sun, 7 Jun 2015 21:49:36 +0000 (23:49 +0200)]
daemon/worker: keep freelist of mempools for recycling
Marek Vavruša [Sun, 7 Jun 2015 21:41:26 +0000 (23:41 +0200)]
Merge branch 'build-changes-q2' into faster-request-proc
Marek Vavruša [Sun, 7 Jun 2015 21:40:09 +0000 (23:40 +0200)]
contrib: use embedded ucw/mempool instead of libknot internals
Marek Vavruša [Sun, 7 Jun 2015 21:39:31 +0000 (23:39 +0200)]
contrib/ucw: use stdlib alloc routines instead of xmalloc/xfree
Marek Vavruša [Sun, 7 Jun 2015 21:14:41 +0000 (23:14 +0200)]
contrib: added mempools from libucw
Marek Vavruša [Sun, 7 Jun 2015 20:48:46 +0000 (22:48 +0200)]
modules/kmemcached: missing documentation, doc cleanup
Marek Vavruša [Sun, 7 Jun 2015 20:48:26 +0000 (22:48 +0200)]
build: renamed libkresolve => libkres, kresolved => kresd
also some cleanup and version bump to Q2
Marek Vavruša [Sun, 7 Jun 2015 20:15:57 +0000 (22:15 +0200)]
build: allow library to be built statically
Marek Vavruša [Sun, 7 Jun 2015 16:03:37 +0000 (18:03 +0200)]
layer/rrcache: rewritten RR merging code
previously a CNAME RR could be merged as a queried type RR, leading to failed cache lookups as ‘expired’
Marek Vavruša [Sun, 7 Jun 2015 12:15:38 +0000 (14:15 +0200)]
layer/*cache: lookup only on first iteration
Marek Vavruša [Sun, 7 Jun 2015 12:15:15 +0000 (14:15 +0200)]
layer/iterate: glue may be in ANSWER, cleanup
Marek Vavruša [Sun, 7 Jun 2015 12:14:38 +0000 (14:14 +0200)]
lib/resolve: do not reelect NS after addr resolution
previously if NS had no A/AAAA records, they we’re looked up in subrequests, after that a new NS was reelected (possibly preferring another unknown), now it stays true to the NS of choice and changes only if it is unuseable
Marek Vavruša [Sun, 7 Jun 2015 12:12:28 +0000 (14:12 +0200)]
lib/cache: return records that are going to be expired next second
Marek Vavruša [Sat, 6 Jun 2015 20:04:24 +0000 (22:04 +0200)]
lib/cache: save cache lookup if record is stale and not missing
the cache_peek() api was reworked to return an error code instead, from this the caller can tell whether the record is present (but expired) or missing. this save a secondary CNAME lookup in case the original record was just expired
Marek Vavruša [Sat, 6 Jun 2015 19:03:26 +0000 (21:03 +0200)]
lib/nsrep: NS reputation cache in addition to RTT cache
this LRU-like cache tracks lame nameservers, unresolvable
nameservers (to not waste resources in trying to resolve them),
and possibly other features (extension support, …)
Marek Vavruša [Fri, 5 Jun 2015 21:04:39 +0000 (23:04 +0200)]
lib/zonecut: prefetch A/AAAA records from cache
Marek Vavruša [Fri, 5 Jun 2015 12:23:35 +0000 (14:23 +0200)]
lib/cache: better handling of TXN_OPEN, cleanup
Marek Vavruša [Fri, 5 Jun 2015 07:30:21 +0000 (09:30 +0200)]
lib/resolve: fix minimized QNAME if zone cut changes
Marek Vavruša [Fri, 5 Jun 2015 15:29:44 +0000 (17:29 +0200)]
tests: improved array test
Marek Vavruša [Fri, 5 Jun 2015 15:29:30 +0000 (17:29 +0200)]
Revert "daemon/worker: ring buffer to recycle mempools"
This reverts commit
91a2945e631b673942ffe62992e03913925a63da .
Conflicts:
daemon/worker.h
Marek Vavruša [Thu, 4 Jun 2015 22:22:39 +0000 (00:22 +0200)]
Merge branch 'ns-rtt-cache'
Marek Vavruša [Thu, 4 Jun 2015 22:22:26 +0000 (00:22 +0200)]
daemon: cleanup
Marek Vavruša [Thu, 4 Jun 2015 22:10:06 +0000 (00:10 +0200)]
Merge branch 'master' into ns-rtt-cache
Marek Vavruša [Thu, 4 Jun 2015 22:06:58 +0000 (00:06 +0200)]
Merge branch 'fix-ns-badboys'
Marek Vavruša [Thu, 4 Jun 2015 22:06:45 +0000 (00:06 +0200)]
Merge branch 'master' into fix-ns-badboys
Marek Vavruša [Thu, 4 Jun 2015 22:05:11 +0000 (00:05 +0200)]
tests: cleanup in lru test
Marek Vavruša [Thu, 4 Jun 2015 21:28:48 +0000 (23:28 +0200)]
generic/array: shot myself to the foot
Marek Vavruša [Thu, 4 Jun 2015 21:27:07 +0000 (23:27 +0200)]
daemon/worker: ring buffer to recycle mempools
this avoids repetitive allocation/free cycles on load
Marek Vavruša [Thu, 4 Jun 2015 20:26:37 +0000 (22:26 +0200)]
tests: added missing lru unit test
Karel Slany [Thu, 4 Jun 2015 14:53:21 +0000 (16:53 +0200)]
Merge branch 'dnssec-integration-test'