]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
11 years agoMerge branch 'master' into cache-rrsig-wip
Karel Slany [Tue, 4 Aug 2015 10:46:09 +0000 (12:46 +0200)] 
Merge branch 'master' into cache-rrsig-wip

11 years agolayer/validate: basic NSEC exact match non-existence check
Karel Slany [Tue, 4 Aug 2015 10:34:38 +0000 (12:34 +0200)] 
layer/validate: basic NSEC exact match non-existence check

11 years agotests: libfaketime.dylib were added
Grigorii Demidov [Tue, 4 Aug 2015 09:25:12 +0000 (11:25 +0200)] 
tests: libfaketime.dylib were added

11 years agotests: single-threaded version
Grigorii Demidov [Tue, 4 Aug 2015 08:53:32 +0000 (10:53 +0200)] 
tests: single-threaded version

11 years agolib: build compat
Marek Vavruša [Mon, 3 Aug 2015 16:05:19 +0000 (18:05 +0200)] 
lib: build compat

11 years agolib/resolve: no pointless cleanup (mempool allocated)
Marek Vavruša [Mon, 3 Aug 2015 15:45:53 +0000 (17:45 +0200)] 
lib/resolve: no pointless cleanup (mempool allocated)

11 years agoMerge branch 'lua-fastcall'
Marek Vavruša [Mon, 3 Aug 2015 15:08:28 +0000 (17:08 +0200)] 
Merge branch 'lua-fastcall'

11 years agodaemon: cleanup
Marek Vavruša [Mon, 3 Aug 2015 15:08:15 +0000 (17:08 +0200)] 
daemon: cleanup

11 years agolayer/validate: Signed data reconstruction detects wild cards.
Karel Slany [Mon, 3 Aug 2015 13:55:20 +0000 (15:55 +0200)] 
layer/validate: Signed data reconstruction detects wild cards.

11 years agobuild: disabled default debug messages, optional with -DWITH_DEBUG
Marek Vavruša [Mon, 3 Aug 2015 12:35:07 +0000 (14:35 +0200)] 
build: disabled default debug messages, optional with -DWITH_DEBUG

this is a small step for me, but a huge step for resolver

11 years agolib/utils: common integer time diff (msecs)
Marek Vavruša [Mon, 3 Aug 2015 12:34:23 +0000 (14:34 +0200)] 
lib/utils: common integer time diff (msecs)

based on _BSD_SOURCE timersub macro

11 years agolib/resolve: count early finished requests as done
Marek Vavruša [Mon, 3 Aug 2015 12:33:00 +0000 (14:33 +0200)] 
lib/resolve: count early finished requests as done

this fixes stats for canceled/blocked or forwarded queries without
started name resolution

11 years agobuild: build LuaJIT by default
Marek Vavruša [Mon, 3 Aug 2015 11:44:18 +0000 (13:44 +0200)] 
build: build LuaJIT by default

this also fixes static linking missing a math library

11 years agomodules/block: reworked for new FFI bindings
Marek Vavruša [Mon, 3 Aug 2015 02:00:26 +0000 (04:00 +0200)] 
modules/block: reworked for new FFI bindings

11 years agodaemon/bindings: replaced old Lua/C bindings with LuaJIT FFI
Marek Vavruša [Mon, 3 Aug 2015 02:00:01 +0000 (04:00 +0200)] 
daemon/bindings: replaced old Lua/C bindings with LuaJIT FFI

this is a first step of leaning towards LuaJIT.
the FFI bindings are much faster, simpler and don’t abort traces

daemon core scripting engine is still going to support interpreted Lua, but modules requiring library bindings (such as ‘block’) will require LuaJIT for FFI

11 years agodaemon/ffimodule: simplified pointer to layer capi
Marek Vavruša [Sun, 2 Aug 2015 21:28:42 +0000 (23:28 +0200)] 
daemon/ffimodule: simplified pointer to layer capi

previously the pointer for C layer API was stored in Lua, it is stored directly in module data now for fast access. this doesn’t disturb VM when processing requests.

11 years agolib/resolve: use begin layer for resolution start
Marek Vavruša [Sun, 2 Aug 2015 21:27:21 +0000 (23:27 +0200)] 
lib/resolve: use begin layer for resolution start

this provides a useful callback for per-request operations that can’t wait until the query is completed (e.g. blocking or logging started queries)

11 years agotests: libfaketime config generation
Grigorii Demidov [Mon, 3 Aug 2015 07:30:27 +0000 (09:30 +0200)] 
tests: libfaketime config generation

11 years agomodules/block: comparison without copying
Marek Vavruša [Sat, 1 Aug 2015 17:53:05 +0000 (19:53 +0200)] 
modules/block: comparison without copying

11 years agodaemon: more aggressive Lua GC, forced GC steps
Marek Vavruša [Sat, 1 Aug 2015 17:51:13 +0000 (19:51 +0200)] 
daemon: more aggressive Lua GC, forced GC steps

the memory could go through the roof with sufficiently high pps, GC now runs at 4x the speed of allocations and doesn’t wait for increase, some callbacks also perform full collection cycle on completion

11 years agomodules/block: cleanup, faster matching
Marek Vavruša [Sat, 1 Aug 2015 16:07:25 +0000 (18:07 +0200)] 
modules/block: cleanup, faster matching

11 years agodaemon/ffimodule: call Lua modules unless in FAIL state
Marek Vavruša [Sat, 1 Aug 2015 16:07:03 +0000 (18:07 +0200)] 
daemon/ffimodule: call Lua modules unless in FAIL state

11 years agodaemon/engine: priority prefix ‘<‘ for modules
Marek Vavruša [Sat, 1 Aug 2015 16:06:32 +0000 (18:06 +0200)] 
daemon/engine: priority prefix ‘<‘ for modules

if the configured modules name is prefixed with ‘<‘ it takes precedence before all others,
e.g. modules = { ‘hints’, ‘<block’ }
means that the ‘hints’ module will be executed in-order (last), and ‘block’ module layer will be called as first in query processing

11 years agodaemon/ffimodule: store layer callbacks in registry
Marek Vavruša [Fri, 31 Jul 2015 16:15:03 +0000 (18:15 +0200)] 
daemon/ffimodule: store layer callbacks in registry

calling a Lua layer now takes only O(1) registry lookup and
pushing the right parameters

11 years agotests: raw query
Grigorii Demidov [Fri, 31 Jul 2015 12:59:37 +0000 (14:59 +0200)] 
tests: raw query

11 years agotests: libfaketime search
Grigorii Demidov [Fri, 31 Jul 2015 09:36:18 +0000 (11:36 +0200)] 
tests: libfaketime search

11 years agotests: libfaketime search
Grigorii Demidov [Fri, 31 Jul 2015 09:31:10 +0000 (11:31 +0200)] 
tests: libfaketime search

11 years agotests/integration: fixed missing cache in config
Marek Vavruša [Thu, 30 Jul 2015 17:55:33 +0000 (19:55 +0200)] 
tests/integration: fixed missing cache in config

11 years agotests/integration: added libfaketime support, fixes TIME_PASSES
Marek Vavruša [Thu, 30 Jul 2015 17:55:18 +0000 (19:55 +0200)] 
tests/integration: added libfaketime support, fixes TIME_PASSES

this needs more work to find the correct libfaketime library
(newer version is required for FAKETIME_TIMESTAMP_FILE)
we may bundle it as it's small

11 years agolayer/validate: layer is issuing requests for missing DS records
Karel Slany [Thu, 30 Jul 2015 14:06:04 +0000 (16:06 +0200)] 
layer/validate: layer is issuing requests for missing DS records

11 years agotests/validate: fixed syntax error
Karel Slany [Thu, 30 Jul 2015 13:43:43 +0000 (15:43 +0200)] 
tests/validate: fixed syntax error

11 years agotests: using cwrap
Grigorii Demidov [Thu, 30 Jul 2015 11:35:17 +0000 (13:35 +0200)] 
tests: using cwrap

11 years agotests: using cwrap
Grigorii Demidov [Thu, 30 Jul 2015 10:57:08 +0000 (12:57 +0200)] 
tests: using cwrap

11 years agolayer/validate: configured trust anchor is automatically added when missing
Karel Slany [Tue, 28 Jul 2015 12:17:49 +0000 (14:17 +0200)] 
layer/validate: configured trust anchor is automatically added when missing

11 years agolib/zonecut: implemented function for trust anchor copying
Karel Slany [Tue, 28 Jul 2015 09:25:47 +0000 (11:25 +0200)] 
lib/zonecut: implemented function for trust anchor copying

11 years agotest/validate: changed result to meet the obtained value
Karel Slany [Fri, 24 Jul 2015 10:34:25 +0000 (12:34 +0200)] 
test/validate: changed result to meet the obtained value

11 years agolayer/validate: resolver queries for missing DNSKEYS
Karel Slany [Fri, 24 Jul 2015 10:32:52 +0000 (12:32 +0200)] 
layer/validate: resolver queries for missing DNSKEYS

11 years agolayer/validate: removed the addition of DNSKEY query as it didn't work
Karel Slany [Thu, 23 Jul 2015 16:52:02 +0000 (18:52 +0200)] 
layer/validate: removed the addition of DNSKEY query as it didn't work

11 years agotests/validate: added DNSKEY for cz.
Karel Slany [Thu, 23 Jul 2015 16:50:17 +0000 (18:50 +0200)] 
tests/validate: added DNSKEY for cz.

Updated whole scenario because of conflicting timestamps.

11 years agotests/test_integration: missing global OPT
Marek Vavruša [Thu, 23 Jul 2015 15:17:26 +0000 (17:17 +0200)] 
tests/test_integration: missing global OPT

11 years agolib/resolve: set DO=1 option too early
Marek Vavruša [Thu, 23 Jul 2015 15:04:27 +0000 (17:04 +0200)] 
lib/resolve: set DO=1 option too early

11 years agoMerge branch 'master' into cache-rrsig-wip
Marek Vavruša [Thu, 23 Jul 2015 14:54:41 +0000 (16:54 +0200)] 
Merge branch 'master' into cache-rrsig-wip

Conflicts:
lib/layer/rrcache.c
lib/resolve.c
lib/resolve.h
lib/rplan.h
lib/zonecut.c
modules/stats/stats.c

11 years agodaemon/engine: fixed Lua 5.2 compatibility
Marek Vavruša [Tue, 21 Jul 2015 12:41:57 +0000 (14:41 +0200)] 
daemon/engine: fixed Lua 5.2 compatibility

11 years agolayer/validate: DNSKEY query is planned after delegation update
Karel Slany [Thu, 23 Jul 2015 14:19:08 +0000 (16:19 +0200)] 
layer/validate: DNSKEY query is planned after delegation update

11 years agolib/zonecut: DNSKEY must not be present as long as the trust anchor exists
Karel Slany [Thu, 23 Jul 2015 14:16:37 +0000 (16:16 +0200)] 
lib/zonecut: DNSKEY must not be present as long as the trust anchor exists

11 years agolayer/validate: implemented update_delegation()
Karel Slany [Thu, 23 Jul 2015 14:11:11 +0000 (16:11 +0200)] 
layer/validate: implemented update_delegation()

11 years agolayer/validate: fixed bug in kr_rrset_validate_with_key()
Karel Slany [Thu, 23 Jul 2015 11:30:22 +0000 (13:30 +0200)] 
layer/validate: fixed bug in kr_rrset_validate_with_key()

11 years agolayer/validate: excluding authority NS records from validation
Karel Slany [Thu, 23 Jul 2015 11:27:02 +0000 (13:27 +0200)] 
layer/validate: excluding authority NS records from validation

11 years agolib/zonecut: kr_zonecut_set() does not reset TA and DNSKEY
Karel Slany [Wed, 22 Jul 2015 17:30:37 +0000 (19:30 +0200)] 
lib/zonecut: kr_zonecut_set() does not reset TA and DNSKEY

The trust anchor and keys are not changed in order not to disrupt packet
validation.

11 years agolib/resolve: use maximum unfragmented UDP payload for iter as default
Marek Vavruša [Wed, 22 Jul 2015 10:47:20 +0000 (12:47 +0200)] 
lib/resolve: use maximum unfragmented UDP payload for iter as default

this is a saner default for large answers. instead of waiting for
probably lost/thrown away fragmented packet, do the query over TCP
instead

11 years agodaemon/engine: build OPT RR in advance
Marek Vavruša [Wed, 22 Jul 2015 10:45:03 +0000 (12:45 +0200)] 
daemon/engine: build OPT RR in advance

11 years agolayer/validate: fixed error in validate_section()
Karel Slany [Wed, 22 Jul 2015 10:38:44 +0000 (12:38 +0200)] 
layer/validate: fixed error in validate_section()

All RRSets in section must be signed properly. (Currently no checking for
non-authoritative RRSets is implemented.)

11 years agolayer/rrcache: only RRSIGs are stored in special cache
Karel Slany [Wed, 22 Jul 2015 10:35:59 +0000 (12:35 +0200)] 
layer/rrcache: only RRSIGs are stored in special cache

11 years agotravis: changed knot commit because of bugs in functionality
Karel Slany [Wed, 22 Jul 2015 10:32:45 +0000 (12:32 +0200)] 
travis: changed knot commit because of bugs in functionality

11 years agolib/zonecut: fixed bug when materialising cache content
Karel Slany [Wed, 22 Jul 2015 10:30:33 +0000 (12:30 +0200)] 
lib/zonecut: fixed bug when materialising cache content

11 years agolib/resolve: fixed qry flags clearing on NS switch
Marek Vavruša [Wed, 22 Jul 2015 08:39:25 +0000 (10:39 +0200)] 
lib/resolve: fixed qry flags clearing on NS switch

11 years agodaemon/worker: per-pkt pools
Marek Vavruša [Tue, 21 Jul 2015 16:00:25 +0000 (18:00 +0200)] 
daemon/worker: per-pkt pools

11 years agolib/zonecut: check if the label hopping failed
Marek Vavruša [Tue, 21 Jul 2015 14:20:14 +0000 (16:20 +0200)] 
lib/zonecut: check if the label hopping failed

11 years agodaemon/main: fixed CID#126582, CID#126580
Marek Vavruša [Tue, 21 Jul 2015 12:45:49 +0000 (14:45 +0200)] 
daemon/main: fixed CID#126582, CID#126580

11 years agodaemon/engine: fixed Lua 5.2 compatibility
Marek Vavruša [Tue, 21 Jul 2015 12:41:57 +0000 (14:41 +0200)] 
daemon/engine: fixed Lua 5.2 compatibility

11 years agobuild: fixed .travis.yml
Marek Vavruša [Tue, 21 Jul 2015 12:33:08 +0000 (14:33 +0200)] 
build: fixed .travis.yml

11 years agodaemon/main: added check for dupfd
Marek Vavruša [Tue, 21 Jul 2015 12:29:54 +0000 (14:29 +0200)] 
daemon/main: added check for dupfd

fixed CID#125374

11 years agoMerge branch 'predict'
Marek Vavruša [Tue, 21 Jul 2015 12:23:21 +0000 (14:23 +0200)] 
Merge branch 'predict'

11 years agolayer/validate: validate_records()
Karel Slany [Tue, 21 Jul 2015 11:53:47 +0000 (13:53 +0200)] 
layer/validate: validate_records()

11 years agomodules/stats: sample all expiring records
Marek Vavruša [Mon, 20 Jul 2015 22:46:53 +0000 (00:46 +0200)] 
modules/stats: sample all expiring records

11 years agolib/resolve: overlay is not copied on startup
Marek Vavruša [Mon, 20 Jul 2015 22:42:48 +0000 (00:42 +0200)] 
lib/resolve: overlay is not copied on startup

this fixes a problem when a module was removed, but pending
queries referenced it, causing a crash. usually when the
server was busy and a module was unloaded.
as we don’t need to copy layers at all, they’re just iterated
from the array of modules using a macro

11 years agolayer/validate: implemented kr_rrset_validate()
Karel Slany [Mon, 20 Jul 2015 13:54:17 +0000 (15:54 +0200)] 
layer/validate: implemented kr_rrset_validate()

11 years agomodules/predict: turn off prediction by setting empty period
Marek Vavruša [Sun, 19 Jul 2015 21:39:26 +0000 (23:39 +0200)] 
modules/predict: turn off prediction by setting empty period

11 years agomodules/predict: cleanup
Marek Vavruša [Sun, 19 Jul 2015 12:23:26 +0000 (14:23 +0200)] 
modules/predict: cleanup

11 years agogeneric/lru: 16bit refcounts/length
Marek Vavruša [Sun, 19 Jul 2015 12:23:14 +0000 (14:23 +0200)] 
generic/lru: 16bit refcounts/length

11 years agotests: fixed rplan tests
Marek Vavruša [Sat, 18 Jul 2015 23:56:12 +0000 (01:56 +0200)] 
tests: fixed rplan tests

11 years agolib/rplan: ability to refetch expiring queries
Marek Vavruša [Sat, 18 Jul 2015 22:56:03 +0000 (00:56 +0200)] 
lib/rplan: ability to refetch expiring queries

11 years agolayer/rrcache: minttl 5s default
Marek Vavruša [Sat, 18 Jul 2015 22:55:48 +0000 (00:55 +0200)] 
layer/rrcache: minttl 5s default

11 years agolib/resolve: per-request options, worker.resolve() support
Marek Vavruša [Sat, 18 Jul 2015 22:55:29 +0000 (00:55 +0200)] 
lib/resolve: per-request options, worker.resolve() support

11 years agomodules/predict: cleaned up implementation, doc
Marek Vavruša [Sat, 18 Jul 2015 22:53:25 +0000 (00:53 +0200)] 
modules/predict: cleaned up implementation, doc

11 years agomodules/prefetch: frequent sampling, fetch iteration
Marek Vavruša [Sat, 18 Jul 2015 11:57:15 +0000 (13:57 +0200)] 
modules/prefetch: frequent sampling, fetch iteration

11 years agomodules/prefetch: 5x multisampling, 20% jitter
Marek Vavruša [Fri, 17 Jul 2015 22:10:29 +0000 (00:10 +0200)] 
modules/prefetch: 5x multisampling, 20% jitter

11 years agomodules/prefetch: multisampling, expiring prefetch, configurable window
Marek Vavruša [Fri, 17 Jul 2015 16:19:29 +0000 (18:19 +0200)] 
modules/prefetch: multisampling, expiring prefetch, configurable window

11 years agomodules/stats: log frequent and expiring queries
Marek Vavruša [Fri, 17 Jul 2015 16:17:03 +0000 (18:17 +0200)] 
modules/stats: log frequent and expiring queries

11 years agomodules/prefetch: wip
Marek Vavruša [Wed, 15 Jul 2015 08:21:44 +0000 (10:21 +0200)] 
modules/prefetch: wip

11 years agolib/resolve: fixed TCP retransmit
Marek Vavruša [Fri, 17 Jul 2015 14:57:20 +0000 (16:57 +0200)] 
lib/resolve: fixed TCP retransmit

11 years agodaemon/worker: cleanup ioreq recycling, correct checking of ioreq validity
Marek Vavruša [Fri, 17 Jul 2015 14:57:07 +0000 (16:57 +0200)] 
daemon/worker: cleanup ioreq recycling, correct checking of ioreq validity

before only current I/O handle was tracked for each subrequest, but the
requests may have outlived it (connect request isn't cancelable for
example), if such request terminated after the request was finished,
it checked the address of potentially stale task

11 years agoAlways change results from travis to gitter.im since it doesn't clutter main chat
Ondřej Surý [Fri, 17 Jul 2015 09:38:22 +0000 (11:38 +0200)] 
Always change results from travis to gitter.im since it doesn't clutter main chat

11 years agoAdded Gitter badge
The Gitter Badger [Thu, 16 Jul 2015 14:51:46 +0000 (14:51 +0000)] 
Added Gitter badge

11 years agoCall the webhook only on change/change
Ondřej Surý [Thu, 16 Jul 2015 15:12:10 +0000 (17:12 +0200)] 
Call the webhook only on change/change

11 years agoEnable gitter.im webhook
Ondřej Surý [Thu, 16 Jul 2015 15:11:17 +0000 (17:11 +0200)] 
Enable gitter.im webhook

11 years agolayer/validate: preliminary implementation of RRSIG validation
Karel Slany [Thu, 16 Jul 2015 14:13:13 +0000 (16:13 +0200)] 
layer/validate: preliminary implementation of RRSIG validation

11 years agotravis: changed knot commit because of missing functionality
Karel Slany [Wed, 15 Jul 2015 17:50:54 +0000 (19:50 +0200)] 
travis: changed knot commit because of missing functionality

11 years agotests/validate: increased time to roughly match test RRSIG RRSet
Karel Slany [Wed, 15 Jul 2015 17:48:21 +0000 (19:48 +0200)] 
tests/validate: increased time to roughly match test RRSIG RRSet

11 years agolayer/validate: implemented checking of RRSIG RR validity (RFC4035 5.3.1)
Karel Slany [Wed, 15 Jul 2015 17:46:01 +0000 (19:46 +0200)] 
layer/validate: implemented checking of RRSIG RR validity (RFC4035 5.3.1)

11 years agoMerge commit '931d736540012dd8a770650434b3d901434930e3'
Marek Vavruša [Wed, 15 Jul 2015 16:20:48 +0000 (18:20 +0200)] 
Merge commit '931d736540012dd8a770650434b3d901434930e3'

11 years agodaemon/worker: cleanup and fixed early memset
Marek Vavruša [Wed, 15 Jul 2015 15:20:04 +0000 (17:20 +0200)] 
daemon/worker: cleanup and fixed early memset

11 years agodaemon/io: use recvmmsg for master sockets, recvmsg otherwise
Marek Vavruša [Wed, 15 Jul 2015 15:19:43 +0000 (17:19 +0200)] 
daemon/io: use recvmmsg for master sockets, recvmsg otherwise

this applies for Linux with recvmmsg() support only

11 years agodaemon/worker: fixed bad memory access with delayed send completion
Marek Vavruša [Wed, 15 Jul 2015 15:19:20 +0000 (17:19 +0200)] 
daemon/worker: fixed bad memory access with delayed send completion

when the timeout event was fired, it started another step in query
resolution, but there may have been pending events on previous handle
if the events on the previous handle completed, they would check the
memory of their task (which may have been non-existent) and possibly
double-close the handle

11 years agolayer/validate: added DS to DNSKEY authentication code
Karel Slany [Wed, 15 Jul 2015 09:21:00 +0000 (11:21 +0200)] 
layer/validate: added DS to DNSKEY authentication code

11 years agolib/validate: merging with zone cut DNSKEY RRSet
Karel Slany [Wed, 15 Jul 2015 09:14:32 +0000 (11:14 +0200)] 
lib/validate: merging with zone cut DNSKEY RRSet

11 years agolib/validate: compiler complained about mismatching types
Karel Slany [Wed, 15 Jul 2015 09:08:08 +0000 (11:08 +0200)] 
lib/validate: compiler complained about mismatching types

11 years agocrypto: added libdnssec dependency and initialisation
Karel Slany [Wed, 15 Jul 2015 09:04:36 +0000 (11:04 +0200)] 
crypto: added libdnssec dependency and initialisation

11 years agolayer/iterate: do DNS 0x20 only for outbound queries
Marek Vavruša [Tue, 14 Jul 2015 17:31:18 +0000 (19:31 +0200)] 
layer/iterate: do DNS 0x20 only for outbound queries

no need to scramble queries satisfied from cache

11 years agolib/zonecut: implemented finding of closest trust anchor
Karel Slany [Tue, 14 Jul 2015 13:36:06 +0000 (15:36 +0200)] 
lib/zonecut: implemented finding of closest trust anchor