summaryrefslogtreecommitdiff
path: root/source4/heimdal/kdc/kerberos5.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2005-09-21 12:24:41 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:38:38 -0500
commitc44efdaa2242f50d75dd5b800e372dd5586c6deb (patch)
tree543da228fe555b91b60bcd796e723b7c9628b3f6 /source4/heimdal/kdc/kerberos5.c
parent8f334f69b5d5fcae4a7b2b70e18b7062c46c719e (diff)
downloadsamba-c44efdaa2242f50d75dd5b800e372dd5586c6deb.tar.gz
samba-c44efdaa2242f50d75dd5b800e372dd5586c6deb.tar.bz2
samba-c44efdaa2242f50d75dd5b800e372dd5586c6deb.zip
r10386: Merge current lorikeet-heimdal into Samba4.
Andrew Bartlett (This used to be commit 4d2a9a9bc497eae269c24cbf156b43b8588e2f73)
Diffstat (limited to 'source4/heimdal/kdc/kerberos5.c')
-rw-r--r--source4/heimdal/kdc/kerberos5.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/source4/heimdal/kdc/kerberos5.c b/source4/heimdal/kdc/kerberos5.c
index 2cbb5831d4..3191ab19b7 100644
--- a/source4/heimdal/kdc/kerberos5.c
+++ b/source4/heimdal/kdc/kerberos5.c
@@ -483,8 +483,8 @@ make_etype_info2_entry(ETYPE_INFO2_ENTRY *ent, Key *key)
ent->s2kparams = NULL;
switch (key->key.keytype) {
- case KEYTYPE_AES128:
- case KEYTYPE_AES256:
+ case ETYPE_AES128_CTS_HMAC_SHA1_96:
+ case ETYPE_AES256_CTS_HMAC_SHA1_96:
ALLOC(ent->s2kparams);
if (ent->s2kparams == NULL)
return ENOMEM;
@@ -499,6 +499,26 @@ make_etype_info2_entry(ETYPE_INFO2_ENTRY *ent, Key *key)
_krb5_AES_string_to_default_iterator,
ent->s2kparams->length);
break;
+ case ETYPE_DES_CBC_CRC:
+ case ETYPE_DES_CBC_MD4:
+ case ETYPE_DES_CBC_MD5:
+ /* Check if this was a AFS3 salted key */
+ if(key->salt && key->salt->type == hdb_afs3_salt){
+ ALLOC(ent->s2kparams);
+ if (ent->s2kparams == NULL)
+ return ENOMEM;
+ ent->s2kparams->length = 1;
+ ent->s2kparams->data = malloc(ent->s2kparams->length);
+ if (ent->s2kparams->data == NULL) {
+ free(ent->s2kparams);
+ ent->s2kparams = NULL;
+ return ENOMEM;
+ }
+ _krb5_put_int(ent->s2kparams->data,
+ 1,
+ ent->s2kparams->length);
+ }
+ break;
default:
break;
}