if (status == GSS_S_COMPLETE) {
ctx->loopback = ctx;
- *context_handle = ctx;
+ *context_handle = (gss_ctx_id_t)ctx;
return (GSS_S_COMPLETE);
}
map_error(minor_status, mech);
/* copy the supplied context handle */
union_ctx_id->internal_ctx_id = GSS_C_NO_CONTEXT;
} else
- union_ctx_id = *context_handle;
+ union_ctx_id = (gss_union_ctx_id_t)*context_handle;
/*
* get the appropriate cred handle from the union cred struct.
if (!mech)
return (GSS_S_BAD_MECH);
- return gssint_unwrap_aead(mech, minor_status, context_handle,
+ return gssint_unwrap_aead(mech, minor_status, ctx,
input_message_buffer, input_assoc_buffer,
output_payload_buffer, conf_state, qop_state);
}
if (!mech)
return (GSS_S_BAD_MECH);
- return gssint_wrap_aead(mech, minor_status, context_handle,
+ return gssint_wrap_aead(mech, minor_status, ctx,
conf_req_flag, qop_req,
input_assoc_buffer, input_payload_buffer,
conf_state, output_message_buffer);
/*
* Array of context IDs typed by mechanism OID
*/
-typedef struct gss_ctx_id_struct {
- struct gss_ctx_id_struct *loopback;
+typedef struct gss_union_ctx_id_struct {
+ struct gss_union_ctx_id_struct *loopback;
gss_OID mech_type;
gss_ctx_id_t internal_ctx_id;
} gss_union_ctx_id_desc, *gss_union_ctx_id_t;