mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 22:15:20 +00:00
[master] fix dns_request_createvia assert
3474. [bug] nsupdate could assert when the local and remote address families didn't match. [RT #22897]
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -1,3 +1,6 @@
|
|||||||
|
3474. [bug] nsupdate could assert when the local and remote
|
||||||
|
address families didn't match. [RT #22897]
|
||||||
|
|
||||||
3473. [bug] dnssec-signzone/verify could incorrectly report
|
3473. [bug] dnssec-signzone/verify could incorrectly report
|
||||||
an error condition due to an empty node above an
|
an error condition due to an empty node above an
|
||||||
opt-out delegation lacking an NSEC3. [RT #32072]
|
opt-out delegation lacking an NSEC3. [RT #32072]
|
||||||
|
@@ -222,6 +222,17 @@ $DIG +tcp version.bind txt ch @10.53.0.1 -p 5300 > dig.out.ns1.$n
|
|||||||
grep "status: NOERROR" dig.out.ns1.$n > /dev/null || ret=1
|
grep "status: NOERROR" dig.out.ns1.$n > /dev/null || ret=1
|
||||||
[ $ret = 0 ] || { echo I:failed; status=1; }
|
[ $ret = 0 ] || { echo I:failed; status=1; }
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I:check that address family mismatch is handled ($n)"
|
||||||
|
$NSUPDATE <<END > /dev/null 2>&1 && ret=1
|
||||||
|
server ::1
|
||||||
|
local 127.0.0.1
|
||||||
|
update add 600 txt.example.nil in txt "test"
|
||||||
|
send
|
||||||
|
END
|
||||||
|
[ $ret = 0 ] || { echo I:failed; status=1; }
|
||||||
|
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo "I:check that unixtime serial number is correctly generated ($n)"
|
echo "I:check that unixtime serial number is correctly generated ($n)"
|
||||||
oldserial=`$DIG +short unixtime.nil. soa @10.53.0.1 -p 5300 | awk '{print $3}'` || ret=1
|
oldserial=`$DIG +short unixtime.nil. soa @10.53.0.1 -p 5300 | awk '{print $3}'` || ret=1
|
||||||
|
@@ -894,13 +894,15 @@ dns_request_createvia3(dns_requestmgr_t *requestmgr, dns_message_t *message,
|
|||||||
REQUIRE(action != NULL);
|
REQUIRE(action != NULL);
|
||||||
REQUIRE(requestp != NULL && *requestp == NULL);
|
REQUIRE(requestp != NULL && *requestp == NULL);
|
||||||
REQUIRE(timeout > 0);
|
REQUIRE(timeout > 0);
|
||||||
if (srcaddr != NULL)
|
|
||||||
REQUIRE(isc_sockaddr_pf(srcaddr) == isc_sockaddr_pf(destaddr));
|
|
||||||
|
|
||||||
mctx = requestmgr->mctx;
|
mctx = requestmgr->mctx;
|
||||||
|
|
||||||
req_log(ISC_LOG_DEBUG(3), "dns_request_createvia");
|
req_log(ISC_LOG_DEBUG(3), "dns_request_createvia");
|
||||||
|
|
||||||
|
if (srcaddr != NULL &&
|
||||||
|
isc_sockaddr_pf(srcaddr) != isc_sockaddr_pf(destaddr))
|
||||||
|
return (ISC_R_FAMILYMISMATCH);
|
||||||
|
|
||||||
if (isblackholed(requestmgr->dispatchmgr, destaddr))
|
if (isblackholed(requestmgr->dispatchmgr, destaddr))
|
||||||
return (DNS_R_BLACKHOLED);
|
return (DNS_R_BLACKHOLED);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user