3 #ifndef __ZMQ_GSSAPI_MECHANISM_BASE_HPP_INCLUDED__
4 #define __ZMQ_GSSAPI_MECHANISM_BASE_HPP_INCLUDED__
6 #ifdef HAVE_LIBGSSAPI_KRB5
8 #if HAVE_GSSAPI_GSSAPI_GENERIC_H
9 #include <gssapi/gssapi_generic.h>
11 #include <gssapi/gssapi_krb5.h>
24 class gssapi_mechanism_base_t :
public virtual mechanism_base_t
27 gssapi_mechanism_base_t (session_base_t *session_,
34 int produce_initiate (msg_t *msg_,
void *
data_,
size_t data_len_);
38 int process_initiate (msg_t *msg_,
void **
data_,
size_t &data_len_);
41 int produce_ready (msg_t *msg_);
44 int process_ready (msg_t *msg_);
48 int encode_message (msg_t *msg_);
52 int decode_message (msg_t *msg_);
55 static
const gss_OID convert_nametype (
int zmq_name_type_);
59 static
int acquire_credentials (
char *principal_name_,
65 gss_buffer_desc send_tok;
68 gss_buffer_desc recv_tok;
71 gss_name_t target_name;
84 OM_uint32 init_sec_min_stat;