diff options
author | Samba Release Account <samba-bugs@samba.org> | 1997-05-20 00:32:51 +0000 |
---|---|---|
committer | Samba Release Account <samba-bugs@samba.org> | 1997-05-20 00:32:51 +0000 |
commit | aa864415c5183c948fe9ae221023d40265c38013 (patch) | |
tree | 29e0aa79328568d93211d175353f1fd1bc2d3737 /source3/nameannounce.c | |
parent | 5495a3446d769a2501ee558bda54146bef507e78 (diff) | |
download | samba-aa864415c5183c948fe9ae221023d40265c38013.tar.gz samba-aa864415c5183c948fe9ae221023d40265c38013.tar.bz2 samba-aa864415c5183c948fe9ae221023d40265c38013.zip |
dir.c: Fixed double slash issue.
includes.h: Changed to ifdef FAST_SHARE_MODES.
ipc.c: Changed lp_workgroup() to myworkgroup.
loadparm.c: Added new shared mem parameters. Added Luke's fix.
locking.c: Rewrite to do share modes better (both fast and slow modes).
nameannounce.c: Changed lp_workgroup() to myworkgroup. Added Luke's fix.
nameconf.c: Changed lp_workgroup() to myworkgroup.
namedbname.c: Improved debug.
namedbserver.c: Changed lp_workgroup() to myworkgroup.
namedbsubnet.c: Added Luke's fix - rewritten somewhat.
namedbwork.c: Changed lp_workgroup() to myworkgroup.
nameelect.c: Added Luke's fix - rewritten somewhat.
nameresp.c: Stoped shadowing global.
nameserv.c: Added Luke's fix - Improved debug.
nameservreply.c: Improved debug.
namework.c: Changed lp_workgroup() to myworkgroup.
nmbd.c: Added Luke's fix - Changed lp_workgroup() to myworkgroup.
pipes.c: Changed lp_workgroup() to myworkgroup.
proto.h: Added Luke's fix, added smb_shm_ proto's.
reply.c: Changed lp_workgroup() to myworkgroup.
server.c: Rewrite to do share modes better (both fast and slow modes).
shmem.c: Rewrite to do share modes better (both fast and slow modes).
smb.h: Rewrite to do share modes better (both fast and slow modes).
status.c: Rewrite to do share modes better (both fast and slow modes).
trans2.c: Fixed double slash issue.
util.c: Tidied up, created myworkgroup.
Jeremy Allison (jallison@whistle.com).
(This used to be commit 2a1711eaaf08bb6776770cd3c96b3010f431a677)
Diffstat (limited to 'source3/nameannounce.c')
-rw-r--r-- | source3/nameannounce.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/source3/nameannounce.c b/source3/nameannounce.c index b46436168c..7d7a95334c 100644 --- a/source3/nameannounce.c +++ b/source3/nameannounce.c @@ -35,6 +35,7 @@ extern BOOL CanRecurse; extern struct in_addr ipzero; extern pstring myname; +extern fstring myworkgroup; extern int ClientDGRAM; extern int ClientNMB; @@ -185,9 +186,9 @@ void do_announce_host(int command, /**************************************************************************** - remove all samba's server entries - ****************************************************************************/ -void remove_my_servers(void) +announce all samba's server entries as 'gone'. +****************************************************************************/ +void announce_my_servers_removed(void) { struct subnet_record *d; for (d = FIRST_SUBNET; d; d = NEXT_SUBNET_EXCLUDING_WINS(d)) @@ -372,7 +373,7 @@ static time_t announce_timer_last=0; void reset_announce_timer() { - announce_timer_last = 0; + announce_timer_last = time(NULL) - (CHECK_TIME_MST_ANNOUNCE * 60); } /**************************************************************************** @@ -396,7 +397,7 @@ void announce_master(time_t t) return; } - if(wins_subnet == 0) + if(wins_subnet == NULL) { DEBUG(10,("announce_master: no wins subnet, ignoring.\n")); return; @@ -412,19 +413,19 @@ void announce_master(time_t t) if (AM_MASTER(work)) { am_master = True; + DEBUG(4,( "announce_master: am_master = %d for \ +workgroup %s\n", am_master, work->work_group)); } } } - DEBUG(4,( "announce_master: am_master = %d for workgroup %s\n", am_master, lp_workgroup())); - if (!am_master) return; /* only proceed if we are a master browser */ /* Note that we don't do this if we are domain master browser and that we *only* do this on the WINS subnet. */ /* Try and find our workgroup on the WINS subnet */ - work = find_workgroupstruct(wins_subnet, lp_workgroup(), False); + work = find_workgroupstruct(wins_subnet, myworkgroup, False); if (work) { @@ -488,7 +489,7 @@ in our own WINS database.\n", work->work_group)); /* Check that this isn't one of our addresses (ie. we are not domain master ourselves) */ - if(ismyip(nr->ip_flgs[0].ip)) + if(ismyip(nr->ip_flgs[0].ip) || ip_equal(nr->ip_flgs[0].ip, ipzero)) { DEBUG(4, ("announce_master: domain master ip found (%s) for workgroup %s \ is one of our interfaces.\n", work->work_group, inet_ntoa(nr->ip_flgs[0].ip) )); @@ -535,7 +536,7 @@ void announce_remote(time_t t) if (!*s) return; comment = lp_serverstring(); - workgroup = lp_workgroup(); + workgroup = myworkgroup; for (ptr=s; next_token(&ptr,s2,NULL); ) { /* the entries are of the form a.b.c.d/WORKGROUP with |