]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
9 years agobuild: fixed modules depends
Marek Vavruša [Thu, 10 Dec 2015 17:33:13 +0000 (18:33 +0100)] 
build: fixed modules depends

fixes #19

9 years agobuild: fixed modules broken by latest build
Marek Vavruša [Thu, 10 Dec 2015 17:16:33 +0000 (18:16 +0100)] 
build: fixed modules broken by latest build

fixes #18

9 years agoMerge branch 'build-improvements'
Marek Vavruša [Thu, 10 Dec 2015 16:44:54 +0000 (17:44 +0100)] 
Merge branch 'build-improvements'

9 years agoscripts: added basic service/sysconfig/apparmor templates
Marek Vavruša [Thu, 10 Dec 2015 16:44:05 +0000 (17:44 +0100)] 
scripts: added basic service/sysconfig/apparmor templates

this should help packaging the project to other platforms

thanks @darix!

9 years agosupport: updated doc, added config examples
Marek Vavruša [Thu, 10 Dec 2015 16:43:03 +0000 (17:43 +0100)] 
support: updated doc, added config examples

9 years agobuild: library able to compile to both static/dynamic versioned libs
Marek Vavruša [Wed, 9 Dec 2015 22:52:09 +0000 (23:52 +0100)] 
build: library able to compile to both static/dynamic versioned libs

* PIE,RELRO+NOW and other security features enabled
* support for both static/dynamic builds with BUILDMODE
* dynamic library is ABI-versioned, starting at 1
* pkg-config file is installed

9 years agocontrib: compile to convenience static library
Marek Vavruša [Wed, 9 Dec 2015 18:30:22 +0000 (19:30 +0100)] 
contrib: compile to convenience static library

this is needed to make sure it always compiles with PIC

9 years agobuild: hardening, doc, cleanup build rules
Marek Vavruša [Tue, 8 Dec 2015 18:38:24 +0000 (19:38 +0100)] 
build: hardening, doc, cleanup build rules

9 years agolib: do not use potentially large stack allocations
Marek Vavruša [Tue, 8 Dec 2015 18:40:18 +0000 (19:40 +0100)] 
lib: do not use potentially large stack allocations

rdata may be <=64k + 8B on stack which may be source of various mystery
errors later, for example in bindings or stackspace-constricted env

9 years agodoc: documented default paths
Marek Vavruša [Tue, 8 Dec 2015 18:38:36 +0000 (19:38 +0100)] 
doc: documented default paths

9 years agolayer/validate: buggy rrsig qtype resolution in tests
Marek Vavruša [Tue, 8 Dec 2015 13:54:48 +0000 (14:54 +0100)] 
layer/validate: buggy rrsig qtype resolution in tests

9 years agodaemon/lua: update defaults (both v4/v6 localhost, 100M cache)
Marek Vavruša [Tue, 8 Dec 2015 12:36:05 +0000 (13:36 +0100)] 
daemon/lua: update defaults (both v4/v6 localhost, 100M cache)

9 years agodaemon: worker.id and worker.count documented
Marek Vavruša [Tue, 8 Dec 2015 11:57:34 +0000 (12:57 +0100)] 
daemon: worker.id and worker.count documented

9 years agolib/cache: count clear()s as deletes
Marek Vavruša [Mon, 7 Dec 2015 11:16:41 +0000 (12:16 +0100)] 
lib/cache: count clear()s as deletes

9 years agobuild: DESTDIR= support, doc
Marek Vavruša [Sun, 6 Dec 2015 13:51:09 +0000 (14:51 +0100)] 
build: DESTDIR= support, doc

9 years agobuild: *DIR variables are assembled in Makefile
Marek Vavruša [Sun, 6 Dec 2015 12:20:39 +0000 (13:20 +0100)] 
build: *DIR variables are assembled in Makefile

this allows to override any dstdir variable without
patching config.mk

9 years agodaemon: root trust anchors automatically bootstrapped from IANA
Marek Vavruša [Sat, 5 Dec 2015 17:09:23 +0000 (18:09 +0100)] 
daemon: root trust anchors automatically bootstrapped from IANA

if the root key file doesn’t exist, it will be populated from root DNSKEY query, which will be validated against root trust anchors retrieved over HTTPS with IANA cert verification against built-in current IANA cert CA. it requires luasocket and luasec for it to work. trust anchors XML file signature is not checked, as there’s no facility for PKCS7 checking yet.

9 years agomodules/renumber: check config value more properly
Marek Vavruša [Fri, 4 Dec 2015 09:39:47 +0000 (10:39 +0100)] 
modules/renumber: check config value more properly

9 years agotravis: more commands
Marek Vavruša [Thu, 3 Dec 2015 22:48:57 +0000 (23:48 +0100)] 
travis: more commands

9 years agobuild: updated travis, deckard
Marek Vavruša [Thu, 3 Dec 2015 22:29:34 +0000 (23:29 +0100)] 
build: updated travis, deckard

9 years agoMerge branch 'subreq-deduping'
Marek Vavruša [Thu, 3 Dec 2015 22:24:56 +0000 (23:24 +0100)] 
Merge branch 'subreq-deduping'

9 years agodaemon/engine: upped limits
Marek Vavruša [Thu, 3 Dec 2015 22:24:47 +0000 (23:24 +0100)] 
daemon/engine: upped limits

9 years agodaemon/worker: deduplicate outbound queries
Marek Vavruša [Thu, 3 Dec 2015 18:01:56 +0000 (19:01 +0100)] 
daemon/worker: deduplicate outbound queries

worker can track outbound requests and if N resolutions want the same
subrequest, only one will lead it and others will be notified when it
finishes

this massively reduces number of outbound requests for
slow/unresponsive/low ttl requests

9 years agolib/utils: function to get unique key for RR (string)
Marek Vavruša [Thu, 3 Dec 2015 18:00:18 +0000 (19:00 +0100)] 
lib/utils: function to get unique key for RR (string)

9 years agoMerge branch 'cached-insecure-delegs'
Marek Vavruša [Thu, 3 Dec 2015 14:14:27 +0000 (15:14 +0100)] 
Merge branch 'cached-insecure-delegs'

9 years agolib/resolve: penalize failing NSs
Marek Vavruša [Thu, 3 Dec 2015 13:54:30 +0000 (14:54 +0100)] 
lib/resolve: penalize failing NSs

any answer that is considered as malformed/servfail/otherwise bad
penalizes the NS for the next time like timeout, this doesn't apply for
DNSSEC validation failures as it still may be okay for insecure
resolution. EDNS failures are okay because the server is requeried in
the most simple RFC1035 mode before flagging it as failed

this avoids instant requeries for SERVFAILing resolutions

9 years agolib/zonecut: do not fetch DS/DNSKEY for cached insecure delegations
Marek Vavruša [Thu, 3 Dec 2015 12:55:04 +0000 (13:55 +0100)] 
lib/zonecut: do not fetch DS/DNSKEY for cached insecure delegations

when a delegation is provably insecure, it is flagged as INSECURE in
cache (this is different from "unchecked"), when the next query finds
the same zone cut, this information is retrieved and if it was proved to
be insecure before, this status is reused

this prevents refetching of NS/DNSKEY in some situations

9 years agomodules/stats: added NODATA tracking
Marek Vavruša [Thu, 3 Dec 2015 10:47:02 +0000 (11:47 +0100)] 
modules/stats: added NODATA tracking

9 years agolib/rplan: check for null name
Marek Vavruša [Thu, 3 Dec 2015 10:37:16 +0000 (11:37 +0100)] 
lib/rplan: check for null name

9 years agoMerge branch 'include_cleanup' into 'master'
Marek Vavruša [Wed, 2 Dec 2015 13:18:36 +0000 (14:18 +0100)] 
Merge branch 'include_cleanup' into 'master'

daemon/io: remove redundant libknot/internal/utils.h include

See merge request !16

9 years agodaemon/io: remove redundant libknot/internal/utils.h include
Daniel Salzman [Wed, 2 Dec 2015 11:56:21 +0000 (12:56 +0100)] 
daemon/io: remove redundant libknot/internal/utils.h include

9 years agolib/dnssec: hoisted some calculations
Marek Vavruša [Sun, 29 Nov 2015 16:01:01 +0000 (17:01 +0100)] 
lib/dnssec: hoisted some calculations

notably key id doesn’t have to be recalculated every time, cheaper checks should come first, name equality check is cheaper as well

9 years agolib/utils: avoid snprintf for latency
Marek Vavruša [Sun, 29 Nov 2015 12:40:00 +0000 (13:40 +0100)] 
lib/utils: avoid snprintf for latency

9 years agolib/resolve: inlining not forced
Marek Vavruša [Sat, 28 Nov 2015 22:50:43 +0000 (23:50 +0100)] 
lib/resolve: inlining not forced

9 years agotests: synced deckard latest repo
Marek Vavruša [Sat, 28 Nov 2015 22:44:53 +0000 (23:44 +0100)] 
tests: synced deckard latest repo

9 years agolib/resolver: Saturday indulgence
Marek Vavruša [Sat, 28 Nov 2015 22:41:07 +0000 (23:41 +0100)] 
lib/resolver: Saturday indulgence

9 years agolib/dnssec: bad condition
Marek Vavruša [Sat, 28 Nov 2015 22:37:54 +0000 (23:37 +0100)] 
lib/dnssec: bad condition

9 years agolib/resolve: explicit cast for <<31 shift
Marek Vavruša [Sat, 28 Nov 2015 20:51:40 +0000 (21:51 +0100)] 
lib/resolve: explicit cast for <<31 shift

9 years agodnssec/signature: static buffer, checks
Marek Vavruša [Sat, 28 Nov 2015 20:45:39 +0000 (21:45 +0100)] 
dnssec/signature: static buffer, checks

9 years agolib/dnssec: fixed nsec3 opt-out ignored
Marek Vavruša [Sat, 28 Nov 2015 20:44:44 +0000 (21:44 +0100)] 
lib/dnssec: fixed nsec3 opt-out ignored

9 years agolib: cleanup, return value checks
Marek Vavruša [Sat, 28 Nov 2015 20:44:24 +0000 (21:44 +0100)] 
lib: cleanup, return value checks

9 years agotests: updated deckard for OS X 10.10
Marek Vavruša [Sat, 28 Nov 2015 20:35:51 +0000 (21:35 +0100)] 
tests: updated deckard for OS X 10.10

9 years agolib+daemon: annotated lua_error() for static checkers
Marek Vavruša [Sat, 28 Nov 2015 20:35:33 +0000 (21:35 +0100)] 
lib+daemon: annotated lua_error() for static checkers

9 years agocontrib/ucw: fixed bad malloc retval check
Marek Vavruša [Sat, 28 Nov 2015 20:34:13 +0000 (21:34 +0100)] 
contrib/ucw: fixed bad malloc retval check

9 years agolib/dnssec: fixed missing checks in label skipping
Marek Vavruša [Fri, 27 Nov 2015 15:01:30 +0000 (16:01 +0100)] 
lib/dnssec: fixed missing checks in label skipping

skipping over last/root label returns a pointer to a memory after domain name, this is unsafe

9 years agoMerge branch 'master' of gitlab.labs.nic.cz:knot/resolver
Grigorii Demidov [Fri, 27 Nov 2015 12:25:09 +0000 (13:25 +0100)] 
Merge branch 'master' of gitlab.labs.nic.cz:knot/resolver

9 years agodaemon/worker: added new metrics (queries, dropped, timeout)
Marek Vavruša [Fri, 27 Nov 2015 10:57:06 +0000 (11:57 +0100)] 
daemon/worker: added new metrics (queries, dropped, timeout)

9 years agoMerge branch 'amalg-build'
Marek Vavruša [Fri, 27 Nov 2015 10:27:12 +0000 (11:27 +0100)] 
Merge branch 'amalg-build'

9 years agodnssec/nsec3: fixed oob, bad asserts
Marek Vavruša [Fri, 27 Nov 2015 10:19:04 +0000 (11:19 +0100)] 
dnssec/nsec3: fixed oob, bad asserts

9 years agotests: deckard new commit
Grigorii Demidov [Fri, 27 Nov 2015 09:47:40 +0000 (10:47 +0100)] 
tests: deckard new commit

9 years agodaemon/engine: relax cache syncing strategy
Marek Vavruša [Fri, 27 Nov 2015 00:28:54 +0000 (01:28 +0100)] 
daemon/engine: relax cache syncing strategy

this doesn’t guarantee valid cache after crash,
but then it’s a cache. most of the time on cold
cache is spent on fsyncing as it’s done per each
commit (=> resolved query)

9 years agodaemon/io: negotiate socket buffer size
Marek Vavruša [Fri, 27 Nov 2015 00:27:07 +0000 (01:27 +0100)] 
daemon/io: negotiate socket buffer size

9 years agodaemon/worker: cleanup, cancel active tmrs only
Marek Vavruša [Fri, 27 Nov 2015 00:26:44 +0000 (01:26 +0100)] 
daemon/worker: cleanup, cancel active tmrs only

this also fails if the timeout timer cannot be started,
as it would wait for undefined time otherwise

9 years agodaemon/worker: fixed receiving very large TCP payloads
Marek Vavruša [Thu, 26 Nov 2015 21:11:51 +0000 (22:11 +0100)] 
daemon/worker: fixed receiving very large TCP payloads

9 years agodaemon/worker: cancel immediately when not possible to xmit
Marek Vavruša [Thu, 26 Nov 2015 18:05:35 +0000 (19:05 +0100)] 
daemon/worker: cancel immediately when not possible to xmit

9 years agolib/resolve: returned tcp-fallback
Marek Vavruša [Thu, 26 Nov 2015 17:45:06 +0000 (18:45 +0100)] 
lib/resolve: returned tcp-fallback

9 years agodaemon: fixed debug message ln
Marek Vavruša [Thu, 26 Nov 2015 17:12:41 +0000 (18:12 +0100)] 
daemon: fixed debug message ln

9 years agodaemon: verbose debug logs on -DDEBUG
Marek Vavruša [Thu, 26 Nov 2015 17:10:12 +0000 (18:10 +0100)] 
daemon: verbose debug logs on -DDEBUG

9 years agodaemon/worker: track finished in a separate variable
Marek Vavruša [Thu, 26 Nov 2015 17:09:53 +0000 (18:09 +0100)] 
daemon/worker: track finished in a separate variable

9 years agodaemon: do not call back when recv-end
Marek Vavruša [Thu, 26 Nov 2015 17:09:21 +0000 (18:09 +0100)] 
daemon: do not call back when recv-end

9 years agobuild: cleanup moduledir install, cleanup AMALG= for tests
Marek Vavruša [Thu, 26 Nov 2015 15:20:19 +0000 (16:20 +0100)] 
build: cleanup moduledir install, cleanup AMALG= for tests

9 years agobuild: fixed fwhole-program, cleanup, flto fix
Marek Vavruša [Wed, 25 Nov 2015 23:40:01 +0000 (00:40 +0100)] 
build: fixed fwhole-program, cleanup, flto fix

9 years agolib: started symbol visibility annotation, modules for now
Marek Vavruša [Wed, 25 Nov 2015 18:03:17 +0000 (19:03 +0100)] 
lib: started symbol visibility annotation, modules for now

9 years agobuild: amalgamated build support with AMALG=1
Marek Vavruša [Wed, 25 Nov 2015 09:19:40 +0000 (10:19 +0100)] 
build: amalgamated build support with AMALG=1

amalgamated build concatenates all files into a single .c file to
allow compiler see all symbols and produce possibly smaller code.
for binary distributions this is what you want, as it's faster but
may consume more memory during compilation.
it however cannot do incremental builds.

9 years agotests: use $(MAKE) for submake concurrency to work
Marek Vavruša [Wed, 25 Nov 2015 14:13:56 +0000 (15:13 +0100)] 
tests: use $(MAKE) for submake concurrency to work

9 years agosubmodules: synced deckard
Marek Vavruša [Wed, 25 Nov 2015 13:46:33 +0000 (14:46 +0100)] 
submodules: synced deckard

9 years agotests: make sure the deckard submodules are checked
Marek Vavruša [Tue, 24 Nov 2015 22:11:10 +0000 (23:11 +0100)] 
tests: make sure the deckard submodules are checked

9 years agobuild: cleanup, no python deps
Marek Vavruša [Tue, 24 Nov 2015 21:59:34 +0000 (22:59 +0100)] 
build: cleanup, no python deps

9 years agoscripts: updated bootstrap script
Marek Vavruša [Tue, 24 Nov 2015 21:43:22 +0000 (22:43 +0100)] 
scripts: updated bootstrap script

9 years agotravis: run tests in parallel
Marek Vavruša [Tue, 24 Nov 2015 19:00:50 +0000 (20:00 +0100)] 
travis: run tests in parallel

9 years agolib/nsrep: do not penalize name failures, no empty NSLIST leaders
Marek Vavruša [Tue, 24 Nov 2015 19:00:11 +0000 (20:00 +0100)] 
lib/nsrep: do not penalize name failures, no empty NSLIST leaders

if the NSLIST already has a candidate with addresses, never replace
current leader with an empty one. otherwise if the former leader address
was tried and failed, new empty leader would be blamed for this and
penalized

9 years agotests: use makefile from deckard, cleanup
Marek Vavruša [Tue, 24 Nov 2015 17:15:15 +0000 (18:15 +0100)] 
tests: use makefile from deckard, cleanup

9 years agobuild: travis cleanup
Marek Vavruša [Tue, 24 Nov 2015 16:50:43 +0000 (17:50 +0100)] 
build: travis cleanup

9 years agodaemon/lua: doc cleanup, todname() call
Marek Vavruša [Tue, 24 Nov 2015 15:02:01 +0000 (16:02 +0100)] 
daemon/lua: doc cleanup, todname() call

policy has policy.todnames() for table of names

9 years agobuild: install resources as 0644
Marek Vavruša [Sat, 21 Nov 2015 11:52:46 +0000 (12:52 +0100)] 
build: install resources as 0644

9 years agoscripts: pip depends v1.0.0-beta2
Marek Vavruša [Fri, 20 Nov 2015 10:19:32 +0000 (11:19 +0100)] 
scripts: pip depends

9 years agoscripts: updated bootstrap script
Marek Vavruša [Fri, 20 Nov 2015 10:12:04 +0000 (11:12 +0100)] 
scripts: updated bootstrap script

9 years agoMerge branch 'deckard'
Marek Vavruša [Thu, 19 Nov 2015 18:22:11 +0000 (19:22 +0100)] 
Merge branch 'deckard'

9 years agotests: clean up paths
Marek Vavruša [Thu, 19 Nov 2015 18:21:05 +0000 (19:21 +0100)] 
tests: clean up paths

9 years agotests: cleanup
Marek Vavruša [Thu, 19 Nov 2015 18:17:27 +0000 (19:17 +0100)] 
tests: cleanup

9 years agotests: fixed deckard integration, doc, travis
Marek Vavruša [Thu, 19 Nov 2015 18:02:28 +0000 (19:02 +0100)] 
tests: fixed deckard integration, doc, travis

9 years agoMerge branch 'master' into deckard
Marek Vavruša [Thu, 19 Nov 2015 17:46:18 +0000 (18:46 +0100)] 
Merge branch 'master' into deckard

9 years agolib/validate: fixed missing DS check when parent is signed, child not on same NS
Marek Vavruša [Thu, 19 Nov 2015 14:41:23 +0000 (15:41 +0100)] 
lib/validate: fixed missing DS check when parent is signed, child not on same NS

refs #33

9 years agolib/iterate: scrub dnssec data from authority when not requested
Marek Vavruša [Thu, 19 Nov 2015 12:45:50 +0000 (13:45 +0100)] 
lib/iterate: scrub dnssec data from authority when not requested

refs #33

9 years agotests: integration tests with deckard
Grigorii Demidov [Thu, 19 Nov 2015 12:26:46 +0000 (13:26 +0100)] 
tests: integration tests with deckard

9 years agolib/zonecut: clear TA if its NS isn't cached
Marek Vavruša [Wed, 18 Nov 2015 16:29:49 +0000 (17:29 +0100)] 
lib/zonecut: clear TA if its NS isn't cached

this fixes a bug when NS drops out of cache, but it's TA not,
so i.e. we end up with TA 'cz' and NS in '.', but we need the root TA

9 years agolib/resolve: root zone is always encloser
Marek Vavruša [Wed, 18 Nov 2015 16:12:47 +0000 (17:12 +0100)] 
lib/resolve: root zone is always encloser

bad control flow, the zone cut should be checked for root, as the second
condition checks if SNAME is at/below cut so the outcome is the same for
root query

9 years agolib/zonecut: copy qname for cut lookup, as it may overlap replaced cut
Marek Vavruša [Wed, 18 Nov 2015 15:43:52 +0000 (16:43 +0100)] 
lib/zonecut: copy qname for cut lookup, as it may overlap replaced cut

9 years agomodules/dns64: bad expectation of ffi.copy semantics
Marek Vavruša [Wed, 18 Nov 2015 11:51:08 +0000 (12:51 +0100)] 
modules/dns64: bad expectation of ffi.copy semantics

the copy doesn't take cdata length into account, but measures string len

refs #43

9 years agodaemon/worker: poison contents of mempools on freelists
Marek Vavruša [Wed, 18 Nov 2015 11:51:43 +0000 (12:51 +0100)] 
daemon/worker: poison contents of mempools on freelists

9 years agolib/cache: missing name check for kr_cache_rank_peek
Marek Vavruša [Wed, 18 Nov 2015 08:24:21 +0000 (09:24 +0100)] 
lib/cache: missing name check for kr_cache_rank_peek

refs #43

9 years agomodules: avoid ffi.new in hotpath
Marek Vavruša [Tue, 17 Nov 2015 22:20:46 +0000 (23:20 +0100)] 
modules: avoid ffi.new in hotpath

this fixes a bug when a text-declared type wasn’t reused and LJ eventually segfaulted in ffi.new after a lot of redeclarations

9 years agobuild: set ARCH from CC, bump version to beta2
Marek Vavruša [Tue, 17 Nov 2015 21:41:21 +0000 (22:41 +0100)] 
build: set ARCH from CC, bump version to beta2

9 years agobuild: enable Go modules on amd64 only
Marek Vavruša [Tue, 17 Nov 2015 21:17:36 +0000 (22:17 +0100)] 
build: enable Go modules on amd64 only

the current Go doesn’t support c-shared on other architectures than amd64

9 years agomodules: dns64 checks for records, all response status
Marek Vavruša [Tue, 17 Nov 2015 21:07:44 +0000 (22:07 +0100)] 
modules: dns64 checks for records, all response status

fixes #42

9 years agolib: initialize null qsource for resolver-initiated queries
Marek Vavruša [Tue, 17 Nov 2015 20:43:38 +0000 (21:43 +0100)] 
lib: initialize null qsource for resolver-initiated queries

fixes #41

9 years agodoc: grammar
Marek Vavruša [Mon, 16 Nov 2015 20:52:53 +0000 (21:52 +0100)] 
doc: grammar

9 years agolib/utils: clear rrcounts in packet recycle
Marek Vavruša [Mon, 16 Nov 2015 20:44:10 +0000 (21:44 +0100)] 
lib/utils: clear rrcounts in packet recycle

9 years agomodules: renumber module
Marek Vavruša [Mon, 16 Nov 2015 20:43:55 +0000 (21:43 +0100)] 
modules: renumber module

this module allows to rewrite address ranges in answers to different address ranges specified in configuration

9 years agolib/nsrep: use other NS addresses as alternative
Marek Vavruša [Sun, 15 Nov 2015 11:51:14 +0000 (12:51 +0100)] 
lib/nsrep: use other NS addresses as alternative

this allows daemon to try other NSs for fast retransmit if the best chosen NS doesn’t respond within time limit