 ed4b1be5bb
			
		
	
	ed4b1be5bb
	
	
	
		
			
			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:
 | |
| 		*;
 | |
| };
 |