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:
35
admin/util.c
35
admin/util.c
@@ -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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user