2N/A/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2N/A
2N/A/*
2N/A * Returns success with a null armor_key if FAST is available but not in use.
2N/A * Returns failure if the client library does not support FAST.
2N/A */
2N/A
2N/A/* Solaris Kerberos */
2N/A#include <preauth_plugin.h>
2N/A
2N/Astatic inline krb5_error_code
2N/Afast_get_armor_key(krb5_context context, preauth_get_client_data_proc get_data,
2N/A struct _krb5_preauth_client_rock *rock,
2N/A krb5_keyblock **armor_key)
2N/A{
2N/A krb5_error_code retval = 0;
2N/A krb5_data *data;
2N/A retval = get_data(context, rock, krb5plugin_preauth_client_fast_armor, &data);
2N/A if (retval == 0) {
2N/A *armor_key = (krb5_keyblock *) data->data;
2N/A data->data = NULL;
2N/A get_data(context, rock, krb5plugin_preauth_client_free_fast_armor,
2N/A &data);
2N/A }
2N/A return retval;
2N/A}
2N/A
2N/Astatic inline krb5_error_code
2N/Afast_kdc_get_armor_key(krb5_context context,
2N/A preauth_get_entry_data_proc get_entry,
2N/A krb5_kdc_req *request,
2N/A struct _krb5_db_entry_new *client,
2N/A krb5_keyblock **armor_key)
2N/A{
2N/A krb5_error_code retval;
2N/A krb5_data *data;
2N/A retval = get_entry(context, request, client, krb5plugin_preauth_fast_armor,
2N/A &data);
2N/A if (retval == 0) {
2N/A *armor_key = (krb5_keyblock *) data->data;
2N/A data->data = NULL;
2N/A get_entry(context, request, client,
2N/A krb5plugin_preauth_free_fast_armor, &data);
2N/A }
2N/A return retval;
2N/A}
2N/A
2N/A
2N/A
2N/Astatic inline krb5_error_code
2N/Afast_kdc_replace_reply_key(krb5_context context,
2N/A preauth_get_entry_data_proc get_data,
2N/A krb5_kdc_req *request)
2N/A{
2N/A return 0;
2N/A}
2N/A
2N/Astatic inline krb5_error_code
2N/Afast_set_kdc_verified(krb5_context context,
2N/A preauth_get_client_data_proc get_data,
2N/A struct _krb5_preauth_client_rock *rock)
2N/A{
2N/A return 0;
2N/A}