From: Vladimír Čunát Date: Wed, 22 Apr 2020 11:38:39 +0000 (+0200) Subject: iterate: use resolve_badmsg() fallback for more RCODEs X-Git-Tag: v5.1.0~8^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e460f9215660822813e868de5859e51111e70201;p=thirdparty%2Fknot-resolver.git iterate: use resolve_badmsg() fallback for more RCODEs + REFUSED and SERVFAIL (in non-STUB) --- diff --git a/lib/layer/iterate.c b/lib/layer/iterate.c index 55f79abb0..6558c50b7 100644 --- a/lib/layer/iterate.c +++ b/lib/layer/iterate.c @@ -1069,14 +1069,12 @@ static int resolve(kr_layer_t *ctx, knot_pkt_t *pkt) case KNOT_RCODE_NXDOMAIN: break; /* OK */ case KNOT_RCODE_REFUSED: - case KNOT_RCODE_SERVFAIL: { + case KNOT_RCODE_SERVFAIL: if (query->flags.STUB) { - /* Pass through in stub mode */ + /* just pass answer through if in stub mode */ break; } - VERBOSE_MSG("<= rcode: %s\n", rcode ? rcode->name : "??"); - return KR_STATE_FAIL; - } + /* fall through */ case KNOT_RCODE_FORMERR: VERBOSE_MSG("<= rcode: %s\n", rcode ? rcode->name : "??"); return resolve_badmsg(pkt, req, query);