Add helper function isc_sockaddr_disabled

(cherry picked from commit 9be1873ef3)
This commit is contained in:
Mark Andrews 2024-02-13 11:42:44 +11:00
parent cc0e745ab0
commit e0af62deac
2 changed files with 19 additions and 0 deletions

View file

@ -245,4 +245,11 @@ isc_sockaddr_fromsockaddr(isc_sockaddr_t *isa, const struct sockaddr *sa);
* Minimum size of array to pass to isc_sockaddr_format().
*/
bool
isc_sockaddr_disabled(const isc_sockaddr_t *sockaddr);
/*%<
* Report whether or not the address family of 'sockaddr'
* has been disabled.
*/
ISC_LANG_ENDDECLS

View file

@ -497,3 +497,15 @@ isc_sockaddr_fromsockaddr(isc_sockaddr_t *isa, const struct sockaddr *sa) {
return (ISC_R_SUCCESS);
}
bool
isc_sockaddr_disabled(const isc_sockaddr_t *sockaddr) {
if ((sockaddr->type.sa.sa_family == AF_INET &&
isc_net_probeipv4() == ISC_R_DISABLED) ||
(sockaddr->type.sa.sa_family == AF_INET6 &&
isc_net_probeipv6() == ISC_R_DISABLED))
{
return (true);
}
return (false);
}