change `hdb_set_master_key' to take an EncryptionKey, and add a new

function `hdb_set_master_keyfile' to do what `hdb_set_master_key' used
to do


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5390 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1999-02-20 15:06:22 +00:00
parent f908310db8
commit e890eb7603

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 1998 Kungliga Tekniska H<>gskolan
* Copyright (c) 1997, 1998, 1999 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved.
*
@@ -295,7 +295,22 @@ hdb_create(krb5_context context, HDB **db, const char *filename)
krb5_error_code
hdb_set_master_key (krb5_context context,
HDB *db,
const char *keyfile)
EncryptionKey key)
{
krb5_error_code ret;
ret = hdb_process_master_key(context, key, &db->master_key);
if (ret)
return ret;
des_set_random_generator_seed(key.keyvalue.data);
db->master_key_set = 1;
return 0;
}
krb5_error_code
hdb_set_master_keyfile (krb5_context context,
HDB *db,
const char *keyfile)
{
EncryptionKey key;
krb5_error_code ret;
@@ -304,16 +319,12 @@ hdb_set_master_key (krb5_context context,
if (ret) {
if (ret != ENOENT)
return ret;
} else {
ret = hdb_process_master_key(context, key, &db->master_key);
if (ret)
return ret;
des_set_random_generator_seed(key.keyvalue.data);
db->master_key_set = 1;
memset(key.keyvalue.data, 0, key.keyvalue.length);
free_EncryptionKey(&key);
return 0;
}
return 0;
ret = hdb_set_master_key(context, db, key);
memset(key.keyvalue.data, 0, key.keyvalue.length);
free_EncryptionKey(&key);
return ret;
}
krb5_error_code