Restore the RECURSIONOK attribute after staleonly

When doing a staleonly lookup we don't want to fallback to recursion.
After all, there are obviously problems with recursion, otherwise we
wouldn't do a staleonly lookup.

When resuming from recursion however, we should restore the
RECURSIONOK flag, allowing future required lookups for this client
to recurse.

(cherry picked from commit 3f81d79ffb)
This commit is contained in:
Matthijs Mekking
2021-04-02 13:29:09 +02:00
parent 114dc7888a
commit 34dd6521b1
+7
View File
@@ -6038,6 +6038,13 @@ fetch_callback(isc_task_t *task, isc_event_t *event) {
return;
}
/*
* We are resuming from recursion. Reset any attributes, options
* that a stale-only lookup may have set.
*/
if (client->view->cachedb != NULL && client->view->recursion) {
client->query.attributes |= NS_QUERYATTR_RECURSIONOK;
}
client->query.dboptions &= ~DNS_DBFIND_STALEONLY;
client->nodetach = false;