]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
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
Marek Vavruša [Sun, 15 Nov 2015 11:29:31 +0000 (12:29 +0100)]
daemon: fixed leaking TCP handles when timeouted
Marek Vavruša [Thu, 12 Nov 2015 18:16:18 +0000 (19:16 +0100)]
daemon: fast retransmit address selection
instead of single I/O request per step, the daemon now retries
all addresses in the selection with 300ms timeout between tries.
there are len(list) + len(list)/2 tries
the idea is to reduce latency when UDP request doesn't punch through,
or some NSs are overwhelmed/faulty
Marek Vavruša [Fri, 13 Nov 2015 15:02:13 +0000 (16:02 +0100)]
daemon/lua: pkt:clear(), pkt:question()
Marek Vavruša [Fri, 13 Nov 2015 14:55:12 +0000 (15:55 +0100)]
lib/iterate: always copy to final answer
RRs may be touched after resolution completion, this copies RR from
temporary per-recv buffer to answer, which is persistent for the whole
duration of request
Marek Vavruša [Fri, 13 Nov 2015 12:43:06 +0000 (13:43 +0100)]
modules/tinyweb: cleanup on exit
Marek Vavruša [Fri, 13 Nov 2015 12:42:55 +0000 (13:42 +0100)]
lib/daemon: address sanitizer annotated poisoning
if the library or daemon is compiled with address sanitizer, objects in
freelists are poisoned to detect use-after-recycle errors
it is not currently used in the library, as there are no freelists
Marek Vavruša [Fri, 13 Nov 2015 12:41:00 +0000 (13:41 +0100)]
daemon: fixed leak on resolve()
Marek Vavruša [Thu, 12 Nov 2015 17:36:33 +0000 (18:36 +0100)]
lib/dnssec: always check wildcard expansion proof
refs #33
Marek Vavruša [Thu, 12 Nov 2015 16:58:45 +0000 (17:58 +0100)]
doc: cleanup
Marek Vavruša [Thu, 12 Nov 2015 16:57:05 +0000 (17:57 +0100)]
Merge remote-tracking branch 'origin/stubmode'
Marek Vavruša [Thu, 12 Nov 2015 16:55:39 +0000 (17:55 +0100)]
modules/tinyweb: simplified without channels
Marek Vavruša [Thu, 12 Nov 2015 16:55:13 +0000 (17:55 +0100)]
lib: cleanup unused variable
Marek Vavruša [Thu, 12 Nov 2015 16:54:53 +0000 (17:54 +0100)]
daemon: cleanup rr scanning
Marek Vavruša [Thu, 12 Nov 2015 16:54:17 +0000 (17:54 +0100)]
daemon: use writemap to work around latency when busy
Marek Vavruša [Thu, 5 Nov 2015 09:57:55 +0000 (10:57 +0100)]
modules/tinyweb: added favicon
Marek Vavruša [Tue, 3 Nov 2015 16:08:36 +0000 (17:08 +0100)]
lib/rrcache: handle qname/cname traversal when it fails
Marek Vavruša [Tue, 3 Nov 2015 14:36:55 +0000 (15:36 +0100)]
lib/resolve: do not do root priming in hotpath
refs #16
Marek Vavruša [Tue, 3 Nov 2015 14:32:33 +0000 (15:32 +0100)]
daemon: fixed race condition when canceling one event multiple times
Marek Vavruša [Thu, 29 Oct 2015 13:32:23 +0000 (14:32 +0100)]
build: removed libknot vercheck, .pc fail with this
Marek Vavruša [Thu, 29 Oct 2015 13:16:37 +0000 (14:16 +0100)]
dnssec/signature: fixed cid#131821
Marek Vavruša [Thu, 29 Oct 2015 13:16:18 +0000 (14:16 +0100)]
dnssec/nsec3: fixed cid#131822 and cid#131820
Marek Vavruša [Wed, 28 Oct 2015 16:08:33 +0000 (17:08 +0100)]
doc: added known packaged dependencies (incomplete)
Marek Vavruša [Wed, 28 Oct 2015 15:55:21 +0000 (16:55 +0100)]
build: added pkg-config version requirements to Makefile
Marek Vavruša [Wed, 28 Oct 2015 15:38:24 +0000 (16:38 +0100)]
modules/policy+view: new policy.FORWARD(dst) and policy.all matching rule
this is Unbound's 'forward-zone' on steroids
Marek Vavruša [Wed, 28 Oct 2015 15:33:27 +0000 (16:33 +0100)]
lib/resolve: stub resolution with predefined address
the library is able to resolve query in stub mode (no referral chasing,
zone cut lookup) if asked to
validator turns off for stub queries, validating stub is NYI