
Before this change Heimdal could read KDBs. Now it can write to them too. Heimdal can now also dump HDBs (including KDBs) in MIT format, which can then be imported with kdb5_util load. This is intended to help in migrations from MIT to Heimdal by allowing migrations from Heimdal to MIT so that it is possible to rollback from Heimdal to MIT should there be any issues. The idea is to allow a) running Heimdal kdc/kadmind with a KDB, or b) running Heimdal with an HDB converted from a KDB and then rollback by dumping the HDB and loading a KDB. Note that not all TL data types are supported, only two: last password change and modify-by. This is the minimum necessary. PKINIT users may need to add support for KRB5_TL_USER_CERTIFICATE, and for databases with K/M history we may need to add KRB5_TL_MKVNO support. Support for additional TL data types can be added in lib/hdb/hdb-mitdb.c:_hdb_mdb_value2entry() and lib/hdb/print.c:entry2mit_string_int().
127 lines
2.6 KiB
Plaintext
127 lines
2.6 KiB
Plaintext
# $Id$
|
|
|
|
HEIMDAL_HDB_1.0 {
|
|
global:
|
|
encode_hdb_keyset;
|
|
hdb_add_master_key;
|
|
hdb_add_current_keys_to_history;
|
|
hdb_change_kvno;
|
|
hdb_check_db_format;
|
|
hdb_clear_extension;
|
|
hdb_clear_master_key;
|
|
hdb_create;
|
|
hdb_db_dir;
|
|
hdb_dbinfo_get_acl_file;
|
|
hdb_dbinfo_get_binding;
|
|
hdb_dbinfo_get_dbname;
|
|
hdb_dbinfo_get_label;
|
|
hdb_dbinfo_get_log_file;
|
|
hdb_dbinfo_get_mkey_file;
|
|
hdb_dbinfo_get_next;
|
|
hdb_dbinfo_get_realm;
|
|
hdb_default_db;
|
|
hdb_enctype2key;
|
|
hdb_entry2string;
|
|
hdb_entry2value;
|
|
hdb_entry_alias2value;
|
|
hdb_entry_check_mandatory;
|
|
hdb_entry_clear_password;
|
|
hdb_entry_get_ConstrainedDelegACL;
|
|
hdb_entry_get_aliases;
|
|
hdb_entry_get_password;
|
|
hdb_entry_get_pkinit_acl;
|
|
hdb_entry_get_pkinit_cert;
|
|
hdb_entry_get_pkinit_hash;
|
|
hdb_entry_get_pw_change_time;
|
|
hdb_entry_set_password;
|
|
hdb_entry_set_pw_change_time;
|
|
hdb_find_extension;
|
|
hdb_foreach;
|
|
hdb_free_dbinfo;
|
|
hdb_free_entry;
|
|
hdb_free_key;
|
|
hdb_free_keys;
|
|
hdb_free_master_key;
|
|
hdb_generate_key_set;
|
|
hdb_generate_key_set_password;
|
|
hdb_get_dbinfo;
|
|
hdb_init_db;
|
|
hdb_key2principal;
|
|
hdb_kvno2keys;
|
|
hdb_list_builtin;
|
|
hdb_lock;
|
|
hdb_next_enctype2key;
|
|
hdb_principal2key;
|
|
hdb_print_entry;
|
|
hdb_process_master_key;
|
|
hdb_read_master_key;
|
|
hdb_replace_extension;
|
|
hdb_seal_key;
|
|
hdb_seal_key_mkey;
|
|
hdb_seal_keys;
|
|
hdb_seal_keys_mkey;
|
|
hdb_set_last_modified_by;
|
|
hdb_set_master_key;
|
|
hdb_set_master_keyfile;
|
|
hdb_unlock;
|
|
hdb_unseal_key;
|
|
hdb_unseal_key_mkey;
|
|
hdb_unseal_keys;
|
|
hdb_unseal_keys_mkey;
|
|
hdb_value2entry;
|
|
hdb_value2entry_alias;
|
|
hdb_write_master_key;
|
|
length_hdb_keyset;
|
|
hdb_interface_version;
|
|
initialize_hdb_error_table_r;
|
|
|
|
# MIT KDB related entries
|
|
_hdb_mdb_value2entry;
|
|
_hdb_mit_dump2mitdb_entry;
|
|
|
|
hdb_kt_ops;
|
|
|
|
# some random bits needed for libkadm
|
|
add_HDB_Ext_KeySet;
|
|
add_Keys;
|
|
asn1_HDBFlags_units;
|
|
copy_Event;
|
|
copy_HDB_extensions;
|
|
copy_Key;
|
|
copy_Keys;
|
|
copy_Salt;
|
|
decode_HDB_Ext_Aliases;
|
|
decode_HDB_extension;
|
|
decode_HDB_Ext_PKINIT_acl;
|
|
decode_Key;
|
|
decode_Keys;
|
|
encode_HDB_Ext_Aliases;
|
|
encode_HDB_extension;
|
|
encode_HDB_Ext_PKINIT_acl;
|
|
encode_Key;
|
|
encode_Keys;
|
|
free_Event;
|
|
free_hdb_entry;
|
|
free_HDB_Ext_Aliases;
|
|
free_HDB_extension;
|
|
free_HDB_extensions;
|
|
free_HDB_Ext_PKINIT_acl;
|
|
free_hdb_keyset;
|
|
free_Key;
|
|
free_Keys;
|
|
free_Salt;
|
|
HDBFlags2int;
|
|
int2HDBFlags;
|
|
length_HDB_Ext_Aliases;
|
|
length_HDB_extension;
|
|
length_HDB_Ext_PKINIT_acl;
|
|
length_Key;
|
|
length_Keys;
|
|
remove_Keys;
|
|
add_Keys;
|
|
add_HDB_Ext_KeySet;
|
|
|
|
local:
|
|
*;
|
|
};
|