]> 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 09:00:15 +0000 (09:00 +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.

(cherry picked from commit c2329dd110e88a194be4d9a3fe1571dbae8af178)

bin/dig/dighost.c

index a9a4b0f388d1ad9865ed0f912e1082266e3315e9..93b17598a3f2226e34d78585e4441dc542644e01 100644 (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;