- May 03, 2015
-
-
Marek Vavruša authored
the server responds with edns0 if the client requests it, it also uses DNSSEC for queries if DO=1 the obtained records are not however validated
-
Marek Vavruša authored
-
- May 02, 2015
-
-
Marek Vavruša authored
the engine keeps an array of storage backends available for caching, it is possible to switch the backend on runtime with standard ‘proto://config' string the default backend is ‘lmdb://<path>’
-
Marek Vavruša authored
the api is still a global variable, but it would be the best if the namedb_t carried the pointer to the api, so it needs to change in libknot later
-
Marek Vavruša authored
each asset is tagged by a byte defining its type and importance this is a groundwork for negative cache and packet cache abstracted the code in preparation for different backends
-
Marek Vavruša authored
-
Marek Vavruša authored
do all socket closing in worker to avoid double closes with timeout timer, also propagate bad messages to discover errors earlier than timeout
-
Marek Vavruša authored
if the server doesn’t understand edns0, replies with notimpl, formerr or sends bad badly formed response, we try basic dns query (ns0.rbsov.bbc.co.uk)
-
- Apr 30, 2015
-
-
Marek Vavruša authored
-
- Apr 29, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
-
Marek Vavruša authored
-
Marek Vavruša authored
-
Marek Vavruša authored
-
Marek Vavruša authored
-
Marek Vavruša authored
-
- Apr 28, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
previously cryptolib random function was used to generate message id, this works well but it is slow especially when the entropy is low, replaced with cryptographically safe prng ISAAC the ccan directory is going to be used in the future, as it's include structure makes it easy to embed C snippets instead of reimplementing them
-
Marek Vavruša authored
-
Marek Vavruša authored
the encloser might exist and contain valid data, the resolver would return wrong records in this case
-
Marek Vavruša authored
-
Marek Vavruša authored
refs #15
-
- Apr 27, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
-
Marek Vavruša authored
-
Marek Vavruša authored
-
Marek Vavruša authored
-
Marek Vavruša authored
this disables dual-stack and allows binding to both v4 and v4-in-v6 addresses separately
-
Marek Vavruša authored
fixes #22
-
- Apr 26, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
-
Marek Vavruša authored
* each query is assigned a task * each task contains request, some primitives and mempool * worker can process multiple tasks at once and offload I/O to event loop Not finished: * it depends on icmp/system timeouts, #22 * tcp reads are going to be bad if the messages arrive fragmented #21
-
Marek Vavruša authored
-
Marek Vavruša authored
the reason is that LMDB allows only 1 write transaction per thread, and this doesn’t work well with multiplexed requests. there is probably going to be some performance hit, but now transactions are scoped for each cache operation
-
- Apr 24, 2015
-
-
Marek Vavruša authored
the worker now creates a resolution context copy, and keeps it if the query requires iterative queries. the worker_exec() is now a reentrant function that gets called with incoming data until the resolution is done, and it sends the answer
-
Marek Vavruša authored
TODO: per-loop freelists are implemented
-
Marek Vavruša authored
-
- Apr 23, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
-
- Apr 22, 2015
-
-
Marek Vavruša authored
-