From 9c4bf80d5abb8d09fc5273f171f660cda351c88f Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=A0t=C4=9Bp=C3=A1n=20Bal=C3=A1=C5=BEik?= Date: Fri, 6 Nov 2020 15:40:59 +0100 Subject: [PATCH] WIP --- lib/resolve.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/resolve.c b/lib/resolve.c index a3e3270f0..80f5372bd 100644 --- a/lib/resolve.c +++ b/lib/resolve.c @@ -1356,13 +1356,19 @@ int kr_resolve_produce(struct kr_request *request, struct kr_transport **transpo if (*transport == NULL) { /* Properly signal to serve_stale module. */ if (qry->flags.NO_NS_FOUND) { - ITERATE_LAYERS(request, qry, reset); - kr_rplan_pop(rplan, qry); + printf("Failed serve_stale.\n"); + if (qry->flags.NONAUTH) { + ITERATE_LAYERS(request, qry, reset); + kr_rplan_pop(rplan, qry); + } else { + return KR_STATE_FAIL; + } } else { /* FIXME: This is probably quite inefficient: * we go through the whole qr_task_step loop just because of the serve_stale * module which might not even be loaded. */ qry->flags.NO_NS_FOUND = true; + printf("Trying serve_stale.\n"); } return KR_STATE_PRODUCE; } -- 2.47.2