FreeRDP
sspi_gss.c File Reference
#include <winpr/crt.h>
#include <winpr/library.h>
#include "sspi_gss.h"
#include "../log.h"

Macros

#define TAG   WINPR_TAG("sspi.gss")
 

Functions

GSSAPI_FUNCTION_TABLE *SEC_ENTRY gssApi_InitSecurityInterface (void)
 
static BOOL CALLBACK sspi_GssApiInit (PINIT_ONCE once, PVOID param, PVOID *context)
 
UINT32 SSPI_GSSAPI sspi_gss_acquire_cred (UINT32 *minor_status, sspi_gss_name_t desired_name, UINT32 time_req, sspi_gss_OID_set desired_mechs, sspi_gss_cred_usage_t cred_usage, sspi_gss_cred_id_t *output_cred_handle, sspi_gss_OID_set *actual_mechs, UINT32 *time_rec)
 
UINT32 SSPI_GSSAPI sspi_gss_release_cred (UINT32 *minor_status, sspi_gss_cred_id_t *cred_handle)
 
UINT32 SSPI_GSSAPI sspi_gss_init_sec_context (UINT32 *minor_status, sspi_gss_cred_id_t claimant_cred_handle, sspi_gss_ctx_id_t *context_handle, sspi_gss_name_t target_name, sspi_gss_OID mech_type, UINT32 req_flags, UINT32 time_req, sspi_gss_channel_bindings_t input_chan_bindings, sspi_gss_buffer_t input_token, sspi_gss_OID *actual_mech_type, sspi_gss_buffer_t output_token, UINT32 *ret_flags, UINT32 *time_rec)
 
UINT32 SSPI_GSSAPI sspi_gss_accept_sec_context (UINT32 *minor_status, sspi_gss_ctx_id_t *context_handle, sspi_gss_cred_id_t acceptor_cred_handle, sspi_gss_buffer_t input_token_buffer, sspi_gss_channel_bindings_t input_chan_bindings, sspi_gss_name_t *src_name, sspi_gss_OID *mech_type, sspi_gss_buffer_t output_token, UINT32 *ret_flags, UINT32 *time_rec, sspi_gss_cred_id_t *delegated_cred_handle)
 
UINT32 SSPI_GSSAPI sspi_gss_process_context_token (UINT32 *minor_status, sspi_gss_ctx_id_t context_handle, sspi_gss_buffer_t token_buffer)
 
UINT32 SSPI_GSSAPI sspi_gss_delete_sec_context (UINT32 *minor_status, sspi_gss_ctx_id_t *context_handle, sspi_gss_buffer_t output_token)
 
UINT32 SSPI_GSSAPI sspi_gss_context_time (UINT32 *minor_status, sspi_gss_ctx_id_t context_handle, UINT32 *time_rec)
 
UINT32 SSPI_GSSAPI sspi_gss_get_mic (UINT32 *minor_status, sspi_gss_ctx_id_t context_handle, sspi_gss_qop_t qop_req, sspi_gss_buffer_t message_buffer, sspi_gss_buffer_t message_token)
 
UINT32 SSPI_GSSAPI sspi_gss_verify_mic (UINT32 *minor_status, sspi_gss_ctx_id_t context_handle, sspi_gss_buffer_t message_buffer, sspi_gss_buffer_t message_token, sspi_gss_qop_t *qop_state)
 
UINT32 SSPI_GSSAPI sspi_gss_wrap (UINT32 *minor_status, sspi_gss_ctx_id_t context_handle, int conf_req_flag, sspi_gss_qop_t qop_req, sspi_gss_buffer_t input_message_buffer, int *conf_state, sspi_gss_buffer_t output_message_buffer)
 
UINT32 SSPI_GSSAPI sspi_gss_unwrap (UINT32 *minor_status, const sspi_gss_ctx_id_t context_handle, const sspi_gss_buffer_t input_message_buffer, sspi_gss_buffer_t output_message_buffer, int *conf_state, sspi_gss_qop_t *qop_state)
 
UINT32 SSPI_GSSAPI sspi_gss_display_status (UINT32 *minor_status, UINT32 status_value, int status_type, sspi_gss_OID mech_type, UINT32 *message_context, sspi_gss_buffer_t status_string)
 
UINT32 SSPI_GSSAPI sspi_gss_indicate_mechs (UINT32 *minor_status, sspi_gss_OID_set *mech_set)
 
UINT32 SSPI_GSSAPI sspi_gss_compare_name (UINT32 *minor_status, sspi_gss_name_t name1, sspi_gss_name_t name2, int *name_equal)
 
UINT32 SSPI_GSSAPI sspi_gss_display_name (UINT32 *minor_status, sspi_gss_name_t input_name, sspi_gss_buffer_t output_name_buffer, sspi_gss_OID *output_name_type)
 
UINT32 SSPI_GSSAPI sspi_gss_import_name (UINT32 *minor_status, sspi_gss_buffer_t input_name_buffer, sspi_gss_OID input_name_type, sspi_gss_name_t *output_name)
 
UINT32 SSPI_GSSAPI sspi_gss_release_name (UINT32 *minor_status, sspi_gss_name_t *input_name)
 
UINT32 SSPI_GSSAPI sspi_gss_release_buffer (UINT32 *minor_status, sspi_gss_buffer_t buffer)
 
UINT32 SSPI_GSSAPI sspi_gss_release_oid_set (UINT32 *minor_status, sspi_gss_OID_set *set)
 
UINT32 SSPI_GSSAPI sspi_gss_inquire_cred (UINT32 *minor_status, sspi_gss_cred_id_t cred_handle, sspi_gss_name_t *name, UINT32 *lifetime, sspi_gss_cred_usage_t *cred_usage, sspi_gss_OID_set *mechanisms)
 
UINT32 SSPI_GSSAPI sspi_gss_inquire_context (UINT32 *minor_status, sspi_gss_ctx_id_t context_handle, sspi_gss_name_t *src_name, sspi_gss_name_t *targ_name, UINT32 *lifetime_rec, sspi_gss_OID *mech_type, UINT32 *ctx_flags, int *locally_initiated, int *open)
 
UINT32 SSPI_GSSAPI sspi_gss_wrap_size_limit (UINT32 *minor_status, sspi_gss_ctx_id_t context_handle, int conf_req_flag, sspi_gss_qop_t qop_req, UINT32 req_output_size, UINT32 *max_input_size)
 
UINT32 SSPI_GSSAPI sspi_gss_import_name_object (UINT32 *minor_status, void *input_name, sspi_gss_OID input_name_type, sspi_gss_name_t *output_name)
 
UINT32 SSPI_GSSAPI sspi_gss_export_name_object (UINT32 *minor_status, sspi_gss_name_t input_name, sspi_gss_OID desired_name_type, void **output_name)
 
UINT32 SSPI_GSSAPI sspi_gss_add_cred (UINT32 *minor_status, sspi_gss_cred_id_t input_cred_handle, sspi_gss_name_t desired_name, sspi_gss_OID desired_mech, sspi_gss_cred_usage_t cred_usage, UINT32 initiator_time_req, UINT32 acceptor_time_req, sspi_gss_cred_id_t *output_cred_handle, sspi_gss_OID_set *actual_mechs, UINT32 *initiator_time_rec, UINT32 *acceptor_time_rec)
 
UINT32 SSPI_GSSAPI sspi_gss_inquire_cred_by_mech (UINT32 *minor_status, sspi_gss_cred_id_t cred_handle, sspi_gss_OID mech_type, sspi_gss_name_t *name, UINT32 *initiator_lifetime, UINT32 *acceptor_lifetime, sspi_gss_cred_usage_t *cred_usage)
 
UINT32 SSPI_GSSAPI sspi_gss_export_sec_context (UINT32 *minor_status, sspi_gss_ctx_id_t *context_handle, sspi_gss_buffer_t interprocess_token)
 
UINT32 SSPI_GSSAPI sspi_gss_import_sec_context (UINT32 *minor_status, sspi_gss_buffer_t interprocess_token, sspi_gss_ctx_id_t *context_handle)
 
UINT32 SSPI_GSSAPI sspi_gss_release_oid (UINT32 *minor_status, sspi_gss_OID *oid)
 
UINT32 SSPI_GSSAPI sspi_gss_create_empty_oid_set (UINT32 *minor_status, sspi_gss_OID_set *oid_set)
 
UINT32 SSPI_GSSAPI sspi_gss_add_oid_set_member (UINT32 *minor_status, sspi_gss_OID member_oid, sspi_gss_OID_set *oid_set)
 
UINT32 SSPI_GSSAPI sspi_gss_test_oid_set_member (UINT32 *minor_status, sspi_gss_OID member, sspi_gss_OID_set set, int *present)
 
UINT32 SSPI_GSSAPI sspi_gss_str_to_oid (UINT32 *minor_status, sspi_gss_buffer_t oid_str, sspi_gss_OID *oid)
 
UINT32 SSPI_GSSAPI sspi_gss_oid_to_str (UINT32 *minor_status, sspi_gss_OID oid, sspi_gss_buffer_t oid_str)
 
UINT32 SSPI_GSSAPI sspi_gss_inquire_names_for_mech (UINT32 *minor_status, sspi_gss_OID mechanism, sspi_gss_OID_set *name_types)
 
UINT32 SSPI_GSSAPI sspi_gss_inquire_mechs_for_name (UINT32 *minor_status, const sspi_gss_name_t input_name, sspi_gss_OID_set *mech_types)
 
UINT32 SSPI_GSSAPI sspi_gss_sign (UINT32 *minor_status, sspi_gss_ctx_id_t context_handle, int qop_req, sspi_gss_buffer_t message_buffer, sspi_gss_buffer_t message_token)
 
UINT32 SSPI_GSSAPI sspi_gss_verify (UINT32 *minor_status, sspi_gss_ctx_id_t context_handle, sspi_gss_buffer_t message_buffer, sspi_gss_buffer_t token_buffer, int *qop_state)
 
UINT32 SSPI_GSSAPI sspi_gss_seal (UINT32 *minor_status, sspi_gss_ctx_id_t context_handle, int conf_req_flag, int qop_req, sspi_gss_buffer_t input_message_buffer, int *conf_state, sspi_gss_buffer_t output_message_buffer)
 
UINT32 SSPI_GSSAPI sspi_gss_unseal (UINT32 *minor_status, sspi_gss_ctx_id_t context_handle, sspi_gss_buffer_t input_message_buffer, sspi_gss_buffer_t output_message_buffer, int *conf_state, int *qop_state)
 
UINT32 SSPI_GSSAPI sspi_gss_export_name (UINT32 *minor_status, const sspi_gss_name_t input_name, sspi_gss_buffer_t exported_name)
 
UINT32 SSPI_GSSAPI sspi_gss_duplicate_name (UINT32 *minor_status, const sspi_gss_name_t input_name, sspi_gss_name_t *dest_name)
 
UINT32 SSPI_GSSAPI sspi_gss_canonicalize_name (UINT32 *minor_status, const sspi_gss_name_t input_name, const sspi_gss_OID mech_type, sspi_gss_name_t *output_name)
 
UINT32 SSPI_GSSAPI sspi_gss_pseudo_random (UINT32 *minor_status, sspi_gss_ctx_id_t context, int prf_key, const sspi_gss_buffer_t prf_in, SSIZE_T desired_output_len, sspi_gss_buffer_t prf_out)
 
UINT32 SSPI_GSSAPI sspi_gss_store_cred (UINT32 *minor_status, const sspi_gss_cred_id_t input_cred_handle, sspi_gss_cred_usage_t input_usage, const sspi_gss_OID desired_mech, UINT32 overwrite_cred, UINT32 default_cred, sspi_gss_OID_set *elements_stored, sspi_gss_cred_usage_t *cred_usage_stored)
 
UINT32 SSPI_GSSAPI sspi_gss_set_neg_mechs (UINT32 *minor_status, sspi_gss_cred_id_t cred_handle, const sspi_gss_OID_set mech_set)
 

Variables

static GSSAPI_FUNCTION_TABLE * g_GssApi = NULL
 
static INIT_ONCE g_Initialized = INIT_ONCE_STATIC_INIT
 
static sspi_gss_OID_desc g_SSPI_GSS_C_NT_USER_NAME = { 10, (void*) "\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x01" }
 
static sspi_gss_OID_desc g_SSPI_GSS_C_NT_MACHINE_UID_NAME = { 10, (void*) "\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x02" }
 
static sspi_gss_OID_desc g_SSPI_GSS_C_NT_STRING_UID_NAME = { 10, (void*) "\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x03" }
 
static sspi_gss_OID_desc g_SSPI_GSS_C_NT_HOSTBASED_SERVICE_X = { 6, (void*) "\x2b\x06\x01\x05\x06\x02" }
 
static sspi_gss_OID_desc g_SSPI_GSS_C_NT_HOSTBASED_SERVICE = { 10, (void*) "\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x04" }
 
static sspi_gss_OID_desc g_SSPI_GSS_C_NT_ANONYMOUS = { 6, (void*) "\x2b\x06\01\x05\x06\x03" }
 
static sspi_gss_OID_desc g_SSPI_GSS_C_NT_EXPORT_NAME = { 6, (void*) "\x2b\x06\x01\x05\x06\x04" }
 
sspi_gss_OID SSPI_GSS_C_NT_USER_NAME = &g_SSPI_GSS_C_NT_USER_NAME
 
sspi_gss_OID SSPI_GSS_C_NT_MACHINE_UID_NAME = &g_SSPI_GSS_C_NT_MACHINE_UID_NAME
 
sspi_gss_OID SSPI_GSS_C_NT_STRING_UID_NAME = &g_SSPI_GSS_C_NT_STRING_UID_NAME
 
sspi_gss_OID SSPI_GSS_C_NT_HOSTBASED_SERVICE_X = &g_SSPI_GSS_C_NT_HOSTBASED_SERVICE_X
 
sspi_gss_OID SSPI_GSS_C_NT_HOSTBASED_SERVICE = &g_SSPI_GSS_C_NT_HOSTBASED_SERVICE
 
sspi_gss_OID SSPI_GSS_C_NT_ANONYMOUS = &g_SSPI_GSS_C_NT_ANONYMOUS
 
sspi_gss_OID SSPI_GSS_C_NT_EXPORT_NAME = &g_SSPI_GSS_C_NT_EXPORT_NAME
 

Macro Definition Documentation

#define TAG   WINPR_TAG("sspi.gss")

FreeRDP: A Remote Desktop Protocol Implementation Generic Security Service Application Program Interface (GSSAPI)

Copyright 2015 ANSSI, Author Thomas Calderon Copyright 2015 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2017 Dorian Ducournau doria.nosp@m.n.du.nosp@m.courn.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function Documentation

GSSAPI_FUNCTION_TABLE* SEC_ENTRY gssApi_InitSecurityInterface ( void  )

Here is the caller graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_accept_sec_context ( UINT32 minor_status,
sspi_gss_ctx_id_t context_handle,
sspi_gss_cred_id_t  acceptor_cred_handle,
sspi_gss_buffer_t  input_token_buffer,
sspi_gss_channel_bindings_t  input_chan_bindings,
sspi_gss_name_t src_name,
sspi_gss_OID *  mech_type,
sspi_gss_buffer_t  output_token,
UINT32 ret_flags,
UINT32 time_rec,
sspi_gss_cred_id_t delegated_cred_handle 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_acquire_cred ( UINT32 minor_status,
sspi_gss_name_t  desired_name,
UINT32  time_req,
sspi_gss_OID_set  desired_mechs,
sspi_gss_cred_usage_t  cred_usage,
sspi_gss_cred_id_t output_cred_handle,
sspi_gss_OID_set *  actual_mechs,
UINT32 time_rec 
)

SSPI GSSAPI

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_add_cred ( UINT32 minor_status,
sspi_gss_cred_id_t  input_cred_handle,
sspi_gss_name_t  desired_name,
sspi_gss_OID  desired_mech,
sspi_gss_cred_usage_t  cred_usage,
UINT32  initiator_time_req,
UINT32  acceptor_time_req,
sspi_gss_cred_id_t output_cred_handle,
sspi_gss_OID_set *  actual_mechs,
UINT32 initiator_time_rec,
UINT32 acceptor_time_rec 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_add_oid_set_member ( UINT32 minor_status,
sspi_gss_OID  member_oid,
sspi_gss_OID_set *  oid_set 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_canonicalize_name ( UINT32 minor_status,
const sspi_gss_name_t  input_name,
const sspi_gss_OID  mech_type,
sspi_gss_name_t output_name 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_compare_name ( UINT32 minor_status,
sspi_gss_name_t  name1,
sspi_gss_name_t  name2,
int *  name_equal 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_context_time ( UINT32 minor_status,
sspi_gss_ctx_id_t  context_handle,
UINT32 time_rec 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_create_empty_oid_set ( UINT32 minor_status,
sspi_gss_OID_set *  oid_set 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_delete_sec_context ( UINT32 minor_status,
sspi_gss_ctx_id_t context_handle,
sspi_gss_buffer_t  output_token 
)

Here is the call graph for this function:

Here is the caller graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_display_name ( UINT32 minor_status,
sspi_gss_name_t  input_name,
sspi_gss_buffer_t  output_name_buffer,
sspi_gss_OID *  output_name_type 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_display_status ( UINT32 minor_status,
UINT32  status_value,
int  status_type,
sspi_gss_OID  mech_type,
UINT32 message_context,
sspi_gss_buffer_t  status_string 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_duplicate_name ( UINT32 minor_status,
const sspi_gss_name_t  input_name,
sspi_gss_name_t dest_name 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_export_name ( UINT32 minor_status,
const sspi_gss_name_t  input_name,
sspi_gss_buffer_t  exported_name 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_export_name_object ( UINT32 minor_status,
sspi_gss_name_t  input_name,
sspi_gss_OID  desired_name_type,
void **  output_name 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_export_sec_context ( UINT32 minor_status,
sspi_gss_ctx_id_t context_handle,
sspi_gss_buffer_t  interprocess_token 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_get_mic ( UINT32 minor_status,
sspi_gss_ctx_id_t  context_handle,
sspi_gss_qop_t  qop_req,
sspi_gss_buffer_t  message_buffer,
sspi_gss_buffer_t  message_token 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_import_name ( UINT32 minor_status,
sspi_gss_buffer_t  input_name_buffer,
sspi_gss_OID  input_name_type,
sspi_gss_name_t output_name 
)

Here is the call graph for this function:

Here is the caller graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_import_name_object ( UINT32 minor_status,
void input_name,
sspi_gss_OID  input_name_type,
sspi_gss_name_t output_name 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_import_sec_context ( UINT32 minor_status,
sspi_gss_buffer_t  interprocess_token,
sspi_gss_ctx_id_t context_handle 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_indicate_mechs ( UINT32 minor_status,
sspi_gss_OID_set *  mech_set 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_init_sec_context ( UINT32 minor_status,
sspi_gss_cred_id_t  claimant_cred_handle,
sspi_gss_ctx_id_t context_handle,
sspi_gss_name_t  target_name,
sspi_gss_OID  mech_type,
UINT32  req_flags,
UINT32  time_req,
sspi_gss_channel_bindings_t  input_chan_bindings,
sspi_gss_buffer_t  input_token,
sspi_gss_OID *  actual_mech_type,
sspi_gss_buffer_t  output_token,
UINT32 ret_flags,
UINT32 time_rec 
)

Here is the call graph for this function:

Here is the caller graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_inquire_context ( UINT32 minor_status,
sspi_gss_ctx_id_t  context_handle,
sspi_gss_name_t src_name,
sspi_gss_name_t targ_name,
UINT32 lifetime_rec,
sspi_gss_OID *  mech_type,
UINT32 ctx_flags,
int *  locally_initiated,
int *  open 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_inquire_cred ( UINT32 minor_status,
sspi_gss_cred_id_t  cred_handle,
sspi_gss_name_t name,
UINT32 lifetime,
sspi_gss_cred_usage_t cred_usage,
sspi_gss_OID_set *  mechanisms 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_inquire_cred_by_mech ( UINT32 minor_status,
sspi_gss_cred_id_t  cred_handle,
sspi_gss_OID  mech_type,
sspi_gss_name_t name,
UINT32 initiator_lifetime,
UINT32 acceptor_lifetime,
sspi_gss_cred_usage_t cred_usage 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_inquire_mechs_for_name ( UINT32 minor_status,
const sspi_gss_name_t  input_name,
sspi_gss_OID_set *  mech_types 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_inquire_names_for_mech ( UINT32 minor_status,
sspi_gss_OID  mechanism,
sspi_gss_OID_set *  name_types 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_oid_to_str ( UINT32 minor_status,
sspi_gss_OID  oid,
sspi_gss_buffer_t  oid_str 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_process_context_token ( UINT32 minor_status,
sspi_gss_ctx_id_t  context_handle,
sspi_gss_buffer_t  token_buffer 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_pseudo_random ( UINT32 minor_status,
sspi_gss_ctx_id_t  context,
int  prf_key,
const sspi_gss_buffer_t  prf_in,
SSIZE_T  desired_output_len,
sspi_gss_buffer_t  prf_out 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_release_buffer ( UINT32 minor_status,
sspi_gss_buffer_t  buffer 
)

Here is the call graph for this function:

Here is the caller graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_release_cred ( UINT32 minor_status,
sspi_gss_cred_id_t cred_handle 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_release_name ( UINT32 minor_status,
sspi_gss_name_t input_name 
)

Here is the call graph for this function:

Here is the caller graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_release_oid ( UINT32 minor_status,
sspi_gss_OID *  oid 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_release_oid_set ( UINT32 minor_status,
sspi_gss_OID_set *  set 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_seal ( UINT32 minor_status,
sspi_gss_ctx_id_t  context_handle,
int  conf_req_flag,
int  qop_req,
sspi_gss_buffer_t  input_message_buffer,
int *  conf_state,
sspi_gss_buffer_t  output_message_buffer 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_set_neg_mechs ( UINT32 minor_status,
sspi_gss_cred_id_t  cred_handle,
const sspi_gss_OID_set  mech_set 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_sign ( UINT32 minor_status,
sspi_gss_ctx_id_t  context_handle,
int  qop_req,
sspi_gss_buffer_t  message_buffer,
sspi_gss_buffer_t  message_token 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_store_cred ( UINT32 minor_status,
const sspi_gss_cred_id_t  input_cred_handle,
sspi_gss_cred_usage_t  input_usage,
const sspi_gss_OID  desired_mech,
UINT32  overwrite_cred,
UINT32  default_cred,
sspi_gss_OID_set *  elements_stored,
sspi_gss_cred_usage_t cred_usage_stored 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_str_to_oid ( UINT32 minor_status,
sspi_gss_buffer_t  oid_str,
sspi_gss_OID *  oid 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_test_oid_set_member ( UINT32 minor_status,
sspi_gss_OID  member,
sspi_gss_OID_set  set,
int *  present 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_unseal ( UINT32 minor_status,
sspi_gss_ctx_id_t  context_handle,
sspi_gss_buffer_t  input_message_buffer,
sspi_gss_buffer_t  output_message_buffer,
int *  conf_state,
int *  qop_state 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_unwrap ( UINT32 minor_status,
const sspi_gss_ctx_id_t  context_handle,
const sspi_gss_buffer_t  input_message_buffer,
sspi_gss_buffer_t  output_message_buffer,
int *  conf_state,
sspi_gss_qop_t qop_state 
)

Here is the call graph for this function:

Here is the caller graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_verify ( UINT32 minor_status,
sspi_gss_ctx_id_t  context_handle,
sspi_gss_buffer_t  message_buffer,
sspi_gss_buffer_t  token_buffer,
int *  qop_state 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_verify_mic ( UINT32 minor_status,
sspi_gss_ctx_id_t  context_handle,
sspi_gss_buffer_t  message_buffer,
sspi_gss_buffer_t  message_token,
sspi_gss_qop_t qop_state 
)

Here is the call graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_wrap ( UINT32 minor_status,
sspi_gss_ctx_id_t  context_handle,
int  conf_req_flag,
sspi_gss_qop_t  qop_req,
sspi_gss_buffer_t  input_message_buffer,
int *  conf_state,
sspi_gss_buffer_t  output_message_buffer 
)

Here is the call graph for this function:

Here is the caller graph for this function:

UINT32 SSPI_GSSAPI sspi_gss_wrap_size_limit ( UINT32 minor_status,
sspi_gss_ctx_id_t  context_handle,
int  conf_req_flag,
sspi_gss_qop_t  qop_req,
UINT32  req_output_size,
UINT32 max_input_size 
)

Here is the call graph for this function:

static BOOL CALLBACK sspi_GssApiInit ( PINIT_ONCE  once,
PVOID  param,
PVOID *  context 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

GSSAPI_FUNCTION_TABLE* g_GssApi = NULL
static
INIT_ONCE g_Initialized = INIT_ONCE_STATIC_INIT
static
sspi_gss_OID_desc g_SSPI_GSS_C_NT_ANONYMOUS = { 6, (void*) "\x2b\x06\01\x05\x06\x03" }
static
sspi_gss_OID_desc g_SSPI_GSS_C_NT_EXPORT_NAME = { 6, (void*) "\x2b\x06\x01\x05\x06\x04" }
static
sspi_gss_OID_desc g_SSPI_GSS_C_NT_HOSTBASED_SERVICE = { 10, (void*) "\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x04" }
static
sspi_gss_OID_desc g_SSPI_GSS_C_NT_HOSTBASED_SERVICE_X = { 6, (void*) "\x2b\x06\x01\x05\x06\x02" }
static
sspi_gss_OID_desc g_SSPI_GSS_C_NT_MACHINE_UID_NAME = { 10, (void*) "\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x02" }
static
sspi_gss_OID_desc g_SSPI_GSS_C_NT_STRING_UID_NAME = { 10, (void*) "\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x03" }
static
sspi_gss_OID_desc g_SSPI_GSS_C_NT_USER_NAME = { 10, (void*) "\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x01" }
static

SSPI GSSAPI OIDs

sspi_gss_OID SSPI_GSS_C_NT_ANONYMOUS = &g_SSPI_GSS_C_NT_ANONYMOUS
sspi_gss_OID SSPI_GSS_C_NT_EXPORT_NAME = &g_SSPI_GSS_C_NT_EXPORT_NAME
sspi_gss_OID SSPI_GSS_C_NT_HOSTBASED_SERVICE = &g_SSPI_GSS_C_NT_HOSTBASED_SERVICE
sspi_gss_OID SSPI_GSS_C_NT_HOSTBASED_SERVICE_X = &g_SSPI_GSS_C_NT_HOSTBASED_SERVICE_X
sspi_gss_OID SSPI_GSS_C_NT_MACHINE_UID_NAME = &g_SSPI_GSS_C_NT_MACHINE_UID_NAME
sspi_gss_OID SSPI_GSS_C_NT_STRING_UID_NAME = &g_SSPI_GSS_C_NT_STRING_UID_NAME
sspi_gss_OID SSPI_GSS_C_NT_USER_NAME = &g_SSPI_GSS_C_NT_USER_NAME