30 #ifndef __ZMQ_GSSAPI_MECHANISM_BASE_HPP_INCLUDED__ 31 #define __ZMQ_GSSAPI_MECHANISM_BASE_HPP_INCLUDED__ 33 #include "platform.hpp" 35 #ifdef HAVE_LIBGSSAPI_KRB5 37 #if HAVE_GSSAPI_GSSAPI_GENERIC_H 38 #include <gssapi/gssapi_generic.h> 40 #include <gssapi/gssapi_krb5.h> 54 class gssapi_mechanism_base_t:
58 gssapi_mechanism_base_t (
const options_t &options_);
59 virtual ~gssapi_mechanism_base_t () = 0;
64 int produce_initiate (msg_t *msg_,
void *data_,
size_t data_len_);
68 int process_initiate (msg_t *msg_,
void **data_,
size_t &data_len_);
71 int produce_ready (msg_t *msg_);
74 int process_ready (msg_t *msg_);
78 int encode_message (msg_t *msg_);
82 int decode_message (msg_t *msg_);
86 static int acquire_credentials (
char * principal_name_,
87 gss_cred_id_t * cred_);
91 gss_buffer_desc send_tok;
94 gss_buffer_desc recv_tok;
97 gss_name_t target_name;
100 char * principal_name;
110 OM_uint32 init_sec_min_stat;
122 gss_ctx_id_t context;