divided set_password into set_password and set_random_key

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3640 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1997-10-19 23:15:14 +00:00
parent 20ed54f90c
commit af054a22c9

View File

@@ -68,10 +68,10 @@ set_keys(hdb_entry *ent, char *password)
int i; int i;
memset(&salt, 0, sizeof(salt)); memset(&salt, 0, sizeof(salt));
krb5_get_salt(ent->principal, &salt); krb5_get_salt(ent->principal, &salt); /* XXX */
for(i = 0; i < ent->keys.len; i++) { for(i = 0; i < ent->keys.len; i++) {
krb5_string_to_key(password, &salt, ent->keys.val[i].key.keytype, krb5_string_to_key(password, &salt, ent->keys.val[i].key.keytype,
&ent->keys.val[i].key); /* XXX */ &ent->keys.val[i].key);
} }
krb5_data_free(&salt); krb5_data_free(&salt);
ent->kvno++; ent->kvno++;
@@ -263,16 +263,25 @@ set_password(hdb_entry *ent)
for (i = 0; i < ent->keys.len; ++i) for (i = 0; i < ent->keys.len; ++i)
free_Key (&ent->keys.val[i]); free_Key (&ent->keys.val[i]);
free (ent->keys.val); free (ent->keys.val);
if(strcasecmp(buf, "random") == 0) { ent->keys.len = 2;
ent->keys.len = 0; ent->keys.val = calloc(2, sizeof(*ent->keys.val));
ent->keys.val = NULL; ent->keys.val[0].key.keytype = KEYTYPE_DES;
init_des_key(ent); ent->keys.val[1].key.keytype = KEYTYPE_DES3;
} else{ set_keys(ent, buf);
ent->keys.len = 2; return 0;
ent->keys.val = calloc(2, sizeof(*ent->keys.val)); }
ent->keys.val[0].key.keytype = KEYTYPE_DES;
ent->keys.val[1].key.keytype = KEYTYPE_DES3; int
set_keys(ent, buf); set_random_key(hdb_entry *ent)
} {
int i;
for (i = 0; i < ent->keys.len; ++i)
free_Key (&ent->keys.val[i]);
free (ent->keys.val);
ent->keys.len = 0;
ent->keys.val = NULL;
init_des_key(ent);
return 0; return 0;
} }