summaryrefslogtreecommitdiff
path: root/usr/src/lib/libsmbfs/smb/keychain.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libsmbfs/smb/keychain.c')
-rw-r--r--usr/src/lib/libsmbfs/smb/keychain.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/usr/src/lib/libsmbfs/smb/keychain.c b/usr/src/lib/libsmbfs/smb/keychain.c
index c5cf319c21..fd9bcc9496 100644
--- a/usr/src/lib/libsmbfs/smb/keychain.c
+++ b/usr/src/lib/libsmbfs/smb/keychain.c
@@ -20,6 +20,7 @@
*/
/*
+ * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -173,6 +174,18 @@ smbfs_keychain_add(uid_t uid, const char *dom, const char *usr,
return (err);
}
+/* Variant of the above that takes an NT hash. */
+int
+smbfs_keychain_addhash(uid_t uid, const char *dom, const char *usr,
+ const uchar_t *nthash)
+{
+ static const uchar_t lmhash[SMBIOC_HASH_SZ] = { 0 };
+ int err, cmd = SMBIOC_PK_ADD;
+ err = smbfs_keychain_cmn(cmd, uid, dom, usr,
+ (uchar_t *)lmhash, (uchar_t *)nthash);
+ return (err);
+}
+
/* Delete a password from the keychain. */
int
smbfs_keychain_del(uid_t uid, const char *dom, const char *usr)