]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
10 years agodaemon/worker: smaller starting mempool per request (16k)
Marek Vavruša [Tue, 14 Jul 2015 11:26:42 +0000 (13:26 +0200)] 
daemon/worker: smaller starting mempool per request (16k)

an average request from cache requires ~12k, an average iterative request 16-64k
this reduces allocation cost when there are now pools on the freelist

10 years agodaemon/worker: satisfy subreq sockets from freelist
Marek Vavruša [Tue, 14 Jul 2015 11:24:46 +0000 (13:24 +0200)] 
daemon/worker: satisfy subreq sockets from freelist

since the structures are ~ same size as I/O requests (udp_send_t being 60B larger than others), they all share the same freelist

10 years agodaemon/io: fix closing TCP sockets without worker knowing it
Marek Vavruša [Tue, 14 Jul 2015 11:22:38 +0000 (13:22 +0200)] 
daemon/io: fix closing TCP sockets without worker knowing it

10 years agodaemon/worker: track ipv4/ipv6 requests
Marek Vavruša [Mon, 13 Jul 2015 22:48:01 +0000 (00:48 +0200)] 
daemon/worker: track ipv4/ipv6 requests

10 years agolib/rrcache: allow replacement of expiring records
Marek Vavruša [Mon, 13 Jul 2015 22:24:51 +0000 (00:24 +0200)] 
lib/rrcache: allow replacement of expiring records

10 years agomodules/stats: 10-100-1000 ms latency tracking
Marek Vavruša [Mon, 13 Jul 2015 22:19:34 +0000 (00:19 +0200)] 
modules/stats: 10-100-1000 ms latency tracking

10 years agomodules/stats: expose frequent queries LRU turnover
Marek Vavruša [Mon, 13 Jul 2015 16:29:31 +0000 (18:29 +0200)] 
modules/stats: expose frequent queries LRU turnover

10 years agogeneric/lru: count updates in slot for item-slot stickiness
Marek Vavruša [Mon, 13 Jul 2015 16:22:50 +0000 (18:22 +0200)] 
generic/lru: count updates in slot for item-slot stickiness

10 years agomodules/stats: fixed potential crash on empty prefix
Marek Vavruša [Mon, 13 Jul 2015 14:16:27 +0000 (16:16 +0200)] 
modules/stats: fixed potential crash on empty prefix

10 years agoMerge branch 'stats-improved' into prefetch-wip
Marek Vavruša [Mon, 13 Jul 2015 13:58:13 +0000 (15:58 +0200)] 
Merge branch 'stats-improved' into prefetch-wip

10 years agomodules/stats: sample list of most frequent iterative queries
Marek Vavruša [Mon, 13 Jul 2015 13:57:20 +0000 (15:57 +0200)] 
modules/stats: sample list of most frequent iterative queries

the stats module keeps track of frequent iterative queries using
probabilistic sampling. the list includes subrequests.
it is useful for tracking over time, prefetching and anomaly reporting

10 years agomodules/stats: persistent metrics table
Marek Vavruša [Mon, 13 Jul 2015 13:37:50 +0000 (15:37 +0200)] 
modules/stats: persistent metrics table

enumerated metrics are always present (set to 0 if not used), this fixes
missing values when not measuring and provides a faster access to common
data

10 years agogeneric/lru: evictions counter to aid efficiency prediction
Marek Vavruša [Mon, 13 Jul 2015 13:35:19 +0000 (15:35 +0200)] 
generic/lru: evictions counter to aid efficiency prediction

10 years agodaemon/lua: fixed output printing
Marek Vavruša [Mon, 13 Jul 2015 13:34:37 +0000 (15:34 +0200)] 
daemon/lua: fixed output printing

10 years agotests: can execute specific tests, fixed EDNS+RR merging
Marek Vavruša [Fri, 10 Jul 2015 01:15:26 +0000 (03:15 +0200)] 
tests: can execute specific tests, fixed EDNS+RR merging

10 years agodoc: updated lib
Marek Vavruša [Thu, 9 Jul 2015 00:11:48 +0000 (02:11 +0200)] 
doc: updated lib

10 years agodoc: updated dependencies
Marek Vavruša [Thu, 9 Jul 2015 00:03:57 +0000 (02:03 +0200)] 
doc: updated dependencies

10 years agodoc: updated library doc for developers
Marek Vavruša [Wed, 8 Jul 2015 23:58:43 +0000 (01:58 +0200)] 
doc: updated library doc for developers

10 years agoMerge branch 'async-io-requests'
Marek Vavruša [Wed, 8 Jul 2015 20:49:49 +0000 (22:49 +0200)] 
Merge branch 'async-io-requests'

10 years agodaemon/worker: fixed leak
Marek Vavruša [Wed, 8 Jul 2015 16:09:59 +0000 (18:09 +0200)] 
daemon/worker: fixed leak

10 years agodaemon/worker: asynchronous I/O requests
Marek Vavruša [Wed, 8 Jul 2015 01:36:48 +0000 (03:36 +0200)] 
daemon/worker: asynchronous I/O requests

this can coalesce sends/writes in future versions of libuv

10 years agodaemon/worker: compile-time support for recvmmsg in worker buffers
Marek Vavruša [Wed, 8 Jul 2015 01:36:02 +0000 (03:36 +0200)] 
daemon/worker: compile-time support for recvmmsg in worker buffers

10 years agolib: faster rdata iterators
Marek Vavruša [Tue, 7 Jul 2015 23:28:53 +0000 (01:28 +0200)] 
lib: faster rdata iterators

10 years agodaemon: worker can accept multiple pkts, cleanup
Marek Vavruša [Tue, 7 Jul 2015 21:43:05 +0000 (23:43 +0200)] 
daemon: worker can accept multiple pkts, cleanup

10 years agodaemon: fork earlier, keep instance id in 'worker.id'
Marek Vavruša [Tue, 7 Jul 2015 21:39:50 +0000 (23:39 +0200)] 
daemon: fork earlier, keep instance id in 'worker.id'

this fixes an issue with libuv sometimes crashing with mismatching number
of descriptors with REUSEPORT

10 years agodoc: fixed typo
Marek Vavruša [Mon, 6 Jul 2015 14:17:06 +0000 (16:17 +0200)] 
doc: fixed typo

10 years agoMerge branch 'prefetch-wip'
Marek Vavruša [Mon, 6 Jul 2015 14:13:48 +0000 (16:13 +0200)] 
Merge branch 'prefetch-wip'

10 years agodoc: added documentation for worker api
Marek Vavruša [Mon, 6 Jul 2015 14:13:09 +0000 (16:13 +0200)] 
doc: added documentation for worker api

10 years agomodules/prefetch: fixed lua error on bad queries, iterative
Marek Vavruša [Mon, 6 Jul 2015 00:06:41 +0000 (02:06 +0200)] 
modules/prefetch: fixed lua error on bad queries, iterative

10 years agolayer/rrcache: cache authority only if chasing referral/cname
Marek Vavruša [Mon, 6 Jul 2015 00:02:55 +0000 (02:02 +0200)] 
layer/rrcache: cache authority only if chasing referral/cname

10 years agomodules/prefetch: basic prefetching of frequently used records
Marek Vavruša [Sun, 5 Jul 2015 20:14:10 +0000 (22:14 +0200)] 
modules/prefetch: basic prefetching of frequently used records

10 years agomodules: api fixups
Marek Vavruša [Sun, 5 Jul 2015 20:13:07 +0000 (22:13 +0200)] 
modules: api fixups

10 years agodaemon/bindings: cleanup, checking, rrclass wrapper
Marek Vavruša [Sun, 5 Jul 2015 20:11:13 +0000 (22:11 +0200)] 
daemon/bindings: cleanup, checking, rrclass wrapper

10 years agodaemon/bindings: Lua API for worker (resolve, stats)
Marek Vavruša [Sun, 5 Jul 2015 20:09:48 +0000 (22:09 +0200)] 
daemon/bindings: Lua API for worker (resolve, stats)

10 years agolib/cache: track expiring records in cache
Marek Vavruša [Sun, 5 Jul 2015 20:07:18 +0000 (22:07 +0200)] 
lib/cache: track expiring records in cache

10 years agoprefetch wip
Marek Vavruša [Thu, 2 Jul 2015 20:09:22 +0000 (22:09 +0200)] 
prefetch wip

10 years agolib/utils: fixed recycle on already filled packet
Marek Vavruša [Fri, 3 Jul 2015 22:25:38 +0000 (00:25 +0200)] 
lib/utils: fixed recycle on already filled packet

10 years agobindings: pkt:get(section,id) wrapper
Marek Vavruša [Thu, 2 Jul 2015 20:09:01 +0000 (22:09 +0200)] 
bindings: pkt:get(section,id) wrapper

10 years agolib: cleanup
Marek Vavruša [Fri, 3 Jul 2015 22:01:12 +0000 (00:01 +0200)] 
lib: cleanup

10 years agoblock: improved suffix match, added doc
Marek Vavruša [Fri, 3 Jul 2015 14:27:34 +0000 (16:27 +0200)] 
block: improved suffix match, added doc

10 years agomodules+bindings: cleanup
Marek Vavruša [Fri, 3 Jul 2015 14:27:12 +0000 (16:27 +0200)] 
modules+bindings: cleanup

10 years agoMerge branch 'tests_wrapped' into 'master'
Marek Vavruša [Fri, 3 Jul 2015 12:08:34 +0000 (14:08 +0200)] 
Merge branch 'tests_wrapped' into 'master'

Tests wrapped

See merge request !15

10 years agotests: style fixes, notes
Marek Vavruša [Fri, 3 Jul 2015 11:58:51 +0000 (13:58 +0200)] 
tests: style fixes, notes

10 years agoscripts: updated broken Lua build on some linkers
Marek Vavruša [Fri, 3 Jul 2015 11:39:22 +0000 (13:39 +0200)] 
scripts: updated broken Lua build on some linkers

10 years agoscripts: updated broken Lua build on some linkers
Marek Vavruša [Fri, 3 Jul 2015 11:39:22 +0000 (13:39 +0200)] 
scripts: updated broken Lua build on some linkers

10 years agotests: integration tests with wrapped syscalls
Grigorii Demidov [Fri, 3 Jul 2015 11:31:05 +0000 (13:31 +0200)] 
tests: integration tests with wrapped syscalls

10 years agobuild: placed ldflags after libraries (may be static)
Marek Vavruša [Fri, 3 Jul 2015 11:21:13 +0000 (13:21 +0200)] 
build: placed ldflags after libraries (may be static)

10 years agoMerge branch 'hive-wip'
Marek Vavruša [Tue, 30 Jun 2015 22:34:17 +0000 (00:34 +0200)] 
Merge branch 'hive-wip'

10 years agodoc: documented forked mode
Marek Vavruša [Tue, 30 Jun 2015 22:33:36 +0000 (00:33 +0200)] 
doc: documented forked mode

10 years agodaemon/bindings: missing brk in wrapped lookup tables
Marek Vavruša [Mon, 29 Jun 2015 23:53:25 +0000 (01:53 +0200)] 
daemon/bindings: missing brk in wrapped lookup tables

10 years agolib: helping compiler with early returns
Marek Vavruša [Mon, 29 Jun 2015 23:08:44 +0000 (01:08 +0200)] 
lib: helping compiler with early returns

10 years agodaemon/main: cleanup, forking and remote tty
Marek Vavruša [Mon, 29 Jun 2015 22:27:00 +0000 (00:27 +0200)] 
daemon/main: cleanup, forking and remote tty

when the daemon starts in non-interactive mode, it creates a pipe in the ‘tty/<pid>’ which can be used to interact with it remotely - much wow

e.g. $ socat - UNIX-CONNECT:tty/38284

10 years agocontrib/ccan: added ‘asprintf’ compatibility
Marek Vavruša [Mon, 29 Jun 2015 22:25:16 +0000 (00:25 +0200)] 
contrib/ccan: added ‘asprintf’ compatibility

10 years agodaemon: forking wip
Marek Vavruša [Mon, 29 Jun 2015 19:27:13 +0000 (21:27 +0200)] 
daemon: forking wip

10 years agodaemon/network: enabled Linux-style SO_REUSEPORT if supported
Marek Vavruša [Thu, 25 Jun 2015 17:09:00 +0000 (19:09 +0200)] 
daemon/network: enabled Linux-style SO_REUSEPORT if supported

10 years agoMerge branch 'zonecut-filter-addrs'
Marek Vavruša [Mon, 29 Jun 2015 01:00:55 +0000 (03:00 +0200)] 
Merge branch 'zonecut-filter-addrs'

10 years agolib/zonecut: filter ANY and loopback addresses
Marek Vavruša [Mon, 29 Jun 2015 01:00:44 +0000 (03:00 +0200)] 
lib/zonecut: filter ANY and loopback addresses

10 years agolayer/iterate: workaround for leaf NS that can only do lame NODATA answer
Marek Vavruša [Sun, 28 Jun 2015 23:56:23 +0000 (01:56 +0200)] 
layer/iterate: workaround for leaf NS that can only do lame NODATA answer

10 years agolayer/rrcache: re-enabled caching of volatile records
Marek Vavruša [Sun, 28 Jun 2015 23:55:24 +0000 (01:55 +0200)] 
layer/rrcache: re-enabled caching of volatile records

10 years agolib/resolve: fixed aborted rec when all IPv6 NS were bad
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

10 years agolayer/iterate: don't update cut if we get m10n referral/CNAME
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

10 years agolib: turned some knobs
Marek Vavruša [Sat, 27 Jun 2015 19:51:36 +0000 (21:51 +0200)] 
lib: turned some knobs

10 years agolayer/iterate: work around auths hinting CNAME authority
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)

10 years agolayer/iterate: work around broken auths that rewrite QNAME
Marek Vavruša [Sat, 27 Jun 2015 18:44:52 +0000 (20:44 +0200)] 
layer/iterate: work around broken auths that rewrite QNAME

10 years agomodules/hints: fixed AAAA processing (swapped rclass/rtype)
Marek Vavruša [Sat, 27 Jun 2015 18:17:11 +0000 (20:17 +0200)] 
modules/hints: fixed AAAA processing (swapped rclass/rtype)

10 years agolayer/rrcache: small ttl check before merging
Marek Vavruša [Sat, 27 Jun 2015 15:33:40 +0000 (17:33 +0200)] 
layer/rrcache: small ttl check before merging

10 years agobuild: fixed travis
Marek Vavruša [Fri, 26 Jun 2015 12:23:28 +0000 (14:23 +0200)] 
build: fixed travis

10 years agoMerge branch 'dns-0x20'
Marek Vavruša [Thu, 25 Jun 2015 15:59:50 +0000 (17:59 +0200)] 
Merge branch 'dns-0x20'

10 years agolib/rplan: lowercase snames, fix hints
Marek Vavruša [Thu, 25 Jun 2015 09:43:09 +0000 (11:43 +0200)] 
lib/rplan: lowercase snames, fix hints

10 years agolayer/iterate: do not check 0x20 if safemode or cached
Marek Vavruša [Wed, 24 Jun 2015 19:22:54 +0000 (21:22 +0200)] 
layer/iterate: do not check 0x20 if safemode or cached

10 years agodaemon/worker: less frequent decommit
Marek Vavruša [Wed, 24 Jun 2015 19:22:32 +0000 (21:22 +0200)] 
daemon/worker: less frequent decommit

10 years agolayer/iterate: do DNS 0x20 unless in safe mode
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

10 years agotests/pydnstest: add support for DNS 0x20
Marek Vavruša [Wed, 24 Jun 2015 17:26:48 +0000 (19:26 +0200)] 
tests/pydnstest: add support for DNS 0x20

10 years agolib/cache: cleanup
Marek Vavruša [Wed, 24 Jun 2015 15:20:09 +0000 (17:20 +0200)] 
lib/cache: cleanup

10 years agolib: cleanup
Marek Vavruša [Tue, 23 Jun 2015 00:32:08 +0000 (02:32 +0200)] 
lib: cleanup

10 years agolib/zonecut: fixed _copy() when addr pack is empty
Marek Vavruša [Tue, 23 Jun 2015 00:31:58 +0000 (02:31 +0200)] 
lib/zonecut: fixed _copy() when addr pack is empty

10 years agolib/resolve: top-down search if NS is at current zone cut (not backtrace)
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)

10 years agolib/nsrep: be more aggresive with TCP for broken delegations
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

10 years agodaemon/worker: trim on pool rollover
Marek Vavruša [Mon, 22 Jun 2015 17:13:40 +0000 (19:13 +0200)] 
daemon/worker: trim on pool rollover

10 years agomodules/block: block ANY type example
Marek Vavruša [Mon, 22 Jun 2015 11:23:43 +0000 (13:23 +0200)] 
modules/block: block ANY type example

10 years agomodules/block: updated doc
Marek Vavruša [Mon, 22 Jun 2015 11:17:29 +0000 (13:17 +0200)] 
modules/block: updated doc

10 years agoMerge branch 'block-module'
Marek Vavruša [Mon, 22 Jun 2015 11:08:53 +0000 (13:08 +0200)] 
Merge branch 'block-module'

10 years agomodules/block: tweaks here and there to please tracer
Marek Vavruša [Mon, 22 Jun 2015 00:44:46 +0000 (02:44 +0200)] 
modules/block: tweaks here and there to please tracer

10 years agolib/utils: packet recycling (keeps header, doesn’t free memory)
Marek Vavruša [Mon, 22 Jun 2015 00:43:52 +0000 (02:43 +0200)] 
lib/utils: packet recycling (keeps header, doesn’t free memory)

10 years agodaemon/bindings: no userdata for rplan/query
Marek Vavruša [Mon, 22 Jun 2015 00:27:33 +0000 (02:27 +0200)] 
daemon/bindings: no userdata for rplan/query

10 years agomodules/block: common suffix match
Marek Vavruša [Sun, 21 Jun 2015 10:31:20 +0000 (12:31 +0200)] 
modules/block: common suffix match

10 years agodaemon/ffi: skip layer calls in invalid states
Marek Vavruša [Sun, 21 Jun 2015 09:48:38 +0000 (11:48 +0200)] 
daemon/ffi: skip layer calls in invalid states

10 years agomodules/block: added Aho-Corasick suffix match, pattern match, doc
Marek Vavruša [Sat, 20 Jun 2015 21:01:27 +0000 (23:01 +0200)] 
modules/block: added Aho-Corasick suffix match, pattern match, doc

10 years agodaemon/bindings: wrapped rrtypes, fixed pkt:add()
Marek Vavruša [Sat, 20 Jun 2015 21:00:53 +0000 (23:00 +0200)] 
daemon/bindings: wrapped rrtypes, fixed pkt:add()

10 years agodaemon/bindings: wip on query and packet bindings
Marek Vavruša [Tue, 16 Jun 2015 00:09:53 +0000 (02:09 +0200)] 
daemon/bindings: wip on query and packet bindings

10 years agolib/utils: moved isaac cspring here
Marek Vavruša [Tue, 16 Jun 2015 00:09:15 +0000 (02:09 +0200)] 
lib/utils: moved isaac cspring here

10 years agolib/rplan: stringified query flags
Marek Vavruša [Tue, 16 Jun 2015 00:08:46 +0000 (02:08 +0200)] 
lib/rplan: stringified query flags

10 years agodaemon/bindings: some basic Lua interface to rplan and query
Marek Vavruša [Mon, 15 Jun 2015 20:53:07 +0000 (22:53 +0200)] 
daemon/bindings: some basic Lua interface to rplan and query

10 years agodaemon/bindings: fixed Lua <=5.1 compat and bad cast
Marek Vavruša [Mon, 15 Jun 2015 16:43:22 +0000 (18:43 +0200)] 
daemon/bindings: fixed Lua <=5.1 compat and bad cast

10 years agodaemon: fixed leaks and bad ffi module cleanup
Marek Vavruša [Mon, 15 Jun 2015 16:21:57 +0000 (18:21 +0200)] 
daemon: fixed leaks and bad ffi module cleanup

10 years agodaemon/bindings: Lua 5.0/5.1 compat
Marek Vavruša [Mon, 15 Jun 2015 08:34:57 +0000 (10:34 +0200)] 
daemon/bindings: Lua 5.0/5.1 compat

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