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 | 8592314480287edbf98daeab4a979ddec3196b55 (patch) | |
tree | 66dbb789325eed1f3377ef2b32d098556366fa18 | |
parent | fcf0300ffeb7028ea5d4e1d3b6f575e43f4eb110 (diff) | |
download | samba-8592314480287edbf98daeab4a979ddec3196b55.tar.gz samba-8592314480287edbf98daeab4a979ddec3196b55.tar.bz2 samba-8592314480287edbf98daeab4a979ddec3196b55.zip |
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.
(This used to be commit 8a603a8793cb067cd06edc3d73d0b35c427ed5ed)
-rw-r--r-- | source3/nmbd/nmbd_processlogon.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/source3/nmbd/nmbd_processlogon.c b/source3/nmbd/nmbd_processlogon.c index 6b56aed5b2..0fc44a40c9 100644 --- a/source3/nmbd/nmbd_processlogon.c +++ b/source3/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", |