mirror of
https://github.com/samba-team/samba.git
synced 2025-01-29 21:47:30 +03:00
This is actually Jeremy, working as Herb :-).
Fixed bug where, when server is shut down it would always do a lm announce broadcast of shutdown. This could cause other nmbd's to think that they have seen an lm announce broadcast and start doing it themselves. Changed to only send lm announce shutdown if admin configured it or one was seen on the subnet. Jeremy.
This commit is contained in:
parent
d3a238e7ac
commit
64c8111574
@ -430,7 +430,10 @@ This must *only* be called on shutdown.
|
||||
|
||||
void announce_my_servers_removed(void)
|
||||
{
|
||||
int announce_interval = lp_lm_interval();
|
||||
int lm_announce = lp_lm_announce();
|
||||
struct subnet_record *subrec;
|
||||
|
||||
for (subrec = FIRST_SUBNET; subrec; subrec = NEXT_SUBNET_EXCLUDING_UNICAST(subrec))
|
||||
{
|
||||
struct work_record *work;
|
||||
@ -447,6 +450,25 @@ void announce_my_servers_removed(void)
|
||||
if(AM_LOCAL_MASTER_BROWSER(work))
|
||||
send_local_master_announcement(subrec, work, servrec);
|
||||
send_host_announcement(subrec, work, servrec);
|
||||
|
||||
|
||||
if ((announce_interval <= 0) || (lm_announce <= 0))
|
||||
{
|
||||
/* user absolutely does not want LM announcements to be sent. */
|
||||
continue;
|
||||
}
|
||||
|
||||
if ((lm_announce >= 2) && (!found_lm_clients))
|
||||
{
|
||||
/* has been set to 2 (Auto) but no LM clients detected (yet). */
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* lm announce was set or we have seen lm announcements, so do
|
||||
* a lm announcement of host removed.
|
||||
*/
|
||||
|
||||
send_lm_host_announcement(subrec, work, servrec, 0);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user