summaryrefslogtreecommitdiff
path: root/source3/rpc_client/cli_samr.c
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2011-01-12 09:04:19 +0100
committerAndreas Schneider <asn@samba.org>2011-01-21 14:34:18 +0100
commit200772653ae295b4c5142d943faf7a2c878121a9 (patch)
treee8e166c7b07d9fd63cc8887236666bbf677ac84b /source3/rpc_client/cli_samr.c
parent3de564b9b6559690578ca649f8acf52d82bc592e (diff)
downloadsamba-200772653ae295b4c5142d943faf7a2c878121a9.tar.gz
samba-200772653ae295b4c5142d943faf7a2c878121a9.tar.bz2
samba-200772653ae295b4c5142d943faf7a2c878121a9.zip
s3-rpc_client: Added dcerpc_samr_chng_pswd_auth_crap.
Diffstat (limited to 'source3/rpc_client/cli_samr.c')
-rw-r--r--source3/rpc_client/cli_samr.c45
1 files changed, 38 insertions, 7 deletions
diff --git a/source3/rpc_client/cli_samr.c b/source3/rpc_client/cli_samr.c
index 236981a2f1..ae91c1c165 100644
--- a/source3/rpc_client/cli_samr.c
+++ b/source3/rpc_client/cli_samr.c
@@ -197,15 +197,17 @@ NTSTATUS rpccli_samr_chgpasswd_user2(struct rpc_pipe_client *cli,
/* User change password given blobs */
-NTSTATUS rpccli_samr_chng_pswd_auth_crap(struct rpc_pipe_client *cli,
+NTSTATUS dcerpc_samr_chng_pswd_auth_crap(struct dcerpc_binding_handle *h,
TALLOC_CTX *mem_ctx,
+ const char *srv_name_slash,
const char *username,
DATA_BLOB new_nt_password_blob,
DATA_BLOB old_nt_hash_enc_blob,
DATA_BLOB new_lm_password_blob,
- DATA_BLOB old_lm_hash_enc_blob)
+ DATA_BLOB old_lm_hash_enc_blob,
+ NTSTATUS *presult)
{
- NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
+ NTSTATUS status;
struct samr_CryptPassword new_nt_password;
struct samr_CryptPassword new_lm_password;
struct samr_Password old_nt_hash_enc;
@@ -214,7 +216,7 @@ NTSTATUS rpccli_samr_chng_pswd_auth_crap(struct rpc_pipe_client *cli,
DEBUG(10,("rpccli_samr_chng_pswd_auth_crap\n"));
- init_lsa_String(&server, cli->srv_name_slash);
+ init_lsa_String(&server, srv_name_slash);
init_lsa_String(&account, username);
if (new_nt_password_blob.length > 0) {
@@ -241,17 +243,46 @@ NTSTATUS rpccli_samr_chng_pswd_auth_crap(struct rpc_pipe_client *cli,
ZERO_STRUCT(old_lm_hash_enc);
}
- result = rpccli_samr_ChangePasswordUser2(cli, mem_ctx,
+ status = dcerpc_samr_ChangePasswordUser2(h,
+ mem_ctx,
&server,
&account,
&new_nt_password,
&old_nt_hash_enc,
true,
&new_lm_password,
- &old_lm_hash_enc);
- return result;
+ &old_lm_hash_enc,
+ presult);
+
+ return status;
}
+NTSTATUS rpccli_samr_chng_pswd_auth_crap(struct rpc_pipe_client *cli,
+ TALLOC_CTX *mem_ctx,
+ const char *username,
+ DATA_BLOB new_nt_password_blob,
+ DATA_BLOB old_nt_hash_enc_blob,
+ DATA_BLOB new_lm_password_blob,
+ DATA_BLOB old_lm_hash_enc_blob)
+{
+ NTSTATUS status;
+ NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
+
+ status = dcerpc_samr_chng_pswd_auth_crap(cli->binding_handle,
+ mem_ctx,
+ cli->srv_name_slash,
+ username,
+ new_nt_password_blob,
+ old_nt_hash_enc_blob,
+ new_lm_password_blob,
+ old_lm_hash_enc_blob,
+ &result);
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
+
+ return result;
+}
/* change password 3 */