krb5  1.18
About: Kerberos is a network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography (MIT implementation). Current release.
  Fossies Dox: krb5-1.18.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

acquire_cred.c File Reference
#include "k5-int.h"
#include "gssapiP_krb5.h"
#include <strings.h>
Include dependency graph for acquire_cred.c:

Go to the source code of this file.

Functions

OM_uint32 gss_krb5int_register_acceptor_identity (OM_uint32 *minor_status, const gss_OID desired_mech, const gss_OID desired_object, gss_buffer_t value)
 
static krb5_error_code check_keytab (krb5_context context, krb5_keytab kt, krb5_gss_name_t name)
 
static OM_uint32 acquire_accept_cred (krb5_context context, OM_uint32 *minor_status, krb5_keytab req_keytab, const char *rcname, krb5_gss_cred_id_rec *cred)
 
static krb5_error_code scan_cc_config (krb5_context context, krb5_gss_cred_id_rec *cred, krb5_const_principal config_princ, const krb5_data *value)
 
static krb5_boolean can_get_initial_creds (krb5_context context, krb5_gss_cred_id_rec *cred)
 
static krb5_error_code scan_ccache (krb5_context context, krb5_gss_cred_id_rec *cred)
 
static krb5_error_code get_cache_for_name (krb5_context context, krb5_gss_cred_id_rec *cred)
 
static krb5_error_code get_name_from_client_keytab (krb5_context context, krb5_gss_cred_id_rec *cred)
 
static void set_refresh_time (krb5_context context, krb5_ccache ccache, krb5_timestamp refresh_time)
 
krb5_boolean kg_cred_time_to_refresh (krb5_context context, krb5_gss_cred_id_rec *cred)
 
void kg_cred_set_initial_refresh (krb5_context context, krb5_gss_cred_id_rec *cred, krb5_ticket_times *times)
 
static krb5_error_code get_initial_cred (krb5_context context, krb5_gss_cred_id_rec *cred)
 
static krb5_error_code maybe_get_initial_cred (krb5_context context, krb5_gss_cred_id_rec *cred)
 
static OM_uint32 acquire_init_cred (krb5_context context, OM_uint32 *minor_status, krb5_ccache req_ccache, gss_buffer_t password, krb5_keytab client_keytab, krb5_gss_cred_id_rec *cred)
 
static OM_uint32 acquire_cred_context (krb5_context context, OM_uint32 *minor_status, gss_name_t desired_name, gss_buffer_t password, OM_uint32 time_req, gss_cred_usage_t cred_usage, krb5_ccache ccache, krb5_keytab client_keytab, krb5_keytab keytab, const char *rcname, krb5_boolean iakerb, gss_cred_id_t *output_cred_handle, OM_uint32 *time_rec)
 
static OM_uint32 acquire_cred (OM_uint32 *minor_status, gss_name_t desired_name, gss_buffer_t password, OM_uint32 time_req, gss_cred_usage_t cred_usage, krb5_ccache ccache, krb5_keytab keytab, krb5_boolean iakerb, gss_cred_id_t *output_cred_handle, OM_uint32 *time_rec)
 
OM_uint32 kg_cred_resolve (OM_uint32 *minor_status, krb5_context context, gss_cred_id_t cred_handle, gss_name_t target_name)
 
OM_uint32 gss_krb5int_set_cred_rcache (OM_uint32 *minor_status, gss_cred_id_t *cred_handle, const gss_OID desired_oid, const gss_buffer_t value)
 
OM_uint32 krb5_gss_acquire_cred (OM_uint32 *minor_status, gss_name_t desired_name, OM_uint32 time_req, gss_OID_set desired_mechs, gss_cred_usage_t cred_usage, gss_cred_id_t *output_cred_handle, gss_OID_set *actual_mechs, OM_uint32 *time_rec)
 declarations of internal name mechanism functions More...
 
OM_uint32 iakerb_gss_acquire_cred (OM_uint32 *minor_status, gss_name_t desired_name, OM_uint32 time_req, gss_OID_set desired_mechs, gss_cred_usage_t cred_usage, gss_cred_id_t *output_cred_handle, gss_OID_set *actual_mechs, OM_uint32 *time_rec)
 
OM_uint32 krb5_gss_acquire_cred_with_password (OM_uint32 *minor_status, const gss_name_t desired_name, const gss_buffer_t password, OM_uint32 time_req, const gss_OID_set desired_mechs, int cred_usage, gss_cred_id_t *output_cred_handle, gss_OID_set *actual_mechs, OM_uint32 *time_rec)
 
OM_uint32 iakerb_gss_acquire_cred_with_password (OM_uint32 *minor_status, const gss_name_t desired_name, const gss_buffer_t password, OM_uint32 time_req, const gss_OID_set desired_mechs, int cred_usage, gss_cred_id_t *output_cred_handle, gss_OID_set *actual_mechs, OM_uint32 *time_rec)
 
OM_uint32 gss_krb5int_import_cred (OM_uint32 *minor_status, gss_cred_id_t *cred_handle, const gss_OID desired_oid, const gss_buffer_t value)
 
OM_uint32 krb5_gss_acquire_cred_from (OM_uint32 *minor_status, const gss_name_t desired_name, OM_uint32 time_req, const gss_OID_set desired_mechs, gss_cred_usage_t cred_usage, gss_const_key_value_set_t cred_store, gss_cred_id_t *output_cred_handle, gss_OID_set *actual_mechs, OM_uint32 *time_rec)
 

Variables

k5_mutex_t gssint_krb5_keytab_lock = 0
 
static char * krb5_gss_keytab = NULL
 

Function Documentation

◆ acquire_accept_cred()

◆ acquire_cred()

static OM_uint32 acquire_cred ( OM_uint32 *  minor_status,
gss_name_t  desired_name,
gss_buffer_t  password,
OM_uint32  time_req,
gss_cred_usage_t  cred_usage,
krb5_ccache  ccache,
krb5_keytab  keytab,
krb5_boolean  iakerb,
gss_cred_id_t *  output_cred_handle,
OM_uint32 *  time_rec 
)
static

◆ acquire_cred_context()

static OM_uint32 acquire_cred_context ( krb5_context  context,
OM_uint32 *  minor_status,
gss_name_t  desired_name,
gss_buffer_t  password,
OM_uint32  time_req,
gss_cred_usage_t  cred_usage,
krb5_ccache  ccache,
krb5_keytab  client_keytab,
krb5_keytab  keytab,
const char *  rcname,
krb5_boolean  iakerb,
gss_cred_id_t *  output_cred_handle,
OM_uint32 *  time_rec 
)
static

◆ acquire_init_cred()

◆ can_get_initial_creds()

◆ check_keytab()

◆ get_cache_for_name()

◆ get_initial_cred()

◆ get_name_from_client_keytab()

static krb5_error_code get_name_from_client_keytab ( krb5_context  context,
krb5_gss_cred_id_rec cred 
)
static

◆ gss_krb5int_import_cred()

OM_uint32 gss_krb5int_import_cred ( OM_uint32 *  minor_status,
gss_cred_id_t *  cred_handle,
const gss_OID  desired_oid,
const gss_buffer_t  value 
)

◆ gss_krb5int_register_acceptor_identity()

OM_uint32 gss_krb5int_register_acceptor_identity ( OM_uint32 *  minor_status,
const gss_OID  desired_mech,
const gss_OID  desired_object,
gss_buffer_t  value 
)

◆ gss_krb5int_set_cred_rcache()

OM_uint32 gss_krb5int_set_cred_rcache ( OM_uint32 *  minor_status,
gss_cred_id_t *  cred_handle,
const gss_OID  desired_oid,
const gss_buffer_t  value 
)

◆ iakerb_gss_acquire_cred()

OM_uint32 iakerb_gss_acquire_cred ( OM_uint32 *  minor_status,
gss_name_t  desired_name,
OM_uint32  time_req,
gss_OID_set  desired_mechs,
gss_cred_usage_t  cred_usage,
gss_cred_id_t *  output_cred_handle,
gss_OID_set *  actual_mechs,
OM_uint32 *  time_rec 
)

Definition at line 1073 of file acquire_cred.c.

References acquire_cred(), NULL, and TRUE.

Referenced by iakerb_gss_init_sec_context().

◆ iakerb_gss_acquire_cred_with_password()

OM_uint32 iakerb_gss_acquire_cred_with_password ( OM_uint32 *  minor_status,
const gss_name_t  desired_name,
const gss_buffer_t  password,
OM_uint32  time_req,
const gss_OID_set  desired_mechs,
int  cred_usage,
gss_cred_id_t *  output_cred_handle,
gss_OID_set *  actual_mechs,
OM_uint32 *  time_rec 
)

Definition at line 1100 of file acquire_cred.c.

References acquire_cred(), NULL, and TRUE.

◆ kg_cred_resolve()

◆ kg_cred_set_initial_refresh()

void kg_cred_set_initial_refresh ( krb5_context  context,
krb5_gss_cred_id_rec cred,
krb5_ticket_times *  times 
)

Definition at line 575 of file acquire_cred.c.

References context, cred, NULL, set_refresh_time(), ts_delta(), and ts_incr().

Referenced by get_initial_cred(), and iakerb_initiator_step().

◆ kg_cred_time_to_refresh()

krb5_boolean kg_cred_time_to_refresh ( krb5_context  context,
krb5_gss_cred_id_rec cred 
)

◆ krb5_gss_acquire_cred()

OM_uint32 krb5_gss_acquire_cred ( OM_uint32 *  minor_status,
gss_name_t  desired_name,
OM_uint32  time_req,
gss_OID_set  desired_mechs,
gss_cred_usage_t  cred_usage,
gss_cred_id_t *  output_cred_handle,
gss_OID_set *  actual_mechs,
OM_uint32 *  time_rec 
)

declarations of internal name mechanism functions

Definition at line 1062 of file acquire_cred.c.

References acquire_cred(), FALSE, and NULL.

Referenced by kg_accept_krb5(), and kg_get_defcred().

◆ krb5_gss_acquire_cred_from()

OM_uint32 krb5_gss_acquire_cred_from ( OM_uint32 *  minor_status,
const gss_name_t  desired_name,
OM_uint32  time_req,
const gss_OID_set  desired_mechs,
gss_cred_usage_t  cred_usage,
gss_const_key_value_set_t  cred_store,
gss_cred_id_t *  output_cred_handle,
gss_OID_set *  actual_mechs,
OM_uint32 *  time_rec 
)

◆ krb5_gss_acquire_cred_with_password()

OM_uint32 krb5_gss_acquire_cred_with_password ( OM_uint32 *  minor_status,
const gss_name_t  desired_name,
const gss_buffer_t  password,
OM_uint32  time_req,
const gss_OID_set  desired_mechs,
int  cred_usage,
gss_cred_id_t *  output_cred_handle,
gss_OID_set *  actual_mechs,
OM_uint32 *  time_rec 
)

Definition at line 1084 of file acquire_cred.c.

References acquire_cred(), FALSE, and NULL.

◆ maybe_get_initial_cred()

static krb5_error_code maybe_get_initial_cred ( krb5_context  context,
krb5_gss_cred_id_rec cred 
)
static

◆ scan_cc_config()

static krb5_error_code scan_cc_config ( krb5_context  context,
krb5_gss_cred_id_rec cred,
krb5_const_principal  config_princ,
const krb5_data *  value 
)
static

◆ scan_ccache()

◆ set_refresh_time()

static void set_refresh_time ( krb5_context  context,
krb5_ccache  ccache,
krb5_timestamp  refresh_time 
)
static

Variable Documentation

◆ gssint_krb5_keytab_lock

◆ krb5_gss_keytab

char* krb5_gss_keytab = NULL
static

Definition at line 93 of file acquire_cred.c.

Referenced by acquire_accept_cred(), and gss_krb5int_register_acceptor_identity().