/* grab the challenge... */
net_io_q_req_chal("", &q_r, data, 0);
- fstrcpy(mach_acct, unistrn2(q_r.uni_logon_clnt.buffer,
- q_r.uni_logon_clnt.uni_str_len));
+ unistr2_to_ascii(mach_acct, &q_r.uni_logon_clnt, sizeof(mach_acct)-1);
fstrcpy(mach_name, mach_acct);
strlower(mach_name);
DEBUG(5,("api_net_srv_pwset: %d\n", __LINE__));
- pstrcpy(mach_acct, unistrn2(q_a.clnt_id.login.uni_acct_name.buffer,
- q_a.clnt_id.login.uni_acct_name.uni_str_len));
+ unistr2_to_ascii(mach_acct, &q_a.clnt_id.login.uni_acct_name,
+ sizeof(mach_acct)-1);
DEBUG(3,("Server Password Set Wksta:[%s]\n", mach_acct));
dump_data(100, nt_pwd, 16);
#endif
+ if (smb_pass->smb_nt_passwd == NULL)
+ {
+ DEBUG(5,("warning: NETLOGON user %s only has an LM password\n",
+ smb_pass->unix_name));
+ }
+
if (memcmp(smb_pass->smb_passwd , lm_pwd, 16) != 0 &&
- memcmp(smb_pass->smb_nt_passwd, nt_pwd, 16) != 0)
+ (smb_pass->smb_nt_passwd == NULL ||
+ memcmp(smb_pass->smb_nt_passwd, nt_pwd, 16) != 0))
{
status = 0xC0000000 | NT_STATUS_WRONG_PASSWORD;
}
NTTIME pass_can_change_time ;
NTTIME pass_must_change_time;
+ fstring nt_name ;
fstring full_name ;
fstring logon_script;
fstring profile_path;
if (status == 0)
{
- fstrcpy(nt_username, unistr2_to_str(uni_samlogon_user));
-#if 0
- slprintf(nt_username, sizeof(nt_username), "%s\\%s",
- unistr2_to_str(uni_domain),
- unistr2_to_str(uni_samlogon_user));
-#endif
+ unistr2_to_ascii(nt_username, uni_samlogon_user,
+ sizeof(nt_username)-1);
+
DEBUG(3,("User:[%s]\n", nt_username));
become_root(True);
pass_can_change_time = sam_pass->pass_can_change_time;
pass_must_change_time = sam_pass->pass_must_change_time;
+ fstrcpy(nt_name , sam_pass->nt_name);
fstrcpy(full_name , sam_pass->full_name);
fstrcpy(logon_script, sam_pass->logon_script);
fstrcpy(profile_path, sam_pass->profile_path);
&pass_can_change_time,
&pass_must_change_time,
- nt_username , /* user_name */
+ nt_name , /* user_name */
full_name , /* full_name */
logon_script , /* logon_script */
profile_path , /* profile_path */