summaryrefslogtreecommitdiff
path: root/source3/namelogon.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/namelogon.c')
-rw-r--r--source3/namelogon.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/source3/namelogon.c b/source3/namelogon.c
index d8e0fcfc76..697a11a16a 100644
--- a/source3/namelogon.c
+++ b/source3/namelogon.c
@@ -118,12 +118,13 @@ void process_logon_packet(struct packet_struct *p,char *buf,int len)
{
char *q = buf + 2;
char *machine = q;
+
mailslot = skip_string(machine,1);
unicomp = skip_string(mailslot,1);
- q = align2(q, buf);
+ q = align2(unicomp, buf);
- q = skip_unicode_string(unicomp,1);
+ q = skip_unicode_string(q, 1);
ntversion = IVAL(q, 0); q += 4;
lmnttoken = SVAL(q, 0); q += 2;
@@ -176,17 +177,21 @@ void process_logon_packet(struct packet_struct *p,char *buf,int len)
ntversion = IVAL(q, 0); q += 4;
lmnttoken = SVAL(q, 0); q += 2;
lm20token = SVAL(q, 0); q += 2;
+
DEBUG(3,("SAMLOGON sidsize %d ntv %d\n", domainsidsize, ntversion));
/*
If MACHINE$ is in our password database then respond, else ignore.
Let's ignore the SID.
*/
- strcpy(ascuser,unistr(uniuser));
+
+ strcpy(ascuser, unistr(uniuser));
DEBUG(3,("SAMLOGON user %s\n", ascuser));
+
strcpy(reply_name,"\\\\"); /* Here it wants \\LOGONSERVER */
- strcpy(reply_name+2,my_name); /* PAXX: Assuming we are logon svr */
- smb_pass = get_smbpwnam(ascuser);
+ strcpy(reply_name+2,my_name);
+
+ smb_pass = get_smbpwd_entry(ascuser, 0);
if(!smb_pass)
{