]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Marek Vavruša [Thu, 10 Dec 2015 17:33:13 +0000 (18:33 +0100)]
build: fixed modules depends
fixes #19
Marek Vavruša [Thu, 10 Dec 2015 17:16:33 +0000 (18:16 +0100)]
build: fixed modules broken by latest build
fixes #18
Marek Vavruša [Thu, 10 Dec 2015 16:44:54 +0000 (17:44 +0100)]
Merge branch 'build-improvements'
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!
Marek Vavruša [Thu, 10 Dec 2015 16:43:03 +0000 (17:43 +0100)]
support: updated doc, added config examples
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
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
Marek Vavruša [Tue, 8 Dec 2015 18:38:24 +0000 (19:38 +0100)]
build: hardening, doc, cleanup build rules
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
Marek Vavruša [Tue, 8 Dec 2015 18:38:36 +0000 (19:38 +0100)]
doc: documented default paths
Marek Vavruša [Tue, 8 Dec 2015 13:54:48 +0000 (14:54 +0100)]
layer/validate: buggy rrsig qtype resolution in tests
Marek Vavruša [Tue, 8 Dec 2015 12:36:05 +0000 (13:36 +0100)]
daemon/lua: update defaults (both v4/v6 localhost, 100M cache)
Marek Vavruša [Tue, 8 Dec 2015 11:57:34 +0000 (12:57 +0100)]
daemon: worker.id and worker.count documented
Marek Vavruša [Mon, 7 Dec 2015 11:16:41 +0000 (12:16 +0100)]
lib/cache: count clear()s as deletes
Marek Vavruša [Sun, 6 Dec 2015 13:51:09 +0000 (14:51 +0100)]
build: DESTDIR= support, doc
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
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.
Marek Vavruša [Fri, 4 Dec 2015 09:39:47 +0000 (10:39 +0100)]
modules/renumber: check config value more properly
Marek Vavruša [Thu, 3 Dec 2015 22:48:57 +0000 (23:48 +0100)]
travis: more commands
Marek Vavruša [Thu, 3 Dec 2015 22:29:34 +0000 (23:29 +0100)]
build: updated travis, deckard
Marek Vavruša [Thu, 3 Dec 2015 22:24:56 +0000 (23:24 +0100)]
Merge branch 'subreq-deduping'
Marek Vavruša [Thu, 3 Dec 2015 22:24:47 +0000 (23:24 +0100)]
daemon/engine: upped limits
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
Marek Vavruša [Thu, 3 Dec 2015 18:00:18 +0000 (19:00 +0100)]
lib/utils: function to get unique key for RR (string)
Marek Vavruša [Thu, 3 Dec 2015 14:14:27 +0000 (15:14 +0100)]
Merge branch 'cached-insecure-delegs'
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
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
Marek Vavruša [Thu, 3 Dec 2015 10:47:02 +0000 (11:47 +0100)]
modules/stats: added NODATA tracking
Marek Vavruša [Thu, 3 Dec 2015 10:37:16 +0000 (11:37 +0100)]
lib/rplan: check for null name
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
Daniel Salzman [Wed, 2 Dec 2015 11:56:21 +0000 (12:56 +0100)]
daemon/io: remove redundant libknot/internal/utils.h include
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
Marek Vavruša [Sun, 29 Nov 2015 12:40:00 +0000 (13:40 +0100)]
lib/utils: avoid snprintf for latency
Marek Vavruša [Sat, 28 Nov 2015 22:50:43 +0000 (23:50 +0100)]
lib/resolve: inlining not forced
Marek Vavruša [Sat, 28 Nov 2015 22:44:53 +0000 (23:44 +0100)]
tests: synced deckard latest repo
Marek Vavruša [Sat, 28 Nov 2015 22:41:07 +0000 (23:41 +0100)]
lib/resolver: Saturday indulgence
Marek Vavruša [Sat, 28 Nov 2015 22:37:54 +0000 (23:37 +0100)]
lib/dnssec: bad condition
Marek Vavruša [Sat, 28 Nov 2015 20:51:40 +0000 (21:51 +0100)]
lib/resolve: explicit cast for <<31 shift
Marek Vavruša [Sat, 28 Nov 2015 20:45:39 +0000 (21:45 +0100)]
dnssec/signature: static buffer, checks
Marek Vavruša [Sat, 28 Nov 2015 20:44:44 +0000 (21:44 +0100)]
lib/dnssec: fixed nsec3 opt-out ignored
Marek Vavruša [Sat, 28 Nov 2015 20:44:24 +0000 (21:44 +0100)]
lib: cleanup, return value checks
Marek Vavruša [Sat, 28 Nov 2015 20:35:51 +0000 (21:35 +0100)]
tests: updated deckard for OS X 10.10
Marek Vavruša [Sat, 28 Nov 2015 20:35:33 +0000 (21:35 +0100)]
lib+daemon: annotated lua_error() for static checkers
Marek Vavruša [Sat, 28 Nov 2015 20:34:13 +0000 (21:34 +0100)]
contrib/ucw: fixed bad malloc retval check
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
Grigorii Demidov [Fri, 27 Nov 2015 12:25:09 +0000 (13:25 +0100)]
Merge branch 'master' of gitlab.labs.nic.cz:knot/resolver
Marek Vavruša [Fri, 27 Nov 2015 10:57:06 +0000 (11:57 +0100)]
daemon/worker: added new metrics (queries, dropped, timeout)
Marek Vavruša [Fri, 27 Nov 2015 10:27:12 +0000 (11:27 +0100)]
Merge branch 'amalg-build'
Marek Vavruša [Fri, 27 Nov 2015 10:19:04 +0000 (11:19 +0100)]
dnssec/nsec3: fixed oob, bad asserts
Grigorii Demidov [Fri, 27 Nov 2015 09:47:40 +0000 (10:47 +0100)]
tests: deckard new commit
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)
Marek Vavruša [Fri, 27 Nov 2015 00:27:07 +0000 (01:27 +0100)]
daemon/io: negotiate socket buffer size
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
Marek Vavruša [Thu, 26 Nov 2015 21:11:51 +0000 (22:11 +0100)]
daemon/worker: fixed receiving very large TCP payloads
Marek Vavruša [Thu, 26 Nov 2015 18:05:35 +0000 (19:05 +0100)]
daemon/worker: cancel immediately when not possible to xmit
Marek Vavruša [Thu, 26 Nov 2015 17:45:06 +0000 (18:45 +0100)]
lib/resolve: returned tcp-fallback
Marek Vavruša [Thu, 26 Nov 2015 17:12:41 +0000 (18:12 +0100)]
daemon: fixed debug message ln
Marek Vavruša [Thu, 26 Nov 2015 17:10:12 +0000 (18:10 +0100)]
daemon: verbose debug logs on -DDEBUG
Marek Vavruša [Thu, 26 Nov 2015 17:09:53 +0000 (18:09 +0100)]
daemon/worker: track finished in a separate variable
Marek Vavruša [Thu, 26 Nov 2015 17:09:21 +0000 (18:09 +0100)]
daemon: do not call back when recv-end
Marek Vavruša [Thu, 26 Nov 2015 15:20:19 +0000 (16:20 +0100)]
build: cleanup moduledir install, cleanup AMALG= for tests
Marek Vavruša [Wed, 25 Nov 2015 23:40:01 +0000 (00:40 +0100)]
build: fixed fwhole-program, cleanup, flto fix
Marek Vavruša [Wed, 25 Nov 2015 18:03:17 +0000 (19:03 +0100)]
lib: started symbol visibility annotation, modules for now
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.
Marek Vavruša [Wed, 25 Nov 2015 14:13:56 +0000 (15:13 +0100)]
tests: use $(MAKE) for submake concurrency to work
Marek Vavruša [Wed, 25 Nov 2015 13:46:33 +0000 (14:46 +0100)]
submodules: synced deckard
Marek Vavruša [Tue, 24 Nov 2015 22:11:10 +0000 (23:11 +0100)]
tests: make sure the deckard submodules are checked
Marek Vavruša [Tue, 24 Nov 2015 21:59:34 +0000 (22:59 +0100)]
build: cleanup, no python deps
Marek Vavruša [Tue, 24 Nov 2015 21:43:22 +0000 (22:43 +0100)]
scripts: updated bootstrap script
Marek Vavruša [Tue, 24 Nov 2015 19:00:50 +0000 (20:00 +0100)]
travis: run tests in parallel
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
Marek Vavruša [Tue, 24 Nov 2015 17:15:15 +0000 (18:15 +0100)]
tests: use makefile from deckard, cleanup
Marek Vavruša [Tue, 24 Nov 2015 16:50:43 +0000 (17:50 +0100)]
build: travis cleanup
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
Marek Vavruša [Sat, 21 Nov 2015 11:52:46 +0000 (12:52 +0100)]
build: install resources as 0644
Marek Vavruša [Fri, 20 Nov 2015 10:19:32 +0000 (11:19 +0100)]
scripts: pip depends
Marek Vavruša [Fri, 20 Nov 2015 10:12:04 +0000 (11:12 +0100)]
scripts: updated bootstrap script
Marek Vavruša [Thu, 19 Nov 2015 18:22:11 +0000 (19:22 +0100)]
Merge branch 'deckard'
Marek Vavruša [Thu, 19 Nov 2015 18:21:05 +0000 (19:21 +0100)]
tests: clean up paths
Marek Vavruša [Thu, 19 Nov 2015 18:17:27 +0000 (19:17 +0100)]
tests: cleanup
Marek Vavruša [Thu, 19 Nov 2015 18:02:28 +0000 (19:02 +0100)]
tests: fixed deckard integration, doc, travis
Marek Vavruša [Thu, 19 Nov 2015 17:46:18 +0000 (18:46 +0100)]
Merge branch 'master' into deckard
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
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
Grigorii Demidov [Thu, 19 Nov 2015 12:26:46 +0000 (13:26 +0100)]
tests: integration tests with deckard
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
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
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
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
Marek Vavruša [Wed, 18 Nov 2015 11:51:43 +0000 (12:51 +0100)]
daemon/worker: poison contents of mempools on freelists
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
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
Marek Vavruša [Tue, 17 Nov 2015 21:41:21 +0000 (22:41 +0100)]
build: set ARCH from CC, bump version to beta2
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
Marek Vavruša [Tue, 17 Nov 2015 21:07:44 +0000 (22:07 +0100)]
modules: dns64 checks for records, all response status
fixes #42
Marek Vavruša [Tue, 17 Nov 2015 20:43:38 +0000 (21:43 +0100)]
lib: initialize null qsource for resolver-initiated queries
fixes #41
Marek Vavruša [Mon, 16 Nov 2015 20:52:53 +0000 (21:52 +0100)]
doc: grammar
Marek Vavruša [Mon, 16 Nov 2015 20:44:10 +0000 (21:44 +0100)]
lib/utils: clear rrcounts in packet recycle
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
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