12#include "ws_symbol_export.h"
24void keytab_file_read(
const char *filename);
27#define KRB_MAX_KEY_LENGTH 32
29#if defined(HAVE_HEIMDAL_KERBEROS) || defined(HAVE_MIT_KERBEROS)
35typedef struct _krb5_context *krb5_context;
37extern krb5_context keytab_krb5_ctx;
39typedef struct _enc_key_t {
40 struct _enc_key_t* next;
43 uint8_t keyvalue[KRB_MAX_KEY_LENGTH];
71 const char* account_name;
72 const char* account_domain;
73 const char* account_sid;
74 const char* device_sid;
76 struct _enc_key_t* same_list;
78 struct _enc_key_t* src1;
79 struct _enc_key_t* src2;
82WS_DLL_PUBLIC
const enc_key_t* keytab_get_enc_key_list(
void);
83WS_DLL_PUBLIC
void keytab_set_enc_key_list(enc_key_t* list);
84WS_DLL_PUBLIC
const wmem_map_t* keytab_get_file_longterm_keys(
void);
85WS_DLL_PUBLIC
wmem_map_t* keytab_get_file_all_keys(
void);
86WS_DLL_PUBLIC
wmem_map_t* keytab_get_file_session_keys(
void);
88WS_DLL_PUBLIC
void keytab_file_key_map_insert(
wmem_map_t* key_map, enc_key_t* new_key);
101void keytab_file_data_init(
void);