Lines Matching refs:context

118 krb5_cc_register(krb5_context context,  in krb5_cc_register()  argument
124 for(i = 0; i < context->num_cc_ops && context->cc_ops[i]->prefix; i++) { in krb5_cc_register()
125 if(strcmp(context->cc_ops[i]->prefix, ops->prefix) == 0) { in krb5_cc_register()
127 krb5_set_error_message(context, in krb5_cc_register()
136 if(i == context->num_cc_ops) { in krb5_cc_register()
137 const krb5_cc_ops **o = realloc(rk_UNCONST(context->cc_ops), in krb5_cc_register()
138 (context->num_cc_ops + 1) * in krb5_cc_register()
139 sizeof(context->cc_ops[0])); in krb5_cc_register()
141 krb5_set_error_message(context, KRB5_CC_NOMEM, in krb5_cc_register()
145 context->cc_ops = o; in krb5_cc_register()
146 context->cc_ops[context->num_cc_ops] = NULL; in krb5_cc_register()
147 context->num_cc_ops++; in krb5_cc_register()
149 context->cc_ops[i] = ops; in krb5_cc_register()
159 _krb5_cc_allocate(krb5_context context, in _krb5_cc_allocate() argument
167 krb5_set_error_message(context, KRB5_CC_NOMEM, in _krb5_cc_allocate()
183 allocate_ccache (krb5_context context, in allocate_ccache() argument
192 ret = _krb5_expand_path_tokens(context, residual, &exp_residual); in allocate_ccache()
199 ret = _krb5_cc_allocate(context, ops, id); in allocate_ccache()
208 ret = (*id)->ops->resolve(context, id, residual); in allocate_ccache()
257 krb5_cc_resolve(krb5_context context, in krb5_cc_resolve() argument
265 for(i = 0; i < context->num_cc_ops && context->cc_ops[i]->prefix; i++) { in krb5_cc_resolve()
266 size_t prefix_len = strlen(context->cc_ops[i]->prefix); in krb5_cc_resolve()
268 if(strncmp(context->cc_ops[i]->prefix, name, prefix_len) == 0 in krb5_cc_resolve()
270 return allocate_ccache (context, context->cc_ops[i], in krb5_cc_resolve()
276 return allocate_ccache (context, &krb5_fcc_ops, name, id); in krb5_cc_resolve()
278 krb5_set_error_message(context, KRB5_CC_UNKNOWN_TYPE, in krb5_cc_resolve()
297 krb5_cc_new_unique(krb5_context context, const char *type, in krb5_cc_new_unique() argument
303 ops = krb5_cc_get_prefix_ops(context, type); in krb5_cc_new_unique()
305 krb5_set_error_message(context, KRB5_CC_UNKNOWN_TYPE, in krb5_cc_new_unique()
310 ret = _krb5_cc_allocate(context, ops, id); in krb5_cc_new_unique()
313 ret = (*id)->ops->gen_new(context, id); in krb5_cc_new_unique()
329 krb5_cc_get_name(krb5_context context, in krb5_cc_get_name() argument
332 return id->ops->get_name(context, id); in krb5_cc_get_name()
343 krb5_cc_get_type(krb5_context context, in krb5_cc_get_type() argument
363 krb5_cc_get_full_name(krb5_context context, in krb5_cc_get_full_name() argument
371 type = krb5_cc_get_type(context, id); in krb5_cc_get_full_name()
373 krb5_set_error_message(context, KRB5_CC_UNKNOWN_TYPE, in krb5_cc_get_full_name()
378 name = krb5_cc_get_name(context, id); in krb5_cc_get_full_name()
380 krb5_set_error_message(context, KRB5_CC_BADNAME, in krb5_cc_get_full_name()
386 krb5_set_error_message(context, ENOMEM, N_("malloc: out of memory", "")); in krb5_cc_get_full_name()
401 krb5_cc_get_ops(krb5_context context, krb5_ccache id) in krb5_cc_get_ops() argument
411 _krb5_expand_default_cc_name(krb5_context context, const char *str, char **res) in _krb5_expand_default_cc_name() argument
413 return _krb5_expand_path_tokens(context, str, res); in _krb5_expand_default_cc_name()
422 environment_changed(krb5_context context) in environment_changed() argument
427 if (context->default_cc_name_set) in environment_changed()
431 if (context->default_cc_name && in environment_changed()
432 (strncmp(context->default_cc_name, "KCM:", 4) == 0 || in environment_changed()
433 strncmp(context->default_cc_name, "API:", 4) == 0)) in environment_changed()
441 if (context->default_cc_name_env) { in environment_changed()
442 free(context->default_cc_name_env); in environment_changed()
443 context->default_cc_name_env = NULL; in environment_changed()
447 if (context->default_cc_name_env == NULL) in environment_changed()
449 if (strcmp(e, context->default_cc_name_env) != 0) in environment_changed()
465 krb5_cc_switch(krb5_context context, krb5_ccache id) in krb5_cc_switch() argument
468 _krb5_set_default_cc_name_to_registry(context, id); in krb5_cc_switch()
474 return (*id->ops->set_default)(context, id); in krb5_cc_switch()
484 krb5_cc_support_switch(krb5_context context, const char *type) in krb5_cc_support_switch() argument
488 ops = krb5_cc_get_prefix_ops(context, type); in krb5_cc_support_switch()
501 krb5_cc_set_default_name(krb5_context context, const char *name) in krb5_cc_set_default_name() argument
513 if (context->default_cc_name_env) in krb5_cc_set_default_name()
514 free(context->default_cc_name_env); in krb5_cc_set_default_name()
515 context->default_cc_name_env = strdup(e); in krb5_cc_set_default_name()
521 e = p = _krb5_get_default_cc_name_from_registry(context); in krb5_cc_set_default_name()
525 e = krb5_config_get_string(context, NULL, "libdefaults", in krb5_cc_set_default_name()
528 ret = _krb5_expand_default_cc_name(context, e, &p); in krb5_cc_set_default_name()
534 e = krb5_config_get_string(context, NULL, "libdefaults", in krb5_cc_set_default_name()
537 ops = krb5_cc_get_prefix_ops(context, e); in krb5_cc_set_default_name()
539 krb5_set_error_message(context, in krb5_cc_set_default_name()
546 ret = (*ops->get_default_name)(context, &p); in krb5_cc_set_default_name()
551 context->default_cc_name_set = 0; in krb5_cc_set_default_name()
554 context->default_cc_name_set = 1; in krb5_cc_set_default_name()
558 krb5_set_error_message(context, ENOMEM, N_("malloc: out of memory", "")); in krb5_cc_set_default_name()
562 ret = _krb5_expand_path_tokens(context, p, &exp_p); in krb5_cc_set_default_name()
567 if (context->default_cc_name) in krb5_cc_set_default_name()
568 free(context->default_cc_name); in krb5_cc_set_default_name()
570 context->default_cc_name = exp_p; in krb5_cc_set_default_name()
586 krb5_cc_default_name(krb5_context context) in krb5_cc_default_name() argument
588 if (context->default_cc_name == NULL || environment_changed(context)) in krb5_cc_default_name()
589 krb5_cc_set_default_name(context, NULL); in krb5_cc_default_name()
591 return context->default_cc_name; in krb5_cc_default_name()
604 krb5_cc_default(krb5_context context, in krb5_cc_default() argument
607 const char *p = krb5_cc_default_name(context); in krb5_cc_default()
610 krb5_set_error_message(context, ENOMEM, N_("malloc: out of memory", "")); in krb5_cc_default()
613 return krb5_cc_resolve(context, p, id); in krb5_cc_default()
626 krb5_cc_initialize(krb5_context context, in krb5_cc_initialize() argument
630 return (*id->ops->init)(context, id, primary_principal); in krb5_cc_initialize()
644 krb5_cc_destroy(krb5_context context, in krb5_cc_destroy() argument
649 ret = (*id->ops->destroy)(context, id); in krb5_cc_destroy()
650 krb5_cc_close (context, id); in krb5_cc_destroy()
664 krb5_cc_close(krb5_context context, in krb5_cc_close() argument
668 ret = (*id->ops->close)(context, id); in krb5_cc_close()
683 krb5_cc_store_cred(krb5_context context, in krb5_cc_store_cred() argument
687 return (*id->ops->store)(context, id, creds); in krb5_cc_store_cred()
709 krb5_cc_retrieve_cred(krb5_context context, in krb5_cc_retrieve_cred() argument
719 return (*id->ops->retrieve)(context, id, whichfields, in krb5_cc_retrieve_cred()
723 ret = krb5_cc_start_seq_get(context, id, &cursor); in krb5_cc_retrieve_cred()
726 while((ret = krb5_cc_next_cred(context, id, &cursor, creds)) == 0){ in krb5_cc_retrieve_cred()
727 if(krb5_compare_creds(context, whichfields, mcreds, creds)){ in krb5_cc_retrieve_cred()
731 krb5_free_cred_contents (context, creds); in krb5_cc_retrieve_cred()
733 krb5_cc_end_seq_get(context, id, &cursor); in krb5_cc_retrieve_cred()
747 krb5_cc_get_principal(krb5_context context, in krb5_cc_get_principal() argument
751 return (*id->ops->get_princ)(context, id, principal); in krb5_cc_get_principal()
765 krb5_cc_start_seq_get (krb5_context context, in krb5_cc_start_seq_get() argument
769 return (*id->ops->get_first)(context, id, cursor); in krb5_cc_start_seq_get()
783 krb5_cc_next_cred (krb5_context context, in krb5_cc_next_cred() argument
788 return (*id->ops->get_next)(context, id, cursor, creds); in krb5_cc_next_cred()
799 krb5_cc_end_seq_get (krb5_context context, in krb5_cc_end_seq_get() argument
803 return (*id->ops->end_get)(context, id, cursor); in krb5_cc_end_seq_get()
814 krb5_cc_remove_cred(krb5_context context, in krb5_cc_remove_cred() argument
820 krb5_set_error_message(context, in krb5_cc_remove_cred()
826 return (*id->ops->remove_cred)(context, id, which, cred); in krb5_cc_remove_cred()
837 krb5_cc_set_flags(krb5_context context, in krb5_cc_set_flags() argument
841 return (*id->ops->set_flags)(context, id, flags); in krb5_cc_set_flags()
851 krb5_cc_get_flags(krb5_context context, in krb5_cc_get_flags() argument
876 krb5_cc_copy_match_f(krb5_context context, in krb5_cc_copy_match_f() argument
891 ret = krb5_cc_get_principal(context, from, &princ); in krb5_cc_copy_match_f()
894 ret = krb5_cc_initialize(context, to, princ); in krb5_cc_copy_match_f()
896 krb5_free_principal(context, princ); in krb5_cc_copy_match_f()
899 ret = krb5_cc_start_seq_get(context, from, &cursor); in krb5_cc_copy_match_f()
901 krb5_free_principal(context, princ); in krb5_cc_copy_match_f()
905 while ((ret = krb5_cc_next_cred(context, from, &cursor, &cred)) == 0) { in krb5_cc_copy_match_f()
906 if (match == NULL || (*match)(context, matchctx, &cred) == 0) { in krb5_cc_copy_match_f()
909 ret = krb5_cc_store_cred(context, to, &cred); in krb5_cc_copy_match_f()
913 krb5_free_cred_contents(context, &cred); in krb5_cc_copy_match_f()
915 krb5_cc_end_seq_get(context, from, &cursor); in krb5_cc_copy_match_f()
916 krb5_free_principal(context, princ); in krb5_cc_copy_match_f()
929 krb5_cc_copy_cache(krb5_context context, in krb5_cc_copy_cache() argument
933 return krb5_cc_copy_match_f(context, from, to, NULL, NULL, NULL); in krb5_cc_copy_cache()
944 krb5_cc_get_version(krb5_context context, in krb5_cc_get_version() argument
948 return (*id->ops->get_version)(context, id); in krb5_cc_get_version()
980 krb5_cc_get_prefix_ops(krb5_context context, const char *prefix) in krb5_cc_get_prefix_ops() argument
992 krb5_set_error_message(context, ENOMEM, N_("malloc: out of memory", "")); in krb5_cc_get_prefix_ops()
999 for(i = 0; i < context->num_cc_ops && context->cc_ops[i]->prefix; i++) { in krb5_cc_get_prefix_ops()
1000 if(strcmp(context->cc_ops[i]->prefix, p) == 0) { in krb5_cc_get_prefix_ops()
1002 return context->cc_ops[i]; in krb5_cc_get_prefix_ops()
1029 krb5_cc_cache_get_first (krb5_context context, in krb5_cc_cache_get_first() argument
1037 type = krb5_cc_default_name(context); in krb5_cc_cache_get_first()
1039 ops = krb5_cc_get_prefix_ops(context, type); in krb5_cc_cache_get_first()
1041 krb5_set_error_message(context, KRB5_CC_UNKNOWN_TYPE, in krb5_cc_cache_get_first()
1048 krb5_set_error_message(context, KRB5_CC_NOSUPP, in krb5_cc_cache_get_first()
1057 krb5_set_error_message(context, ENOMEM, N_("malloc: out of memory", "")); in krb5_cc_cache_get_first()
1063 ret = ops->get_cache_first(context, &(*cursor)->cursor); in krb5_cc_cache_get_first()
1087 krb5_cc_cache_next (krb5_context context, in krb5_cc_cache_next() argument
1091 return cursor->ops->get_cache_next(context, cursor->cursor, id); in krb5_cc_cache_next()
1104 krb5_cc_cache_end_seq_get (krb5_context context, in krb5_cc_cache_end_seq_get() argument
1108 ret = cursor->ops->end_cache_get(context, cursor->cursor); in krb5_cc_cache_end_seq_get()
1130 krb5_cc_cache_match (krb5_context context, in krb5_cc_cache_match() argument
1140 ret = krb5_cccol_cursor_new (context, &cursor); in krb5_cc_cache_match()
1144 while (krb5_cccol_cursor_next (context, cursor, &cache) == 0 && cache != NULL) { in krb5_cc_cache_match()
1147 ret = krb5_cc_get_principal(context, cache, &principal); in krb5_cc_cache_match()
1151 match = krb5_principal_compare(context, principal, client); in krb5_cc_cache_match()
1152 krb5_free_principal(context, principal); in krb5_cc_cache_match()
1157 krb5_cc_close(context, cache); in krb5_cc_cache_match()
1161 krb5_cccol_cursor_free(context, &cursor); in krb5_cc_cache_match()
1166 krb5_unparse_name(context, client, &str); in krb5_cc_cache_match()
1168 krb5_set_error_message(context, KRB5_CC_NOTFOUND, in krb5_cc_cache_match()
1196 krb5_cc_move(krb5_context context, krb5_ccache from, krb5_ccache to) in krb5_cc_move() argument
1201 krb5_set_error_message(context, KRB5_CC_NOSUPP, in krb5_cc_move()
1207 ret = (*to->ops->move)(context, from, to); in krb5_cc_move()
1219 build_conf_principals(krb5_context context, krb5_ccache id, in build_conf_principals() argument
1229 ret = krb5_cc_get_principal(context, id, &client); in build_conf_principals()
1234 ret = krb5_unparse_name(context, principal, &pname); in build_conf_principals()
1239 ret = krb5_make_principal(context, &cred->server, in build_conf_principals()
1244 krb5_free_principal(context, client); in build_conf_principals()
1247 ret = krb5_copy_principal(context, client, &cred->client); in build_conf_principals()
1248 krb5_free_principal(context, client); in build_conf_principals()
1264 krb5_is_config_principal(krb5_context context, in krb5_is_config_principal() argument
1292 krb5_cc_set_config(krb5_context context, krb5_ccache id, in krb5_cc_set_config() argument
1299 ret = build_conf_principals(context, id, principal, name, &cred); in krb5_cc_set_config()
1304 ret = krb5_cc_remove_cred(context, id, 0, &cred); in krb5_cc_set_config()
1317 ret = krb5_cc_store_cred(context, id, &cred); in krb5_cc_set_config()
1321 krb5_free_cred_contents (context, &cred); in krb5_cc_set_config()
1340 krb5_cc_get_config(krb5_context context, krb5_ccache id, in krb5_cc_get_config() argument
1350 ret = build_conf_principals(context, id, principal, name, &mcred); in krb5_cc_get_config()
1354 ret = krb5_cc_retrieve_cred(context, id, 0, &mcred, &cred); in krb5_cc_get_config()
1361 krb5_free_cred_contents (context, &cred); in krb5_cc_get_config()
1362 krb5_free_cred_contents (context, &mcred); in krb5_cc_get_config()
1388 krb5_cccol_cursor_new(krb5_context context, krb5_cccol_cursor *cursor) in krb5_cccol_cursor_new() argument
1392 krb5_set_error_message(context, ENOMEM, N_("malloc: out of memory", "")); in krb5_cccol_cursor_new()
1420 krb5_cccol_cursor_next(krb5_context context, krb5_cccol_cursor cursor, in krb5_cccol_cursor_next() argument
1427 while (cursor->idx < context->num_cc_ops) { in krb5_cccol_cursor_next()
1430 ret = krb5_cc_cache_get_first (context, in krb5_cccol_cursor_next()
1431 context->cc_ops[cursor->idx]->prefix, in krb5_cccol_cursor_next()
1438 ret = krb5_cc_cache_next(context, cursor->cursor, cache); in krb5_cccol_cursor_next()
1442 krb5_cc_cache_end_seq_get(context, cursor->cursor); in krb5_cccol_cursor_next()
1449 if (cursor->idx >= context->num_cc_ops) { in krb5_cccol_cursor_next()
1450 krb5_set_error_message(context, KRB5_CC_END, in krb5_cccol_cursor_next()
1471 krb5_cccol_cursor_free(krb5_context context, krb5_cccol_cursor *cursor) in krb5_cccol_cursor_free() argument
1478 krb5_cc_cache_end_seq_get(context, c->cursor); in krb5_cccol_cursor_free()
1498 krb5_cc_last_change_time(krb5_context context, in krb5_cc_last_change_time() argument
1503 return (*id->ops->lastchange)(context, id, mtime); in krb5_cc_last_change_time()
1521 krb5_cccol_last_change_time(krb5_context context, in krb5_cccol_last_change_time() argument
1532 ret = krb5_cccol_cursor_new (context, &cursor); in krb5_cccol_last_change_time()
1536 while (krb5_cccol_cursor_next(context, cursor, &id) == 0 && id != NULL) { in krb5_cccol_last_change_time()
1538 if (type && strcmp(krb5_cc_get_type(context, id), type) != 0) in krb5_cccol_last_change_time()
1541 ret = krb5_cc_last_change_time(context, id, &t); in krb5_cccol_last_change_time()
1542 krb5_cc_close(context, id); in krb5_cccol_last_change_time()
1549 krb5_cccol_cursor_free(context, &cursor); in krb5_cccol_last_change_time()
1562 krb5_cc_get_friendly_name(krb5_context context, in krb5_cc_get_friendly_name() argument
1569 ret = krb5_cc_get_config(context, id, NULL, "FriendlyName", &data); in krb5_cc_get_friendly_name()
1572 ret = krb5_cc_get_principal(context, id, &principal); in krb5_cc_get_friendly_name()
1575 ret = krb5_unparse_name(context, principal, name); in krb5_cc_get_friendly_name()
1576 krb5_free_principal(context, principal); in krb5_cc_get_friendly_name()
1582 krb5_set_error_message(context, ret, N_("malloc: out of memory", "")); in krb5_cc_get_friendly_name()
1599 krb5_cc_set_friendly_name(krb5_context context, in krb5_cc_set_friendly_name() argument
1608 return krb5_cc_set_config(context, id, NULL, "FriendlyName", &data); in krb5_cc_set_friendly_name()
1627 krb5_cc_get_lifetime(krb5_context context, krb5_ccache id, time_t *t) in krb5_cc_get_lifetime() argument
1637 ret = krb5_cc_start_seq_get(context, id, &cursor); in krb5_cc_get_lifetime()
1641 while ((ret = krb5_cc_next_cred(context, id, &cursor, &cred)) == 0) { in krb5_cc_get_lifetime()
1645 krb5_free_cred_contents(context, &cred); in krb5_cc_get_lifetime()
1648 krb5_free_cred_contents(context, &cred); in krb5_cc_get_lifetime()
1651 krb5_cc_end_seq_get(context, id, &cursor); in krb5_cc_get_lifetime()
1671 krb5_cc_set_kdc_offset(krb5_context context, krb5_ccache id, krb5_deltat offset) in krb5_cc_set_kdc_offset() argument
1674 context->kdc_sec_offset = offset; in krb5_cc_set_kdc_offset()
1675 context->kdc_usec_offset = 0; in krb5_cc_set_kdc_offset()
1678 return (*id->ops->set_kdc_offset)(context, id, offset); in krb5_cc_set_kdc_offset()
1696 krb5_cc_get_kdc_offset(krb5_context context, krb5_ccache id, krb5_deltat *offset) in krb5_cc_get_kdc_offset() argument
1699 *offset = context->kdc_sec_offset; in krb5_cc_get_kdc_offset()
1702 return (*id->ops->get_kdc_offset)(context, id, offset); in krb5_cc_get_kdc_offset()
1710 _krb5_get_default_cc_name_from_registry(krb5_context context) in _krb5_get_default_cc_name_from_registry() argument
1723 ccname = _krb5_parse_reg_value_as_string(context, hk_k5, "ccname", in _krb5_get_default_cc_name_from_registry()
1732 _krb5_set_default_cc_name_to_registry(krb5_context context, krb5_ccache id) in _krb5_set_default_cc_name_to_registry() argument
1746 ret = asprintf(&ccname, "%s:%s", krb5_cc_get_type(context, id), krb5_cc_get_name(context, id)); in _krb5_set_default_cc_name_to_registry()
1750 ret = _krb5_store_string_to_reg_value(context, hk_k5, "ccname", in _krb5_set_default_cc_name_to_registry()