summaryrefslogtreecommitdiffstats
path: root/source3/libsmb/clirap.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/libsmb/clirap.c')
-rw-r--r--source3/libsmb/clirap.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/source3/libsmb/clirap.c b/source3/libsmb/clirap.c
index 2064e149543..a2b6c8bb8b4 100644
--- a/source3/libsmb/clirap.c
+++ b/source3/libsmb/clirap.c
@@ -117,8 +117,7 @@ BOOL cli_NetWkstaUserLogon(struct cli_state *cli,char *user, char *workstation)
if (cli->rap_error == 0) {
DEBUG(4,("NetWkstaUserLogon success\n"));
cli->privileges = SVAL(p, 24);
- /* The cli->eff_name field used to be set here
- but it wasn't used anywhere else. */
+ fstrcpy(cli->eff_name,p+2);
} else {
DEBUG(1,("NetwkstaUserLogon gave error %d\n", cli->rap_error));
}
@@ -284,6 +283,8 @@ BOOL cli_oem_change_password(struct cli_state *cli, const char *user, const char
char param[16+sizeof(fstring)];
char data[532];
char *p = param;
+ fstring upper_case_old_pw;
+ fstring upper_case_new_pw;
unsigned char old_pw_hash[16];
unsigned char new_pw_hash[16];
int data_len;
@@ -315,7 +316,9 @@ BOOL cli_oem_change_password(struct cli_state *cli, const char *user, const char
* Get the Lanman hash of the old password, we
* use this as the key to make_oem_passwd_hash().
*/
- E_deshash(old_password, old_pw_hash);
+ memset(upper_case_old_pw, '\0', sizeof(upper_case_old_pw));
+ clistr_push(cli, upper_case_old_pw, old_password, -1,STR_TERMINATE|STR_UPPER|STR_ASCII);
+ E_P16((uchar *)upper_case_old_pw, old_pw_hash);
clistr_push(cli, dos_new_password, new_password, -1, STR_TERMINATE|STR_ASCII);
@@ -325,7 +328,10 @@ BOOL cli_oem_change_password(struct cli_state *cli, const char *user, const char
/*
* Now place the old password hash in the data.
*/
- E_deshash(new_password, new_pw_hash);
+ memset(upper_case_new_pw, '\0', sizeof(upper_case_new_pw));
+ clistr_push(cli, upper_case_new_pw, new_password, -1, STR_TERMINATE|STR_UPPER|STR_ASCII);
+
+ E_P16((uchar *)upper_case_new_pw, new_pw_hash);
E_old_pw_hash( new_pw_hash, old_pw_hash, (uchar *)&data[516]);