diff options
author | Samba Release Account <samba-bugs@samba.org> | 1997-03-09 14:58:22 +0000 |
---|---|---|
committer | Samba Release Account <samba-bugs@samba.org> | 1997-03-09 14:58:22 +0000 |
commit | b581d0324098f12a5bcb1941e698339a84e44a93 (patch) | |
tree | e6582f6847cc0df3377b7d722f4d3f8f2b573659 /source3/namework.c | |
parent | 3046a0d7c29ad6a5bdafe763c90aa521ac8aa93a (diff) | |
download | samba-b581d0324098f12a5bcb1941e698339a84e44a93.tar.gz samba-b581d0324098f12a5bcb1941e698339a84e44a93.tar.bz2 samba-b581d0324098f12a5bcb1941e698339a84e44a93.zip |
1) updated ipc.c NetUserGetInfo - load \\%L\%U instead of \\%L\HOMES
because the share must be browseable by a w95 client
2) send_mailslot_reply - unique or group datagram argument added.
3) netlogon.c - rewrote response packet to do the right thing for w95.
4) server.c reply_nt1() - added OEMDomainstring to the end.
5) (deep breath) reworked the nmbd-browsing code a little bit.
i discovered two months ago that becoming a primary domain controller
(and domain master browser) is done independently of becoming a
backup domain controller (logon server) is done independently of
becoming a local master browser.
therefore, three sets of state-machines (instead of just one) are in
place - each of which is responsible for taking samba through the
required stages to become: a logon server; a domain master browser;
and a local master browser.
each of these three things can occur independently on each interface,
_including_ the wins pseudo-interface. the only slight caveat is that
the wins pseudo-interface, by virtue of _not_ being a broadcast
interface, does _not_ register as a local master browser with the wins
server, as this doesn't make sense.
lkcl
(This used to be commit 88c6a00c3c1b430307f512986185b5ed7aea7181)
Diffstat (limited to 'source3/namework.c')
-rw-r--r-- | source3/namework.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source3/namework.c b/source3/namework.c index f4a9113cea..20c1050597 100644 --- a/source3/namework.c +++ b/source3/namework.c @@ -79,7 +79,8 @@ void reset_server(char *name, int state, struct in_addr ip) DEBUG(2,("sending reset to %s %s of state %d\n", name,inet_ntoa(ip),state)); - send_mailslot_reply(BROWSE_MAILSLOT,ClientDGRAM,outbuf,PTR_DIFF(p,outbuf), + send_mailslot_reply(False,BROWSE_MAILSLOT,ClientDGRAM, + outbuf,PTR_DIFF(p,outbuf), myname,name,0x20,0x1d,ip,*iface_ip(ip)); } @@ -488,7 +489,8 @@ static void send_backup_list(char *work_name, struct nmb_name *src_name, int len = PTR_DIFF(p, outbuf); debug_browse_data(outbuf, len); } - send_mailslot_reply(BROWSE_MAILSLOT,ClientDGRAM,outbuf,PTR_DIFF(p,outbuf), + send_mailslot_reply(False,BROWSE_MAILSLOT,ClientDGRAM, + outbuf,PTR_DIFF(p,outbuf), myname,theirname,0x0,0x0,ip,*iface_ip(ip)); } @@ -570,7 +572,7 @@ static void process_reset_browser(struct packet_struct *p,char *buf) { if (AM_MASTER(work)) { - become_nonmaster(d,work,SV_TYPE_DOMAIN_MASTER|SV_TYPE_MASTER_BROWSER); + unbecome_local_master(d,work,SV_TYPE_MASTER_BROWSER); } } } |