X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=support%2Fgssapi%2FmglueP.h;fp=support%2Fgssapi%2FmglueP.h;h=0000000000000000000000000000000000000000;hp=362b3081b11fd8cca64645ff5c2344ec67e793df;hb=1d0397894463e507e9f5d92442ac3b09e29310a3;hpb=53c5bd65c74e032947d8fb5b140024be008aaa6b diff --git a/support/gssapi/mglueP.h b/support/gssapi/mglueP.h deleted file mode 100644 index 362b308..0000000 --- a/support/gssapi/mglueP.h +++ /dev/null @@ -1,503 +0,0 @@ -/* #ident "@(#)mglueP.h 1.2 96/01/18 SMI" */ - -/* - * This header contains the private mechglue definitions. - * - * Copyright (c) 1995, by Sun Microsystems, Inc. - * All rights reserved. - */ - -#ifndef _GSS_MECHGLUEP_H -#define _GSS_MECHGLUEP_H - -#include "mechglue.h" - -/* - * Array of context IDs typed by mechanism OID - */ -typedef struct gss_union_ctx_id_t { - gss_OID mech_type; - gss_ctx_id_t internal_ctx_id; -} gss_union_ctx_id_desc, *gss_union_ctx_id_t; - -/* - * Structure for holding list of mechanism-specific name types - */ -typedef struct gss_mech_spec_name_t { - gss_OID name_type; - gss_OID mech; - struct gss_mech_spec_name_t *next, *prev; -} gss_mech_spec_name_desc, *gss_mech_spec_name; - -/* - * Credential auxiliary info, used in the credential structure - */ -typedef struct gss_union_cred_auxinfo { - gss_buffer_desc name; - gss_OID name_type; - time_t creation_time; - OM_uint32 time_rec; - int cred_usage; -} gss_union_cred_auxinfo; - -/* - * Set of Credentials typed on mechanism OID - */ -typedef struct gss_union_cred_t { - int count; - gss_OID mechs_array; - gss_cred_id_t * cred_array; - gss_union_cred_auxinfo auxinfo; -} gss_union_cred_desc, *gss_union_cred_t; - -/********************************************************/ -/* The Mechanism Dispatch Table -- a mechanism needs to */ -/* define one of these and provide a function to return */ -/* it to initialize the GSSAPI library */ - -/* - * This is the definition of the mechs_array struct, which is used to - * define the mechs array table. This table is used to indirectly - * access mechanism specific versions of the gssapi routines through - * the routines in the glue module (gssd_mech_glue.c) - * - * This contants all of the functions defined in gssapi.h except for - * gss_release_buffer() and gss_release_oid_set(), which I am - * assuming, for now, to be equal across mechanisms. - */ - -typedef struct gss_config { - gss_OID_desc mech_type; - void * context; - OM_uint32 (*gss_acquire_cred) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32*, /* minor_status */ - gss_name_t, /* desired_name */ - OM_uint32, /* time_req */ - gss_OID_set, /* desired_mechs */ - int, /* cred_usage */ - gss_cred_id_t*, /* output_cred_handle */ - gss_OID_set*, /* actual_mechs */ - OM_uint32* /* time_rec */ - ); - OM_uint32 (*gss_release_cred) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32*, /* minor_status */ - gss_cred_id_t* /* cred_handle */ - ); - OM_uint32 (*gss_init_sec_context) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - 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 (*gss_accept_sec_context) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - 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 (*gss_process_context_token) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32*, /* minor_status */ - gss_ctx_id_t, /* context_handle */ - gss_buffer_t /* token_buffer */ - ); - OM_uint32 (*gss_delete_sec_context) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32*, /* minor_status */ - gss_ctx_id_t*, /* context_handle */ - gss_buffer_t /* output_token */ - ); - OM_uint32 (*gss_context_time) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32*, /* minor_status */ - gss_ctx_id_t, /* context_handle */ - OM_uint32* /* time_rec */ - ); - OM_uint32 (*gss_sign) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32*, /* minor_status */ - gss_ctx_id_t, /* context_handle */ - int, /* qop_req */ - gss_buffer_t, /* message_buffer */ - gss_buffer_t /* message_token */ - ); - OM_uint32 (*gss_verify) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32*, /* minor_status */ - gss_ctx_id_t, /* context_handle */ - gss_buffer_t, /* message_buffer */ - gss_buffer_t, /* token_buffer */ - int* /* qop_state */ - ); - OM_uint32 (*gss_seal) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - 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 */ - ); - OM_uint32 (*gss_unseal) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - 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 */ - ); - OM_uint32 (*gss_display_status) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - 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 (*gss_indicate_mechs) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32*, /* minor_status */ - gss_OID_set* /* mech_set */ - ); - OM_uint32 (*gss_compare_name) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32*, /* minor_status */ - gss_name_t, /* name1 */ - gss_name_t, /* name2 */ - int* /* name_equal */ - ); - OM_uint32 (*gss_display_name) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32*, /* minor_status */ - gss_name_t, /* input_name */ - gss_buffer_t, /* output_name_buffer */ - gss_OID* /* output_name_type */ - ); - OM_uint32 (*gss_import_name) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32*, /* minor_status */ - gss_buffer_t, /* input_name_buffer */ - gss_OID, /* input_name_type */ - gss_name_t* /* output_name */ - ); - OM_uint32 (*gss_release_name) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32*, /* minor_status */ - gss_name_t* /* input_name */ - ); - OM_uint32 (*gss_inquire_cred) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32 *, /* minor_status */ - gss_cred_id_t, /* cred_handle */ - gss_name_t *, /* name */ - OM_uint32 *, /* lifetime */ - int *, /* cred_usage */ - gss_OID_set * /* mechanisms */ - ); - OM_uint32 (*gss_add_cred) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - 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 (*gss_export_sec_context) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32 *, /* minor_status */ - gss_ctx_id_t *, /* context_handle */ - gss_buffer_t /* interprocess_token */ - ); - OM_uint32 (*gss_import_sec_context) - ( -#ifdef USE_MECH_CONTEXT - void *, /* context */ -#endif - OM_uint32 *, /* minor_status */ - gss_buffer_t, /* interprocess_token */ - gss_ctx_id_t * /* context_handle */ - ); - OM_uint32 (*gss_inquire_cred_by_mech) - ( -#ifdef USE_MECH_CONTEXT - void *, /* context */ -#endif - 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 (*gss_inquire_names_for_mech) - ( -#ifdef USE_MECH_CONTEXT - void *, /* context */ -#endif - OM_uint32 *, /* minor_status */ - gss_OID, /* mechanism */ - gss_OID_set * /* name_types */ - ); - OM_uint32 (*gss_inquire_context) - ( -#ifdef USE_MECH_CONTEXT - void *, /* context */ -#endif - OM_uint32 *, /* minor_status */ - gss_ctx_id_t, /* context_handle */ - gss_name_t *, /* src_name */ - gss_name_t *, /* targ_name */ - OM_uint32 *, /* lifetime_rec */ - gss_OID *, /* mech_type */ - OM_uint32 *, /* ctx_flags */ - int *, /* locally_initiated */ - int * /* open */ - ); - OM_uint32 (*gss_internal_release_oid) - ( -#ifdef USE_MECH_CONTEXT - void *, /* context */ -#endif - OM_uint32 *, /* minor_status */ - gss_OID * /* OID */ - ); - OM_uint32 (*gss_wrap_size_limit) - ( -#ifdef USE_MECH_CONTEXT - void *, /* context */ -#endif - 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 (*pname_to_uid) - ( -#ifdef USE_MECH_CONTEXT - void *, /* context */ -#endif - char *, /* pname */ - gss_OID, /* name type */ - gss_OID, /* mech type */ - uid_t * /* uid */ - ); - OM_uint32 (*gss_duplicate_name) - ( -#ifdef USE_MECH_CONTEXT - void *, /* context */ -#endif - OM_uint32 *, /* minor_status */ - const gss_name_t, /* input_name */ - gss_name_t * /* dest_name */ - ); - OM_uint32 (*gss_set_allowable_enctypes) - ( -#ifdef USE_MECH_CONTEXT - void *, /* context */ -#endif - OM_uint32 *, /* minor_status */ - gss_cred_id_t, /* cred_handle */ - OM_uint32, /* num_ktypes */ - void * /* ktypes */ - ); - OM_uint32 (*gss_verify_mic) - ( -#ifdef USE_MECH_CONTEXT - void*, /* context */ -#endif - OM_uint32*, /* minor_status */ - gss_ctx_id_t, /* context_handle */ - gss_buffer_t, /* message_buffer */ - gss_buffer_t, /* token_buffer */ - int* /* qop_state */ - ); - -} *gss_mechanism; - -/* - * Generic GSSAPI names. A name can either be a generic name, or a - * mechanism specific name.... - */ -typedef struct gss_union_name_t { - gss_mechanism gss_mech; - gss_OID name_type; - gss_buffer_t external_name; - /* - * These last two fields are only filled in for mechanism - * names. - */ - gss_OID mech_type; - gss_name_t mech_name; -} gss_union_name_desc, *gss_union_name_t; - -/********************************************************/ -/* Internal mechglue routines */ - -gss_mechanism __gss_get_mechanism (gss_OID); -OM_uint32 __gss_get_mech_type (gss_OID, gss_buffer_t); -OM_uint32 __gss_import_internal_name (OM_uint32 *, gss_OID, gss_union_name_t, - gss_name_t *); -OM_uint32 __gss_display_internal_name (OM_uint32 *, gss_OID, gss_name_t, - gss_buffer_t, gss_OID *); -OM_uint32 __gss_release_internal_name (OM_uint32 *, gss_OID, gss_name_t *); - -OM_uint32 __gss_convert_name_to_union_name - (OM_uint32 *, /* minor_status */ - gss_mechanism, /* mech */ - gss_name_t, /* internal_name */ - gss_name_t * /* external_name */ - ); -gss_cred_id_t __gss_get_mechanism_cred - (gss_union_cred_t, /* union_cred */ - gss_OID /* mech_type */ - ); - -OM_uint32 generic_gss_release_oid - (OM_uint32 *, /* minor_status */ - gss_OID * /* oid */ - ); - -OM_uint32 mech_gss_release_oid - (OM_uint32 *, /* minor_status */ - gss_OID *, /* oid */ - gss_mechanism /* gss_mech */ - ); - -OM_uint32 generic_gss_copy_oid - (OM_uint32 *, /* minor_status */ - gss_OID, /* oid */ - gss_OID * /* new_oid */ - ); - -OM_uint32 generic_gss_create_empty_oid_set - (OM_uint32 *, /* minor_status */ - gss_OID_set * /* oid_set */ - ); - -OM_uint32 generic_gss_add_oid_set_member - (OM_uint32 *, /* minor_status */ - gss_OID, /* member_oid */ - gss_OID_set * /* oid_set */ - ); - -OM_uint32 generic_gss_test_oid_set_member - (OM_uint32 *, /* minor_status */ - gss_OID, /* member */ - gss_OID_set, /* set */ - int * /* present */ - ); - -OM_uint32 generic_gss_oid_to_str - (OM_uint32 *, /* minor_status */ - gss_OID, /* oid */ - gss_buffer_t /* oid_str */ - ); - -OM_uint32 generic_gss_str_to_oid - (OM_uint32 *, /* minor_status */ - gss_buffer_t, /* oid_str */ - gss_OID * /* oid */ - ); - - -gss_OID gss_find_mechanism_from_name_type (gss_OID); /* name_type */ - -OM_uint32 gss_add_mech_name_type - (OM_uint32 *, /* minor_status */ - gss_OID, /* name_type */ - gss_OID /* mech */ - ); - -#endif /* _GSS_MECHGLUEP_H */