sym_gss.c
1 struct krb5_dh_moduli; 2 struct _krb5_krb_auth_data; 3 struct AlgorithmIdentifier; 4 struct _krb5_key_data; 5 struct _krb5_checksum_type; 6 struct _krb5_key_type; 7 struct _krb5_encryption_type; 8 struct _krb5_srv_query_ctx; 9 struct krb5_fast_state; 10 struct _krb5_srp_group; 11 struct _krb5_srp; 12 13 #define KRB5_DEPRECATED 14 #define KRB5_DEPRECATED_FUNCTION(x) 15 #define GSSAPI_DEPRECATED 16 #define HC_DEPRECATED 17 #define HC_DEPRECATED_CRYPTO 18 #define GSSAPI_DEPRECATED_FUNCTION(x) 19 20 #include <config.h> 21 #include <krb5.h> 22 #include <krb5cf-protos.h> 23 #include <krb5_asn1.h> 24 #include "crypto-headers.h" 25 #include <gssapi_rewrite.h> 26 #include <GSS.h> 27 #include <GSSPrivate.h> 28 #include <gssapi.h> 29 #include <gssapi_krb5.h> 30 #include <gssapi_scram.h> 31 #include <gssapi_spnego.h> 32 #include <gssapi_ntlm.h> 33 #include <gssapi_netlogon.h> 34 #include <gssapi_apple.h> 35 #include <gssapi_spi.h> 36 #include <GSSItem.h> 37 #include <heimbase.h> 38 #include <heimbasepriv.h> 39 #include <hx509.h> 40 #include <krb5-private.h> 41 #include <roken.h> 42 #include <rtbl.h> 43 #include <parse_bytes.h> 44 #include <krb5_err.h> 45 #include <heim_err.h> 46 #include <krb_err.h> 47 #include <hdb_err.h> 48 #include <hx509_err.h> 49 #include <heim-ipc.h> 50 #include <wind.h> 51 #include <parse_units.h> 52 #include <parse_time.h> 53 #include <base64.h> 54 #include <hex.h> 55 #include <com_err.h> 56 #include <der.h> 57 #include <rfc2459_asn1.h> 58 #include <cms_asn1.h> 59 #include <spnego_asn1.h> 60 #include <gkrb5_err.h> 61 #include <heimcred.h> 62 63 krb5_error_code _gsskrb5_init (krb5_context *); 64 65 extern int _krb5_AES_string_to_default_iterator; 66 67 struct hx509_collector; 68 struct hx_expr; 69 struct hx509_generate_private_context; 70 struct hx509_keyset_ops; 71 typedef struct hx509_path hx509_path; 72 typedef void (*_hx509_cert_release_func)(struct hx509_cert_data *, void *); 73 74 #include <hx509-private.h> 75 76 extern const void *gss_sym_export[]; 77 78 #pragma clang diagnostic push 79 #pragma clang diagnostic ignored "-Wdeprecated-declarations" 80 const void *gss_sym_export[] = { 81 (const void *)&__gss_c_nt_uuid_desc, 82 (const void *)&__gss_appl_lkdc_supported_desc, 83 (const void *)&__gss_c_attr_local_login_user, 84 #ifdef ENABLE_NTLM 85 (const void *)&__gss_c_ntlm_v1, 86 (const void *)&__gss_c_ntlm_force_v1, 87 (const void *)&__gss_c_ntlm_v2, 88 (const void *)&__gss_c_ntlm_session_key, 89 (const void *)&__gss_c_ntlm_support_channelbindings, 90 (const void *)&__gss_c_ntlm_support_lm2, 91 (const void *)&__gss_ntlm_is_digest_service, 92 #endif 93 (const void *)gss_accept_sec_context, 94 (const void *)gss_acquire_cred, 95 (const void *)gss_acquire_cred_ex, 96 (const void *)gss_acquire_cred_ex_f, 97 (const void *)gss_acquire_cred_ext, 98 (const void *)gss_aapl_initial_cred, 99 (const void *)gss_aapl_change_password, 100 (const void *)gss_add_buffer_set_member, 101 (const void *)gss_add_cred, 102 (const void *)gss_add_oid_set_member, 103 (const void *)gss_canonicalize_name, 104 (const void *)gss_compare_name, 105 (const void *)gss_context_query_attributes, 106 (const void *)gss_context_time, 107 (const void *)gss_create_empty_buffer_set, 108 (const void *)gss_create_empty_oid_set, 109 (const void *)gss_decapsulate_token, 110 (const void *)gss_delete_sec_context, 111 (const void *)gss_destroy_cred, 112 (const void *)gss_display_name, 113 (const void *)gss_display_status, 114 (const void *)gss_duplicate_name, 115 (const void *)gss_duplicate_oid, 116 (const void *)gss_encapsulate_token, 117 (const void *)gss_export_cred, 118 (const void *)gss_export_name, 119 (const void *)gss_export_sec_context, 120 (const void *)gss_get_mic, 121 (const void *)gss_import_cred, 122 (const void *)gss_import_name, 123 (const void *)gss_import_sec_context, 124 (const void *)gss_indicate_mechs, 125 (const void *)gss_init_sec_context, 126 (const void *)gss_inquire_context, 127 (const void *)gss_inquire_cred, 128 (const void *)gss_inquire_cred_by_mech, 129 (const void *)gss_inquire_cred_by_oid, 130 (const void *)gss_inquire_mechs_for_name, 131 (const void *)gss_inquire_name, 132 (const void *)gss_inquire_names_for_mech, 133 (const void *)gss_inquire_sec_context_by_oid, 134 (const void *)gss_inquire_sec_context_by_oid, 135 (const void *)gss_iter_creds, 136 (const void *)gss_iter_creds_f, 137 (const void *)gss_krb5_ccache_name, 138 (const void *)gss_krb5_copy_ccache, 139 (const void *)gss_krb5_export_lucid_sec_context, 140 (const void *)gss_krb5_free_lucid_sec_context, 141 (const void *)gss_krb5_get_tkt_flags, 142 (const void *)gss_krb5_import_cred, 143 (const void *)gss_krb5_set_allowable_enctypes, 144 (const void *)gss_cred_hold, 145 (const void *)gss_cred_unhold, 146 (const void *)gss_oid_equal, 147 (const void *)gss_oid_to_str, 148 (const void *)gss_process_context_token, 149 (const void *)gss_pseudo_random, 150 (const void *)gss_release_buffer, 151 (const void *)gss_release_buffer_set, 152 (const void *)gss_release_cred, 153 (const void *)gss_release_iov_buffer, 154 (const void *)gss_release_name, 155 (const void *)gss_release_oid, 156 (const void *)gss_release_oid_set, 157 (const void *)gss_seal, 158 (const void *)gss_set_cred_option, 159 (const void *)gss_set_sec_context_option, 160 (const void *)gss_sign, 161 (const void *)gss_test_oid_set_member, 162 (const void *)gss_mo_set, 163 (const void *)gss_mo_get, 164 (const void *)gss_mo_name, 165 (const void *)gss_mo_list, 166 (const void *)gss_userok, 167 (const void *)gss_unseal, 168 (const void *)gss_unwrap, 169 (const void *)gss_unwrap_iov, 170 (const void *)gss_verify, 171 (const void *)gss_verify_mic, 172 (const void *)gss_wrap, 173 (const void *)gss_wrap_iov, 174 (const void *)gss_wrap_iov_length, 175 (const void *)gss_wrap_size_limit, 176 (const void *)gsskrb5_extract_authtime_from_sec_context, 177 (const void *)gsskrb5_extract_authz_data_from_sec_context, 178 (const void *)gsskrb5_extract_service_keyblock, 179 (const void *)gsskrb5_get_initiator_subkey, 180 (const void *)gsskrb5_get_subkey, 181 (const void *)gsskrb5_get_time_offset, 182 (const void *)gsskrb5_register_acceptor_identity, 183 (const void *)gsskrb5_set_default_realm, 184 (const void *)gsskrb5_set_dns_canonicalize, 185 (const void *)gsskrb5_set_time_offset, 186 (const void *)krb5_gss_register_acceptor_identity, 187 (const void *)_gsskrb5_init, 188 (const void *)gss_oid_to_name, 189 (const void *)gss_name_to_oid, 190 (const void *)gss_cred_label_get, 191 (const void *)gss_cred_label_set, 192 (const void *)gss_inquire_attrs_for_mech, 193 (const void *)gss_display_mech_attr, 194 (const void *)gss_acquire_cred_with_password, 195 (const void *)&kGSSAttrClass, 196 (const void *)&kGSSAttrClassKerberos, 197 (const void *)&kGSSAttrClassNTLM, 198 (const void *)&kGSSAttrClassIAKerb, 199 (const void *)&kGSSAttrSupportGSSCredential, 200 (const void *)&kGSSAttrNameType, 201 (const void *)&kGSSAttrNameTypeGSSExportedName, 202 (const void *)&kGSSAttrNameTypeGSSUsername, 203 (const void *)&kGSSAttrNameTypeGSSHostBasedService, 204 (const void *)&kGSSAttrName, 205 (const void *)&kGSSAttrNameDisplay, 206 (const void *)&kGSSAttrUUID, 207 (const void *)&kGSSAttrTransientExpire, 208 (const void *)&kGSSAttrCredentialPassword, 209 (const void *)&kGSSAttrCredentialStore, 210 (const void *)&kGSSAttrCredentialSecIdentity, 211 (const void *)&kGSSAttrCredentialExists, 212 (const void *)&kGSSAttrStatusPersistant, 213 (const void *)&kGSSAttrStatusAutoAcquire, 214 (const void *)&kGSSAttrStatusTransient, 215 (const void *)&kGSSAttrStatusAutoAcquireStatus, 216 (const void *)&kGSSAttrTransientDefaultInClass, 217 (const void *)&__kGSSOperationAcquire, 218 (const void *)&__kGSSOperationGetGSSCredential, 219 (const void *)&__kGSSOperationCredentialDiagnostics, 220 (const void *)&__kGSSOperationDestoryTransient, 221 (const void *)&__kGSSOperationDestroyTransient, 222 (const void *)&__kGSSOperationChangePassword, 223 (const void *)&__kGSSOperationSetDefault, 224 (const void *)&__kGSSOperationRenewCredential, 225 (const void *)&__kGSSOperationRemoveBackingCredential, 226 (const void *)&kGSSOperationChangePasswordOldPassword, 227 (const void *)&kGSSOperationChangePasswordNewPassword, 228 (const void *)GSSItemAdd, 229 (const void *)GSSItemCopyMatching, 230 (const void *)GSSItemDelete, 231 (const void *)GSSItemDeleteItem, 232 (const void *)GSSItemUpdate, 233 (const void *)GSSItemOperation, 234 (const void *)GSSItemGetValue, 235 (const void *)GSSItemGetTypeID, 236 (const void *)GSSCredentialCopyUUID, 237 (const void *)GSSCreateCredentialFromUUID, 238 (const void *)GSSRuleAddMatch, 239 (const void *)GSSRuleGetMatch, 240 (const void *)GSSCreateName, 241 (const void *)GSSNameCreateDisplayString, 242 (const void *)GSSCredentialCopyName, 243 (const void *)GSSCredentialGetLifetime, 244 (const void *)GSSCredCopyName, 245 (const void *)GSSCredGetLifetime, 246 (const void *)GSSCreateError, 247 (const void *)gss_set_log_function, 248 (const void *)gss_inquire_saslname_for_mech, 249 (const void *)gss_inquire_mech_for_saslname, 250 (const void *)gss_indicate_mechs_by_attrs, 251 (const void *)GSSCheckNTLMReflection, 252 NULL 253 }; 254 255 #pragma clang diagnostic pop 256