From 01dfd59712f3730498784d7632da8fe0113d55b6 Mon Sep 17 00:00:00 2001 From: Herb Lewis Date: Thu, 15 Feb 2001 19:50:34 +0000 Subject: samba/source/nmbd/nmbd.c change remote_machine name to nmbd instead of nmb so we write to same log file that was originally created as log.nmbd samba/source/smbd/server.c change remote_machine name to smbd instead of smb so we write to same log file that was originally created as log.smbd samba/source/lib/interface.c allow binding to all interface IP addresses even if on same subnet. This allows you to specify which IP's you want in interfaces line and use bind interfaces only --- source/lib/interface.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'source/lib/interface.c') diff --git a/source/lib/interface.c b/source/lib/interface.c index 31ec846fdca..3e45d627d37 100644 --- a/source/lib/interface.c +++ b/source/lib/interface.c @@ -41,13 +41,15 @@ static struct interface *local_interfaces = NULL; /**************************************************************************** Try and find an interface that matches an ip. If we cannot, return NULL **************************************************************************/ -static struct interface *iface_find(struct in_addr ip) +static struct interface *iface_find(struct in_addr ip, BOOL CheckMask) { struct interface *i; if (zero_ip(ip)) return local_interfaces; for (i=local_interfaces;i;i=i->next) - if (same_net(i->ip,ip,i->nmask)) return i; + if (CheckMask) { + if (same_net(i->ip,ip,i->nmask)) return i; + } else if ((i->ip).s_addr == ip.s_addr) return i; return NULL; } @@ -59,7 +61,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; - if (iface_find(ip)) { + if (iface_find(ip, False)) { DEBUG(3,("not adding duplicate interface %s\n",inet_ntoa(ip))); return; } @@ -365,12 +367,12 @@ unsigned iface_hash(void) struct in_addr *iface_bcast(struct in_addr ip) { - struct interface *i = iface_find(ip); + struct interface *i = iface_find(ip, True); return(i ? &i->bcast : &local_interfaces->bcast); } struct in_addr *iface_ip(struct in_addr ip) { - struct interface *i = iface_find(ip); + struct interface *i = iface_find(ip, True); return(i ? &i->ip : &local_interfaces->ip); } -- cgit