Lines Matching full:context

94     krb5_context context;
101 if (krb5_init_context (&context) != 0)
104 ret = krb5_kt_default (context, &keytab);
106 krb5_err(context, 1, ret, "krb5_kt_default");
108 ret = krb5_kt_start_seq_get(context, keytab, &cursor);
110 krb5_err(context, 1, ret, "krb5_kt_start_seq_get");
111 while((ret = krb5_kt_next_entry(context, keytab, &entry, &cursor)) == 0){
112 krb5_unparse_name(context, entry.principal, &principal);
115 krb5_kt_free_entry(context, &entry);
117 ret = krb5_kt_end_seq_get(context, keytab, &cursor);
119 krb5_err(context, 1, ret, "krb5_kt_end_seq_get");
120 ret = krb5_kt_close(context, keytab);
122 krb5_err(context, 1, ret, "krb5_kt_close");
123 krb5_free_context(context);
134 * @param context a Keberos context.
143 krb5_kt_register(krb5_context context, in krb5_kt_register() argument
149 krb5_set_error_message(context, KRB5_KT_BADNAME, in krb5_kt_register()
154 tmp = realloc(context->kt_types, in krb5_kt_register()
155 (context->num_kt_types + 1) * sizeof(*context->kt_types)); in krb5_kt_register()
157 krb5_set_error_message(context, ENOMEM, in krb5_kt_register()
161 memcpy(&tmp[context->num_kt_types], ops, in krb5_kt_register()
162 sizeof(tmp[context->num_kt_types])); in krb5_kt_register()
163 context->kt_types = tmp; in krb5_kt_register()
164 context->num_kt_types++; in krb5_kt_register()
200 * @param context a Keberos context.
211 krb5_kt_resolve(krb5_context context, in krb5_kt_resolve() argument
223 for(i = 0; i < context->num_kt_types; i++) { in krb5_kt_resolve()
224 if(strncasecmp(type, context->kt_types[i].prefix, type_len) == 0) in krb5_kt_resolve()
227 if(i == context->num_kt_types) { in krb5_kt_resolve()
228 krb5_set_error_message(context, KRB5_KT_UNKNOWN_TYPE, in krb5_kt_resolve()
236 krb5_set_error_message(context, ENOMEM, N_("malloc: out of memory", "")); in krb5_kt_resolve()
239 memcpy(k, &context->kt_types[i], sizeof(*k)); in krb5_kt_resolve()
241 ret = (*k->resolve)(context, residual, k); in krb5_kt_resolve()
253 * @param context a Keberos context.
263 krb5_kt_default_name(krb5_context context, char *name, size_t namesize) in krb5_kt_default_name() argument
265 if (strlcpy (name, context->default_keytab, namesize) >= namesize) { in krb5_kt_default_name()
266 krb5_clear_error_message (context); in krb5_kt_default_name()
275 * @param context a Keberos context.
285 krb5_kt_default_modify_name(krb5_context context, char *name, size_t namesize) in krb5_kt_default_modify_name() argument
288 if(context->default_keytab_modify == NULL) { in krb5_kt_default_modify_name()
289 if(strncasecmp(context->default_keytab, "ANY:", 4) != 0) in krb5_kt_default_modify_name()
290 kt = context->default_keytab; in krb5_kt_default_modify_name()
292 size_t len = strcspn(context->default_keytab + 4, ","); in krb5_kt_default_modify_name()
294 krb5_clear_error_message(context); in krb5_kt_default_modify_name()
297 strlcpy(name, context->default_keytab + 4, namesize); in krb5_kt_default_modify_name()
302 kt = context->default_keytab_modify; in krb5_kt_default_modify_name()
304 krb5_clear_error_message (context); in krb5_kt_default_modify_name()
313 * @param context a Keberos context.
322 krb5_kt_default(krb5_context context, krb5_keytab *id) in krb5_kt_default() argument
324 return krb5_kt_resolve (context, context->default_keytab, id); in krb5_kt_default()
331 * @param context a Keberos context.
344 krb5_kt_read_service_key(krb5_context context, in krb5_kt_read_service_key() argument
357 ret = krb5_kt_resolve (context, keyprocarg, &keytab); in krb5_kt_read_service_key()
359 ret = krb5_kt_default (context, &keytab); in krb5_kt_read_service_key()
364 ret = krb5_kt_get_entry (context, keytab, principal, vno, enctype, &entry); in krb5_kt_read_service_key()
366 ret = krb5_copy_keyblock (context, &entry.keyblock, key); in krb5_kt_read_service_key()
367 krb5_kt_free_entry(context, &entry); in krb5_kt_read_service_key()
369 krb5_kt_close (context, keytab); in krb5_kt_read_service_key()
377 * @param context a Keberos context.
388 krb5_kt_get_type(krb5_context context, in krb5_kt_get_type() argument
400 * @param context a Keberos context.
411 krb5_kt_get_name(krb5_context context, in krb5_kt_get_name() argument
416 return (*keytab->get_name)(context, keytab, name, namesize); in krb5_kt_get_name()
423 * @param context a Keberos context.
434 krb5_kt_get_full_name(krb5_context context, in krb5_kt_get_full_name() argument
444 ret = krb5_kt_get_type(context, keytab, type, sizeof(type)); in krb5_kt_get_full_name()
448 ret = krb5_kt_get_name(context, keytab, name, sizeof(name)); in krb5_kt_get_full_name()
453 krb5_set_error_message(context, ENOMEM, N_("malloc: out of memory", "")); in krb5_kt_get_full_name()
465 * @param context a Keberos context.
474 krb5_kt_close(krb5_context context, in krb5_kt_close() argument
480 ret = (id->close)(context, id); in krb5_kt_close()
491 * @param context a Keberos context.
500 krb5_kt_destroy(krb5_context context, in krb5_kt_destroy() argument
505 ret = (*id->destroy)(context, id); in krb5_kt_destroy()
506 krb5_kt_close(context, id); in krb5_kt_destroy()
515 compare_aliseses(krb5_context context, in compare_aliseses() argument
523 if (krb5_principal_compare(context, &entry->aliases->val[i], principal)) in compare_aliseses()
533 * @param context a Keberos context.
545 krb5_kt_compare(krb5_context context, in krb5_kt_compare() argument
552 !(krb5_principal_compare(context, entry->principal, principal) || in krb5_kt_compare()
553 compare_aliseses(context, entry, principal))) in krb5_kt_compare()
563 _krb5_kt_principal_not_found(krb5_context context, in _krb5_kt_principal_not_found() argument
573 krb5_unparse_name_fixed (context, principal, princ, sizeof(princ)); in _krb5_kt_principal_not_found()
574 krb5_kt_get_full_name (context, id, &kt_name); in _krb5_kt_principal_not_found()
575 krb5_enctype_to_string(context, enctype, &enctype_str); in _krb5_kt_principal_not_found()
582 krb5_set_error_message (context, ret, in _krb5_kt_principal_not_found()
599 * @param context a Keberos context.
612 krb5_kt_get_entry(krb5_context context, in krb5_kt_get_entry() argument
624 return (*id->get)(context, id, principal, kvno, enctype, entry); in krb5_kt_get_entry()
627 ret = krb5_kt_start_seq_get (context, id, &cursor); in krb5_kt_get_entry()
631 context->error_code = KRB5_KT_NOTFOUND; in krb5_kt_get_entry()
636 while (krb5_kt_next_entry(context, id, &tmp, &cursor) == 0) { in krb5_kt_get_entry()
637 if (krb5_kt_compare(context, &tmp, principal, 0, enctype)) { in krb5_kt_get_entry()
642 krb5_kt_copy_entry_contents (context, &tmp, entry); in krb5_kt_get_entry()
643 krb5_kt_free_entry (context, &tmp); in krb5_kt_get_entry()
644 krb5_kt_end_seq_get(context, id, &cursor); in krb5_kt_get_entry()
648 krb5_kt_free_entry (context, entry); in krb5_kt_get_entry()
649 krb5_kt_copy_entry_contents (context, &tmp, entry); in krb5_kt_get_entry()
652 krb5_kt_free_entry(context, &tmp); in krb5_kt_get_entry()
654 krb5_kt_end_seq_get (context, id, &cursor); in krb5_kt_get_entry()
656 return _krb5_kt_principal_not_found(context, KRB5_KT_NOTFOUND, in krb5_kt_get_entry()
664 * @param context a Keberos context.
674 krb5_kt_copy_entry_contents(krb5_context context, in krb5_kt_copy_entry_contents() argument
682 ret = krb5_copy_principal (context, in->principal, &out->principal); in krb5_kt_copy_entry_contents()
685 ret = krb5_copy_keyblock_contents (context, in krb5_kt_copy_entry_contents()
689 krb5_free_principal(context, out->principal); in krb5_kt_copy_entry_contents()
701 * @param context a Keberos context.
710 krb5_kt_free_entry(krb5_context context, in krb5_kt_free_entry() argument
713 krb5_free_principal (context, entry->principal); in krb5_kt_free_entry()
714 krb5_free_keyblock_contents (context, &entry->keyblock); in krb5_kt_free_entry()
722 * @param context a Keberos context.
732 krb5_kt_start_seq_get(krb5_context context, in krb5_kt_start_seq_get() argument
737 krb5_set_error_message(context, HEIM_ERR_OPNOTSUPP, in krb5_kt_start_seq_get()
743 return (*id->start_seq_get)(context, id, cursor); in krb5_kt_start_seq_get()
750 * @param context a Keberos context.
761 krb5_kt_next_entry(krb5_context context, in krb5_kt_next_entry() argument
767 krb5_set_error_message(context, HEIM_ERR_OPNOTSUPP, in krb5_kt_next_entry()
773 return (*id->next_entry)(context, id, entry, cursor); in krb5_kt_next_entry()
779 * @param context a Keberos context.
789 krb5_kt_end_seq_get(krb5_context context, in krb5_kt_end_seq_get() argument
794 krb5_set_error_message(context, HEIM_ERR_OPNOTSUPP, in krb5_kt_end_seq_get()
799 return (*id->end_seq_get)(context, id, cursor); in krb5_kt_end_seq_get()
805 * @param context a Keberos context.
815 krb5_kt_add_entry(krb5_context context, in krb5_kt_add_entry() argument
820 krb5_set_error_message(context, KRB5_KT_NOWRITE, in krb5_kt_add_entry()
826 return (*id->add)(context, id,entry); in krb5_kt_add_entry()
833 * @param context a Keberos context.
843 krb5_kt_remove_entry(krb5_context context, in krb5_kt_remove_entry() argument
848 krb5_set_error_message(context, KRB5_KT_NOWRITE, in krb5_kt_remove_entry()
853 return (*id->remove)(context, id, entry); in krb5_kt_remove_entry()
859 * @param context a Keberos context.
868 krb5_kt_have_content(krb5_context context, in krb5_kt_have_content() argument
877 ret = krb5_kt_start_seq_get(context, id, &cursor); in krb5_kt_have_content()
881 ret = krb5_kt_next_entry(context, id, &entry, &cursor); in krb5_kt_have_content()
882 krb5_kt_end_seq_get(context, id, &cursor); in krb5_kt_have_content()
886 krb5_kt_free_entry(context, &entry); in krb5_kt_have_content()
891 ret = krb5_kt_get_full_name(context, id, &name); in krb5_kt_have_content()
893 krb5_set_error_message(context, KRB5_KT_NOTFOUND, in krb5_kt_have_content()