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:
@@ -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).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -294,6 +294,21 @@ hdb_create(krb5_context context, HDB **db, const char *filename)
|
|||||||
|
|
||||||
krb5_error_code
|
krb5_error_code
|
||||||
hdb_set_master_key (krb5_context context,
|
hdb_set_master_key (krb5_context context,
|
||||||
|
HDB *db,
|
||||||
|
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,
|
HDB *db,
|
||||||
const char *keyfile)
|
const char *keyfile)
|
||||||
{
|
{
|
||||||
@@ -304,16 +319,12 @@ hdb_set_master_key (krb5_context context,
|
|||||||
if (ret) {
|
if (ret) {
|
||||||
if (ret != ENOENT)
|
if (ret != ENOENT)
|
||||||
return ret;
|
return ret;
|
||||||
} else {
|
return 0;
|
||||||
ret = hdb_process_master_key(context, key, &db->master_key);
|
}
|
||||||
if (ret)
|
ret = hdb_set_master_key(context, db, key);
|
||||||
return ret;
|
|
||||||
des_set_random_generator_seed(key.keyvalue.data);
|
|
||||||
db->master_key_set = 1;
|
|
||||||
memset(key.keyvalue.data, 0, key.keyvalue.length);
|
memset(key.keyvalue.data, 0, key.keyvalue.length);
|
||||||
free_EncryptionKey(&key);
|
free_EncryptionKey(&key);
|
||||||
}
|
return ret;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
krb5_error_code
|
krb5_error_code
|
||||||
|
Reference in New Issue
Block a user