From: Mark Andrews Date: Wed, 3 Apr 2024 23:35:23 +0000 (+1100) Subject: Wrong source address used for IPv6 notify messages X-Git-Tag: v9.19.24~33^2~2 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=40fd4cd407fd2a215d754153c21baaaa3a523f7b;p=thirdparty%2Fbind9.git Wrong source address used for IPv6 notify messages The source address field of 'newnotify' was not updated from the default (0.0.0.0) when the destination address was an IPv6 address. This resulted in the messages failing to be sent. Set the source address to :: when the destination address is an IPv6 address. --- diff --git a/lib/dns/zone.c b/lib/dns/zone.c index d70155bf746..cf092832211 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -12535,6 +12535,9 @@ notify_send(dns_notify_t *notify) { zone_iattach(notify->zone, &newnotify->zone); ISC_LIST_APPEND(newnotify->zone->notifies, newnotify, link); newnotify->dst = dst; + if (isc_sockaddr_pf(&dst) == AF_INET6) { + isc_sockaddr_any6(&newnotify->src); + } startup = ((notify->flags & DNS_NOTIFY_STARTUP) != 0); result = notify_send_queue(newnotify, startup); if (result != ISC_R_SUCCESS) {