Blame src/client/gssapi_gpm.h

Packit Service 9f2c4a
/* Copyright (C) 2011 the GSS-PROXY contributors, see COPYING for license */
Packit Service 9f2c4a
Packit Service 9f2c4a
#ifndef _GSSAPI_GPM_H_
Packit Service 9f2c4a
#define _GSSAPI_GPM_H_
Packit Service 9f2c4a
Packit Service 9f2c4a
#include "config.h"
Packit Service 9f2c4a
#include <stdint.h>
Packit Service 9f2c4a
#include <stdbool.h>
Packit Service 9f2c4a
#include <errno.h>
Packit Service 9f2c4a
#include <string.h>
Packit Service 9f2c4a
#include <gssapi/gssapi.h>
Packit Service 9f2c4a
#include <gssapi/gssapi_ext.h>
Packit Service 9f2c4a
#include "rpcgen/gp_rpc.h"
Packit Service 9f2c4a
#include "rpcgen/gss_proxy.h"
Packit Service 9f2c4a
#include "src/gp_common.h"
Packit Service 9f2c4a
#include "src/gp_conv.h"
Packit Service 9f2c4a
Packit Service 9f2c4a
int gpm_make_call(int proc, union gp_rpc_arg *arg, union gp_rpc_res *res);
Packit Service 9f2c4a
void gpm_free_xdrs(int proc, union gp_rpc_arg *arg, union gp_rpc_res *res);
Packit Service 9f2c4a
Packit Service 9f2c4a
OM_uint32 gpm_release_name(OM_uint32 *minor_status,
Packit Service 9f2c4a
                           gssx_name **input_name);
Packit Service 9f2c4a
OM_uint32 gpm_release_buffer(OM_uint32 *minor_status,
Packit Service 9f2c4a
                             gss_buffer_t buffer);
Packit Service 9f2c4a
Packit Service 9f2c4a
void gpm_save_status(gssx_status *status);
Packit Service 9f2c4a
void gpm_save_internal_status(uint32_t err, char *err_str);
Packit Service 9f2c4a
Packit Service 9f2c4a
OM_uint32 gpm_display_status(OM_uint32 *minor_status,
Packit Service 9f2c4a
                             OM_uint32 status_value,
Packit Service 9f2c4a
                             int status_type,
Packit Service 9f2c4a
                             const gss_OID mech_type,
Packit Service 9f2c4a
                             OM_uint32 *message_context,
Packit Service 9f2c4a
                             gss_buffer_t status_string);
Packit Service 9f2c4a
Packit Service 9f2c4a
OM_uint32 gpm_accept_sec_context(OM_uint32 *minor_status,
Packit Service 9f2c4a
                                 gssx_ctx **context_handle,
Packit Service 9f2c4a
                                 gssx_cred *acceptor_cred_handle,
Packit Service 9f2c4a
                                 gss_buffer_t input_token_buffer,
Packit Service 9f2c4a
                                 gss_channel_bindings_t input_chan_bindings,
Packit Service 9f2c4a
                                 gssx_name **src_name,
Packit Service 9f2c4a
                                 gss_OID *mech_type,
Packit Service 9f2c4a
                                 gss_buffer_t output_token,
Packit Service 9f2c4a
                                 OM_uint32 *ret_flags,
Packit Service 9f2c4a
                                 OM_uint32 *time_rec,
Packit Service 9f2c4a
                                 gssx_cred **delegated_cred_handle);
Packit Service 9f2c4a
Packit Service 9f2c4a
OM_uint32 gpm_release_cred(OM_uint32 *minor_status,
Packit Service 9f2c4a
                           gssx_cred **cred_handle);
Packit Service 9f2c4a
Packit Service 9f2c4a
OM_uint32 gpm_delete_sec_context(OM_uint32 *minor_status,
Packit Service 9f2c4a
                                 gssx_ctx **context_handle,
Packit Service 9f2c4a
                                 gss_buffer_t output_token);
Packit Service 9f2c4a
Packit Service 9f2c4a
OM_uint32 gpm_acquire_cred(OM_uint32 *minor_status,
Packit Service 9f2c4a
                           gssx_cred *imp_cred_handle,
Packit Service 9f2c4a
                           gssx_name *desired_name,
Packit Service 9f2c4a
                           OM_uint32 time_req,
Packit Service 9f2c4a
                           const gss_OID_set desired_mechs,
Packit Service 9f2c4a
                           gss_cred_usage_t cred_usage,
Packit Service 9f2c4a
                           bool impersonate,
Packit Service 9f2c4a
                           gssx_cred **output_cred_handle,
Packit Service 9f2c4a
                           gss_OID_set *actual_mechs,
Packit Service 9f2c4a
                           OM_uint32 *time_rec);
Packit Service 9f2c4a
Packit Service 9f2c4a
OM_uint32 gpm_add_cred(OM_uint32 *minor_status,
Packit Service 9f2c4a
                       gssx_cred *input_cred_handle,
Packit Service 9f2c4a
                       gssx_name *desired_name,
Packit Service 9f2c4a
                       const gss_OID desired_mech,
Packit Service 9f2c4a
                       gss_cred_usage_t cred_usage,
Packit Service 9f2c4a
                       OM_uint32 initiator_time_req,
Packit Service 9f2c4a
                       OM_uint32 acceptor_time_req,
Packit Service 9f2c4a
                       gssx_cred **output_cred_handle,
Packit Service 9f2c4a
                       gss_OID_set *actual_mechs,
Packit Service 9f2c4a
                       OM_uint32 *initiator_time_rec,
Packit Service 9f2c4a
                       OM_uint32 *acceptor_time_rec);
Packit Service 9f2c4a
OM_uint32 gpm_inquire_cred(OM_uint32 *minor_status,
Packit Service 9f2c4a
                           gssx_cred *cred,
Packit Service 9f2c4a
                           gssx_name **name,
Packit Service 9f2c4a
                           OM_uint32 *lifetime,
Packit Service 9f2c4a
                           gss_cred_usage_t *cred_usage,
Packit Service 9f2c4a
                           gss_OID_set *mechanisms);
Packit Service 9f2c4a
OM_uint32 gpm_inquire_cred_by_mech(OM_uint32 *minor_status,
Packit Service 9f2c4a
                                   gssx_cred *cred,
Packit Service 9f2c4a
                                   gss_OID mech_type,
Packit Service 9f2c4a
                                   gssx_name **name,
Packit Service 9f2c4a
                                   OM_uint32 *initiator_lifetime,
Packit Service 9f2c4a
                                   OM_uint32 *acceptor_lifetime,
Packit Service 9f2c4a
                                   gss_cred_usage_t *cred_usage);
Packit Service 9f2c4a
Packit Service 9f2c4a
OM_uint32 gpm_indicate_mechs(OM_uint32 *minor_status, gss_OID_set *mech_set);
Packit Service 9f2c4a
OM_uint32 gpm_inquire_names_for_mech(OM_uint32 *minor_status,
Packit Service 9f2c4a
                                     gss_OID mech_type,
Packit Service 9f2c4a
                                     gss_OID_set *mech_names);
Packit Service 9f2c4a
OM_uint32 gpm_inquire_mechs_for_name(OM_uint32 *minor_status,
Packit Service 9f2c4a
                                     gssx_name *input_name,
Packit Service 9f2c4a
                                     gss_OID_set *mech_types);
Packit Service 9f2c4a
OM_uint32 gpm_inquire_attrs_for_mech(OM_uint32 *minor_status,
Packit Service 9f2c4a
                                     gss_OID mech,
Packit Service 9f2c4a
                                     gss_OID_set *mech_attrs,
Packit Service 9f2c4a
                                     gss_OID_set *known_mech_attrs);
Packit Service 9f2c4a
OM_uint32 gpm_inquire_saslname_for_mech(OM_uint32 *minor_status,
Packit Service 9f2c4a
                                        const gss_OID desired_mech,
Packit Service 9f2c4a
                                        gss_buffer_t sasl_mech_name,
Packit Service 9f2c4a
                                        gss_buffer_t mech_name,
Packit Service 9f2c4a
                                        gss_buffer_t mech_description);
Packit Service 9f2c4a
OM_uint32 gpm_display_mech_attr(OM_uint32 *minor_status,
Packit Service 9f2c4a
                                gss_const_OID mech_attr,
Packit Service 9f2c4a
                                gss_buffer_t name,
Packit Service 9f2c4a
                                gss_buffer_t short_desc,
Packit Service 9f2c4a
                                gss_buffer_t long_desc);
Packit Service 9f2c4a
OM_uint32 gpm_indicate_mechs_by_attrs(OM_uint32 *minor_status,
Packit Service 9f2c4a
                                      gss_const_OID_set desired_mech_attrs,
Packit Service 9f2c4a
                                      gss_const_OID_set except_mech_attrs,
Packit Service 9f2c4a
                                      gss_const_OID_set critical_mech_attrs,
Packit Service 9f2c4a
                                      gss_OID_set *mechs);
Packit Service 9f2c4a
Packit Service 9f2c4a
OM_uint32 gpm_display_name(OM_uint32 *minor_status,
Packit Service 9f2c4a
                           gssx_name *in_name,
Packit Service 9f2c4a
                           gss_buffer_t output_name_buffer,
Packit Service 9f2c4a
                           gss_OID *output_name_type);
Packit Service 9f2c4a
OM_uint32 gpm_import_name(OM_uint32 *minor_status,
Packit Service 9f2c4a
                          gss_buffer_t input_name_buffer,
Packit Service 9f2c4a
                          gss_OID input_name_type,
Packit Service 9f2c4a
                          gssx_name **output_name);
Packit Service 9f2c4a
OM_uint32 gpm_export_name(OM_uint32 *minor_status,
Packit Service 9f2c4a
                          gssx_name *input_name,
Packit Service 9f2c4a
                          gss_buffer_t exported_name);
Packit Service 9f2c4a
OM_uint32 gpm_export_name_composite(OM_uint32 *minor_status,
Packit Service 9f2c4a
                                    gssx_name *input_name,
Packit Service 9f2c4a
                                    gss_buffer_t exported_composite_name);
Packit Service 9f2c4a
OM_uint32 gpm_duplicate_name(OM_uint32 *minor_status,
Packit Service 9f2c4a
                             gssx_name *input_name,
Packit Service 9f2c4a
                             gssx_name **dest_name);
Packit Service 9f2c4a
OM_uint32 gpm_canonicalize_name(OM_uint32 *minor_status,
Packit Service 9f2c4a
                                gssx_name *input_name,
Packit Service 9f2c4a
                                const gss_OID mech_type,
Packit Service 9f2c4a
                                gssx_name **output_name);
Packit Service 9f2c4a
OM_uint32 gpm_inquire_name(OM_uint32 *minor_status,
Packit Service 9f2c4a
                           gssx_name *name,
Packit Service 9f2c4a
                           int *name_is_NM,
Packit Service 9f2c4a
                           gss_OID *NM_mech,
Packit Service 9f2c4a
                           gss_buffer_set_t *attrs);
Packit Service 9f2c4a
OM_uint32 gpm_compare_name(OM_uint32 *minor_status,
Packit Service 9f2c4a
                           gssx_name *name1,
Packit Service 9f2c4a
                           gssx_name *name2,
Packit Service 9f2c4a
                           int *name_equal);
Packit Service 9f2c4a
Packit Service 9f2c4a
OM_uint32 gpm_init_sec_context(OM_uint32 *minor_status,
Packit Service 9f2c4a
                               gssx_cred *cred_handle,
Packit Service 9f2c4a
                               gssx_ctx **context_handle,
Packit Service 9f2c4a
                               gssx_name *target_name,
Packit Service 9f2c4a
                               gss_OID mech_type,
Packit Service 9f2c4a
                               OM_uint32 req_flags,
Packit Service 9f2c4a
                               OM_uint32 time_req,
Packit Service 9f2c4a
                               gss_channel_bindings_t input_cb,
Packit Service 9f2c4a
                               gss_buffer_t input_token,
Packit Service 9f2c4a
                               gss_OID *actual_mech_type,
Packit Service 9f2c4a
                               gss_buffer_t output_token,
Packit Service 9f2c4a
                               OM_uint32 *ret_flags,
Packit Service 9f2c4a
                               OM_uint32 *time_rec,
Packit Service 9f2c4a
                               gssx_cred **out_cred_handle);
Packit Service 9f2c4a
OM_uint32 gpm_inquire_context(OM_uint32 *minor_status,
Packit Service 9f2c4a
                              gssx_ctx *context_handle,
Packit Service 9f2c4a
                              gssx_name **src_name,
Packit Service 9f2c4a
                              gssx_name **targ_name,
Packit Service 9f2c4a
                              OM_uint32 *lifetime_rec,
Packit Service 9f2c4a
                              gss_OID *mech_type,
Packit Service 9f2c4a
                              OM_uint32 *ctx_flags,
Packit Service 9f2c4a
                              int *locally_initiated,
Packit Service 9f2c4a
                              int *open);
Packit Service 9f2c4a
Packit Service 9f2c4a
OM_uint32 gpm_get_mic(OM_uint32 *minor_status,
Packit Service 9f2c4a
                      gssx_ctx *context_handle,
Packit Service 9f2c4a
                      gss_qop_t qop_req,
Packit Service 9f2c4a
                      gss_buffer_t message_buffer,
Packit Service 9f2c4a
                      gss_buffer_t message_token);
Packit Service 9f2c4a
OM_uint32 gpm_verify_mic(OM_uint32 *minor_status,
Packit Service 9f2c4a
                         gssx_ctx *context_handle,
Packit Service 9f2c4a
                         gss_buffer_t message_buffer,
Packit Service 9f2c4a
                         gss_buffer_t message_token,
Packit Service 9f2c4a
                         gss_qop_t *qop_state);
Packit Service 9f2c4a
OM_uint32 gpm_wrap(OM_uint32 *minor_status,
Packit Service 9f2c4a
                   gssx_ctx *context_handle,
Packit Service 9f2c4a
                   int conf_req_flag,
Packit Service 9f2c4a
                   gss_qop_t qop_req,
Packit Service 9f2c4a
                   const gss_buffer_t input_message_buffer,
Packit Service 9f2c4a
                   int *conf_state,
Packit Service 9f2c4a
                   gss_buffer_t output_message_buffer);
Packit Service 9f2c4a
OM_uint32 gpm_unwrap(OM_uint32 *minor_status,
Packit Service 9f2c4a
                     gssx_ctx *context_handle,
Packit Service 9f2c4a
                     const gss_buffer_t input_message_buffer,
Packit Service 9f2c4a
                     gss_buffer_t output_message_buffer,
Packit Service 9f2c4a
                     int *conf_state,
Packit Service 9f2c4a
                     gss_qop_t *qop_state);
Packit Service 9f2c4a
OM_uint32 gpm_wrap_size_limit(OM_uint32 *minor_status,
Packit Service 9f2c4a
                              gssx_ctx *context_handle,
Packit Service 9f2c4a
                              int conf_req,
Packit Service 9f2c4a
                              gss_qop_t qop_req,
Packit Service 9f2c4a
                              OM_uint32 size_req,
Packit Service 9f2c4a
                              OM_uint32 *max_size);
Packit Service 9f2c4a
#endif /* _GSSAPI_GPM_H_ */