From fec0baacb658eb1bfc15c8ca4dfeecc1cf84eb79 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 27 Feb 2011 09:57:18 +0100 Subject: s3: Make is_zero_addr take a sockaddr_storage All callers had to cast this anyway Autobuild-User: Volker Lendecke Autobuild-Date: Sun Feb 27 11:02:53 CET 2011 on sn-devel-104 --- lib/util/util_net.c | 6 +++--- source3/include/proto.h | 2 +- source3/lib/util_sock.c | 2 +- source3/libsmb/cliconnect.c | 2 +- source3/libsmb/dsgetdcname.c | 2 +- source3/libsmb/namequery.c | 14 +++++++------- source3/libsmb/namequery_dc.c | 2 +- source3/rpc_server/spoolss/srv_spoolss_nt.c | 2 +- source3/utils/net_util.c | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/lib/util/util_net.c b/lib/util/util_net.c index 8a9b5b1f24..9c8f5c6d47 100644 --- a/lib/util/util_net.c +++ b/lib/util/util_net.c @@ -384,16 +384,16 @@ bool is_loopback_addr(const struct sockaddr *pss) /** * Check if a struct sockaddr has an unspecified address. */ -bool is_zero_addr(const struct sockaddr *pss) +bool is_zero_addr(const struct sockaddr_storage *pss) { #if defined(HAVE_IPV6) - if (pss->sa_family == AF_INET6) { + if (pss->ss_family == AF_INET6) { const struct in6_addr *pin6 = &((const struct sockaddr_in6 *)pss)->sin6_addr; return IN6_IS_ADDR_UNSPECIFIED(pin6); } #endif - if (pss->sa_family == AF_INET) { + if (pss->ss_family == AF_INET) { const struct in_addr *pin = &((const struct sockaddr_in *)pss)->sin_addr; return is_zero_ip_v4(*pin); } diff --git a/source3/include/proto.h b/source3/include/proto.h index ae048af19f..fdc2b7b7b5 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1249,7 +1249,7 @@ NTSTATUS sid_array_from_info3(TALLOC_CTX *mem_ctx, bool is_broadcast_addr(const struct sockaddr *pss); bool is_loopback_ip_v4(struct in_addr ip); bool is_loopback_addr(const struct sockaddr *pss); -bool is_zero_addr(const struct sockaddr *pss); +bool is_zero_addr(const struct sockaddr_storage *pss); void zero_ip_v4(struct in_addr *ip); void in_addr_to_sockaddr_storage(struct sockaddr_storage *ss, struct in_addr ip); diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c index d0ff960a3c..1de6d17a41 100644 --- a/source3/lib/util_sock.c +++ b/source3/lib/util_sock.c @@ -1666,7 +1666,7 @@ bool is_myname_or_ipaddr(const char *s) return true; } - if (is_zero_addr((struct sockaddr *)&ss) || + if (is_zero_addr(&ss) || is_loopback_addr((struct sockaddr *)&ss)) { return false; } diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c index 25df2b2b4e..564cf8b3c7 100644 --- a/source3/libsmb/cliconnect.c +++ b/source3/libsmb/cliconnect.c @@ -2433,7 +2433,7 @@ NTSTATUS cli_connect(struct cli_state *cli, *p = 0; } - if (!dest_ss || is_zero_addr((struct sockaddr *)dest_ss)) { + if (!dest_ss || is_zero_addr(dest_ss)) { NTSTATUS status =resolve_name_list(frame, cli->desthost, name_type, diff --git a/source3/libsmb/dsgetdcname.c b/source3/libsmb/dsgetdcname.c index cc486c122e..e062818dda 100644 --- a/source3/libsmb/dsgetdcname.c +++ b/source3/libsmb/dsgetdcname.c @@ -629,7 +629,7 @@ static NTSTATUS discover_dc_dns(TALLOC_CTX *mem_ctx, * back to netbios lookups is that our DNS server doesn't know * anything about the DC's -- jerry */ - if (!is_zero_addr((struct sockaddr *)(void *)&r->ss)) { + if (!is_zero_addr(&r->ss)) { count++; continue; } diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c index 0da495dbb9..9bc6911942 100644 --- a/source3/libsmb/namequery.c +++ b/source3/libsmb/namequery.c @@ -1079,7 +1079,7 @@ static int remove_duplicate_addrs2(struct ip_service *iplist, int count ) /* one loop to remove duplicates */ for ( i=0; iss)) { + if (!is_zero_addr(&r->ss)) { (*return_count)++; } } @@ -2151,7 +2151,7 @@ bool resolve_name(const char *name, if (prefer_ipv4) { for (i=0; i