Buckets:
| /* | |
| * Copyright 2008 by the Massachusetts Institute of Technology. | |
| * All Rights Reserved. | |
| * | |
| * Export of this software from the United States of America may | |
| * require a specific license from the United States Government. | |
| * It is the responsibility of any person or organization contemplating | |
| * export to obtain such a license before exporting. | |
| * | |
| * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and | |
| * distribute this software and its documentation for any purpose and | |
| * without fee is hereby granted, provided that the above copyright | |
| * notice appear in all copies and that both that copyright notice and | |
| * this permission notice appear in supporting documentation, and that | |
| * the name of M.I.T. not be used in advertising or publicity pertaining | |
| * to distribution of the software without specific, written prior | |
| * permission. Furthermore if you modify this software you must label | |
| * your software as modified software and not distribute it in such a | |
| * fashion that it might be confused with the original M.I.T. software. | |
| * M.I.T. makes no representations about the suitability of | |
| * this software for any purpose. It is provided "as is" without express | |
| * or implied warranty. | |
| */ | |
| extern "C" { | |
| /* | |
| * Solaris extensions | |
| */ | |
| OM_uint32 KRB5_CALLCONV | |
| gss_pname_to_uid | |
| (OM_uint32 *minor, | |
| const gss_name_t name, | |
| const gss_OID mech_type, | |
| uid_t *uidOut); | |
| /** | |
| * Provides a platform-specific name for a GSSAPI name as interpreted by a | |
| * given mechanism. | |
| * | |
| * @param [out] minor Minor status code | |
| * @param [in] name The gss name resulting from accept_sec_context | |
| * @param [in] mech_type The mechanism that will be asked to map @a name to a | |
| * local name | |
| * @param [out] localname Caller-allocated buffer to be filled in with the | |
| * local name on success | |
| */ | |
| OM_uint32 KRB5_CALLCONV | |
| gss_localname | |
| (OM_uint32 *minor, | |
| const gss_name_t name, | |
| gss_const_OID mech_type, | |
| gss_buffer_t localname); | |
| /** | |
| * Determine whether a mechanism name is authorized to act as a username. | |
| * | |
| * @param [in] name Mechanism name | |
| * @param [in] username System username | |
| * | |
| * This is a simple wrapper around gss_authorize_localname(). It only supports | |
| * system usernames as local names, and cannot distinguish between lack of | |
| * authorization and other errors. | |
| * | |
| * @retval 1 @a name is authorized to act as @a username | |
| * @retval 0 @a name is not authorized or an error occurred | |
| */ | |
| int KRB5_CALLCONV | |
| gss_userok(const gss_name_t name, | |
| const char *username); | |
| /** | |
| * Determine whether a mechanism name is authorized to act as a local name. | |
| * | |
| * @param [out] minor Minor status code | |
| * @param [in] name Mechanism name | |
| * @param [in] user Local name | |
| * | |
| * @a name is a mechanism name, typically the result of a completed | |
| * gss_accept_sec_context(). @a user is an internal name representing a local | |
| * name, such as a name imported by gss_import_name() with an @a | |
| * input_name_type of @c GSS_C_NT_USER_NAME. | |
| * | |
| * @return Return GSS_S_COMPLETE if @a name is authorized to act as @a user, | |
| * GSS_S_UNAUTHORIZED if not, or an appropriate GSS error code if an error | |
| * occurred. | |
| * | |
| * @sa gss_userok | |
| */ | |
| OM_uint32 KRB5_CALLCONV | |
| gss_authorize_localname(OM_uint32 *minor, | |
| const gss_name_t name, | |
| const gss_name_t user); | |
| OM_uint32 KRB5_CALLCONV | |
| 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 */ | |
| 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_CALLCONV | |
| gss_add_cred_with_password( | |
| OM_uint32 *, /* minor_status */ | |
| const gss_cred_id_t,/* input_cred_handle */ | |
| const gss_name_t, /* desired_name */ | |
| const gss_OID, /* desired_mech */ | |
| const gss_buffer_t, /* password */ | |
| gss_cred_usage_t, /* cred_usage */ | |
| OM_uint32, /* initiator_time_req */ | |
| OM_uint32, /* acceptor_time_req */ | |
| gss_cred_id_t *, /* output_cred_handle */ | |
| gss_OID_set *, /* actual_mechs */ | |
| OM_uint32 *, /* initiator_time_rec */ | |
| OM_uint32 *); /* acceptor_time_rec */ | |
| /* | |
| * GGF extensions | |
| */ | |
| typedef struct gss_buffer_set_desc_struct { | |
| size_t count; | |
| gss_buffer_desc *elements; | |
| } gss_buffer_set_desc, *gss_buffer_set_t; | |
| OM_uint32 KRB5_CALLCONV gss_create_empty_buffer_set | |
| (OM_uint32 * /*minor_status*/, | |
| gss_buffer_set_t * /*buffer_set*/); | |
| OM_uint32 KRB5_CALLCONV gss_add_buffer_set_member | |
| (OM_uint32 * /*minor_status*/, | |
| const gss_buffer_t /*member_buffer*/, | |
| gss_buffer_set_t * /*buffer_set*/); | |
| OM_uint32 KRB5_CALLCONV gss_release_buffer_set | |
| (OM_uint32 * /*minor_status*/, | |
| gss_buffer_set_t * /*buffer_set*/); | |
| OM_uint32 KRB5_CALLCONV gss_inquire_sec_context_by_oid | |
| (OM_uint32 * /*minor_status*/, | |
| const gss_ctx_id_t /*context_handle*/, | |
| const gss_OID /*desired_object*/, | |
| gss_buffer_set_t * /*data_set*/); | |
| OM_uint32 KRB5_CALLCONV gss_inquire_cred_by_oid | |
| (OM_uint32 * /*minor_status*/, | |
| const gss_cred_id_t /*cred_handle*/, | |
| const gss_OID /*desired_object*/, | |
| gss_buffer_set_t * /*data_set*/); | |
| OM_uint32 KRB5_CALLCONV gss_set_sec_context_option | |
| (OM_uint32 * /*minor_status*/, | |
| gss_ctx_id_t * /*cred_handle*/, | |
| const gss_OID /*desired_object*/, | |
| const gss_buffer_t /*value*/); | |
| /* | |
| * Export import cred extensions from GGF, but using Heimdal's signatures | |
| */ | |
| OM_uint32 KRB5_CALLCONV gss_export_cred | |
| (OM_uint32 * /* minor_status */, | |
| gss_cred_id_t /* cred_handle */, | |
| gss_buffer_t /* token */); | |
| OM_uint32 KRB5_CALLCONV gss_import_cred | |
| (OM_uint32 * /* minor_status */, | |
| gss_buffer_t /* token */, | |
| gss_cred_id_t * /* cred_handle */); | |
| /* | |
| * Heimdal extension | |
| */ | |
| OM_uint32 KRB5_CALLCONV gss_set_cred_option | |
| (OM_uint32 * /*minor_status*/, | |
| gss_cred_id_t * /*cred*/, | |
| const gss_OID /*desired_object*/, | |
| const gss_buffer_t /*value*/); | |
| /* | |
| * Call the given method on the given mechanism | |
| */ | |
| OM_uint32 KRB5_CALLCONV gssspi_mech_invoke | |
| (OM_uint32 * /*minor_status*/, | |
| const gss_OID /*desired_mech*/, | |
| const gss_OID /*desired_object*/, | |
| gss_buffer_t /*value*/); | |
| /* | |
| * AEAD extensions | |
| */ | |
| OM_uint32 KRB5_CALLCONV gss_wrap_aead | |
| (OM_uint32 * /*minor_status*/, | |
| gss_ctx_id_t /*context_handle*/, | |
| int /*conf_req_flag*/, | |
| gss_qop_t /*qop_req*/, | |
| gss_buffer_t /*input_assoc_buffer*/, | |
| gss_buffer_t /*input_payload_buffer*/, | |
| int * /*conf_state*/, | |
| gss_buffer_t /*output_message_buffer*/); | |
| OM_uint32 KRB5_CALLCONV gss_unwrap_aead | |
| (OM_uint32 * /*minor_status*/, | |
| gss_ctx_id_t /*context_handle*/, | |
| gss_buffer_t /*input_message_buffer*/, | |
| gss_buffer_t /*input_assoc_buffer*/, | |
| gss_buffer_t /*output_payload_buffer*/, | |
| int * /*conf_state*/, | |
| gss_qop_t * /*qop_state*/); | |
| /* | |
| * SSPI extensions | |
| */ | |
| /* | |
| * Returns a buffer set with the first member containing the | |
| * session key for SSPI compatibility. The optional second | |
| * member contains an OID identifying the session key type. | |
| */ | |
| GSS_DLLIMP extern gss_OID GSS_C_INQ_SSPI_SESSION_KEY; | |
| /* | |
| * Returns a buffer set with the first member containing the ticket session key | |
| * for ODBC compatibility. The optional second member contains an OID | |
| * identifying the session key type. | |
| */ | |
| GSS_DLLIMP extern gss_OID GSS_C_INQ_ODBC_SESSION_KEY; | |
| GSS_DLLIMP extern gss_OID GSS_C_INQ_NEGOEX_KEY; | |
| GSS_DLLIMP extern gss_OID GSS_C_INQ_NEGOEX_VERIFY_KEY; | |
| OM_uint32 KRB5_CALLCONV gss_complete_auth_token | |
| (OM_uint32 *minor_status, | |
| const gss_ctx_id_t context_handle, | |
| gss_buffer_t input_message_buffer); | |
| typedef struct gss_iov_buffer_desc_struct { | |
| OM_uint32 type; | |
| gss_buffer_desc buffer; | |
| } gss_iov_buffer_desc, *gss_iov_buffer_t; | |
| /* | |
| * Sign and optionally encrypt a sequence of buffers. The buffers | |
| * shall be ordered HEADER | DATA | PADDING | TRAILER. Suitable | |
| * space for the header, padding and trailer should be provided | |
| * by calling gss_wrap_iov_length(), or the ALLOCATE flag should | |
| * be set on those buffers. | |
| * | |
| * Encryption is in-place. SIGN_ONLY buffers are untouched. Only | |
| * a single PADDING buffer should be provided. The order of the | |
| * buffers in memory does not matter. Buffers in the IOV should | |
| * be arranged in the order above, and in the case of multiple | |
| * DATA buffers the sender and receiver should agree on the | |
| * order. | |
| * | |
| * With GSS_C_DCE_STYLE it is acceptable to not provide PADDING | |
| * and TRAILER, but the caller must guarantee the plaintext data | |
| * being encrypted is correctly padded, otherwise an error will | |
| * be returned. | |
| * | |
| * While applications that have knowledge of the underlying | |
| * cryptosystem may request a specific configuration of data | |
| * buffers, the only generally supported configurations are: | |
| * | |
| * HEADER | DATA | PADDING | TRAILER | |
| * | |
| * which will emit GSS_Wrap() compatible tokens, and: | |
| * | |
| * HEADER | SIGN_ONLY | DATA | PADDING | TRAILER | |
| * | |
| * for AEAD. | |
| * | |
| * The typical (special cased) usage for DCE is as follows: | |
| * | |
| * SIGN_ONLY_1 | DATA | SIGN_ONLY_2 | HEADER | |
| */ | |
| OM_uint32 KRB5_CALLCONV gss_wrap_iov | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_ctx_id_t, /* context_handle */ | |
| int, /* conf_req_flag */ | |
| gss_qop_t, /* qop_req */ | |
| int *, /* conf_state */ | |
| gss_iov_buffer_desc *, /* iov */ | |
| int); /* iov_count */ | |
| /* | |
| * Verify and optionally decrypt a sequence of buffers. To process | |
| * a GSS-API message without separate buffer, pass STREAM | DATA. | |
| * Upon return DATA will contain the decrypted or integrity | |
| * protected message. Only a single DATA buffer may be provided | |
| * with this usage. DATA by default will point into STREAM, but if | |
| * the ALLOCATE flag is set a copy will be returned. | |
| * | |
| * Otherwise, decryption is in-place. SIGN_ONLY buffers are | |
| * untouched. | |
| */ | |
| OM_uint32 KRB5_CALLCONV gss_unwrap_iov | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_ctx_id_t, /* context_handle */ | |
| int *, /* conf_state */ | |
| gss_qop_t *, /* qop_state */ | |
| gss_iov_buffer_desc *, /* iov */ | |
| int); /* iov_count */ | |
| /* | |
| * Query HEADER, PADDING and TRAILER buffer lengths. DATA buffers | |
| * should be provided so the correct padding length can be determined. | |
| */ | |
| OM_uint32 KRB5_CALLCONV gss_wrap_iov_length | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_ctx_id_t, /* context_handle */ | |
| int, /* conf_req_flag */ | |
| gss_qop_t, /* qop_req */ | |
| int *, /* conf_state */ | |
| gss_iov_buffer_desc *, /* iov */ | |
| int); /* iov_count */ | |
| /* | |
| * Produce a GSSAPI MIC token for a sequence of buffers. All SIGN_ONLY and | |
| * DATA buffers will be signed, in the order they appear. One MIC_TOKEN buffer | |
| * must be included for the result. Suitable space should be provided for the | |
| * MIC_TOKEN buffer by calling gss_get_mic_iov_length, or the ALLOCATE flag | |
| * should be set on that buffer. If the ALLOCATE flag is used, use | |
| * gss_release_iov_buffer to free the allocated buffer within the iov list when | |
| * it is no longer needed. | |
| */ | |
| OM_uint32 KRB5_CALLCONV gss_get_mic_iov | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_ctx_id_t, /* context_handle */ | |
| gss_qop_t, /* qop_req */ | |
| gss_iov_buffer_desc *, /* iov */ | |
| int); /* iov_count */ | |
| /* | |
| * Query the MIC_TOKEN buffer length within the iov list. | |
| */ | |
| OM_uint32 KRB5_CALLCONV gss_get_mic_iov_length( | |
| OM_uint32 *, /* minor_status */ | |
| gss_ctx_id_t, /* context_handle */ | |
| gss_qop_t, /* qop_req */ | |
| gss_iov_buffer_desc *, /* iov */ | |
| int); /* iov_count */ | |
| /* | |
| * Verify the MIC_TOKEN buffer within the iov list against the SIGN_ONLY and | |
| * DATA buffers in the order they appear. Return values are the same as for | |
| * gss_verify_mic. | |
| */ | |
| OM_uint32 KRB5_CALLCONV gss_verify_mic_iov | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_ctx_id_t, /* context_handle */ | |
| gss_qop_t *, /* qop_state */ | |
| gss_iov_buffer_desc *, /* iov */ | |
| int); /* iov_count */ | |
| /* | |
| * Release buffers that have the ALLOCATED flag set. | |
| */ | |
| OM_uint32 KRB5_CALLCONV gss_release_iov_buffer | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_iov_buffer_desc *, /* iov */ | |
| int); /* iov_count */ | |
| /* | |
| * Protocol transition | |
| */ | |
| OM_uint32 KRB5_CALLCONV | |
| gss_acquire_cred_impersonate_name( | |
| OM_uint32 *, /* minor_status */ | |
| const gss_cred_id_t, /* impersonator_cred_handle */ | |
| const gss_name_t, /* desired_name */ | |
| OM_uint32, /* time_req */ | |
| const 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_CALLCONV | |
| gss_add_cred_impersonate_name( | |
| OM_uint32 *, /* minor_status */ | |
| gss_cred_id_t, /* input_cred_handle */ | |
| const gss_cred_id_t, /* impersonator_cred_handle */ | |
| const gss_name_t, /* desired_name */ | |
| const gss_OID, /* desired_mech */ | |
| gss_cred_usage_t, /* cred_usage */ | |
| OM_uint32, /* initiator_time_req */ | |
| OM_uint32, /* acceptor_time_req */ | |
| gss_cred_id_t *, /* output_cred_handle */ | |
| gss_OID_set *, /* actual_mechs */ | |
| OM_uint32 *, /* initiator_time_rec */ | |
| OM_uint32 *); /* acceptor_time_rec */ | |
| /* | |
| * Naming extensions | |
| */ | |
| GSS_DLLIMP extern gss_buffer_t GSS_C_ATTR_LOCAL_LOGIN_USER; | |
| GSS_DLLIMP extern gss_OID GSS_C_NT_COMPOSITE_EXPORT; | |
| OM_uint32 KRB5_CALLCONV gss_display_name_ext | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_name_t, /* name */ | |
| gss_OID, /* display_as_name_type */ | |
| gss_buffer_t /* display_name */ | |
| ); | |
| OM_uint32 KRB5_CALLCONV gss_inquire_name | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_name_t, /* name */ | |
| int *, /* name_is_MN */ | |
| gss_OID *, /* MN_mech */ | |
| gss_buffer_set_t * /* attrs */ | |
| ); | |
| OM_uint32 KRB5_CALLCONV gss_get_name_attribute | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_name_t, /* name */ | |
| gss_buffer_t, /* attr */ | |
| int *, /* authenticated */ | |
| int *, /* complete */ | |
| gss_buffer_t, /* value */ | |
| gss_buffer_t, /* display_value */ | |
| int * /* more */ | |
| ); | |
| OM_uint32 KRB5_CALLCONV gss_set_name_attribute | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_name_t, /* name */ | |
| int, /* complete */ | |
| gss_buffer_t, /* attr */ | |
| gss_buffer_t /* value */ | |
| ); | |
| OM_uint32 KRB5_CALLCONV gss_delete_name_attribute | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_name_t, /* name */ | |
| gss_buffer_t /* attr */ | |
| ); | |
| OM_uint32 KRB5_CALLCONV gss_export_name_composite | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_name_t, /* name */ | |
| gss_buffer_t /* exp_composite_name */ | |
| ); | |
| typedef struct gss_any *gss_any_t; | |
| OM_uint32 KRB5_CALLCONV gss_map_name_to_any | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_name_t, /* name */ | |
| int, /* authenticated */ | |
| gss_buffer_t, /* type_id */ | |
| gss_any_t * /* output */ | |
| ); | |
| OM_uint32 KRB5_CALLCONV gss_release_any_name_mapping | |
| ( | |
| OM_uint32 *, /* minor_status */ | |
| gss_name_t, /* name */ | |
| gss_buffer_t, /* type_id */ | |
| gss_any_t * /* input */ | |
| ); | |
| /* draft-josefsson-gss-capsulate */ | |
| OM_uint32 KRB5_CALLCONV gss_encapsulate_token | |
| ( | |
| gss_const_buffer_t, /* input_token */ | |
| gss_const_OID, /* token_oid */ | |
| gss_buffer_t /* output_token */ | |
| ); | |
| OM_uint32 KRB5_CALLCONV gss_decapsulate_token | |
| ( | |
| gss_const_buffer_t, /* input_token */ | |
| gss_const_OID, /* token_oid */ | |
| gss_buffer_t /* output_token */ | |
| ); | |
| int KRB5_CALLCONV gss_oid_equal | |
| ( | |
| gss_const_OID, /* first_oid */ | |
| gss_const_OID /* second_oid */ | |
| ); | |
| /* Credential store extensions */ | |
| struct gss_key_value_element_struct { | |
| const char *key; | |
| const char *value; | |
| }; | |
| typedef struct gss_key_value_element_struct gss_key_value_element_desc; | |
| struct gss_key_value_set_struct { | |
| OM_uint32 count; | |
| gss_key_value_element_desc *elements; | |
| }; | |
| typedef struct gss_key_value_set_struct gss_key_value_set_desc; | |
| typedef const gss_key_value_set_desc *gss_const_key_value_set_t; | |
| OM_uint32 KRB5_CALLCONV | |
| gss_acquire_cred_from( | |
| 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_const_key_value_set_t, /* cred_store */ | |
| gss_cred_id_t *, /* output_cred_handle */ | |
| gss_OID_set *, /* actual_mechs */ | |
| OM_uint32 *); /* time_rec */ | |
| OM_uint32 KRB5_CALLCONV | |
| gss_add_cred_from( | |
| OM_uint32 *, /* minor_status */ | |
| gss_cred_id_t, /* input_cred_handle */ | |
| gss_name_t, /* desired_name */ | |
| gss_OID, /* desired_mech */ | |
| gss_cred_usage_t, /* cred_usage */ | |
| OM_uint32, /* initiator_time_req */ | |
| OM_uint32, /* acceptor_time_req */ | |
| gss_const_key_value_set_t, /* cred_store */ | |
| gss_cred_id_t *, /* output_cred_handle */ | |
| gss_OID_set *, /* actual_mechs */ | |
| OM_uint32 *, /* initiator_time_rec */ | |
| OM_uint32 *); /* acceptor_time_rec */ | |
| OM_uint32 KRB5_CALLCONV | |
| gss_store_cred_into( | |
| OM_uint32 *, /* minor_status */ | |
| gss_cred_id_t, /* input_cred_handle */ | |
| gss_cred_usage_t, /* input_usage */ | |
| gss_OID, /* desired_mech */ | |
| OM_uint32, /* overwrite_cred */ | |
| OM_uint32, /* default_cred */ | |
| gss_const_key_value_set_t, /* cred_store */ | |
| gss_OID_set *, /* elements_stored */ | |
| gss_cred_usage_t *); /* cred_usage_stored */ | |
| /* | |
| * A mech can make itself negotiable via NegoEx (draft-zhu-negoex) by | |
| * implementing the following three SPIs, and also implementing | |
| * gss_inquire_sec_context_by_oid() and answering the GSS_C_INQ_NEGOEX_KEY and | |
| * GSS_C_INQ_NEGOEX_VERIFY_KEY OIDs. The answer must be in two buffers: the | |
| * first contains the key contents, and the second contains the key enctype as | |
| * a four-byte little-endian integer. | |
| * | |
| * By default, NegoEx mechanisms will not be directly negotiated via SPNEGO. | |
| * If direct SPNEGO negotiation is required for interoperability, implement | |
| * gss_inquire_attrs_for_mech() and assert the GSS_C_MA_NEGOEX_AND_SPNEGO | |
| * attribute (along with any applicable RFC 5587 attributes). | |
| */ | |
| OM_uint32 KRB5_CALLCONV | |
| gssspi_query_meta_data( | |
| OM_uint32 *minor_status, | |
| gss_const_OID mech_oid, | |
| gss_cred_id_t cred_handle, | |
| gss_ctx_id_t *context_handle, | |
| const gss_name_t targ_name, | |
| OM_uint32 req_flags, | |
| gss_buffer_t meta_data); | |
| OM_uint32 KRB5_CALLCONV | |
| gssspi_exchange_meta_data( | |
| OM_uint32 *minor_status, | |
| gss_const_OID mech_oid, | |
| gss_cred_id_t cred_handle, | |
| gss_ctx_id_t *context_handle, | |
| const gss_name_t targ_name, | |
| OM_uint32 req_flags, | |
| gss_const_buffer_t meta_data); | |
| OM_uint32 KRB5_CALLCONV | |
| gssspi_query_mechanism_info( | |
| OM_uint32 *minor_status, | |
| gss_const_OID mech_oid, | |
| unsigned char auth_scheme[16]); | |
| GSS_DLLIMP extern gss_const_OID GSS_C_MA_NEGOEX_AND_SPNEGO; | |
| } | |
| /* | |
| * When used with gss_inquire_sec_context_by_oid(), return a buffer set with | |
| * the first member containing an unsigned 32-bit integer in network byte | |
| * order. This is the Security Strength Factor (SSF) associated with the | |
| * secure channel established by the security context. NOTE: This value is | |
| * made available solely as an indication for use by APIs like Cyrus SASL that | |
| * classify the strength of a secure channel via this number. The strength of | |
| * a channel cannot necessarily be represented by a simple number. | |
| */ | |
| GSS_DLLIMP extern gss_OID GSS_C_SEC_CONTEXT_SASL_SSF; | |
Xet Storage Details
- Size:
- 21.2 kB
- Xet hash:
- da46a4887766da239ccd03bd44557e221a2c3483a90da2cb443823d360861903
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.