summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Chapman <matty@samba.org>1999-08-08 04:51:13 +0000
committerMatthew Chapman <matty@samba.org>1999-08-08 04:51:13 +0000
commit8592314480287edbf98daeab4a979ddec3196b55 (patch)
tree66dbb789325eed1f3377ef2b32d098556366fa18
parentfcf0300ffeb7028ea5d4e1d3b6f575e43f4eb110 (diff)
downloadsamba-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.c25
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",