summaryrefslogtreecommitdiffstats
path: root/source/rpc_client/msrpc_lsarpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/rpc_client/msrpc_lsarpc.c')
-rw-r--r--source/rpc_client/msrpc_lsarpc.c31
1 files changed, 20 insertions, 11 deletions
diff --git a/source/rpc_client/msrpc_lsarpc.c b/source/rpc_client/msrpc_lsarpc.c
index 2ee84569ed8..38cdd219add 100644
--- a/source/rpc_client/msrpc_lsarpc.c
+++ b/source/rpc_client/msrpc_lsarpc.c
@@ -339,23 +339,14 @@ BOOL secret_get_data(const STRING2 *secret, uchar *data, uint32 *len)
/****************************************************************************
obtains a trust account password
****************************************************************************/
-BOOL msrpc_lsa_query_trust_passwd(const char *srv_name,
- const char *secret_name,
- uchar trust_passwd[16],
- NTTIME * last_update)
+BOOL secret_to_nt_owf(uchar trust_passwd[16], const STRING2 *secret)
{
- STRING2 secret;
UNISTR2 uni_pwd;
uint32 len;
pstring data;
int i;
- if (!msrpc_lsa_query_secret(srv_name, secret_name, &secret,
- last_update))
- {
- return False;
- }
- if (!secret_get_data(&secret, data, &len))
+ if (!secret_get_data(secret, data, &len))
{
return False;
}
@@ -369,3 +360,21 @@ BOOL msrpc_lsa_query_trust_passwd(const char *srv_name,
return True;
}
+
+/****************************************************************************
+obtains a trust account password
+****************************************************************************/
+BOOL msrpc_lsa_query_trust_passwd(const char *srv_name,
+ const char *secret_name,
+ uchar trust_passwd[16],
+ NTTIME * last_update)
+{
+ STRING2 secret;
+
+ if (!msrpc_lsa_query_secret(srv_name, secret_name, &secret,
+ last_update))
+ {
+ return False;
+ }
+ return secret_to_nt_owf(trust_passwd, &secret);
+}