From aa864415c5183c948fe9ae221023d40265c38013 Mon Sep 17 00:00:00 2001 From: Samba Release Account Date: Tue, 20 May 1997 00:32:51 +0000 Subject: 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) --- source3/nameserv.c | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) (limited to 'source3/nameserv.c') diff --git a/source3/nameserv.c b/source3/nameserv.c index 022b5521a2..9163642896 100644 --- a/source3/nameserv.c +++ b/source3/nameserv.c @@ -37,6 +37,7 @@ extern int DEBUGLEVEL; extern pstring scope; extern pstring myname; +extern fstring myworkgroup; extern struct in_addr ipzero; extern struct in_addr wins_ip; @@ -141,6 +142,9 @@ void add_my_name_entry(struct subnet_record *d,char *name,int type,int nb_flags) } else { + DEBUG(4,("add_my_name_entry registering name %s with WINS server.\n", + name)); + /* a time-to-live allows us to refresh this name with the WINS server. */ queue_netbios_pkt_wins(ClientNMB, re_reg ? NMB_REG_REFRESH : NMB_REG, NAME_REGISTER, @@ -179,33 +183,32 @@ void add_domain_names(time_t t) for (d = FIRST_SUBNET; d; d = NEXT_SUBNET_INCLUDING_WINS(d)) { - work = find_workgroupstruct(d, lp_workgroup(), False); + work = find_workgroupstruct(d, myworkgroup, False); if (lp_domain_logons() && work && work->log_state == LOGON_NONE) { - make_nmb_name(&n,lp_workgroup(),0x1c,scope); + make_nmb_name(&n,myworkgroup,0x1c,scope); if (!find_name(d->namelist, &n, FIND_SELF)) { /* logon servers are group names - we don't expect this to fail. */ DEBUG(0,("%s attempting to become logon server for %s %s\n", - timestring(), lp_workgroup(), inet_ntoa(d->bcast_ip))); + timestring(), myworkgroup, inet_ntoa(d->bcast_ip))); become_logon_server(d, work); } } } - if(wins_subnet != 0) - work = find_workgroupstruct(wins_subnet, lp_workgroup(), False); - - if (lp_domain_master() && work && work->dom_state == DOMAIN_NONE) - { - - DEBUG(0,("add_domain_names:Checking for domain master on workgroup %s\n", lp_workgroup())); + for (d = FIRST_SUBNET; d; d = NEXT_SUBNET_INCLUDING_WINS(d)) + { + work = find_workgroupstruct(d, myworkgroup, True); - make_nmb_name(&n,lp_workgroup(),0x1b,scope); - if (!find_name(wins_subnet->namelist, &n, FIND_SELF)) + if (lp_domain_master() && work && work->dom_state == DOMAIN_NONE) + { + make_nmb_name(&n,myworkgroup,0x1b,scope); + if (!find_name(d->namelist, &n, FIND_SELF)) { - DEBUG(0,("add_domain_names: attempting to become domain master browser on workgroup %s\n", - lp_workgroup())); + DEBUG(0,("%s add_domain_names: attempting to become domain master \ +browser on workgroup %s %s\n", + timestring(), myworkgroup, inet_ntoa(d->bcast_ip))); if (lp_wins_support()) { @@ -216,8 +219,8 @@ void add_domain_names(time_t t) */ DEBUG(1,("%s initiating becoming domain master for %s\n", - timestring(), lp_workgroup())); - become_domain_master(wins_subnet, work); + timestring(), myworkgroup)); + become_domain_master(d, work); } else { @@ -228,15 +231,17 @@ void add_domain_names(time_t t) NetBIOS name 0x1b. */ - DEBUG(0,("add_domain_names:querying WINS for domain master on workgroup %s\n", lp_workgroup())); + DEBUG(0,("add_domain_names:querying WINS for domain master \ +on workgroup %s\n", myworkgroup)); queue_netbios_pkt_wins(ClientNMB,NMB_QUERY,NAME_QUERY_DOMAIN, - lp_workgroup(), 0x1b, + myworkgroup, 0x1b, 0, 0,0,NULL,NULL, False, False, ipzero, ipzero); } } } + } } @@ -255,7 +260,6 @@ void add_my_names(void) for (d = FIRST_SUBNET; d; d = NEXT_SUBNET_INCLUDING_WINS(d)) { BOOL wins = (lp_wins_support() && (d == wins_subnet)); - struct work_record *work = find_workgroupstruct(d, lp_workgroup(), False); add_my_name_entry(d, myname,0x20,nb_type|NB_ACTIVE); add_my_name_entry(d, myname,0x03,nb_type|NB_ACTIVE); -- cgit