nmbd doesn't clear the browse.dat after starting. It uses the entries from a previous run and search for dead or no more existing servers. Scenario: A server with two NIC configured for the same net (as a test purpose only!!) running samba. Samba can be reached on both addresses. Samba is configured as domain master and serves logons from win clients. All went ok. As the server got hang (caused by an usb component) a hard restart was neccessary. At this state, one of the NICs of the server where removed. After restarting the system (and samba) most of the win clients got timeouts on login and logon to the server was only able on the second or third attempt. Hardly to reproduce. After days (or better: nights) of investigation i found that nmbd still tries to find the "server" on the second (already removed) NICs IP address. Because this "servers" IP still was listed in the browse.dat file. After shutdown of nmbd, removing browse.dat and starting nmbd again all is ok now as before. As of this shouldn't it be better if nmbd always clears the wins.dat and browse.dat on startup? Or perhaps remove entries after timeouts on discovery? Our nmbd searched more than 8 days for the removed "server", until browse.dat was removed.
database cleanup
please reopen if the bug still exists in a current release.