/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#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;
/* dummy name structure for internal representation. */
typedef struct {
gss_OID type;
gss_buffer_t buffer;
} dummy_name_desc, *dummy_name_t;
/* Structure for context handle */
typedef struct {
OM_uint32 last_stat;
int token_number;
int established;
} dummy_gss_ctx_id_rec, *dummy_gss_ctx_id_t;
/* Dummy oid structure */
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 /* DEBUG_ON */
#else /* _KERNEL */
#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 /* _KERNEL */
/*
* declarations of internal name mechanism functions
*/
OM_uint32 dummy_gss_acquire_cred
(
void *, /* dummy context */
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_cred_id_t *, /* output_cred_handle */
gss_OID_set *, /* actual_mechs */
OM_uint32 * /* time_rec */
/* */);
OM_uint32 dummy_gss_release_cred
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_cred_id_t * /* cred_handle */
/* */);
OM_uint32 dummy_gss_init_sec_context
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_cred_id_t, /* claimant_cred_handle */
gss_ctx_id_t *, /* context_handle */
gss_name_t, /* target_name */
gss_OID, /* mech_type */
OM_uint32, /* req_flags */
OM_uint32, /* time_req */
gss_channel_bindings_t, /* input_chan_bindings */
gss_buffer_t, /* input_token */
gss_OID *, /* actual_mech_type */
gss_buffer_t, /* output_token */
OM_uint32 *, /* ret_flags */
OM_uint32 * /* time_rec */
/* */);
OM_uint32 dummy_gss_accept_sec_context
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t *, /* context_handle */
gss_cred_id_t, /* verifier_cred_handle */
gss_buffer_t, /* input_token_buffer */
gss_channel_bindings_t, /* input_chan_bindings */
gss_name_t *, /* src_name */
gss_OID *, /* mech_type */
gss_buffer_t, /* output_token */
OM_uint32 *, /* ret_flags */
OM_uint32 *, /* time_rec */
gss_cred_id_t * /* delegated_cred_handle */
/* */);
OM_uint32 dummy_gss_process_context_token
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t, /* context_handle */
gss_buffer_t /* token_buffer */
/* */);
DUMMY_STATIC OM_uint32 dummy_gss_delete_sec_context
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t *, /* context_handle */
gss_buffer_t /* output_token */
#ifdef _KERNEL
/* */, OM_uint32
#endif
/* */);
OM_uint32 dummy_gss_context_time
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t, /* context_handle */
OM_uint32 * /* time_rec */
/* */);
DUMMY_STATIC OM_uint32 dummy_gss_sign
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t, /* context_handle */
int, /* qop_req */
gss_buffer_t, /* message_buffer */
gss_buffer_t /* message_token */
#ifdef _KERNEL
/* */, OM_uint32
#endif
/* */);
DUMMY_STATIC OM_uint32 dummy_gss_verify
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t, /* context_handle */
gss_buffer_t, /* message_buffer */
gss_buffer_t, /* token_buffer */
int * /* qop_state */
#ifdef _KERNEL
/* */, OM_uint32
#endif
/* */);
DUMMY_STATIC OM_uint32 dummy_gss_seal
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t, /* context_handle */
int, /* conf_req_flag */
int, /* qop_req */
gss_buffer_t, /* input_message_buffer */
int *, /* conf_state */
gss_buffer_t /* output_message_buffer */
#ifdef _KERNEL
/* */, OM_uint32
#endif
/* */);
DUMMY_STATIC OM_uint32 dummy_gss_unseal
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t, /* context_handle */
gss_buffer_t, /* input_message_buffer */
gss_buffer_t, /* output_message_buffer */
int *, /* conf_state */
int * /* qop_state */
#ifdef _KERNEL
/* */, OM_uint32
#endif
/* */);
OM_uint32 dummy_gss_display_status
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
OM_uint32, /* status_value */
int, /* status_type */
gss_OID, /* mech_type */
OM_uint32 *, /* message_context */
gss_buffer_t /* status_string */
/* */);
OM_uint32 dummy_gss_indicate_mechs
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_OID_set * /* mech_set */
/* */);
OM_uint32 dummy_gss_compare_name
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_name_t, /* name1 */
gss_name_t, /* name2 */
int * /* name_equal */
/* */);
OM_uint32 dummy_gss_display_name
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_name_t, /* input_name */
gss_buffer_t, /* output_name_buffer */
gss_OID * /* output_name_type */
/* */);
OM_uint32 dummy_gss_import_name
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_buffer_t, /* input_name_buffer */
gss_OID, /* input_name_type */
gss_name_t * /* output_name */
/* */);
OM_uint32 dummy_gss_release_name
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_name_t * /* input_name */
/* */);
OM_uint32 dummy_gss_inquire_cred
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_cred_id_t, /* cred_handle */
gss_name_t *, /* name */
OM_uint32 *, /* lifetime */
gss_cred_usage_t *, /* cred_usage */
gss_OID_set * /* mechanisms */
/* */);
OM_uint32 dummy_gss_inquire_context
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t, /* context_handle */
gss_name_t *, /* initiator_name */
gss_name_t *, /* acceptor_name */
OM_uint32 *, /* lifetime_rec */
gss_OID *, /* mech_type */
OM_uint32 *, /* ret_flags */
int *, /* locally_initiated */
int * /* open */
/* */);
/* New V2 entry points */
OM_uint32 dummy_gss_get_mic
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t, /* context_handle */
gss_qop_t, /* qop_req */
gss_buffer_t, /* message_buffer */
gss_buffer_t /* message_token */
/* */);
OM_uint32 dummy_gss_verify_mic
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t, /* context_handle */
gss_buffer_t, /* message_buffer */
gss_buffer_t, /* message_token */
gss_qop_t * /* qop_state */
/* */);
OM_uint32 dummy_gss_wrap
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t, /* context_handle */
int, /* conf_req_flag */
gss_qop_t, /* qop_req */
gss_buffer_t, /* input_message_buffer */
int *, /* conf_state */
gss_buffer_t /* output_message_buffer */
/* */);
OM_uint32 dummy_gss_unwrap
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t, /* context_handle */
gss_buffer_t, /* input_message_buffer */
gss_buffer_t, /* output_message_buffer */
int *, /* conf_state */
gss_qop_t * /* qop_state */
/* */);
OM_uint32 dummy_gss_wrap_size_limit
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t, /* context_handle */
int, /* conf_req_flag */
gss_qop_t, /* qop_req */
OM_uint32, /* req_output_size */
OM_uint32 * /* max_input_size */
/* */);
OM_uint32 dummy_gss_add_cred
(
void *, /* dummy context */
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_cred_id_t *, /* output_cred_handle */
gss_OID_set *, /* actual_mechs */
OM_uint32 *, /* initiator_time_rec */
OM_uint32 * /* acceptor_time_rec */
/* */);
OM_uint32 dummy_gss_inquire_cred_by_mech
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_cred_id_t, /* cred_handle */
gss_OID, /* mech_type */
gss_name_t *, /* name */
OM_uint32 *, /* initiator_lifetime */
OM_uint32 *, /* acceptor_lifetime */
gss_cred_usage_t * /* cred_usage */
/* */);
OM_uint32 dummy_gss_export_sec_context
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_ctx_id_t *, /* context_handle */
gss_buffer_t /* interprocess_token */
/* */);
OM_uint32 dummy_gss_import_sec_context
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_buffer_t, /* interprocess_token */
gss_ctx_id_t * /* context_handle */
/* */);
#if 0
OM_uint32 dummy_gss_release_oid
(
OM_uint32 *, /* minor_status */
gss_OID * /* oid */
/* */);
#endif
OM_uint32 dummy_gss_internal_release_oid
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_OID * /* oid */
/* */);
OM_uint32 dummy_gss_inquire_names_for_mech
(
void *, /* dummy context */
OM_uint32 *, /* minor_status */
gss_OID, /* mechanism */
gss_OID_set * /* name_types */
/* */);
OM_uint32 dummy_pname_to_uid
(
void *, /* dummy context */
OM_uint32 *, /* minor status */
const gss_name_t, /* pname */
uid_t * /* uidOut */
/* */);
#ifdef __cplusplus
}
#endif
#endif /* _GSSAPIP_DUMMY_H */