--- smbd/chgpasswd.c Wed Mar 16 13:26:22 2005 +++ smbd/chgpasswd.c.N Wed Mar 16 13:25:29 2005 @@ -747,8 +747,8 @@ static uchar null_pw[16]; static uchar null_ntpw[16]; SAM_ACCOUNT *sampass = NULL; - char *password_encrypted; - const char *encryption_key; + unsigned char *password_encrypted; + const unsigned char *encryption_key; const uint8 *lanman_pw, *nt_pw; uint16 acct_ctrl; uint32 new_pw_len; @@ -969,8 +969,8 @@ return True; } - dump_data(100, new_nt_p16, NT_HASH_LEN); - dump_data(100, pwhistory, PW_HISTORY_ENTRY_LEN*pwHisLen); + dump_data(100, (char*)new_nt_p16, NT_HASH_LEN); + dump_data(100, (char*)pwhistory, PW_HISTORY_ENTRY_LEN*pwHisLen); memset(zero_md5_nt_pw, '\0', SALTED_MD5_HASH_LEN); for (i=0; ipass, plaintext_buf, 256, &len, STR_UNICODE)) { + if (!decode_pw_buffer(id23->pass, plaintext_buf, 256, &len, STR_UNICODE)) { pdb_free_sam(&pwd); return False; } @@ -2951,7 +2951,7 @@ set_user_info_pw ********************************************************************/ -static BOOL set_user_info_pw(char *pass, SAM_ACCOUNT *pwd) +static BOOL set_user_info_pw(unsigned char *pass, SAM_ACCOUNT *pwd) { uint32 len; pstring plaintext_buf; @@ -3097,7 +3097,7 @@ dump_data(100, (char *)ctr->info.id24->pass, 516); - if (!set_user_info_pw((char *)ctr->info.id24->pass, pwd)) + if (!set_user_info_pw(ctr->info.id24->pass, pwd)) r_u->status = NT_STATUS_ACCESS_DENIED; break;