]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
10 years agomodules/block: block policies for queries
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)

10 years agodaemon/bindings: minimal Lua interface to packet and DNS primitives (wip)
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)

10 years agodaemon/ffimodule: ignore undefined layers on load
Marek Vavruša [Mon, 15 Jun 2015 08:25:42 +0000 (10:25 +0200)] 
daemon/ffimodule: ignore undefined layers on load

10 years agodaemon/bindings: cleanup
Marek Vavruša [Mon, 15 Jun 2015 08:25:05 +0000 (10:25 +0200)] 
daemon/bindings: cleanup

10 years agodaemon/worker: argh
Marek Vavruša [Sat, 13 Jun 2015 20:35:46 +0000 (22:35 +0200)] 
daemon/worker: argh

10 years agoMerge branch 'root-hints'
Marek Vavruša [Sat, 13 Jun 2015 17:28:18 +0000 (19:28 +0200)] 
Merge branch 'root-hints'

10 years agomodules/hints: configurable root hints, part of module
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

10 years agodaemon/engine: convert Lua tables to JSON for prop calls
Marek Vavruša [Sat, 13 Jun 2015 17:25:17 +0000 (19:25 +0200)] 
daemon/engine: convert Lua tables to JSON for prop calls

10 years agodaemon/bindings: return top to previous after timer
Marek Vavruša [Sat, 13 Jun 2015 17:23:54 +0000 (19:23 +0200)] 
daemon/bindings: return top to previous after timer

10 years agodocker: fixed broken musl libc + stack protector
Marek Vavruša [Sat, 13 Jun 2015 13:22:27 +0000 (15:22 +0200)] 
docker: fixed broken musl libc + stack protector

10 years agoMerge branch 'faster-request-proc'
Marek Vavruša [Sat, 13 Jun 2015 12:26:43 +0000 (14:26 +0200)] 
Merge branch 'faster-request-proc'

10 years agolayer/rrcache: work around unreclaimable pages on clear
Marek Vavruša [Fri, 12 Jun 2015 22:19:42 +0000 (00:19 +0200)] 
layer/rrcache: work around unreclaimable pages on clear

10 years agomodules/redis: ping server if disconnected
Marek Vavruša [Wed, 10 Jun 2015 23:26:23 +0000 (01:26 +0200)] 
modules/redis: ping server if disconnected

10 years agomodules/redis: missing header
Marek Vavruša [Wed, 10 Jun 2015 23:11:32 +0000 (01:11 +0200)] 
modules/redis: missing header

10 years agomodules/cachectl: fixed cachectl, optional pruning granularity
Marek Vavruša [Wed, 10 Jun 2015 22:00:23 +0000 (00:00 +0200)] 
modules/cachectl: fixed cachectl, optional pruning granularity

10 years agoMerge branch 'cache-redis' into faster-request-proc
Marek Vavruša [Wed, 10 Jun 2015 21:48:18 +0000 (23:48 +0200)] 
Merge branch 'cache-redis' into faster-request-proc

10 years agolua/sandbox: default cache backend/size
Marek Vavruša [Wed, 10 Jun 2015 21:47:16 +0000 (23:47 +0200)] 
lua/sandbox: default cache backend/size

10 years agomodules/redis: implement basic hiredis storage backend
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

10 years agotravis: cut slack some slack
Marek Vavruša [Wed, 10 Jun 2015 13:02:24 +0000 (15:02 +0200)] 
travis: cut slack some slack

10 years agodaemon/worker: malloc.h is not present on OS X
Marek Vavruša [Wed, 10 Jun 2015 00:36:09 +0000 (02:36 +0200)] 
daemon/worker: malloc.h is not present on OS X

10 years agolib: cleanup
Marek Vavruša [Tue, 9 Jun 2015 23:52:24 +0000 (01:52 +0200)] 
lib: cleanup

10 years agolib/lru: args checking
Marek Vavruša [Tue, 9 Jun 2015 23:36:06 +0000 (01:36 +0200)] 
lib/lru: args checking

10 years agolayer/iterate: don't even try to minimize root
Marek Vavruša [Tue, 9 Jun 2015 20:22:44 +0000 (22:22 +0200)] 
layer/iterate: don't even try to minimize root

10 years agomodules/cachectl: count pruned towards deletes
Marek Vavruša [Tue, 9 Jun 2015 18:31:50 +0000 (20:31 +0200)] 
modules/cachectl: count pruned towards deletes

10 years agolib/zonecut: check for parent of root
Marek Vavruša [Tue, 9 Jun 2015 18:31:36 +0000 (20:31 +0200)] 
lib/zonecut: check for parent of root

10 years agomodules/cachectl: incremental pruning, can clear 64k items in one go
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

10 years agolib/cache: cache fixes, use substruct instead of pointer aliasing
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

10 years agolayer/pktcache: treat all cache insert errors as errors
Marek Vavruša [Tue, 9 Jun 2015 17:06:35 +0000 (19:06 +0200)] 
layer/pktcache: treat all cache insert errors as errors

10 years agodaemon/worker: decommit memory every 1000nth pool delete
Marek Vavruša [Tue, 9 Jun 2015 17:06:16 +0000 (19:06 +0200)] 
daemon/worker: decommit memory every 1000nth pool delete

10 years agocontrib: ccan/json possible uninitialized use
Marek Vavruša [Mon, 8 Jun 2015 00:08:18 +0000 (02:08 +0200)] 
contrib: ccan/json possible uninitialized use

10 years agodaemon: allocate worker from pool, cleanup
Marek Vavruša [Mon, 8 Jun 2015 00:03:58 +0000 (02:03 +0200)] 
daemon: allocate worker from pool, cleanup

10 years agotests/test_cache: dladdr is broken for local syms
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

10 years agobuild: brought back PIC for modules
Marek Vavruša [Sun, 7 Jun 2015 21:51:42 +0000 (23:51 +0200)] 
build: brought back PIC for modules

10 years agodaemon/worker: keep freelist of mempools for recycling
Marek Vavruša [Sun, 7 Jun 2015 21:49:36 +0000 (23:49 +0200)] 
daemon/worker: keep freelist of mempools for recycling

10 years agoMerge branch 'build-changes-q2' into faster-request-proc
Marek Vavruša [Sun, 7 Jun 2015 21:41:26 +0000 (23:41 +0200)] 
Merge branch 'build-changes-q2' into faster-request-proc

10 years agocontrib: use embedded ucw/mempool instead of libknot internals
Marek Vavruša [Sun, 7 Jun 2015 21:40:09 +0000 (23:40 +0200)] 
contrib: use embedded ucw/mempool instead of libknot internals

10 years agocontrib/ucw: use stdlib alloc routines instead of xmalloc/xfree
Marek Vavruša [Sun, 7 Jun 2015 21:39:31 +0000 (23:39 +0200)] 
contrib/ucw: use stdlib alloc routines instead of xmalloc/xfree

10 years agocontrib: added mempools from libucw
Marek Vavruša [Sun, 7 Jun 2015 21:14:41 +0000 (23:14 +0200)] 
contrib: added mempools from libucw

10 years agomodules/kmemcached: missing documentation, doc cleanup
Marek Vavruša [Sun, 7 Jun 2015 20:48:46 +0000 (22:48 +0200)] 
modules/kmemcached: missing documentation, doc cleanup

10 years agobuild: renamed libkresolve => libkres, kresolved => kresd
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

10 years agobuild: allow library to be built statically
Marek Vavruša [Sun, 7 Jun 2015 20:15:57 +0000 (22:15 +0200)] 
build: allow library to be built statically

10 years agolayer/rrcache: rewritten RR merging code
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’

10 years agolayer/*cache: lookup only on first iteration
Marek Vavruša [Sun, 7 Jun 2015 12:15:38 +0000 (14:15 +0200)] 
layer/*cache: lookup only on first iteration

10 years agolayer/iterate: glue may be in ANSWER, cleanup
Marek Vavruša [Sun, 7 Jun 2015 12:15:15 +0000 (14:15 +0200)] 
layer/iterate: glue may be in ANSWER, cleanup

10 years agolib/resolve: do not reelect NS after addr resolution
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

10 years agolib/cache: return records that are going to be expired next second
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

10 years agolib/cache: save cache lookup if record is stale and not missing
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

10 years agolib/nsrep: NS reputation cache in addition to RTT cache
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, …)

10 years agolib/zonecut: prefetch A/AAAA records from cache
Marek Vavruša [Fri, 5 Jun 2015 21:04:39 +0000 (23:04 +0200)] 
lib/zonecut: prefetch A/AAAA records from cache

10 years agolib/cache: better handling of TXN_OPEN, cleanup
Marek Vavruša [Fri, 5 Jun 2015 12:23:35 +0000 (14:23 +0200)] 
lib/cache: better handling of TXN_OPEN, cleanup

10 years agolib/resolve: fix minimized QNAME if zone cut changes
Marek Vavruša [Fri, 5 Jun 2015 07:30:21 +0000 (09:30 +0200)] 
lib/resolve: fix minimized QNAME if zone cut changes

10 years agotests: improved array test
Marek Vavruša [Fri, 5 Jun 2015 15:29:44 +0000 (17:29 +0200)] 
tests: improved array test

10 years agoRevert "daemon/worker: ring buffer to recycle mempools"
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

10 years agoMerge branch 'ns-rtt-cache'
Marek Vavruša [Thu, 4 Jun 2015 22:22:39 +0000 (00:22 +0200)] 
Merge branch 'ns-rtt-cache'

10 years agodaemon: cleanup
Marek Vavruša [Thu, 4 Jun 2015 22:22:26 +0000 (00:22 +0200)] 
daemon: cleanup

10 years agoMerge branch 'master' into ns-rtt-cache
Marek Vavruša [Thu, 4 Jun 2015 22:10:06 +0000 (00:10 +0200)] 
Merge branch 'master' into ns-rtt-cache

10 years agoMerge branch 'fix-ns-badboys'
Marek Vavruša [Thu, 4 Jun 2015 22:06:58 +0000 (00:06 +0200)] 
Merge branch 'fix-ns-badboys'

10 years agoMerge branch 'master' into fix-ns-badboys
Marek Vavruša [Thu, 4 Jun 2015 22:06:45 +0000 (00:06 +0200)] 
Merge branch 'master' into fix-ns-badboys

10 years agotests: cleanup in lru test
Marek Vavruša [Thu, 4 Jun 2015 22:05:11 +0000 (00:05 +0200)] 
tests: cleanup in lru test

10 years agogeneric/array: shot myself to the foot
Marek Vavruša [Thu, 4 Jun 2015 21:28:48 +0000 (23:28 +0200)] 
generic/array: shot myself to the foot

10 years agodaemon/worker: ring buffer to recycle mempools
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

10 years agotests: added missing lru unit test
Marek Vavruša [Thu, 4 Jun 2015 20:26:37 +0000 (22:26 +0200)] 
tests: added missing lru unit test

10 years agoMerge branch 'dnssec-integration-test'
Karel Slany [Thu, 4 Jun 2015 14:53:21 +0000 (16:53 +0200)] 
Merge branch 'dnssec-integration-test'

10 years agotests: converting algorithm identifier to number in DS records in .rpl
Karel Slany [Thu, 4 Jun 2015 14:49:30 +0000 (16:49 +0200)] 
tests: converting algorithm identifier to number in DS records in .rpl

The parsing of *.rpl files failed on reading DS records because the
algorithm identifier is a string rather than a number.

10 years agolib/resolve: faster subrequests zonecut lookup
Marek Vavruša [Thu, 4 Jun 2015 00:36:17 +0000 (02:36 +0200)] 
lib/resolve: faster subrequests zonecut lookup

if a name server is missing address, it requires launching a recursive query to discover it - starting from root
now however it can start from either closest covering zonecut in cache if it isn’t a subdomain of current zone cut, or as a parent of current zone cut

10 years agotests/integration: added RTT LRU cache to tests
Marek Vavruša [Thu, 4 Jun 2015 00:34:14 +0000 (02:34 +0200)] 
tests/integration: added RTT LRU cache to tests

10 years agolib/nsrep: lower bound on rtt, optional throttling
Marek Vavruša [Thu, 4 Jun 2015 00:33:11 +0000 (02:33 +0200)] 
lib/nsrep: lower bound on rtt, optional throttling

when a NS is in the TIMEOUT, it can’t be autoselected by default but only probed after a successful dice roll - however in some scenarios we’d like to probe timeouting servers more thoroughly

10 years agolayer/pktcache: fixed shadowed variable, cleanup
Marek Vavruša [Wed, 3 Jun 2015 22:42:33 +0000 (00:42 +0200)] 
layer/pktcache: fixed shadowed variable, cleanup

10 years agolib/cache: improve cache materialization
Marek Vavruša [Wed, 3 Jun 2015 22:42:06 +0000 (00:42 +0200)] 
lib/cache: improve cache materialization

10 years agolayer/iterate: cleanup, use compr hints
Marek Vavruša [Wed, 3 Jun 2015 22:41:01 +0000 (00:41 +0200)] 
layer/iterate: cleanup, use compr hints

10 years agolib/nsrep: 5% chance of probing for timeouted servers
Marek Vavruša [Wed, 3 Jun 2015 21:03:20 +0000 (23:03 +0200)] 
lib/nsrep: 5% chance of probing for timeouted servers

10 years agolayer/iterate: mark answers with SOA proof with AA=1
Marek Vavruša [Wed, 3 Jun 2015 21:02:42 +0000 (23:02 +0200)] 
layer/iterate: mark answers with SOA proof with AA=1

10 years agolib: cleanup, lowered default timeout to 3s
Marek Vavruša [Wed, 3 Jun 2015 01:08:57 +0000 (03:08 +0200)] 
lib: cleanup, lowered default timeout to 3s

10 years agolib/resolve: impose limits on NS election iterations
Marek Vavruša [Wed, 3 Jun 2015 00:39:13 +0000 (02:39 +0200)] 
lib/resolve: impose limits on NS election iterations

10 years agolib/nsrep: probabilistic NS probing strategy
Marek Vavruša [Tue, 2 Jun 2015 08:34:38 +0000 (10:34 +0200)] 
lib/nsrep: probabilistic NS probing strategy

simplified bee foraging strategy, by default each query goes to the most rewarding NS
however with a chance proportional to the NS RTT, a server may be probed even if it isn’t the most rewarding

10 years agotests: test_cache with non-global api
Grigorii Demidov [Tue, 2 Jun 2015 09:22:51 +0000 (11:22 +0200)] 
tests: test_cache with non-global api

10 years agotests: avoiding warnings
Grigorii Demidov [Tue, 2 Jun 2015 09:16:26 +0000 (11:16 +0200)] 
tests: avoiding warnings

10 years agotests: avoiding warnings
Grigorii Demidov [Tue, 2 Jun 2015 09:00:47 +0000 (11:00 +0200)] 
tests: avoiding warnings

10 years agotests: avoiding warnings
Grigorii Demidov [Tue, 2 Jun 2015 08:43:51 +0000 (10:43 +0200)] 
tests: avoiding warnings

10 years agolayer/rrcache: refuse very short TTLs
Marek Vavruša [Tue, 2 Jun 2015 08:32:00 +0000 (10:32 +0200)] 
layer/rrcache: refuse very short TTLs

prevents pointless caching of TTL={0,1} records

10 years agolayer/iterate: ignore glueless-but-mandatory NSs
Marek Vavruša [Tue, 2 Jun 2015 08:31:30 +0000 (10:31 +0200)] 
layer/iterate: ignore glueless-but-mandatory NSs

previously the NS address list was wiped out, this prevents them from being added in the first place

10 years agolayer/iterate: accept REFUSED as an answer
Marek Vavruša [Tue, 2 Jun 2015 08:30:26 +0000 (10:30 +0200)] 
layer/iterate: accept REFUSED as an answer

some servers break qname m12n by sending REFUSED, this accepts such answer and requeries with m12n turned off

10 years agodaemon/engine: enable NS reputation cache by default
Marek Vavruša [Mon, 1 Jun 2015 08:50:36 +0000 (10:50 +0200)] 
daemon/engine: enable NS reputation cache by default

10 years agotests: cache_test with non-global api
Grigorii Demidov [Tue, 2 Jun 2015 08:20:07 +0000 (10:20 +0200)] 
tests: cache_test with non-global api

10 years agoMerge branch 'cache-memcached'
Grigorii Demidov [Mon, 1 Jun 2015 10:31:51 +0000 (12:31 +0200)] 
Merge branch 'cache-memcached'

10 years agotests: test_cache.c conflict fixed
Grigorii Demidov [Mon, 1 Jun 2015 10:18:33 +0000 (12:18 +0200)] 
tests: test_cache.c conflict fixed

10 years agotests: test cache with new api scheme
Grigorii Demidov [Mon, 1 Jun 2015 09:47:50 +0000 (11:47 +0200)] 
tests: test cache with new api scheme

10 years agolib/nsrep: persistent NS RTT/reputation tracking
Marek Vavruša [Mon, 1 Jun 2015 08:50:13 +0000 (10:50 +0200)] 
lib/nsrep: persistent NS RTT/reputation tracking

score has now meaning of ‘RTT’, maximum RTT is 10s
which is also the penalty for timeout
unknown servers are favorized as 10ms servers to
encourage resolver to try them out, if they contain
unknown glue they are most favourable

10 years agogenerics: added LRU-like lossy hash table
Marek Vavruša [Mon, 1 Jun 2015 08:47:16 +0000 (10:47 +0200)] 
generics: added LRU-like lossy hash table

10 years agocontrib: included murmurhash3 (public domain)
Marek Vavruša [Mon, 1 Jun 2015 08:46:47 +0000 (10:46 +0200)] 
contrib: included murmurhash3 (public domain)

10 years agotests: test cache with new api scheme
Grigorii Demidov [Mon, 1 Jun 2015 07:45:51 +0000 (09:45 +0200)] 
tests: test cache with new api scheme

10 years agolayer/iterate: do not presume AA=1 is really authoritative
Marek Vavruša [Fri, 29 May 2015 21:55:33 +0000 (23:55 +0200)] 
layer/iterate: do not presume AA=1 is really authoritative

10 years agolayer/pktcache: do not take TTLMIN into account
Marek Vavruša [Fri, 29 May 2015 21:54:45 +0000 (23:54 +0200)] 
layer/pktcache: do not take TTLMIN into account

10 years agoMerge branch 'cache-api-noglobal' into cache-memcached-wip
Marek Vavruša [Fri, 29 May 2015 16:25:50 +0000 (18:25 +0200)] 
Merge branch 'cache-api-noglobal' into cache-memcached-wip

10 years agomodules: fixed kmemcached after api change
Marek Vavruša [Fri, 29 May 2015 16:24:34 +0000 (18:24 +0200)] 
modules: fixed kmemcached after api change

10 years agotests: added test for previous case (bad glue, keep suggesting self)
Marek Vavruša [Fri, 29 May 2015 16:24:18 +0000 (18:24 +0200)] 
tests: added test for previous case (bad glue, keep suggesting self)

10 years agolib/zonecut: check for duplicate address records
Marek Vavruša [Fri, 29 May 2015 16:15:41 +0000 (18:15 +0200)] 
lib/zonecut: check for duplicate address records

10 years agogeneric/pack: support for lookup
Marek Vavruša [Fri, 29 May 2015 16:15:08 +0000 (18:15 +0200)] 
generic/pack: support for lookup

10 years agoMerge branch 'cache-api-noglobal-wip' of gitlab.labs.nic.cz:knot/resolver into cache...
Grigorii Demidov [Fri, 29 May 2015 11:12:47 +0000 (13:12 +0200)] 
Merge branch 'cache-api-noglobal-wip' of gitlab.labs.nic.cz:knot/resolver into cache-api-noglobal-wip

10 years agolib\cache: removing of global instance of cache storage api
Grigorii Demidov [Fri, 29 May 2015 11:12:17 +0000 (13:12 +0200)] 
lib\cache: removing of global instance of cache storage api