Lines Matching full:handle
22 static int dup_db_args(kadm5_server_handle_t handle, char **db_args) in dup_db_args() argument
29 handle->db_args = NULL; in dup_db_args()
33 handle->db_args = calloc(sizeof(char*), count+1); in dup_db_args()
34 if (handle->db_args == NULL) { in dup_db_args()
40 handle->db_args[count] = strdup(db_args[count]); in dup_db_args()
41 if (handle->db_args[count] == NULL) { in dup_db_args()
48 if (ret && handle->db_args) { in dup_db_args()
49 for (count=0; handle->db_args[count]; count++) in dup_db_args()
50 free(handle->db_args[count]); in dup_db_args()
52 free(handle->db_args), handle->db_args = NULL; in dup_db_args()
58 static void free_db_args(kadm5_server_handle_t handle) in free_db_args() argument
62 if (handle->db_args) { in free_db_args()
63 for (count=0; handle->db_args[count]; count++) in free_db_args()
64 free(handle->db_args[count]); in free_db_args()
66 free(handle->db_args), handle->db_args = NULL; in free_db_args()
71 free_handle(kadm5_server_handle_t handle) in free_handle() argument
73 if (handle == NULL) in free_handle()
76 destroy_pwqual(handle); in free_handle()
77 k5_kadm5_hook_free_handles(handle->context, handle->hook_handles); in free_handle()
78 ulog_fini(handle->context); in free_handle()
79 krb5_db_fini(handle->context); in free_handle()
80 krb5_free_principal(handle->context, handle->current_caller); in free_handle()
81 kadm5_free_config_params(handle->context, &handle->params); in free_handle()
82 free(handle->lhandle); in free_handle()
83 free_db_args(handle); in free_handle()
84 free(handle); in free_handle()
167 kadm5_server_handle_t handle = NULL; in kadm5_init() local
179 handle = k5alloc(sizeof(*handle), &ret); in kadm5_init()
180 if (handle == NULL) in kadm5_init()
182 handle->context = context; in kadm5_init()
184 ret = dup_db_args(handle, db_args); in kadm5_init()
191 handle->magic_number = KADM5_SERVER_HANDLE_MAGIC; in kadm5_init()
192 handle->struct_version = struct_version; in kadm5_init()
193 handle->api_version = api_version; in kadm5_init()
202 ret = kadm5_get_config_params(handle->context, 1, params_in, in kadm5_init()
203 &handle->params); in kadm5_init()
218 if ((handle->params.mask & REQUIRED_PARAMS) != REQUIRED_PARAMS) { in kadm5_init()
222 if ((handle->params.mask & KADM5_CONFIG_IPROP_ENABLED) == KADM5_CONFIG_IPROP_ENABLED in kadm5_init()
223 && handle->params.iprop_enabled) { in kadm5_init()
224 if ((handle->params.mask & IPROP_REQUIRED_PARAMS) != IPROP_REQUIRED_PARAMS) { in kadm5_init()
230 ret = krb5_set_default_realm(handle->context, handle->params.realm); in kadm5_init()
234 ret = krb5_db_open(handle->context, db_args, in kadm5_init()
239 ret = krb5_parse_name(handle->context, client_name, in kadm5_init()
240 &handle->current_caller); in kadm5_init()
244 handle->lhandle = k5alloc(sizeof(*handle), &ret); in kadm5_init()
245 if (handle->lhandle == NULL) in kadm5_init()
247 *handle->lhandle = *handle; in kadm5_init()
248 handle->lhandle->api_version = KADM5_API_VERSION_4; in kadm5_init()
249 handle->lhandle->struct_version = KADM5_STRUCT_VERSION; in kadm5_init()
250 handle->lhandle->lhandle = handle->lhandle; in kadm5_init()
252 ret = kdb_init_master(handle, handle->params.realm, in kadm5_init()
253 (handle->params.mask & KADM5_CONFIG_MKEY_FROM_KBD) in kadm5_init()
254 && handle->params.mkey_from_kbd); in kadm5_init()
258 ret = kdb_init_hist(handle, handle->params.realm); in kadm5_init()
262 ret = k5_kadm5_hook_load(context,&handle->hook_handles); in kadm5_init()
266 ret = init_pwqual(handle); in kadm5_init()
270 *server_handle = handle; in kadm5_init()
271 handle = NULL; in kadm5_init()
274 free_handle(handle); in kadm5_init()
287 kadm5_server_handle_t handle = server_handle; in kadm5_lock() local
291 ret = krb5_db_lock(handle->context, KRB5_DB_LOCKMODE_EXCLUSIVE); in kadm5_lock()
300 kadm5_server_handle_t handle = server_handle; in kadm5_unlock() local
304 ret = krb5_db_unlock(handle->context); in kadm5_unlock()
313 kadm5_server_handle_t handle = server_handle; in kadm5_flush() local
318 if ((ret = krb5_db_fini(handle->context)) || in kadm5_flush()
319 (ret = krb5_db_open(handle->context, handle->db_args, in kadm5_flush()
327 int _kadm5_check_handle(void *handle) in _kadm5_check_handle() argument
329 CHECK_HANDLE(handle); in _kadm5_check_handle()
348 kadm5_init_iprop(void *handle, char **db_args) in kadm5_init_iprop() argument
353 iprop_h = handle; in kadm5_init_iprop()