summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-08-06 13:26:35 -0400
committerSimo Sorce <simo@redhat.com>2014-08-06 15:44:28 -0400
commitbf15dd42184fa5daa0911b4a4030727a8e691027 (patch)
tree031925374986becc35c243176cbb27e722fa20e3
parentb1db05383e6681c0f7d1cc0ee578c2ca763fb1e1 (diff)
downloadgss-ntlmssp-bf15dd42184fa5daa0911b4a4030727a8e691027.tar.gz
gss-ntlmssp-bf15dd42184fa5daa0911b4a4030727a8e691027.tar.xz
gss-ntlmssp-bf15dd42184fa5daa0911b4a4030727a8e691027.zip
Generate LM hash when getting pwd from cred_store
This is needed when NTLMSSP_NEGOTIATE_LM_KEY is used at lower, LM_COMPTE_LEVEL (eg, level 0) by a client and NTLMv1 auth.
-rw-r--r--src/gss_creds.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gss_creds.c b/src/gss_creds.c
index 7ccc6be..17ac3f6 100644
--- a/src/gss_creds.c
+++ b/src/gss_creds.c
@@ -221,6 +221,14 @@ static int get_creds_from_store(struct gssntlm_name *name,
cred->cred.user.nt_hash.length = 16;
ret = NTOWFv1(cred_store->elements[i].value,
&cred->cred.user.nt_hash);
+
+ if (gssntlm_get_lm_compatibility_level() < 3) {
+ cred->cred.user.lm_hash.length = 16;
+ ret = LMOWFv1(cred_store->elements[i].value,
+ &cred->cred.user.lm_hash);
+ if (ret) return ret;
+ }
+
if (ret) return ret;
}
}