mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-04 00:25:29 +00:00
[9.20] fix: usr: Fix dual-stack-servers configuration option
The dual-stack-servers configuration option was not working as expected; the specified servers were not being used when they should have been, leading to resolution failures. This has been fixed. Closes #5019 Backport of MR !9708 Merge branch 'backport-5019-dual-stack-servers-wasn-t-working-in-all-cases-9.20' into 'bind-9.20' See merge request isc-projects/bind9!10174
This commit is contained in:
@@ -858,11 +858,6 @@ status=$((status + ret))
|
|||||||
n=$((n + 1))
|
n=$((n + 1))
|
||||||
echo_i "check that correct namespace is chosen for dual-stack-servers ($n)"
|
echo_i "check that correct namespace is chosen for dual-stack-servers ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
#
|
|
||||||
# The two priming queries are needed until we fix dual-stack-servers fully
|
|
||||||
#
|
|
||||||
dig_with_opts @fd92:7065:b8e:ffff::9 v4.nameserver A >dig.out.prime1.${n} || ret=1
|
|
||||||
dig_with_opts @fd92:7065:b8e:ffff::9 v4.nameserver AAAA >dig.out.prime2.${n} || ret=1
|
|
||||||
dig_with_opts @fd92:7065:b8e:ffff::9 foo.v4only.net A >dig.out.ns9.${n} || ret=1
|
dig_with_opts @fd92:7065:b8e:ffff::9 foo.v4only.net A >dig.out.ns9.${n} || ret=1
|
||||||
grep "status: NOERROR" dig.out.ns9.${n} >/dev/null || ret=1
|
grep "status: NOERROR" dig.out.ns9.${n} >/dev/null || ret=1
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
|
@@ -2945,13 +2945,17 @@ fctx_finddone(void *arg) {
|
|||||||
} else {
|
} else {
|
||||||
fctx->findfail++;
|
fctx->findfail++;
|
||||||
if (atomic_load_acquire(&fctx->pending) == 0) {
|
if (atomic_load_acquire(&fctx->pending) == 0) {
|
||||||
/*
|
|
||||||
* We've got nothing else to wait for
|
|
||||||
* and don't know the answer. There's
|
|
||||||
* nothing to do but fail the fctx.
|
|
||||||
*/
|
|
||||||
FCTX_ATTR_CLR(fctx, FCTX_ATTR_ADDRWAIT);
|
FCTX_ATTR_CLR(fctx, FCTX_ATTR_ADDRWAIT);
|
||||||
want_done = true;
|
if (!ISC_LIST_EMPTY(fctx->res->alternates)) {
|
||||||
|
want_try = true;
|
||||||
|
} else {
|
||||||
|
/*
|
||||||
|
* We've got nothing else to wait for
|
||||||
|
* and don't know the answer. There's
|
||||||
|
* nothing to do but fail the fctx.
|
||||||
|
*/
|
||||||
|
want_done = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user