Cleanup fctx->finds before sending 'final' query after qname minimization.
At the beginning of qname minimization we get fctx->finds filled with what's in the cache at this point, in worst case root servers. After doing full run querying for NSes at different levels we need to clean it and refill it with proper values from cache.
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
5075. [bug] Refresh nameservers from cache when sending final
|
||||
query in qname minimization. [GL #16]
|
||||
|
||||
5074. [cleanup] Remove vector socket functions - isc_socket_recvv(),
|
||||
isc_socket_sendtov(), isc_socket_sendtov2(),
|
||||
isc_socket_sendv() - in order to simplify socket code.
|
||||
|
||||
@@ -4143,6 +4143,15 @@ resume_qmin(isc_task_t *task, isc_event_t *event) {
|
||||
fctx->ns_ttl = fctx->nameservers.ttl;
|
||||
fctx->ns_ttl_ok = true;
|
||||
fctx_minimize_qname(fctx);
|
||||
if (!fctx->minimized) {
|
||||
/*
|
||||
* We have finished minimizing, but fctx->finds was filled at
|
||||
* the beginning of the run - now we need to clear it before
|
||||
* sending the final query to use proper nameservers.
|
||||
*/
|
||||
fctx_cancelqueries(fctx, false, false);
|
||||
fctx_cleanupall(fctx);
|
||||
}
|
||||
fctx_try(fctx, true, false);
|
||||
|
||||
cleanup:
|
||||
|
||||
Reference in New Issue
Block a user