]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix DiG query retry and fail-over bug
authorAram Sargsyan <aram@isc.org>
Wed, 15 Jun 2022 12:58:00 +0000 (12:58 +0000)
committerAram Sargsyan <aram@isc.org>
Fri, 22 Jul 2022 08:35:35 +0000 (08:35 +0000)
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.

bin/dig/dighost.c

index e7bd59b1c9187788b1ee99d8a2abc0ada6cb8ef6..418540d1b4dd56674fb6cb37fd7b8b10ffdaca8f 100644 (file)
@@ -2695,7 +2695,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;