From: Greg Hudson Date: Mon, 26 Dec 2016 23:47:00 +0000 (-0500) Subject: Add sa_is_wildcard() helper to socket-utils.h X-Git-Tag: krb5-1.16-beta1~171 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=715b3979525e5045fd66ffebdf98cec67fb58dfe;p=thirdparty%2Fkrb5.git Add sa_is_wildcard() helper to socket-utils.h --- diff --git a/src/include/socket-utils.h b/src/include/socket-utils.h index 1566636830..e1f33aa317 100644 --- a/src/include/socket-utils.h +++ b/src/include/socket-utils.h @@ -119,6 +119,17 @@ sa_is_inet(struct sockaddr *sa) return sa->sa_family == AF_INET || sa->sa_family == AF_INET6; } +/* Return true if sa is an IPv4 or IPv6 wildcard address. */ +static inline int +sa_is_wildcard(struct sockaddr *sa) +{ + if (sa->sa_family == AF_INET6) + return IN6_IS_ADDR_UNSPECIFIED(&sa2sin6(sa)->sin6_addr); + else if (sa->sa_family == AF_INET) + return sa2sin(sa)->sin_addr.s_addr == INADDR_ANY; + return 0; +} + /* Return the length of an IPv4 or IPv6 socket structure; abort if it is * neither. */ static inline socklen_t