diff options
author | Vladimír Čunát <vladimir.cunat@nic.cz> | 2023-01-19 15:45:09 +0100 |
---|---|---|
committer | Aleš Mrázek <ales.mrazek@nic.cz> | 2023-01-26 13:06:39 +0100 |
commit | a9528e334b8df32e419c4430cb556e742b9e8199 (patch) | |
tree | 3a2cc57ed5052a1c35eb1ed42b5487728985a64c /lib | |
parent | Merge !1379: tests/integration/deckard: update to version with --forked (diff) | |
download | knot-resolver-a9528e334b8df32e419c4430cb556e742b9e8199.tar.xz knot-resolver-a9528e334b8df32e419c4430cb556e742b9e8199.zip |
daemon/worker: call server_selection.error() more
On most fundamental issues like DNS message not parsing,
we did not call this. Selection needs such information.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/layer/iterate.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/layer/iterate.c b/lib/layer/iterate.c index 98202a18..edc666eb 100644 --- a/lib/layer/iterate.c +++ b/lib/layer/iterate.c @@ -1055,6 +1055,8 @@ static int resolve(kr_layer_t *ctx, knot_pkt_t *pkt) /* Check for packet processing errors first. * Note - we *MUST* check if it has at least a QUESTION, * otherwise it would crash on accessing QNAME. */ + /* TODO: some of these erros are probably unreachable + * thanks to getting caught earlier, in particular in worker_submit() */ if (pkt->parsed <= KNOT_WIRE_HEADER_SIZE) { if (pkt->parsed == KNOT_WIRE_HEADER_SIZE && knot_wire_get_rcode(pkt->wire) == KNOT_RCODE_FORMERR) { /* This is a special case where we get valid header with FORMERR and nothing else. |