- Dec 22, 2016
-
-
Vladimír Čunát authored
Before C11, repeating a typedef is forbidden, if taken strictly, and some compiler versions even reject it. On the other hand lru.h was missing it, which wasn't noticed due to glibc's <sys/types.h> defining it. Fixes https://gitlab.labs.nic.cz/knot/resolver/issues/114.
-
- Dec 19, 2016
-
-
Motivation: maintaining these by hand in kres.lua is tricky, as just inserting or reordering the structures can do anything and isn't detected in general. For example, `rr_array_t::at` has always "missed a star". A couple libknot structure fields have apparently changed name since the old definitions were written; in most cases I renamed them in *.lua. The file daemon/lua/kres-gen.lua will be regenerated only if explicitly deleted. That requires building with debug symbols and gdb on $PATH.
-
- Dec 14, 2016
-
-
Vladimír Čunát authored
... fixing a warning. The addresses are the same, but it wasn't completely correct.
-
Grigorii Demidov authored
-
- Dec 13, 2016
-
-
Vladimír Čunát authored
-
- Dec 12, 2016
-
-
Vladimír Čunát authored
-
Vladimír Čunát authored
Now that we renamed "debug" to "verbose", the old name didn't seem very suitable anymore; this new identifier haven't got to master yet.
-
Ondřej Surý authored
Split NDEBUG to NDEBUG (asserts) and NOVERBOSELOG (verbose logging); rename all related symbols to use VERBOSE instead of DEBUG
-
- Dec 09, 2016
-
-
Grigorii Demidov authored
-
- Dec 08, 2016
-
-
Grigorii Demidov authored
-
- Dec 07, 2016
-
-
Vladimír Čunát authored
In particular, don't require to call an externally defined function to find if in --verbose mode or not. Now it's just an extern bool. I'm confident the performance impact of not using -DNLOGDEBUG should be negligible now. This comes with a small incompatible API+ABI change, but that shouldn't matter as we've had a couple of those already since the last release.
-
Ondřej Surý authored
-
- Dec 06, 2016
-
-
Grigorii Demidov authored
-
- Dec 05, 2016
-
-
Grigorii Demidov authored
-
- Nov 29, 2016
-
-
Vladimír Čunát authored
-
Vladimír Čunát authored
Fixes #111. Compatibility: it needs a new libkres.so function. If a wrong version combination is attempted, the module just cleanly fails to load, though it writes a slightly confusing message "no such file or directory".
-
- Nov 28, 2016
-
-
Vladimír Čunát authored
-
- Nov 22, 2016
-
-
Vladimír Čunát authored
- Drop all make dependencies, so it's only generated when the file goes missing (i.e. was explicitly deleted). - Add checks into the generator to avoid producing empty strings on failures. It compiled correctly and wasn't easy to debug.
-
- Nov 14, 2016
-
-
Vladimír Čunát authored
We only want this when deleted explicitly.
-
Ondřej Surý authored
-
- Nov 10, 2016
-
-
Grigorii Demidov authored
-
- Nov 08, 2016
-
-
Vladimír Čunát authored
- The API and ABI for modules changes slightly (details below). KR_MODULE_API is bumped to avoid loading incompatible code. We have bumped libkres ABIVER since the last release 1.1.1, so leaving that one intact. - Make KR_STATE_YIELD not reuse 0 value anymore. It's easy to e.g. return kr_ok() by mistake. - struct kr_layer_t: * ::mm was unused, uninitialized, etc. * Make ::state an int, as it was everywhere else. * void *data was ugly and always containing struct kr_request * - struct kr_layer_api: * Drop the void* parameter from ::begin, as it was only used for the request which is available as ctx->req anyway (formerly ctx->data). * Drop ::fail. It wasn't even called. Modules can watch for KR_STATE_FAIL in ::finish. - Document the apparent meaning of the layer interface, deduced mainly from the way it's used in the code. Caveats: * enum knot_layer_state handling seems to assume that it holds exactly one of the possibilities at a time. The cookie module does NOT follow that (intentionally), apparently depending on the exact implementation of the handling at that moment. It feels fragile. * I was unable to deduce a plausible description of when ::reset is called. It's practically unused in modules, too.
-
Vladimír Čunát authored
It causes lots of line changes, but it would be confusing to keep the current state over long term.
-
- Nov 02, 2016
-
-
Vladimír Čunát authored
Fixes #100. The file with the addresses is in the repo, so people don't have to regenerate it, but the build system is able to do it.
-
Vladimír Čunát authored
I don't know why it passed on Linux without any warning.
-
Vladimír Čunát authored
... and that doesn't necessarily mean that malloc() failed. We do *not* want to evict a heavy-hitter by an unfrequent element. Note: even the implementation currently in master *did* return NULL, so some parts of the code were just wrongly returning ENOMEM.
-
Vladimír Čunát authored
The implementation is now similar to set-associative caches that x86 CPU use. Also the API is changed a bit, leading to slight simplification of our use patterns.
-
- Oct 24, 2016
-
-
Vladimír Čunát authored
Fixes https://gitlab.labs.nic.cz/knot/resolver/issues/93. API of a KR_EXPORT function is changed, so ABIVER is bumped.
-
- Oct 20, 2016
-
-
Vladimír Čunát authored
-
- Oct 11, 2016
-
-
Grigorii Demidov authored
-
- Sep 08, 2016
-
-
Ondřej Surý authored
-
- Sep 05, 2016
-
-
Marek Vavruša authored
if the score is known (and not glued), the retry rate is <avg(rtt), 250ms> if the NS score is unknown or worse than 250ms, it is always retried at this rate all other servers in the list use default rate
-
Marek Vavruša authored
maintainer may wish to choose neutral or even more favoured server selection of IPv6 servers. -DFAVOUR_IPV6=0 makes neutral server selection -DFAVOUR_IPV6=40 gives IPv6 40ms better chance
-
- Aug 25, 2016
-
-
Marek Vavruša authored
-
Marek Vavruša authored
RTT tracking for all targets is also supported, but no loadbalancing is done based on that yet
-
Vladimír Čunát authored
-
- Aug 24, 2016
-
-
Ondřej Surý authored
-
Ondřej Surý authored
-
Ondřej Surý authored
-
Marek Vavruša authored
when doing fast retransmit, each address may be contacted 1-N times, but previously only cumulative RTT was tracked for the NS that sent the answer. now the approximate query start time is subtracted from cumulative RTT to give an idea how long it took since the query was actually sent, and all the NSs that didn't respond within their retransmit windows are penalised too
-