From b09047b78e981af8ade6a72d426bfcb0e742995b Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sat, 13 Oct 2007 20:24:37 +0200 Subject: r25624: Remove ipv4_addr hack. Only causes 4 extra includes of system/network.h because we stripped down includes. (This used to be commit 262c1c23a61f1f4fae13e0a61179fe98b682cecf) --- source4/lib/socket/interface.c | 45 ++++++++++++++++++------------------------ 1 file changed, 19 insertions(+), 26 deletions(-) (limited to 'source4/lib/socket/interface.c') diff --git a/source4/lib/socket/interface.c b/source4/lib/socket/interface.c index 9ca4450581..c220c4d890 100644 --- a/source4/lib/socket/interface.c +++ b/source4/lib/socket/interface.c @@ -28,8 +28,8 @@ /** used for network interfaces */ struct interface { struct interface *next, *prev; - struct ipv4_addr ip; - struct ipv4_addr nmask; + struct in_addr ip; + struct in_addr nmask; const char *ip_s; const char *bcast_s; const char *nmask_s; @@ -44,25 +44,18 @@ static struct interface *local_interfaces; #define MKBCADDR(_IP, _NM) ((_IP & _NM) | (_NM ^ ALLONES)) #define MKNETADDR(_IP, _NM) (_IP & _NM) -static struct ipv4_addr tov4(struct in_addr in) -{ - struct ipv4_addr in2; - in2.addr = in.s_addr; - return in2; -} - /**************************************************************************** Try and find an interface that matches an ip. If we cannot, return NULL **************************************************************************/ static struct interface *iface_find(struct in_addr ip, bool CheckMask) { struct interface *i; - if (is_zero_ip(tov4(ip))) return local_interfaces; + if (is_zero_ip(ip)) return local_interfaces; for (i=local_interfaces;i;i=i->next) if (CheckMask) { - if (same_net(i->ip,tov4(ip),i->nmask)) return i; - } else if (i->ip.addr == ip.s_addr) return i; + if (same_net(i->ip,ip,i->nmask)) return i; + } else if (i->ip.s_addr == ip.s_addr) return i; return NULL; } @@ -74,7 +67,7 @@ add an interface to the linked list of interfaces static void add_interface(struct in_addr ip, struct in_addr nmask) { struct interface *iface; - struct ipv4_addr bcast; + struct in_addr bcast; if (iface_find(ip, false)) { DEBUG(3,("not adding duplicate interface %s\n",inet_ntoa(ip))); @@ -86,17 +79,17 @@ static void add_interface(struct in_addr ip, struct in_addr nmask) ZERO_STRUCTPN(iface); - iface->ip = tov4(ip); - iface->nmask = tov4(nmask); - bcast.addr = MKBCADDR(iface->ip.addr, iface->nmask.addr); + iface->ip = ip; + iface->nmask = nmask; + bcast.s_addr = MKBCADDR(iface->ip.s_addr, iface->nmask.s_addr); /* keep string versions too, to avoid people tripping over the implied - static in sys_inet_ntoa() */ - iface->ip_s = talloc_strdup(iface, sys_inet_ntoa(iface->ip)); - iface->nmask_s = talloc_strdup(iface, sys_inet_ntoa(iface->nmask)); + static in inet_ntoa() */ + iface->ip_s = talloc_strdup(iface, inet_ntoa(iface->ip)); + iface->nmask_s = talloc_strdup(iface, inet_ntoa(iface->nmask)); if (nmask.s_addr != ~0) { - iface->bcast_s = talloc_strdup(iface, sys_inet_ntoa(bcast)); + iface->bcast_s = talloc_strdup(iface, inet_ntoa(bcast)); } DLIST_ADD_END(local_interfaces, iface, struct interface *); @@ -145,7 +138,7 @@ static void interpret_interface(const char *token, if (strpbrk(token, "*?") != NULL) { return; } - ip.s_addr = interpret_addr2(token).addr; + ip.s_addr = interpret_addr2(token).s_addr; for (i=0;i 2) { - nmask.s_addr = interpret_addr2(p).addr; + nmask.s_addr = interpret_addr2(p).s_addr; } else { nmask.s_addr = htonl(((ALLONES >> atoi(p)) ^ ALLONES)); } @@ -172,7 +165,7 @@ static void interpret_interface(const char *token, if (ip.s_addr == MKBCADDR(ip.s_addr, nmask.s_addr) || ip.s_addr == MKNETADDR(ip.s_addr, nmask.s_addr)) { for (i=0;i