Bug 1310 - nmbd "forgets" netmask from interfaces setting
nmbd "forgets" netmask from interfaces setting
Product: Samba 3.0
Classification: Unclassified
Component: nmbd
All Linux
: P3 normal
: none
Assigned To: Samba Bugzilla Account
Depends on:
  Show dependency treegraph
Reported: 2004-04-30 14:41 UTC by Steve
Modified: 2005-08-24 10:21 UTC (History)
0 users

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Steve 2004-04-30 14:41:43 UTC
I've experienced the following problem (Linux 2.4.22 + gcc 3.2.2):

My interface setting is: "interfaces =" and "bind interfaces 
only = Yes"

smbd and nmbd are running fine after startup. But when I change anything with 
my network interfaces (i.e. adding or removing an interface), nmbd dies within 
the next minutes, claiming "reload_interfaces: No subnets to listen to. 
Shutting down..."

I've had a closer look and found out that on the call of load_interfaces() 
(from reload_interfaces()) the interface string hadn't been "", 
but only "". Thus, it couldn't find the network any longer, as the 
netmask didn't match.

The problem seems to be the following line in interpret_interfaces():
 /* parse it into an IP address/netmasklength pair */
 *p++ = 0;

Here, the "/" is overwritten to split the string into tokens. However, as p 
points to Globals.szInterfaces, it seems to modify the string also there. 
Thus, next time lp_interfaces() is used, the configuration settings are 
returned as if the "/24" had never been there.
Comment 1 Gerald (Jerry) Carter 2004-11-11 13:50:08 UTC
I'm pretty sure we fixed this on in 3.0.6 or later.
Comment 2 Gerald (Jerry) Carter 2005-08-24 10:21:59 UTC
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.