| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
knot_wire_next_label isn't allowed with NULL wire anymore.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This filtering was dropped in 4565cc596680 (v5.3.0).
Now it's reintroduced - but inside the function, as that seems nicer.
Nit: naming and comment were updated to fit the current usage.
As the code is designed so far (in whole history probably), in order
to detect whether we need to choose a zone cut closer to the root,
we need to do something like this in lib/zonecut.c already,
instead of just during server selection.
I don't think this change can break anything.
Fetching unusable addresses from cache seems pointless,
as selection wouldn't be allowed to use them or try resolving them.
|
| |
|
|
|
|
|
| |
It's a mitigation for CVE-2022-40188 and similar DoS attempts.
It's using really trivial approaches, at least for now.
|
|
|
|
|
|
| |
https://clangd.llvm.org/design/include-cleaner
Though somehow I'm all the time getting false positives for
"daemon/bindings/impl.h"
|
|
|
|
|
| |
It provides more information and the condition is typically
easier to read, too.
|
| |
|
|
|
|
|
|
|
|
|
| |
The main problem there was ignoring the log groups,
and VERBOSE_STATUS also ignores trace-logging.
Typically the new kr_log_is_debug*() are the best choice.
In a couple places with heavy WITH_VERBOSE usage it's
instead locally redefined to consider the right group.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To (hopefully) improve readability, rename the typical macro usage of:
if (!kr_assume(x)) y; // to
if (kr_fails_assert(x)) y;
As a convenience, replace the assert without a return value to a more
simple version:
(void)!kr_assume(x); // becomes
kr_assert(x);
|
| |
|
| |
|
|
|
|
|
| |
Design discussion: #447
Code discussion: !1030
|
|
|
|
|
| |
Long GNU GPLv3 boilderplate was automatically replaced
with machine readable tag.
|
|
|
|
|
| |
It's fairly easy to keep keep compatible with both 2.8 and 2.9,
so I'd go for that for now, as it may be practical.
|
|
|
|
|
| |
Function originally called kr_cache_sync() was in fact responsible
for calling mdb_txn_commit() and not mdb_env_sync() which was confusing.
|
|
|
|
| |
None of these seemed to be errors, but it seems better to clear these.
|
|
|
|
|
| |
There's still an unresolved "problem" with QRVERBOSE getting
empty variadic list sometimes, and I can't see a good way around that.
|
|
|
|
|
| |
To simplify this, some of the zonecut API was generalized
(API+ABI break). Detected by -Wpedantic.
|
|
|
|
|
| |
It's more efficient for some our use cases,
and hopefully also more idiomatic.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The problem here was that we need to know which addresses are timed-out
(and not to be re-probed) much earlier than we do NS selection ATM -
that's because under some circumstances it affects the depth of NS
zone cut that we choose, i.e. if all addresses in a certain zone cut are
"bad" in a certain sense, we need to use a zone cut closer to the root,
because otherwise we'd get into a dependency cycle.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
The _t isn't uint8_t* anymore but a structure with .len and .data.
|
|
|
|
| |
To work on RRSIG TTLs, libknot >= 2.7.1 is needed.
|
|
|
|
|
| |
- <dnssec/**> -> <libdnssec/**>
- <zscanner/**> -> <libzscanner/**>
|
| |
|
|
|
|
|
|
| |
Checking query flags instead of global context option allows setting
overrides on individual queries. The effect is the same as query flags
start by copying request flags which start by copying context options.
|
| |
|
| |
|
| |
|
|
|
|
| |
addresses found
|
|
|
|
|
|
| |
We use the knot style everywhere else; this was very similar and yet
different, so really annoying to me. In the long term we might better
migrate to qp-tries from knot, but the API differs, so it's delayed...
|
|
|
|
| |
It's mostly just --verbose logging adjustments.
|
|
|
|
|
|
|
|
|
| |
Example: after foo.sk query the bar.sk query started iterating from
asking the root again for NS sk. This bug was present on insecure zones,
and before version 2.0.0 only such that have a secure parent.
(These two parts of the bug correspond to the two changes in this commit.)
Fixes https://gitlab.labs.nic.cz/knot/knot-resolver/issues/246
|
|
|
|
| |
It was just too noisy for default --verbose.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Positive caching seems usable now. (No xNAME, wildcards, etc.)
Problem around zone cuts:
- clear cache
- kdig fubar
- kdig DNSKEY cz
|
| |
|
| |
|
|\ |
|