
kadm5_get_principals() is not online. If you have... many principals, it will be slow. At least it's no longer quadratic, but it, it's still slow. Time to add a version that uses a callback: kadm5_ret_t kadm5_iter_principals(void *server_handle, const char *expression, int (*cb)(void *, const char *), void *cbdata) The callback gets called with the given callback data and one principal name (unparsed). Note that the callback MUST NOT re-enter the kadm5 library with the *same* kadm handle. For example, the kadmin protocol doesn't really multiplex requests well, though it could pipeline them, but it can't pipeline when LIST is running, not with the protocol implemented here, so a separate connection is needed, and that requires a separate kadm handle. We add kadm5_dup_context() to deal with this.
99 lines
2.3 KiB
Plaintext
99 lines
2.3 KiB
Plaintext
# $Id$
|
|
|
|
HEIMDAL_KAMD5_SERVER_1.0 {
|
|
global:
|
|
kadm5_ad_init_with_password;
|
|
kadm5_ad_init_with_password_ctx;
|
|
kadm5_all_keys_are_bogus;
|
|
kadm5_add_passwd_quality_verifier;
|
|
kadm5_check_password_quality;
|
|
kadm5_chpass_principal;
|
|
kadm5_chpass_principal_3;
|
|
kadm5_chpass_principal_with_key;
|
|
kadm5_chpass_principal_with_key_3;
|
|
kadm5_create_policy;
|
|
kadm5_create_principal;
|
|
kadm5_create_principal_3;
|
|
kadm5_delete_principal;
|
|
kadm5_destroy;
|
|
kadm5_dup_context;
|
|
kadm5_decrypt_key;
|
|
kadm5_delete_policy;
|
|
kadm5_flush;
|
|
kadm5_free_key_data;
|
|
kadm5_free_name_list;
|
|
kadm5_free_policy_ent;
|
|
kadm5_free_principal_ent;
|
|
kadm5_get_instance;
|
|
kadm5_get_policy;
|
|
kadm5_get_policies;
|
|
kadm5_get_principal;
|
|
kadm5_get_principals;
|
|
kadm5_get_privs;
|
|
kadm5_init_with_creds;
|
|
kadm5_init_with_creds_ctx;
|
|
kadm5_init_with_password;
|
|
kadm5_init_with_password_ctx;
|
|
kadm5_init_with_skey;
|
|
kadm5_init_with_skey_ctx;
|
|
kadm5_iter_principals;
|
|
kadm5_lock;
|
|
kadm5_modify_principal;
|
|
kadm5_modify_policy;
|
|
kadm5_prune_principal;
|
|
kadm5_randkey_principal;
|
|
kadm5_randkey_principal_3;
|
|
kadm5_rename_principal;
|
|
kadm5_ret_key_data;
|
|
kadm5_ret_principal_ent;
|
|
kadm5_ret_principal_ent_mask;
|
|
kadm5_ret_tl_data;
|
|
kadm5_setup_passwd_quality_check;
|
|
kadm5_setkey_principal;
|
|
kadm5_setkey_principal_3;
|
|
kadm5_some_keys_are_bogus;
|
|
kadm5_store_key_data;
|
|
kadm5_store_principal_ent;
|
|
kadm5_store_principal_ent_mask;
|
|
kadm5_store_principal_ent_nokeys;
|
|
kadm5_store_tl_data;
|
|
kadm5_unlock;
|
|
kadm5_s_init_with_password_ctx;
|
|
kadm5_s_init_with_password;
|
|
kadm5_s_init_with_skey_ctx;
|
|
kadm5_s_init_with_skey;
|
|
kadm5_s_init_with_creds_ctx;
|
|
kadm5_s_init_with_creds;
|
|
kadm5_s_chpass_principal_cond;
|
|
kadm5_s_create_principal_with_key;
|
|
kadm5_log_exclusivelock;
|
|
kadm5_log_set_version;
|
|
kadm5_log_sharedlock;
|
|
kadm5_log_signal_master;
|
|
kadm5_log_signal_socket;
|
|
kadm5_log_previous;
|
|
kadm5_log_goto_first;
|
|
kadm5_log_goto_end;
|
|
kadm5_log_foreach;
|
|
kadm5_log_get_version_fd;
|
|
kadm5_log_get_version;
|
|
kadm5_log_recover;
|
|
kadm5_log_replay;
|
|
kadm5_log_end;
|
|
kadm5_log_reinit;
|
|
kadm5_log_init;
|
|
kadm5_log_init_nb;
|
|
kadm5_log_init_nolock;
|
|
kadm5_log_init_sharedlock;
|
|
kadm5_log_next;
|
|
kadm5_log_nop;
|
|
kadm5_log_truncate;
|
|
kadm5_log_modify;
|
|
_kadm5_acl_check_permission;
|
|
_kadm5_unmarshal_params;
|
|
_kadm5_s_get_db;
|
|
_kadm5_privs_to_string;
|
|
local:
|
|
*;
|
|
};
|