summaryrefslogtreecommitdiff
path: root/source3/rpc_client/init_netlogon.c
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-09-20 17:00:30 +0200
committerGünther Deschner <gd@samba.org>2008-09-21 22:30:10 +0200
commit1f9624175ab35fe5c4012e931a165d422bf26fdb (patch)
tree683dafcaff69c1538b164f483b812fae43066978 /source3/rpc_client/init_netlogon.c
parent2331c96d28fe713d37b421924e610eef80cc8d91 (diff)
downloadsamba-1f9624175ab35fe5c4012e931a165d422bf26fdb.tar.gz
samba-1f9624175ab35fe5c4012e931a165d422bf26fdb.tar.bz2
samba-1f9624175ab35fe5c4012e931a165d422bf26fdb.zip
netlogon: add init_netr_CryptPassword.
Guenther
Diffstat (limited to 'source3/rpc_client/init_netlogon.c')
-rw-r--r--source3/rpc_client/init_netlogon.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/source3/rpc_client/init_netlogon.c b/source3/rpc_client/init_netlogon.c
index 61841953fc..e4c39e739e 100644
--- a/source3/rpc_client/init_netlogon.c
+++ b/source3/rpc_client/init_netlogon.c
@@ -391,3 +391,20 @@ void init_netr_PasswordInfo(struct netr_PasswordInfo *r,
r->lmpassword = lmpassword;
r->ntpassword = ntpassword;
}
+
+/*************************************************************************
+ inits a netr_CryptPassword structure
+ *************************************************************************/
+
+void init_netr_CryptPassword(const char *pwd,
+ unsigned char session_key[16],
+ struct netr_CryptPassword *pwd_buf)
+{
+ struct samr_CryptPassword password_buf;
+
+ encode_pw_buffer(password_buf.data, pwd, STR_UNICODE);
+
+ SamOEMhash(password_buf.data, session_key, 516);
+ memcpy(pwd_buf->data, password_buf.data, 512);
+ pwd_buf->length = IVAL(password_buf.data, 512);
+}