Fix dig error when trying the next server after a TCP connection failure
When encountering a TCP connection error while trying to initiate a
connection to a server, dig erroneously cancels the lookup even when
there are other server(s) to try, which results in an assertion failure.
Cancel the lookup only when there are no more queries left in the
lookup's queries list (i.e. `next` is NULL).
(cherry picked from commit 0fb4fc1897)
This commit is contained in:
+3
-1
@@ -3293,8 +3293,10 @@ tcp_connected(isc_nmhandle_t *handle, isc_result_t eresult, void *arg) {
|
||||
next = NULL;
|
||||
}
|
||||
|
||||
cancel_lookup(l);
|
||||
query_detach(&query);
|
||||
if (next == NULL) {
|
||||
cancel_lookup(l);
|
||||
}
|
||||
lookup_detach(&l);
|
||||
|
||||
if (next != NULL) {
|
||||
|
||||
Reference in New Issue
Block a user