From: Andreas Schneider Date: Wed, 24 Jul 2019 09:44:51 +0000 (+0200) Subject: s3:rpc_client: Use encode_rc4_passwd_buffer() in init_samr_CryptPasswordEx() X-Git-Tag: tdb-1.4.2~462 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f0c0cf299eb99e7b78be2f04141b6d415bf525e2;p=thirdparty%2Fsamba.git s3:rpc_client: Use encode_rc4_passwd_buffer() in init_samr_CryptPasswordEx() Signed-off-by: Andreas Schneider Reviewed-by: Andrew Bartlett --- diff --git a/source3/rpc_client/init_samr.c b/source3/rpc_client/init_samr.c index 0eb50c54525..a98d50e3f6a 100644 --- a/source3/rpc_client/init_samr.c +++ b/source3/rpc_client/init_samr.c @@ -33,38 +33,7 @@ NTSTATUS init_samr_CryptPasswordEx(const char *pwd, DATA_BLOB *session_key, struct samr_CryptPasswordEx *pwd_buf) { - /* samr_CryptPasswordEx */ - - uint8_t _confounder[16] = {0}; - DATA_BLOB confounder = data_blob_const(_confounder, 16); - uint8_t pwbuf[532] = {0}; - DATA_BLOB encrypt_pwbuf = data_blob_const(pwbuf, 516); - bool ok; - int rc; - - ok = encode_pw_buffer(pwbuf, pwd, STR_UNICODE); - if (!ok) { - return NT_STATUS_INTERNAL_ERROR; - } - - generate_random_buffer(_confounder, sizeof(_confounder)); - - rc = samba_gnutls_arcfour_confounded_md5(&confounder, - session_key, - &encrypt_pwbuf, - SAMBA_GNUTLS_ENCRYPT); - if (rc < 0) { - ZERO_ARRAY(_confounder); - return gnutls_error_to_ntstatus(rc, NT_STATUS_ACCESS_DISABLED_BY_POLICY_OTHER); - } - - memcpy(&pwbuf[516], confounder.data, confounder.length); - ZERO_ARRAY(_confounder); - - memcpy(pwd_buf->data, pwbuf, sizeof(pwbuf)); - ZERO_ARRAY(pwbuf); - - return NT_STATUS_OK; + return encode_rc4_passwd_buffer(pwd, session_key, pwd_buf); } /*************************************************************************