diff options
Diffstat (limited to 'src/include/krb5.hin')
-rw-r--r-- | src/include/krb5.hin | 376 |
1 files changed, 327 insertions, 49 deletions
diff --git a/src/include/krb5.hin b/src/include/krb5.hin index ea8f93e..7caf42c 100644 --- a/src/include/krb5.hin +++ b/src/include/krb5.hin @@ -1,7 +1,7 @@ /* * include/krb5.h * - * Copyright 1989,1990,1995 by the Massachusetts Institute of Technology. + * Copyright 1989,1990,1995,2001 by the Massachusetts Institute of Technology. * All Rights Reserved. * * Export of this software from the United States of America may @@ -56,15 +56,40 @@ #ifndef KRB5_GENERAL__ #define KRB5_GENERAL__ -#if defined(_MSDOS) || defined(_WIN32) || defined(macintosh) -#include <win-mac.h> -/* Macintoh CFM-68K magic incantation */ -#if defined(macintosh) && defined(__CFM68K__) && !defined(__USING_STATIC_LIBS__) -#pragma import on +#ifndef KRB5_DEPRECATED +#define KRB5_DEPRECATED 1 /* Expose deprecated things for now. */ +#endif + +#if defined(macintosh) || (defined(__MACH__) && defined(__APPLE__)) + #include <TargetConditionals.h> + #if TARGET_RT_MAC_CFM + #error "Use KfM 4.0 SDK headers for CFM compilation." + #endif + + /* This is an API divergence in 1.2.3 needed for proper functioning + on Mac OS X. This will be reconciled in 1.3 */ + #define KRB5_CCACHE_ACCESSOR_FUNCTIONS 1 + #define KRB5_KEYTAB_ACCESSOR_FUNCTIONS 1 + #ifndef KRB5_PRIVATE /* Allow e.g. build system to override */ + #define KRB5_PRIVATE 0 + #endif +#else +#if defined(_WIN32) + #ifndef KRB5_PRIVATE + #define KRB5_PRIVATE 0 + #endif + #define KRB5_CCACHE_ACCESSOR_FUNCTIONS 1 + #define KRB5_KEYTAB_ACCESSOR_FUNCTIONS 1 +#else + #ifndef KRB5_PRIVATE + #define KRB5_PRIVATE 1 + #endif + #define KRB5_CCACHE_ACCESSOR_FUNCTIONS 0 + #define KRB5_KEYTAB_ACCESSOR_FUNCTIONS 0 #endif #endif -#if defined(_MSDOS) || defined(_WIN32) || defined(macintosh) +#if defined(_MSDOS) || defined(_WIN32) #include <win-mac.h> #endif @@ -80,6 +105,10 @@ #endif /* !KRB5_CALLCONV */ #endif /* !KRB5_CONFIG__ */ +#ifndef KRB5_CALLCONV_WRONG +#define KRB5_CALLCONV_WRONG +#endif + #ifndef THREEPARAMOPEN #define THREEPARAMOPEN(x,y,z) open(x,y,z) #endif @@ -95,15 +124,34 @@ * begin "error_def.h" */ -#include <profile.h> +#if TARGET_OS_MAC + #include <Kerberos/profile.h> +#else + #include <profile.h> +#endif + #include <errno.h> /* * end "error_def.h" */ -#ifdef __cplusplus -extern "C" { +#if defined(__cplusplus) && !defined(KRB5INT_BEGIN_DECLS) +#define KRB5INT_BEGIN_DECLS extern "C" { +#define KRB5INT_END_DECLS } +#else +#define KRB5INT_BEGIN_DECLS +#define KRB5INT_END_DECLS +#endif + +KRB5INT_BEGIN_DECLS + +#if TARGET_OS_MAC + #if defined(__MWERKS__) + #pragma import on + #pragma enumsalwaysint on + #endif + #pragma options align=mac68k #endif /* @@ -498,7 +546,17 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV #define KRB5_KEYUSAGE_GSS_TOK_WRAP_INTEG 23 #define KRB5_KEYUSAGE_GSS_TOK_WRAP_PRIV 24 +KRB5_DLLIMP krb5_boolean KRB5_CALLCONV krb5_c_valid_enctype + KRB5_PROTOTYPE((krb5_const krb5_enctype ktype)); +KRB5_DLLIMP krb5_boolean KRB5_CALLCONV krb5_c_valid_cksumtype + KRB5_PROTOTYPE((krb5_const krb5_cksumtype ctype)); +KRB5_DLLIMP krb5_boolean KRB5_CALLCONV krb5_c_is_coll_proof_cksum + KRB5_PROTOTYPE((krb5_const krb5_cksumtype ctype)); +KRB5_DLLIMP krb5_boolean KRB5_CALLCONV krb5_c_is_keyed_cksum + KRB5_PROTOTYPE((krb5_const krb5_cksumtype ctype)); +#if KRB5_PRIVATE +/* use the above four instead */ KRB5_DLLIMP krb5_boolean KRB5_CALLCONV valid_enctype KRB5_PROTOTYPE((krb5_const krb5_enctype ktype)); KRB5_DLLIMP krb5_boolean KRB5_CALLCONV valid_cksumtype @@ -507,6 +565,7 @@ KRB5_DLLIMP krb5_boolean KRB5_CALLCONV is_coll_proof_cksum KRB5_PROTOTYPE((krb5_const krb5_cksumtype ctype)); KRB5_DLLIMP krb5_boolean KRB5_CALLCONV is_keyed_cksum KRB5_PROTOTYPE((krb5_const krb5_cksumtype ctype)); +#endif #ifdef KRB5_OLD_CRYPTO /* @@ -580,6 +639,7 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_verify_checksum krb5_const krb5_pointer in, krb5_const size_t in_length, krb5_const krb5_pointer seed, krb5_const size_t seed_length)); +#if KRB5_PRIVATE KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_random_confounder KRB5_PROTOTYPE((size_t, krb5_pointer)); @@ -592,6 +652,7 @@ krb5_error_code krb5_decrypt_data KRB5_PROTOTYPE((krb5_context context, krb5_keyblock *key, krb5_pointer ivec, krb5_enc_data *data, krb5_data *enc_data)); +#endif #endif /* KRB5_OLD_CRYPTO */ @@ -620,7 +681,7 @@ krb5_error_code krb5_decrypt_data /* #define KDC_OPT_RESERVED 0x00100000 */ /* #define KDC_OPT_RESERVED 0x00080000 */ /* #define KDC_OPT_RESERVED 0x00040000 */ -/* #define KDC_OPT_RESERVED 0x00020000 */ +#define KDC_OPT_REQUEST_ANONYMOUS 0x00020000 /* #define KDC_OPT_RESERVED 0x00010000 */ /* #define KDC_OPT_RESERVED 0x00008000 */ /* #define KDC_OPT_RESERVED 0x00004000 */ @@ -632,7 +693,7 @@ krb5_error_code krb5_decrypt_data /* #define KDC_OPT_RESERVED 0x00000100 */ /* #define KDC_OPT_RESERVED 0x00000080 */ /* #define KDC_OPT_RESERVED 0x00000040 */ -/* #define KDC_OPT_RESERVED 0x00000020 */ +#define KDC_OPT_DISABLE_TRANSITED_CHECK 0x00000020 #define KDC_OPT_RENEWABLE_OK 0x00000010 #define KDC_OPT_ENC_TKT_IN_SKEY 0x00000008 /* #define KDC_OPT_UNUSED 0x00000004 */ @@ -708,9 +769,9 @@ krb5_error_code krb5_decrypt_data #define TKT_FLG_INITIAL 0x00400000 #define TKT_FLG_PRE_AUTH 0x00200000 #define TKT_FLG_HW_AUTH 0x00100000 -/* #define TKT_FLG_RESERVED 0x00080000 */ -/* #define TKT_FLG_RESERVED 0x00040000 */ -/* #define TKT_FLG_RESERVED 0x00020000 */ +#define TKT_FLG_TRANSIT_POLICY_CHECKED 0x00080000 +#define TKT_FLG_OK_AS_DELEGATE 0x00040000 +#define TKT_FLG_ANONYMOUS 0x00020000 /* #define TKT_FLG_RESERVED 0x00010000 */ /* #define TKT_FLG_RESERVED 0x00008000 */ /* #define TKT_FLG_RESERVED 0x00004000 */ @@ -1022,6 +1083,7 @@ typedef struct _krb5_response { krb5_timestamp request_time; /* When we made the request */ } krb5_response; +#if KRB5_PRIVATE typedef struct _krb5_safe { krb5_magic magic; krb5_data user_data; /* user data */ @@ -1048,6 +1110,7 @@ typedef struct _krb5_priv_enc_part { krb5_address FAR *s_address; /* sender address */ krb5_address FAR *r_address; /* recipient address, optional */ } krb5_priv_enc_part; +#endif typedef struct _krb5_cred_info { krb5_magic magic; @@ -1126,6 +1189,12 @@ typedef struct krb5_replay_data { typedef krb5_pointer krb5_cc_cursor; /* cursor for sequential lookup */ +#if KRB5_CCACHE_ACCESSOR_FUNCTIONS +struct _krb5_ccache; +typedef struct _krb5_ccache FAR *krb5_ccache; +struct _krb5_cc_ops; +typedef struct _krb5_cc_ops krb5_cc_ops; +#else typedef struct _krb5_ccache { krb5_magic magic; struct _krb5_cc_ops FAR *ops; @@ -1161,6 +1230,7 @@ typedef struct _krb5_cc_ops { krb5_error_code (KRB5_CALLCONV *set_flags) KRB5_NPROTOTYPE((krb5_context, krb5_ccache, krb5_flags)); } krb5_cc_ops; +#endif /* KRB5_CCACHE_ACCESSOR_FUNCTIONS */ /* for retrieve_cred */ #define KRB5_TC_MATCH_TIMES 0x00000001 @@ -1177,6 +1247,58 @@ typedef struct _krb5_cc_ops { /* for set_flags and other functions */ #define KRB5_TC_OPENCLOSE 0x00000001 +#if KRB5_CCACHE_ACCESSOR_FUNCTIONS +KRB5_DLLIMP const char FAR * KRB5_CALLCONV +krb5_cc_get_name (krb5_context context, krb5_ccache cache); + +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV +krb5_cc_gen_new (krb5_context context, krb5_ccache FAR *cache); + +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV +krb5_cc_initialize(krb5_context context, krb5_ccache cache, + krb5_principal principal); + +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV +krb5_cc_destroy (krb5_context context, krb5_ccache cache); + +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV +krb5_cc_close (krb5_context context, krb5_ccache cache); + +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV +krb5_cc_store_cred (krb5_context context, krb5_ccache cache, + krb5_creds FAR *creds); + +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV +krb5_cc_retrieve_cred (krb5_context context, krb5_ccache cache, + krb5_flags flags, krb5_creds FAR *mcreds, + krb5_creds FAR *creds); + +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV +krb5_cc_get_principal (krb5_context context, krb5_ccache cache, + krb5_principal FAR *principal); + +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV +krb5_cc_start_seq_get (krb5_context context, krb5_ccache cache, + krb5_cc_cursor FAR *cursor); + +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV +krb5_cc_next_cred (krb5_context context, krb5_ccache cache, + krb5_cc_cursor FAR *cursor, krb5_creds FAR *creds); + +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV +krb5_cc_end_seq_get (krb5_context context, krb5_ccache cache, + krb5_cc_cursor FAR *cursor); + +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV +krb5_cc_remove_cred (krb5_context context, krb5_ccache cache, krb5_flags flags, + krb5_creds FAR *creds); + +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV +krb5_cc_set_flags (krb5_context context, krb5_ccache cache, krb5_flags flags); + +KRB5_DLLIMP const char * KRB5_CALLCONV +krb5_cc_get_type (krb5_context context, krb5_ccache cache); +#else #define krb5_cc_initialize(context, cache, principal) krb5_x ((cache)->ops->init,(context, cache, principal)) #define krb5_cc_gen_new(context, cache) krb5_x ((*cache)->ops->gen_new,(context, cache)) #define krb5_cc_destroy(context, cache) krb5_x ((cache)->ops->destroy,(context, cache)) @@ -1193,6 +1315,7 @@ typedef struct _krb5_cc_ops { #define krb5_cc_get_type(context, cache) ((cache)->ops->prefix) extern krb5_cc_ops *krb5_cc_dfl_ops; +#endif /* KRB5_CCACHE_ACCESSOR_FUNCTIONS */ /* * end "ccache.h" @@ -1202,12 +1325,18 @@ extern krb5_cc_ops *krb5_cc_dfl_ops; * begin "rcache.h" */ +#if KRB5_PRIVATE typedef struct krb5_rc_st { krb5_magic magic; struct _krb5_rc_ops FAR *ops; krb5_pointer data; } FAR *krb5_rcache; +#else +struct krb5_rc_st; +typedef struct krb5_rc_st FAR *krb5_rcache; +#endif +#if KRB5_PRIVATE typedef struct _krb5_donot_replay { krb5_magic magic; char FAR *server; /* null-terminated */ @@ -1275,6 +1404,7 @@ krb5_error_code krb5_auth_to_rep #define krb5_rc_resolve(context, id, name) krb5_x((id)->ops->resolve,(context, id, name)) extern krb5_rc_ops krb5_rc_dfl_ops; +#endif /* * end "rcache.h" @@ -1298,14 +1428,18 @@ typedef struct krb5_keytab_entry_st { krb5_keyblock key; /* the secret key */ } krb5_keytab_entry; - +#if KRB5_KEYTAB_ACCESSOR_FUNCTIONS && !KRB5_PRIVATE +/* Opaque definitions for krb5_kt_* functions */ +struct _krb5_kt; +typedef struct _krb5_kt FAR *krb5_keytab; +#else +struct _krb5_kt_ops; typedef struct _krb5_kt { krb5_magic magic; struct _krb5_kt_ops FAR *ops; krb5_pointer data; } FAR *krb5_keytab; - typedef struct _krb5_kt_ops { krb5_magic magic; char FAR *prefix; @@ -1355,7 +1489,30 @@ typedef struct _krb5_kt_ops { /* Handle for serializer */ void * serializer; } krb5_kt_ops; - +#endif /* !KRB5_KEYTAB_ACCESSOR_FUNCTIONS || KRB5_PRIVATE */ + +#if KRB5_KEYTAB_ACCESSOR_FUNCTIONS +char * KRB5_CALLCONV +krb5_kt_get_type (krb5_context, krb5_keytab keytab); +krb5_error_code KRB5_CALLCONV +krb5_kt_get_name(krb5_context context, krb5_keytab keytab, char *name, + unsigned int namelen); +krb5_error_code KRB5_CALLCONV +krb5_kt_close(krb5_context context, krb5_keytab keytab); +krb5_error_code KRB5_CALLCONV +krb5_kt_get_entry(krb5_context context, krb5_keytab keytab, + krb5_const_principal principal, krb5_kvno vno, + krb5_enctype enctype, krb5_keytab_entry *entry); +krb5_error_code KRB5_CALLCONV +krb5_kt_start_seq_get(krb5_context context, krb5_keytab keytab, + krb5_kt_cursor *cursor); +krb5_error_code KRB5_CALLCONV +krb5_kt_next_entry(krb5_context context, krb5_keytab keytab, + krb5_keytab_entry *entry, krb5_kt_cursor *cursor); +krb5_error_code KRB5_CALLCONV +krb5_kt_end_seq_get(krb5_context context, krb5_keytab keytab, + krb5_kt_cursor *cursor); +#else #define krb5_kt_get_type(context, keytab) ((keytab)->ops->prefix) #define krb5_kt_get_name(context, keytab, name, namelen) krb5_x((keytab)->ops->get_name,(context, keytab,name,namelen)) #define krb5_kt_close(context, keytab) krb5_x((keytab)->ops->close,(context, keytab)) @@ -1363,11 +1520,12 @@ typedef struct _krb5_kt_ops { #define krb5_kt_start_seq_get(context, keytab, cursor) krb5_x((keytab)->ops->start_seq_get,(context, keytab, cursor)) #define krb5_kt_next_entry(context, keytab, entry, cursor) krb5_x((keytab)->ops->get_next,(context, keytab, entry, cursor)) #define krb5_kt_end_seq_get(context, keytab, cursor) krb5_x((keytab)->ops->end_get,(context, keytab, cursor)) -/* remove and add are functions, so that they can return NOWRITE - if not a writable keytab */ - extern krb5_kt_ops krb5_kt_dfl_ops; +#endif + +/* remove and add are functions, so that they can return NOWRITE + if not a writable keytab */ /* * end "keytab.h" @@ -1384,6 +1542,7 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_init_secure_context KRB5_DLLIMP void KRB5_CALLCONV krb5_free_context KRB5_PROTOTYPE((krb5_context)); +#if KRB5_PRIVATE krb5_error_code krb5_set_default_in_tkt_ktypes KRB5_PROTOTYPE((krb5_context, krb5_const krb5_enctype *)); @@ -1394,18 +1553,29 @@ krb5_error_code krb5_get_default_in_tkt_ktypes krb5_error_code krb5_set_default_tgs_ktypes KRB5_PROTOTYPE((krb5_context, krb5_const krb5_enctype *)); -krb5_error_code krb5_get_tgs_ktypes +#endif + +krb5_error_code KRB5_CALLCONV krb5_set_default_tgs_enctypes + KRB5_PROTOTYPE((krb5_context, + krb5_const krb5_enctype *)); + +#if KRB5_PRIVATE +krb5_error_code KRB5_CALLCONV krb5_get_tgs_ktypes KRB5_PROTOTYPE((krb5_context, krb5_const_principal, krb5_enctype **)); krb5_error_code krb5_get_permitted_enctypes KRB5_PROTOTYPE((krb5_context, krb5_enctype **)); +void KRB5_CALLCONV krb5_free_ktypes + KRB5_PROTOTYPE ((krb5_context, krb5_enctype *)); krb5_boolean krb5_is_permitted_enctype KRB5_PROTOTYPE((krb5_context, krb5_enctype)); +#endif /* libkrb.spec */ +#if KRB5_PRIVATE krb5_error_code krb5_kdc_rep_decrypt_proc KRB5_PROTOTYPE((krb5_context, krb5_const krb5_keyblock *, @@ -1436,6 +1606,7 @@ krb5_error_code krb5_get_cred_from_kdc_renew krb5_creds *, krb5_creds **, krb5_creds *** )); +#endif KRB5_DLLIMP void KRB5_CALLCONV krb5_free_tgt_creds KRB5_PROTOTYPE((krb5_context, krb5_creds FAR * FAR* )); /* XXX too hard to do with const */ @@ -1461,6 +1632,7 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_get_credentials_renew krb5_ccache, krb5_creds FAR *, krb5_creds FAR * FAR *)); +#if KRB5_PRIVATE krb5_error_code krb5_get_cred_via_tkt KRB5_PROTOTYPE((krb5_context, krb5_creds *, @@ -1468,6 +1640,7 @@ krb5_error_code krb5_get_cred_via_tkt krb5_address * krb5_const *, krb5_creds *, krb5_creds **)); +#endif KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_mk_req KRB5_PROTOTYPE((krb5_context, krb5_auth_context FAR *, @@ -1530,19 +1703,19 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_unparse_name_ext KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_set_principal_realm KRB5_PROTOTYPE((krb5_context, krb5_principal, const char FAR *)); -krb5_boolean krb5_address_search +krb5_boolean KRB5_CALLCONV_WRONG krb5_address_search KRB5_PROTOTYPE((krb5_context, krb5_const krb5_address *, krb5_address * krb5_const *)); -krb5_boolean krb5_address_compare +krb5_boolean KRB5_CALLCONV krb5_address_compare KRB5_PROTOTYPE((krb5_context, krb5_const krb5_address *, krb5_const krb5_address *)); -int krb5_address_order +int KRB5_CALLCONV krb5_address_order KRB5_PROTOTYPE((krb5_context, krb5_const krb5_address *, krb5_const krb5_address *)); -krb5_boolean krb5_realm_compare +krb5_boolean KRB5_CALLCONV krb5_realm_compare KRB5_PROTOTYPE((krb5_context, krb5_const_principal, krb5_const_principal)); @@ -1550,6 +1723,15 @@ KRB5_DLLIMP krb5_boolean KRB5_CALLCONV krb5_principal_compare KRB5_PROTOTYPE((krb5_context, krb5_const_principal, krb5_const_principal)); +krb5_error_code KRB5_CALLCONV krb5_init_keyblock + (krb5_context, krb5_enctype enctype, + size_t length, krb5_keyblock **out); + /* Initialize a new keyblock and allocate storage + * for the contents of the key, which will be freed along + * with the keyblock when krb5_free_keyblock is called. + * It is legal to pass in a length of 0, in which + * case contents are left unallocated. + */ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_copy_keyblock KRB5_PROTOTYPE((krb5_context, krb5_const krb5_keyblock FAR *, @@ -1570,10 +1752,12 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_copy_principal KRB5_PROTOTYPE((krb5_context, krb5_const_principal, krb5_principal FAR *)); +#if KRB5_PRIVATE KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_copy_addr KRB5_PROTOTYPE((krb5_context, const krb5_address FAR *, krb5_address FAR * FAR *)); +#endif KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_copy_addresses KRB5_PROTOTYPE((krb5_context, krb5_address FAR * krb5_const FAR *, @@ -1594,6 +1778,7 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_copy_checksum KRB5_PROTOTYPE((krb5_context, krb5_const krb5_checksum FAR *, krb5_checksum FAR * FAR *)); +#if KRB5_PRIVATE void krb5_init_ets KRB5_PROTOTYPE((krb5_context)); void krb5_free_ets @@ -1604,6 +1789,7 @@ krb5_error_code krb5_generate_subkey krb5_error_code krb5_generate_seq_number KRB5_PROTOTYPE((krb5_context, krb5_const krb5_keyblock *, krb5_int32 *)); +#endif KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_get_server_rcache KRB5_PROTOTYPE((krb5_context, krb5_const krb5_data *, krb5_rcache *)); @@ -1613,7 +1799,7 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV_C krb5_build_principal KRB5_STDARG_P((krb5_context, krb5_principal FAR *, int, krb5_const char FAR *, ...)); #ifdef va_start /* XXX depending on varargs include file defining va_start... */ -krb5_error_code krb5_build_principal_va +krb5_error_code KRB5_CALLCONV krb5_build_principal_va KRB5_PROTOTYPE((krb5_context, krb5_principal, int, krb5_const char *, va_list)); #endif @@ -1628,6 +1814,7 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_524_conv_principal KRB5_PROTOTYPE((krb5_context context, krb5_const krb5_principal princ, char FAR *name, char FAR *inst, char FAR *realm)); +#if KRB5_PRIVATE KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_mk_chpw_req KRB5_PROTOTYPE((krb5_context context, krb5_auth_context auth_context, krb5_data *ap_req, char *passwd, krb5_data *packet)); @@ -1638,11 +1825,14 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_rd_chpw_rep KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_chpw_result_code_string KRB5_PROTOTYPE((krb5_context context, int result_code, char **result_codestr)); +#endif /* libkt.spec */ +#if KRB5_PRIVATE KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_kt_register KRB5_PROTOTYPE((krb5_context, krb5_kt_ops FAR * )); +#endif KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_kt_resolve KRB5_PROTOTYPE((krb5_context, krb5_const char FAR *, @@ -1654,9 +1844,15 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_kt_default_name KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_kt_default KRB5_PROTOTYPE((krb5_context, krb5_keytab FAR * )); +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_free_keytab_entry_contents + KRB5_PROTOTYPE((krb5_context, + krb5_keytab_entry FAR * )); +#if KRB5_PRIVATE +/* use krb5_kt_free_entry_contents instead */ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_kt_free_entry KRB5_PROTOTYPE((krb5_context, krb5_keytab_entry FAR * )); +#endif /* remove and add are functions, so that they can return NOWRITE if not a writable keytab */ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_kt_remove_entry @@ -1667,13 +1863,14 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_kt_add_entry KRB5_PROTOTYPE((krb5_context, krb5_keytab, krb5_keytab_entry FAR * )); +#if KRB5_PRIVATE krb5_error_code krb5_principal2salt KRB5_PROTOTYPE((krb5_context, krb5_const_principal, krb5_data *)); krb5_error_code krb5_principal2salt_norealm KRB5_PROTOTYPE((krb5_context, krb5_const_principal, krb5_data *)); - +#endif /* librc.spec--see rcache.h */ /* libcc.spec */ @@ -1688,8 +1885,10 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_cc_set_default_name KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_cc_default KRB5_PROTOTYPE((krb5_context, krb5_ccache FAR *)); +#if KRB5_PRIVATE KRB5_DLLIMP unsigned int KRB5_CALLCONV krb5_get_notification_message KRB5_PROTOTYPE((void)); +#endif KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_cc_copy_creds KRB5_PROTOTYPE((krb5_context context, @@ -1698,32 +1897,43 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_cc_copy_creds /* chk_trans.c */ +#if KRB5_PRIVATE krb5_error_code krb5_check_transited_list - KRB5_PROTOTYPE((krb5_context, - krb5_data *trans, krb5_data *realm1, krb5_data *realm2)); + (krb5_context, const krb5_data *trans, + const krb5_data *realm1, const krb5_data *realm2); +#endif /* free_rtree.c */ +#if KRB5_PRIVATE void krb5_free_realm_tree KRB5_PROTOTYPE((krb5_context, krb5_principal *)); +#endif /* krb5_free.c */ KRB5_DLLIMP void KRB5_CALLCONV krb5_free_principal KRB5_PROTOTYPE((krb5_context, krb5_principal )); KRB5_DLLIMP void KRB5_CALLCONV krb5_free_authenticator KRB5_PROTOTYPE((krb5_context, krb5_authenticator FAR * )); +#if KRB5_PRIVATE KRB5_DLLIMP void KRB5_CALLCONV krb5_free_authenticator_contents KRB5_PROTOTYPE((krb5_context, krb5_authenticator FAR * )); +#endif KRB5_DLLIMP void KRB5_CALLCONV krb5_free_addresses KRB5_PROTOTYPE((krb5_context, krb5_address FAR * FAR * )); +#if KRB5_PRIVATE KRB5_DLLIMP void KRB5_CALLCONV krb5_free_address KRB5_PROTOTYPE((krb5_context, krb5_address FAR * )); +#endif KRB5_DLLIMP void KRB5_CALLCONV krb5_free_authdata KRB5_PROTOTYPE((krb5_context, krb5_authdata FAR * FAR * )); +#if KRB5_PRIVATE KRB5_DLLIMP void KRB5_CALLCONV krb5_free_enc_tkt_part KRB5_PROTOTYPE((krb5_context, krb5_enc_tkt_part FAR * )); +#endif KRB5_DLLIMP void KRB5_CALLCONV krb5_free_ticket KRB5_PROTOTYPE((krb5_context, krb5_ticket FAR * )); +#if KRB5_PRIVATE KRB5_DLLIMP void KRB5_CALLCONV krb5_free_tickets KRB5_PROTOTYPE((krb5_context, krb5_ticket FAR * FAR * )); KRB5_DLLIMP void KRB5_CALLCONV krb5_free_kdc_req @@ -1734,12 +1944,18 @@ KRB5_DLLIMP void KRB5_CALLCONV krb5_free_last_req KRB5_PROTOTYPE((krb5_context, krb5_last_req_entry FAR * FAR * )); KRB5_DLLIMP void KRB5_CALLCONV krb5_free_enc_kdc_rep_part KRB5_PROTOTYPE((krb5_context, krb5_enc_kdc_rep_part FAR * )); +#endif KRB5_DLLIMP void KRB5_CALLCONV krb5_free_error KRB5_PROTOTYPE((krb5_context, krb5_error FAR * )); +#if KRB5_PRIVATE KRB5_DLLIMP void KRB5_CALLCONV krb5_free_ap_req KRB5_PROTOTYPE((krb5_context, krb5_ap_req FAR * )); KRB5_DLLIMP void KRB5_CALLCONV krb5_free_ap_rep KRB5_PROTOTYPE((krb5_context, krb5_ap_rep FAR * )); +/* + * The following 3 fns were moved to k5-int.h on trunk, so are marked + * private here. + */ KRB5_DLLIMP void KRB5_CALLCONV krb5_free_safe KRB5_PROTOTYPE((krb5_context, krb5_safe FAR * )); KRB5_DLLIMP void KRB5_CALLCONV krb5_free_priv @@ -1748,12 +1964,15 @@ KRB5_DLLIMP void KRB5_CALLCONV krb5_free_priv_enc_part KRB5_PROTOTYPE((krb5_context, krb5_priv_enc_part FAR * )); KRB5_DLLIMP void KRB5_CALLCONV krb5_free_cred KRB5_PROTOTYPE((krb5_context, krb5_cred FAR *)); +#endif KRB5_DLLIMP void KRB5_CALLCONV krb5_free_creds KRB5_PROTOTYPE((krb5_context, krb5_creds FAR *)); KRB5_DLLIMP void KRB5_CALLCONV krb5_free_cred_contents KRB5_PROTOTYPE((krb5_context, krb5_creds FAR *)); +#if KRB5_PRIVATE KRB5_DLLIMP void KRB5_CALLCONV krb5_free_cred_enc_part KRB5_PROTOTYPE((krb5_context, krb5_cred_enc_part FAR *)); +#endif KRB5_DLLIMP void KRB5_CALLCONV krb5_free_checksum KRB5_PROTOTYPE((krb5_context, krb5_checksum FAR *)); KRB5_DLLIMP void KRB5_CALLCONV krb5_free_checksum_contents @@ -1762,16 +1981,20 @@ KRB5_DLLIMP void KRB5_CALLCONV krb5_free_keyblock KRB5_PROTOTYPE((krb5_context, krb5_keyblock FAR *)); KRB5_DLLIMP void KRB5_CALLCONV krb5_free_keyblock_contents KRB5_PROTOTYPE((krb5_context, krb5_keyblock FAR *)); +#if KRB5_PRIVATE KRB5_DLLIMP void KRB5_CALLCONV krb5_free_pa_data KRB5_PROTOTYPE((krb5_context, krb5_pa_data FAR * FAR *)); +#endif KRB5_DLLIMP void KRB5_CALLCONV krb5_free_ap_rep_enc_part KRB5_PROTOTYPE((krb5_context, krb5_ap_rep_enc_part FAR *)); +#if KRB5_PRIVATE KRB5_DLLIMP void KRB5_CALLCONV krb5_free_tkt_authent KRB5_PROTOTYPE((krb5_context, krb5_tkt_authent FAR *)); KRB5_DLLIMP void KRB5_CALLCONV krb5_free_pwd_data KRB5_PROTOTYPE((krb5_context, krb5_pwd_data FAR *)); KRB5_DLLIMP void KRB5_CALLCONV krb5_free_pwd_sequences KRB5_PROTOTYPE((krb5_context, passwd_phrase_element FAR * FAR *)); +#endif KRB5_DLLIMP void KRB5_CALLCONV krb5_free_data KRB5_PROTOTYPE((krb5_context, krb5_data FAR *)); KRB5_DLLIMP void KRB5_CALLCONV krb5_free_data_contents @@ -1799,6 +2022,9 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_get_default_realm KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_set_default_realm KRB5_PROTOTYPE((krb5_context, krb5_const char FAR * )); +KRB5_DLLIMP void KRB5_CALLCONV krb5_free_default_realm + KRB5_PROTOTYPE((krb5_context, + char FAR * )); KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_sname_to_principal KRB5_PROTOTYPE((krb5_context, krb5_const char FAR *, @@ -1811,6 +2037,7 @@ krb5_change_password int *result_code, krb5_data *result_code_string, krb5_data *result_string)); +#if KRB5_PRIVATE #ifndef macintosh krb5_error_code krb5_set_config_files KRB5_PROTOTYPE ((krb5_context, krb5_const char FAR * FAR *)); @@ -1822,11 +2049,13 @@ KRB5_DLLIMP void KRB5_CALLCONV krb5_free_config_files KRB5_PROTOTYPE((char **filenames)); #endif +#endif KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_get_profile KRB5_PROTOTYPE((krb5_context, profile_t *)); +#if KRB5_PRIVATE krb5_error_code krb5_send_tgs KRB5_PROTOTYPE((krb5_context, krb5_const krb5_flags, @@ -1839,7 +2068,9 @@ krb5_error_code krb5_send_tgs krb5_const krb5_data *, krb5_creds *, krb5_response * )); +#endif +#if KRB5_DEPRECATED KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_get_in_tkt KRB5_PROTOTYPE((krb5_context, krb5_const krb5_flags, @@ -1893,13 +2124,15 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_get_in_tkt_with_keytab krb5_ccache, krb5_creds FAR *, krb5_kdc_rep FAR * FAR * )); +#endif /* KRB5_DEPRECATED */ - +#if KRB5_PRIVATE krb5_error_code krb5_decode_kdc_rep KRB5_PROTOTYPE((krb5_context, krb5_data *, krb5_const krb5_keyblock *, krb5_kdc_rep ** )); +#endif KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_rd_req KRB5_PROTOTYPE((krb5_context, @@ -1910,6 +2143,7 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_rd_req krb5_flags FAR *, krb5_ticket FAR * FAR *)); +#if KRB5_PRIVATE krb5_error_code krb5_rd_req_decoded KRB5_PROTOTYPE((krb5_context, krb5_auth_context *, @@ -1927,6 +2161,7 @@ krb5_error_code krb5_rd_req_decoded_anyflag krb5_keytab, krb5_flags *, krb5_ticket **)); +#endif KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_kt_read_service_key KRB5_PROTOTYPE((krb5_context, @@ -1947,10 +2182,12 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_mk_priv krb5_const krb5_data FAR *, krb5_data FAR *, krb5_replay_data FAR *)); +#if KRB5_PRIVATE KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_cc_register KRB5_PROTOTYPE((krb5_context, krb5_cc_ops FAR *, krb5_boolean )); +#endif KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_sendauth KRB5_PROTOTYPE((krb5_context, @@ -1976,13 +2213,24 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_recvauth krb5_int32, krb5_keytab, krb5_ticket FAR * FAR *)); +KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_recvauth_version + KRB5_PROTOTYPE((krb5_context, + krb5_auth_context FAR *, + krb5_pointer, + krb5_principal, + krb5_int32, + krb5_keytab, + krb5_ticket FAR * FAR *, + krb5_data FAR *)); +#if KRB5_PRIVATE krb5_error_code krb5_walk_realm_tree KRB5_PROTOTYPE((krb5_context, krb5_const krb5_data *, krb5_const krb5_data *, krb5_principal **, int)); +#endif KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_mk_ncred KRB5_PROTOTYPE((krb5_context, @@ -2033,19 +2281,19 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_auth_con_getflags krb5_auth_context, krb5_int32 FAR *)); -krb5_error_code krb5_auth_con_setaddrs +krb5_error_code KRB5_CALLCONV_WRONG krb5_auth_con_setaddrs KRB5_PROTOTYPE((krb5_context, krb5_auth_context, krb5_address *, krb5_address *)); -krb5_error_code krb5_auth_con_getaddrs +krb5_error_code KRB5_CALLCONV krb5_auth_con_getaddrs KRB5_PROTOTYPE((krb5_context, krb5_auth_context, krb5_address **, krb5_address **)); -krb5_error_code krb5_auth_con_setports +krb5_error_code KRB5_CALLCONV krb5_auth_con_setports KRB5_PROTOTYPE((krb5_context, krb5_auth_context, krb5_address *, @@ -2066,6 +2314,7 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_auth_con_getlocalsubkey krb5_auth_context, krb5_keyblock FAR * FAR *)); +#if KRB5_PRIVATE KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_auth_con_set_req_cksumtype KRB5_PROTOTYPE((krb5_context, krb5_auth_context, @@ -2075,11 +2324,7 @@ krb5_error_code krb5_auth_con_set_safe_cksumtype KRB5_PROTOTYPE((krb5_context, krb5_auth_context, krb5_cksumtype)); - -krb5_error_code krb5_auth_con_getcksumtype - KRB5_PROTOTYPE((krb5_context, - krb5_auth_context, - krb5_cksumtype *)); +#endif KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_auth_con_getlocalseqnumber KRB5_PROTOTYPE((krb5_context, @@ -2091,10 +2336,13 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_auth_con_getremoteseqnumber krb5_auth_context, krb5_int32 FAR *)); -krb5_error_code krb5_auth_con_initivector +#if KRB5_DEPRECATED +krb5_error_code KRB5_CALLCONV krb5_auth_con_initivector KRB5_PROTOTYPE((krb5_context, krb5_auth_context)); +#endif +#if KRB5_PRIVATE krb5_error_code krb5_auth_con_setivector KRB5_PROTOTYPE((krb5_context, krb5_auth_context, @@ -2104,13 +2352,14 @@ krb5_error_code krb5_auth_con_getivector KRB5_PROTOTYPE((krb5_context, krb5_auth_context, krb5_pointer *)); +#endif KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_auth_con_setrcache KRB5_PROTOTYPE((krb5_context, krb5_auth_context, krb5_rcache)); -krb5_error_code krb5_auth_con_getrcache +krb5_error_code KRB5_CALLCONV_WRONG krb5_auth_con_getrcache KRB5_PROTOTYPE((krb5_context, krb5_auth_context, krb5_rcache *)); @@ -2141,7 +2390,7 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_read_password const char FAR *, char FAR *, int FAR * )); -krb5_error_code krb5_aname_to_localname +krb5_error_code KRB5_CALLCONV krb5_aname_to_localname KRB5_PROTOTYPE((krb5_context, krb5_const_principal, const int, @@ -2153,10 +2402,12 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_get_host_realm KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_free_host_realm KRB5_PROTOTYPE((krb5_context, char FAR * const FAR * )); +#if KRB5_PRIVATE KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_get_realm_domain KRB5_PROTOTYPE((krb5_context, const char *, char ** )); +#endif KRB5_DLLIMP krb5_boolean KRB5_CALLCONV krb5_kuserok KRB5_PROTOTYPE((krb5_context, krb5_principal, const char *)); @@ -2164,6 +2415,7 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_auth_con_genaddrs KRB5_PROTOTYPE((krb5_context, krb5_auth_context, int, int)); +#if KRB5_PRIVATE krb5_error_code krb5_gen_portaddr KRB5_PROTOTYPE((krb5_context, const krb5_address *, @@ -2175,8 +2427,10 @@ krb5_error_code krb5_make_fulladdr krb5_address *, krb5_address *)); +#if KRB5_PRIVATE /* In k5-int.h on trunk */ krb5_error_code krb5_os_hostaddr KRB5_PROTOTYPE((krb5_context, const char *, krb5_address ***)); +#endif krb5_error_code krb5_set_real_time KRB5_PROTOTYPE((krb5_context, krb5_int32, krb5_int32)); @@ -2184,10 +2438,13 @@ krb5_error_code krb5_set_debugging_time KRB5_PROTOTYPE((krb5_context, krb5_int32, krb5_int32)); krb5_error_code krb5_use_natural_time KRB5_PROTOTYPE((krb5_context)); -krb5_error_code krb5_get_time_offsets +#endif +krb5_error_code KRB5_CALLCONV krb5_get_time_offsets KRB5_PROTOTYPE((krb5_context, krb5_int32 *, krb5_int32 *)); +#if KRB5_PRIVATE krb5_error_code krb5_set_time_offsets KRB5_PROTOTYPE((krb5_context, krb5_int32, krb5_int32)); +#endif /* str_conv.c */ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_string_to_enctype @@ -2384,6 +2641,25 @@ krb5_decode_ticket KRB5_PROTOTYPE((const krb5_data *code, krb5_ticket **rep)); +KRB5_DLLIMP void KRB5_CALLCONV +krb5_appdefault_string +KRB5_PROTOTYPE((krb5_context context, + const char *appname, + const krb5_data *realm, + const char *option, + const char *default_value, + char ** ret_value)); + +KRB5_DLLIMP void KRB5_CALLCONV +krb5_appdefault_boolean +KRB5_PROTOTYPE((krb5_context context, + const char *appname, + const krb5_data *realm, + const char *option, + int default_value, + int *ret_value)); + +#if KRB5_PRIVATE /* * The realm iterator functions */ @@ -2399,6 +2675,7 @@ KRB5_DLLIMP void KRB5_CALLCONV krb5_realm_iterator_free KRB5_DLLIMP void KRB5_CALLCONV krb5_free_realm_string KRB5_PROTOTYPE((krb5_context context, char *str)); +#endif /* * Prompter enhancements @@ -2414,14 +2691,15 @@ typedef krb5_int32 krb5_prompt_type; KRB5_DLLIMP krb5_prompt_type* KRB5_CALLCONV krb5_get_prompt_types KRB5_PROTOTYPE((krb5_context context)); -#ifdef __cplusplus -} +#if TARGET_OS_MAC + #if defined(__MWERKS__) + #pragma enumsalwaysint reset + #pragma import reset + #endif + #pragma options align=reset #endif -/* Macintoh CFM-68K magic incantation */ -#if defined(macintosh) && defined(__CFM68K__) && !defined(__USING_STATIC_LIBS__) -#pragma import reset -#endif +KRB5INT_END_DECLS #endif /* KRB5_GENERAL__ */ |