Fix DiG query retry and fail-over bug

When the `send_done()` callback function gets called with a failure
result code, DiG erroneously cancels the lookup.

Stop canceling the lookup and give DiG a chance to retry the failed
query, or fail-over to another server, using the logic implemented in
the `recv_done()` callback function.

(cherry picked from commit c2329dd110e88a194be4d9a3fe1571dbae8af178)
This commit is contained in:
Aram Sargsyan 2022-06-15 12:58:00 +00:00
parent be8ec6ef18
commit 6efb73d4bb

View file

@ -2705,7 +2705,6 @@ send_done(isc_nmhandle_t *handle, isc_result_t eresult, void *arg) {
return;
} else if (eresult != ISC_R_SUCCESS) {
debug("send failed: %s", isc_result_totext(eresult));
cancel_lookup(l);
query_detach(&query);
lookup_detach(&l);
UNLOCK_LOOKUP;