mirror of
https://github.com/isc-projects/bind9.git
synced 2026-03-13 14:18:48 -04:00
Report non-effective primaries
When named is started with -4 or -6 and the primaries for a zone
do not have an IPv4 or IPv6 address respectively issue a log message.
(cherry picked from commit 2cd4303249)
This commit is contained in:
parent
7a9ac0491f
commit
96754276a7
1 changed files with 28 additions and 0 deletions
|
|
@ -6253,6 +6253,32 @@ unlock:
|
|||
UNLOCK_ZONE(zone);
|
||||
}
|
||||
|
||||
static bool
|
||||
has_pf(const isc_sockaddr_t *addresses, size_t count, int pf) {
|
||||
for (size_t i = 0; i < count; i++) {
|
||||
if (isc_sockaddr_pf(&addresses[i]) == pf) {
|
||||
return (true);
|
||||
}
|
||||
}
|
||||
return (false);
|
||||
}
|
||||
|
||||
static void
|
||||
report_no_active_addresses(dns_zone_t *zone, const isc_sockaddr_t *addresses,
|
||||
size_t count, const char *what) {
|
||||
if (isc_net_probeipv4() == ISC_R_DISABLED) {
|
||||
if (!has_pf(addresses, count, AF_INET6)) {
|
||||
dns_zone_log(zone, ISC_LOG_NOTICE,
|
||||
"IPv4 disabled and no IPv6 %s", what);
|
||||
}
|
||||
} else if (isc_net_probeipv6() == ISC_R_DISABLED) {
|
||||
if (!has_pf(addresses, count, AF_INET)) {
|
||||
dns_zone_log(zone, ISC_LOG_NOTICE,
|
||||
"IPv6 disabled and no IPv4 %s", what);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
dns_zone_setprimaries(dns_zone_t *zone, const isc_sockaddr_t *primaries,
|
||||
dns_name_t **keynames, dns_name_t **tlsnames,
|
||||
|
|
@ -6308,6 +6334,8 @@ dns_zone_setprimaries(dns_zone_t *zone, const isc_sockaddr_t *primaries,
|
|||
goto unlock;
|
||||
}
|
||||
|
||||
report_no_active_addresses(zone, primaries, count, "primaries");
|
||||
|
||||
/*
|
||||
* primariesok must contain count elements
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue