#ifndef _GSSAPIP_DUMMY_H
#define _GSSAPIP_DUMMY_H
#ifdef __cplusplus
extern "C" {
#endif
#include <gssapi/gssapi.h>
#define SEC_CONTEXT_TOKEN 1
#define DUMMY_SIZE_OF_INT 4
typedef void * dummy_token_t;
typedef struct {
gss_OID type;
gss_buffer_t buffer;
} dummy_name_desc, *dummy_name_t;
typedef struct {
OM_uint32 last_stat;
int token_number;
int established;
} dummy_gss_ctx_id_rec, *dummy_gss_ctx_id_t;
static const gss_OID_desc dummy_oids[] = {
{10, "\053\006\001\004\001\052\002\032\001\002"},
};
const gss_OID_desc * const gss_mech_dummy = dummy_oids+0;
static const gss_OID_set_desc dummy_oidsets[] = {
{1, (gss_OID) dummy_oids+0},
};
const gss_OID_set_desc * const gss_mech_set_dummy = dummy_oidsets+0;
#define TWRITE_STR(ptr, str, len) \
(void) memcpy((ptr), (char *) (str), (len)); \
(ptr) += (len);
#ifndef _KERNEL
#ifdef DEBUG_ON
#define dprintf(a) printf(a)
#define dprintf1(a, b) printf(a, b)
#else
#define dprintf(a)
#define dprintf1(a, b)
#define DUMMY_STATIC
#endif
#else
#if defined(DEBUG) && !defined(DUMMY_MECH_DEBUG)
#define DUMMY_MECH_DEBUG
#endif
#ifdef DUMMY_MECH_DEBUG
#define DUMMY_MECH_LOG(A, B, C) \
((void)((dummy_mech_log & (A)) && (printf((B), (C)), TRUE)))
#define DUMMY_MECH_LOG0(A, B) \
((void)((dummy_mech_log & (A)) && (printf(B), TRUE)))
#else
#define DUMMY_MECH_LOG(A, B, C)
#define DUMMY_MECH_LOG0(A, B)
#endif
#define dprintf(a) DUMMY_MECH_LOG0(8, a)
#define dprintf1(a, b) DUMMY_MECH_LOG(8, a, b)
#define DUMMY_STATIC static
#endif
OM_uint32 dummy_gss_acquire_cred
(
void *,
OM_uint32 *,
gss_name_t,
OM_uint32,
gss_OID_set,
gss_cred_usage_t,
gss_cred_id_t *,
gss_OID_set *,
OM_uint32 *
);
OM_uint32 dummy_gss_release_cred
(
void *,
OM_uint32 *,
gss_cred_id_t *
);
OM_uint32 dummy_gss_init_sec_context
(
void *,
OM_uint32 *,
gss_cred_id_t,
gss_ctx_id_t *,
gss_name_t,
gss_OID,
OM_uint32,
OM_uint32,
gss_channel_bindings_t,
gss_buffer_t,
gss_OID *,
gss_buffer_t,
OM_uint32 *,
OM_uint32 *
);
OM_uint32 dummy_gss_accept_sec_context
(
void *,
OM_uint32 *,
gss_ctx_id_t *,
gss_cred_id_t,
gss_buffer_t,
gss_channel_bindings_t,
gss_name_t *,
gss_OID *,
gss_buffer_t,
OM_uint32 *,
OM_uint32 *,
gss_cred_id_t *
);
OM_uint32 dummy_gss_process_context_token
(
void *,
OM_uint32 *,
gss_ctx_id_t,
gss_buffer_t
);
DUMMY_STATIC OM_uint32 dummy_gss_delete_sec_context
(
void *,
OM_uint32 *,
gss_ctx_id_t *,
gss_buffer_t
#ifdef _KERNEL
, OM_uint32
#endif
);
OM_uint32 dummy_gss_context_time
(
void *,
OM_uint32 *,
gss_ctx_id_t,
OM_uint32 *
);
DUMMY_STATIC OM_uint32 dummy_gss_sign
(
void *,
OM_uint32 *,
gss_ctx_id_t,
int,
gss_buffer_t,
gss_buffer_t
#ifdef _KERNEL
, OM_uint32
#endif
);
DUMMY_STATIC OM_uint32 dummy_gss_verify
(
void *,
OM_uint32 *,
gss_ctx_id_t,
gss_buffer_t,
gss_buffer_t,
int *
#ifdef _KERNEL
, OM_uint32
#endif
);
DUMMY_STATIC OM_uint32 dummy_gss_seal
(
void *,
OM_uint32 *,
gss_ctx_id_t,
int,
int,
gss_buffer_t,
int *,
gss_buffer_t
#ifdef _KERNEL
, OM_uint32
#endif
);
DUMMY_STATIC OM_uint32 dummy_gss_unseal
(
void *,
OM_uint32 *,
gss_ctx_id_t,
gss_buffer_t,
gss_buffer_t,
int *,
int *
#ifdef _KERNEL
, OM_uint32
#endif
);
OM_uint32 dummy_gss_display_status
(
void *,
OM_uint32 *,
OM_uint32,
int,
gss_OID,
OM_uint32 *,
gss_buffer_t
);
OM_uint32 dummy_gss_indicate_mechs
(
void *,
OM_uint32 *,
gss_OID_set *
);
OM_uint32 dummy_gss_compare_name
(
void *,
OM_uint32 *,
gss_name_t,
gss_name_t,
int *
);
OM_uint32 dummy_gss_display_name
(
void *,
OM_uint32 *,
gss_name_t,
gss_buffer_t,
gss_OID *
);
OM_uint32 dummy_gss_import_name
(
void *,
OM_uint32 *,
gss_buffer_t,
gss_OID,
gss_name_t *
);
OM_uint32 dummy_gss_release_name
(
void *,
OM_uint32 *,
gss_name_t *
);
OM_uint32 dummy_gss_inquire_cred
(
void *,
OM_uint32 *,
gss_cred_id_t,
gss_name_t *,
OM_uint32 *,
gss_cred_usage_t *,
gss_OID_set *
);
OM_uint32 dummy_gss_inquire_context
(
void *,
OM_uint32 *,
gss_ctx_id_t,
gss_name_t *,
gss_name_t *,
OM_uint32 *,
gss_OID *,
OM_uint32 *,
int *,
int *
);
OM_uint32 dummy_gss_get_mic
(
void *,
OM_uint32 *,
gss_ctx_id_t,
gss_qop_t,
gss_buffer_t,
gss_buffer_t
);
OM_uint32 dummy_gss_verify_mic
(
void *,
OM_uint32 *,
gss_ctx_id_t,
gss_buffer_t,
gss_buffer_t,
gss_qop_t *
);
OM_uint32 dummy_gss_wrap
(
void *,
OM_uint32 *,
gss_ctx_id_t,
int,
gss_qop_t,
gss_buffer_t,
int *,
gss_buffer_t
);
OM_uint32 dummy_gss_unwrap
(
void *,
OM_uint32 *,
gss_ctx_id_t,
gss_buffer_t,
gss_buffer_t,
int *,
gss_qop_t *
);
OM_uint32 dummy_gss_wrap_size_limit
(
void *,
OM_uint32 *,
gss_ctx_id_t,
int,
gss_qop_t,
OM_uint32,
OM_uint32 *
);
OM_uint32 dummy_gss_add_cred
(
void *,
OM_uint32 *,
gss_cred_id_t,
gss_name_t,
gss_OID,
gss_cred_usage_t,
OM_uint32,
OM_uint32,
gss_cred_id_t *,
gss_OID_set *,
OM_uint32 *,
OM_uint32 *
);
OM_uint32 dummy_gss_inquire_cred_by_mech
(
void *,
OM_uint32 *,
gss_cred_id_t,
gss_OID,
gss_name_t *,
OM_uint32 *,
OM_uint32 *,
gss_cred_usage_t *
);
OM_uint32 dummy_gss_export_sec_context
(
void *,
OM_uint32 *,
gss_ctx_id_t *,
gss_buffer_t
);
OM_uint32 dummy_gss_import_sec_context
(
void *,
OM_uint32 *,
gss_buffer_t,
gss_ctx_id_t *
);
#if 0
OM_uint32 dummy_gss_release_oid
(
OM_uint32 *,
gss_OID *
);
#endif
OM_uint32 dummy_gss_internal_release_oid
(
void *,
OM_uint32 *,
gss_OID *
);
OM_uint32 dummy_gss_inquire_names_for_mech
(
void *,
OM_uint32 *,
gss_OID,
gss_OID_set *
);
OM_uint32 dummy_pname_to_uid
(
void *,
OM_uint32 *,
const gss_name_t,
uid_t *
);
#ifdef __cplusplus
}
#endif
#endif