summaryrefslogtreecommitdiff
path: root/source3/libsmb/ntlmssp.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2012-06-11 13:12:30 +0200
committerStefan Metzmacher <metze@samba.org>2012-06-12 10:48:15 +0200
commit3b63a6794a008b35cd7b5bc03bcc9e4f8d4124a4 (patch)
treed02e7e386ff25b5a3d13f7db2cebb2a7df32ebe1 /source3/libsmb/ntlmssp.c
parentae821929a0ec048da69084b71c53270eecdb3e6e (diff)
downloadsamba-3b63a6794a008b35cd7b5bc03bcc9e4f8d4124a4.tar.gz
samba-3b63a6794a008b35cd7b5bc03bcc9e4f8d4124a4.tar.bz2
samba-3b63a6794a008b35cd7b5bc03bcc9e4f8d4124a4.zip
S3: Add ntlmssp_set_password_hash
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'source3/libsmb/ntlmssp.c')
-rw-r--r--source3/libsmb/ntlmssp.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/source3/libsmb/ntlmssp.c b/source3/libsmb/ntlmssp.c
index 95a5dc9ccb..fb41c3c487 100644
--- a/source3/libsmb/ntlmssp.c
+++ b/source3/libsmb/ntlmssp.c
@@ -106,6 +106,28 @@ NTSTATUS ntlmssp_set_password(struct ntlmssp_state *ntlmssp_state, const char *p
return NT_STATUS_OK;
}
+NTSTATUS ntlmssp_set_password_hash(struct ntlmssp_state *state,
+ const char *pwhash)
+{
+ char nt_hash[16];
+ size_t converted;
+
+ converted = strhex_to_str(
+ nt_hash, sizeof(nt_hash), pwhash, strlen(pwhash));
+ if (converted != sizeof(nt_hash)) {
+ return NT_STATUS_INVALID_PARAMETER;
+ }
+
+ TALLOC_FREE(state->lm_hash);
+ TALLOC_FREE(state->nt_hash);
+
+ state->nt_hash = (uint8_t *)talloc_memdup(state, nt_hash, 16);
+ if (!state->nt_hash) {
+ return NT_STATUS_NO_MEMORY;
+ }
+ return NT_STATUS_OK;
+}
+
/**
* Set a domain on an NTLMSSP context - ensures it is talloc()ed
*