1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

Cause nmbd to ignore loopback interface when constructing its interface list. This is done by default when interfaces are probed, but if someone

explicitly adds 127.0.0.1 to the interfaces line for smbd, then nmbd would
start to try and register names on it. This was not good :-(.
Jeremy.
This commit is contained in:
Jeremy Allison 0001-01-01 00:00:00 +00:00
parent aea47dee7d
commit cc3ad82521

View File

@ -192,6 +192,7 @@ static void reload_interfaces(time_t t)
int n;
struct subnet_record *subrec;
extern BOOL rescan_listen_set;
extern struct in_addr loopback_ip;
if (t && ((t - lastt) < NMBD_INTERFACES_RELOAD)) return;
lastt = t;
@ -205,10 +206,23 @@ static void reload_interfaces(time_t t)
/* find any interfaces that need adding */
for (n=iface_count() - 1; n >= 0; n--) {
struct interface *iface = get_interface(n);
/*
* We don't want to add a loopback interface, in case
* someone has added 127.0.0.1 for smbd, nmbd needs to
* ignore it here. JRA.
*/
if (ip_equal(iface->ip, loopback_ip)) {
DEBUG(2,("reload_interfaces: Ignoring loopback interface %s\n", inet_ntoa(iface->ip)));
continue;
}
for (subrec=subnetlist; subrec; subrec=subrec->next) {
if (ip_equal(iface->ip, subrec->myip) &&
ip_equal(iface->nmask, subrec->mask_ip)) break;
}
if (!subrec) {
/* it wasn't found! add it */
DEBUG(2,("Found new interface %s\n",