diff options
author | Herb Lewis <herb@samba.org> | 2001-02-15 19:50:34 +0000 |
---|---|---|
committer | Herb Lewis <herb@samba.org> | 2001-02-15 19:50:34 +0000 |
commit | 01dfd59712f3730498784d7632da8fe0113d55b6 (patch) | |
tree | c0c534d62747a7258cf52c62b2549da0a8f9b121 /source/lib/interface.c | |
parent | 8907a51743b7b9b9ad4168033fae4d44012cca37 (diff) | |
download | samba-01dfd59712f3730498784d7632da8fe0113d55b6.tar.gz samba-01dfd59712f3730498784d7632da8fe0113d55b6.tar.xz samba-01dfd59712f3730498784d7632da8fe0113d55b6.zip |
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
Diffstat (limited to 'source/lib/interface.c')
-rw-r--r-- | source/lib/interface.c | 12 |
1 files changed, 7 insertions, 5 deletions
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); } |