diff options
author | Matthew Chapman <matty@samba.org> | 1999-08-08 04:51:13 +0000 |
---|---|---|
committer | Matthew Chapman <matty@samba.org> | 1999-08-08 04:51:13 +0000 |
commit | 8a603a8793cb067cd06edc3d73d0b35c427ed5ed (patch) | |
tree | 1d8da0ef05eeb9f42a98140f259411a89559af93 /source/nmbd/nmbd_processlogon.c | |
parent | c086c7ab94d676e22801bc78588c116cf2e5a4eb (diff) | |
download | samba-8a603a8793cb067cd06edc3d73d0b35c427ed5ed.tar.gz |
Fix for Win95 not being able to find PDC (for User/Server Manager, and
password change requests), from Michael Stockman <pgmtekn@algonet.se>.
GETDC on \MAILSLOT\NET\NETLOGON necessarily returns less information
than the NTLOGON version.
Diffstat (limited to 'source/nmbd/nmbd_processlogon.c')
-rw-r--r-- | source/nmbd/nmbd_processlogon.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/source/nmbd/nmbd_processlogon.c b/source/nmbd/nmbd_processlogon.c index 6b56aed5b25..0fc44a40c9a 100644 --- a/source/nmbd/nmbd_processlogon.c +++ b/source/nmbd/nmbd_processlogon.c @@ -136,18 +136,21 @@ logons are not enabled.\n", inet_ntoa(p->ip) )); fstrcpy(q, reply_name); q = skip_string(q, 1); /* PDC name */ - q = align2(q, buf); - /* PDC and domain name */ - q = ascii_to_unibuf(q, my_name, outbuf+sizeof(outbuf)-q-2); - q = ascii_to_unibuf(q, global_myworkgroup, outbuf+sizeof(outbuf)-q-2); - - SIVAL(q, 0, ntversion); - q += 4; - SSVAL(q, 0, lmnttoken); - q += 2; - SSVAL(q, 0, lm20token); - q += 2; + if (strcmp(mailslot, NT_LOGON_MAILSLOT)==0) + { + q = align2(q, buf); + + q = ascii_to_unibuf(q, my_name, outbuf+sizeof(outbuf)-q-2); + q = ascii_to_unibuf(q, global_myworkgroup, outbuf+sizeof(outbuf)-q-2); + + SIVAL(q, 0, ntversion); + q += 4; + SSVAL(q, 0, lmnttoken); + q += 2; + SSVAL(q, 0, lm20token); + q += 2; + } DEBUG(3,("process_logon_packet: GETDC request from %s at IP %s, \ reporting %s domain %s 0x%x ntversion=%x lm_nt token=%x lm_20 token=%x\n", |