]>
git.ipfire.org Git - thirdparty/knot-resolver.git/log
Marek Vavruša [Thu, 29 Jan 2015 15:05:46 +0000 (16:05 +0100)]
tests/integration: enabled 'subdomain' matching pattern
Marek Vavruša [Thu, 29 Jan 2015 15:05:17 +0000 (16:05 +0100)]
tests/integration: enabled cache-testing scenario
Marek Vavruša [Thu, 29 Jan 2015 03:00:20 +0000 (04:00 +0100)]
tests: ignore headers from coverage
Marek Vavruša [Thu, 29 Jan 2015 02:53:42 +0000 (03:53 +0100)]
Merge branch 'travis_gcov' into 'master'
Code coverage support
See merge request !9
Marek Vavruša [Thu, 29 Jan 2015 00:41:37 +0000 (01:41 +0100)]
tests: code coverage with coveralls
Marek Vavruša [Wed, 28 Jan 2015 18:06:48 +0000 (19:06 +0100)]
doc: updated readme
Marek Vavruša [Wed, 28 Jan 2015 17:50:01 +0000 (18:50 +0100)]
Merge branch 'tests_no_extra_records' into 'master'
Cleanup tests, no extra records required, bugfixes
Supported integration tests should now pass
See merge request !8
Marek Vavruša [Wed, 28 Jan 2015 17:46:44 +0000 (18:46 +0100)]
travis: no debug messages in integration tests
Marek Vavruša [Wed, 28 Jan 2015 17:45:19 +0000 (18:45 +0100)]
tests/integration: accept only test files
Marek Vavruša [Wed, 28 Jan 2015 17:44:54 +0000 (18:44 +0100)]
lib: option to turn off debugging
Marek Vavruša [Wed, 28 Jan 2015 17:44:16 +0000 (18:44 +0100)]
tests/integration: moved "not implemented" tests out of build check
Marek Vavruša [Tue, 27 Jan 2015 18:38:31 +0000 (19:38 +0100)]
lib: fixed CLASS=ANY queries
Marek Vavruša [Tue, 27 Jan 2015 18:38:02 +0000 (19:38 +0100)]
tests/integration: compatibility
Marek Vavruša [Tue, 27 Jan 2015 18:37:10 +0000 (19:37 +0100)]
tests/integration: extended flags, lazy section matching, bugfix
Marek Vavruša [Tue, 27 Jan 2015 16:52:59 +0000 (17:52 +0100)]
tests/integration: removed checks for extra records
Marek Vavruša [Wed, 28 Jan 2015 17:23:08 +0000 (18:23 +0100)]
travis: pip install as user
Marek Vavruša [Wed, 28 Jan 2015 17:09:20 +0000 (18:09 +0100)]
travis: added pip requirements and cache
Marek Vavruša [Wed, 28 Jan 2015 17:04:18 +0000 (18:04 +0100)]
travis: added integration tests
Marek Vavruša [Wed, 28 Jan 2015 16:51:09 +0000 (17:51 +0100)]
travis: added cmocka for tests
Marek Vavruša [Wed, 28 Jan 2015 16:33:44 +0000 (17:33 +0100)]
travis: typo
Marek Vavruša [Wed, 28 Jan 2015 16:31:08 +0000 (17:31 +0100)]
travis: setup build env
Marek Vavruša [Wed, 28 Jan 2015 14:49:14 +0000 (15:49 +0100)]
Merge branch 'travis_build' into 'master'
Travis build
Travis CI file
See merge request !7
Marek Vavruša [Wed, 28 Jan 2015 14:13:41 +0000 (15:13 +0100)]
initial travis file
Marek Vavruša [Mon, 26 Jan 2015 07:32:04 +0000 (08:32 +0100)]
Merge branch 'zone_cut_per_query' into 'master'
Zone cut per query
Zone cut is resolved separately for recursive side queries.
See merge request !6
Marek Vavruša [Wed, 21 Jan 2015 15:03:11 +0000 (16:03 +0100)]
lib: query now knows its parent
this fixes resolution of multi-level queries, when a side query
encounters a nameserver that requires address resolution
Marek Vavruša [Wed, 21 Jan 2015 12:19:00 +0000 (13:19 +0100)]
daemon: send back error responses
Marek Vavruša [Wed, 21 Jan 2015 11:41:45 +0000 (12:41 +0100)]
lib: find enclosing zcut for each query
Marek Vavruša [Wed, 21 Jan 2015 11:41:01 +0000 (12:41 +0100)]
tests/integration: address parse, platform checks
Marek Vavruša [Wed, 21 Jan 2015 02:15:53 +0000 (03:15 +0100)]
rplan: per-query zone cut, iterator cleanup
Marek Vavruša [Wed, 21 Jan 2015 02:14:05 +0000 (03:14 +0100)]
lib: default DNS port to parsed addresses
Marek Vavruša [Mon, 19 Jan 2015 23:18:16 +0000 (00:18 +0100)]
layer/iterate: bail if referral doesn't improve zone cut (loop)
Marek Vavruša [Mon, 19 Jan 2015 23:16:39 +0000 (00:16 +0100)]
resolve: clear AA, set RA
Marek Vavruša [Mon, 19 Jan 2015 23:16:12 +0000 (00:16 +0100)]
tests/integration: all names in entries must be fqdn (supports origin)
Ondřej Surý [Mon, 19 Jan 2015 17:05:48 +0000 (18:05 +0100)]
Merge branch 'test' into 'master'
Test
See merge request !5
Ondřej Surý [Mon, 19 Jan 2015 17:05:07 +0000 (18:05 +0100)]
Fix libuv git location
Marek Vavruša [Mon, 19 Jan 2015 16:51:08 +0000 (17:51 +0100)]
Merge branch 'integration_tests' into 'master'
Integration tests
Server-independent integration test case parser/player written in Python.
Currently the test is able to parse a subset of unbound test cases as described in:
- http://www.unbound.net/documentation/doxygen/replay_8h.html
The test cases are BSD licensed.
The Knot resolver mock context overrides the library calls to message sending functions,
redirecting them to the server with scripted answers.
The scenario can do following things:
- Simulate system time
- Provide scripted answers
- Send queries, compare responses
See merge request !4
Marek Vavruša [Mon, 19 Jan 2015 11:14:30 +0000 (12:14 +0100)]
tests/integration: do not match address if not exists (workaround)
this is a workaround, as the server may not support stub zones.
in that case it may ask a different root server than we have in
configuration
Marek Vavruša [Mon, 19 Jan 2015 11:12:05 +0000 (12:12 +0100)]
tests/integration: mandatory self-checks before running
Marek Vavruša [Mon, 19 Jan 2015 10:52:33 +0000 (11:52 +0100)]
tests/integration: support range address query
Marek Vavruša [Mon, 19 Jan 2015 10:53:44 +0000 (11:53 +0100)]
tests/integration: decreased poll time for latency
it's not running while we're in the C code anyway because of GIL
Marek Vavruša [Mon, 19 Jan 2015 10:52:54 +0000 (11:52 +0100)]
tests/integration: forgotten unused parameter
Marek Vavruša [Mon, 19 Jan 2015 00:37:02 +0000 (01:37 +0100)]
rplan: inherit default options from context
Marek Vavruša [Mon, 19 Jan 2015 00:32:29 +0000 (01:32 +0100)]
tests/integration: small Py testdriver (cmocka style)
Marek Vavruša [Sun, 18 Jan 2015 21:11:30 +0000 (22:11 +0100)]
tests/integration: fixed missing GIL unlock, modules self-tests
Marek Vavruša [Sun, 18 Jan 2015 14:26:21 +0000 (15:26 +0100)]
tests/integrity: pass server instance, rewritten testserver
Marek Vavruša [Sun, 18 Jan 2015 14:03:29 +0000 (15:03 +0100)]
tests/integration: mock server with prescripted replies
Marek Vavruša [Sun, 18 Jan 2015 14:02:56 +0000 (15:02 +0100)]
tests/integration: fixed passing socket from Python to C
Marek Vavruša [Sun, 18 Jan 2015 14:02:35 +0000 (15:02 +0100)]
tests/integration: prescripted replies for queries
Marek Vavruša [Sat, 17 Jan 2015 21:56:32 +0000 (22:56 +0100)]
tests: build fixes, reverted non-mocked override
Marek Vavruša [Sat, 17 Jan 2015 21:55:58 +0000 (22:55 +0100)]
lib: minor reordering
Marek Vavruša [Sat, 17 Jan 2015 21:54:53 +0000 (22:54 +0100)]
buildsystem: daemon link order fix
Marek Vavruša [Sat, 17 Jan 2015 20:44:37 +0000 (21:44 +0100)]
tests/integration: Python code to support QUERY/CHECK_ANSWER steps
Marek Vavruša [Sat, 17 Jan 2015 20:42:50 +0000 (21:42 +0100)]
buildsystem: explicit build of a static library (used for tests)
Marek Vavruša [Sat, 17 Jan 2015 20:42:26 +0000 (21:42 +0100)]
tests/integration: allow non-overriden behaviour if not init'd
Marek Vavruša [Sat, 17 Jan 2015 20:49:02 +0000 (21:49 +0100)]
tests/integration: iterator testcases from Unbound (+BSD license)
Marek Vavruša [Wed, 14 Jan 2015 09:51:48 +0000 (10:51 +0100)]
tests: integration tests python skeleton
Marek Vavruša [Mon, 12 Jan 2015 01:26:23 +0000 (02:26 +0100)]
tests: updated resolve unit test
Marek Vavruša [Mon, 12 Jan 2015 01:26:05 +0000 (02:26 +0100)]
tests: integration tests mock PyModule, build system
The integration tests will run from Python, from here a mock resolution
context is imported, so the Python module can modify time/recursion
endpoints.
Marek Vavruša [Mon, 5 Jan 2015 14:40:11 +0000 (15:40 +0100)]
iterate: repeat again unminimized if AA
Marek Vavruša [Mon, 5 Jan 2015 14:25:29 +0000 (15:25 +0100)]
requestor: failover to TCP if truncated or network error
Marek Vavruša [Mon, 5 Jan 2015 14:25:01 +0000 (15:25 +0100)]
edns0: declare iterator edns0-capable
Marek Vavruša [Mon, 5 Jan 2015 15:38:45 +0000 (16:38 +0100)]
iterate: authoritative responses might update zone cut information
Marek Vavruša [Mon, 5 Jan 2015 15:36:58 +0000 (16:36 +0100)]
cache: remove correct entry on NS failure
Marek Vavruša [Mon, 5 Jan 2015 15:35:27 +0000 (16:35 +0100)]
cache: debug for entry removal
Marek Vavruša [Mon, 5 Jan 2015 15:34:56 +0000 (16:34 +0100)]
iterate: simplified qname m12n
Marek Vavruša [Mon, 5 Jan 2015 00:14:56 +0000 (01:14 +0100)]
iterate: QNAME minimization (draft-ietf-dnsop-qname-minimisation-00)
Marek Vavruša [Mon, 5 Jan 2015 00:14:14 +0000 (01:14 +0100)]
cache: cache glue records instead of refetching
Marek Vavruša [Mon, 5 Jan 2015 12:05:56 +0000 (13:05 +0100)]
buildsystem: optional daemon/tests
Marek Vavruša [Mon, 5 Jan 2015 11:04:46 +0000 (12:04 +0100)]
added m4 + gitignore
Marek Vavruša [Sat, 3 Jan 2015 23:28:50 +0000 (00:28 +0100)]
tests: replaced the unportable nftw() based rm with basic readdir() impl
Marek Vavruša [Sat, 3 Jan 2015 23:05:07 +0000 (00:05 +0100)]
docker: build + check must finish successfully
Marek Vavruša [Sat, 3 Jan 2015 23:03:14 +0000 (00:03 +0100)]
tests: revert to _XOPEN_SOURCE=500 on Linux
Marek Vavruša [Sat, 3 Jan 2015 22:44:18 +0000 (23:44 +0100)]
tests: _BSD_SOURCE to have both nftw() and mkdtemp() on OS X
Marek Vavruša [Sat, 3 Jan 2015 22:43:18 +0000 (23:43 +0100)]
daemon: tcp support, code cleanup
Marek Vavruša [Fri, 2 Jan 2015 14:28:30 +0000 (15:28 +0100)]
updated help
Marek Vavruša [Fri, 2 Jan 2015 14:26:32 +0000 (15:26 +0100)]
docker: added Dockerfile
Marek Vavruša [Fri, 2 Jan 2015 14:26:12 +0000 (15:26 +0100)]
daemon: fflush before running evloop
Marek Vavruša [Fri, 2 Jan 2015 14:13:41 +0000 (15:13 +0100)]
daemon: explicit linking of libuv/libknot, build fixes
Marek Vavruša [Fri, 2 Jan 2015 13:59:57 +0000 (14:59 +0100)]
daemon: post-merge fixes (api change)
Marek Vavruša [Wed, 31 Dec 2014 00:30:00 +0000 (01:30 +0100)]
tests: basic unittests for cache and context with cmocka
Marek Vavruša [Wed, 31 Dec 2014 00:29:27 +0000 (01:29 +0100)]
itercache: track cache insertions
Marek Vavruša [Wed, 31 Dec 2014 00:29:05 +0000 (01:29 +0100)]
cache: set maxsize, abort failed transactions, ideas for pruning
The pruning is going to be a little tricky with the db,
as of now first query that fills up cache to the brim clears it.
Marek Vavruša [Wed, 31 Dec 2014 00:27:49 +0000 (01:27 +0100)]
cache: record is ok if the time didn't change from insertion
Marek Vavruša [Wed, 31 Dec 2014 00:27:12 +0000 (01:27 +0100)]
worker: caller now creates (optional) cache
Marek Vavruša [Wed, 31 Dec 2014 00:26:35 +0000 (01:26 +0100)]
configure: detect cmocka, optional build of unittests
Marek Vavruša [Tue, 30 Dec 2014 12:16:17 +0000 (13:16 +0100)]
relicensed under GPLv3
Marek Vavruša [Mon, 29 Dec 2014 02:42:03 +0000 (03:42 +0100)]
resolve: accept zone cut only if it has address records
Marek Vavruša [Mon, 29 Dec 2014 02:41:29 +0000 (03:41 +0100)]
iterate: always resolve NS address to get it in the cache
as glue (or any additionals) are NOT cached
Marek Vavruša [Mon, 29 Dec 2014 02:40:57 +0000 (03:40 +0100)]
cache: handle time skip / cache fetch on newer queries
Marek Vavruša [Mon, 29 Dec 2014 01:25:47 +0000 (02:25 +0100)]
scripts: update project file
Marek Vavruša [Mon, 29 Dec 2014 01:25:26 +0000 (02:25 +0100)]
itercache: caching layer implemented
Marek Vavruša [Mon, 29 Dec 2014 01:24:59 +0000 (02:24 +0100)]
cache: implemented as namedb/lmdb backend
- removed excess copies in query, cache time tracking
- simple insert/replace semantics
- zero-copy query if TTL recalculation is not needed
- doc
Marek Vavruša [Mon, 29 Dec 2014 01:23:23 +0000 (02:23 +0100)]
reworked query resolution
- cache is now fully optional, resolution works without cache as well
- proper mempool per each request, not mixed
- zone cut resolution doesn't need any per-context memory
- now it's possible to do qname minimization
- rplan keeps tabs on resolved queries
- added documentation etc.
Marek Vavruša [Mon, 8 Dec 2014 14:30:28 +0000 (15:30 +0100)]
log: cleanup
Marek Vavruša [Mon, 8 Dec 2014 13:32:35 +0000 (14:32 +0100)]
stats: queries are counted by the iterator, cleanup
Marek Vavruša [Mon, 8 Dec 2014 13:32:18 +0000 (14:32 +0100)]
iterate: cache all glue rrs, check bogus glue rrs
- correct processing of NS records in the authoritative answers
Marek Vavruša [Mon, 8 Dec 2014 13:26:13 +0000 (14:26 +0100)]
resolve: SBELT moved to resolve, NS addrs stored in cache/sbelt
- zonecut map is now truly a volatile cache to accelerate zone cut
retrieval, RDATA is stored in cache
- cache update is commited after each successfuly resolved query
- SBELT contains a static data as a fallback if the root server cannot
be found in the zone cut map, or the data is missing in the cache
Marek Vavruša [Mon, 8 Dec 2014 13:21:14 +0000 (14:21 +0100)]
zonecut: renamed to zonecut
Marek Vavruša [Mon, 8 Dec 2014 13:10:36 +0000 (14:10 +0100)]
zonecut: store zone cut info, allow empty root
Marek Vavruša [Mon, 8 Dec 2014 13:04:00 +0000 (14:04 +0100)]
rplan: added debug message