X-Git-Url: http://www.project-moonshot.org/gitweb/?p=mech_eap.git;a=blobdiff_plain;f=mech_eap%2Fprocess_context_token.c;h=a6f88387384fc3c6fcc0dda4f949354c77e5a3e2;hp=5bad3c0d77f63e5a4438d25ff812b79686de269b;hb=HEAD;hpb=10a3b578c38207140378a98c024c03d85941f837 diff --git a/mech_eap/process_context_token.c b/mech_eap/process_context_token.c index 5bad3c0..a6f8838 100644 --- a/mech_eap/process_context_token.c +++ b/mech_eap/process_context_token.c @@ -32,9 +32,13 @@ #include "gssapiP_eap.h" -OM_uint32 +OM_uint32 GSSAPI_CALLCONV gss_process_context_token(OM_uint32 *minor, +#ifdef HAVE_HEIMDAL_VERSION + gss_const_ctx_id_t ctx, +#else gss_ctx_id_t ctx, +#endif gss_buffer_t token_buffer) { OM_uint32 major; @@ -47,10 +51,10 @@ gss_process_context_token(OM_uint32 *minor, return GSS_S_CALL_INACCESSIBLE_READ | GSS_S_NO_CONTEXT; } - GSSEAP_MUTEX_LOCK(&ctx->mutex); + GSSEAP_MUTEX_LOCK(&((gss_ctx_id_t)ctx)->mutex); if (!CTX_IS_ESTABLISHED(ctx)) { - GSSEAP_MUTEX_UNLOCK(&ctx->mutex); + GSSEAP_MUTEX_UNLOCK(&((gss_ctx_id_t)ctx)->mutex); *minor = GSSEAP_CONTEXT_INCOMPLETE; return GSS_S_NO_CONTEXT; } @@ -58,14 +62,14 @@ gss_process_context_token(OM_uint32 *minor, iov[0].type = GSS_IOV_BUFFER_TYPE_HEADER; iov[0].buffer = *token_buffer; - major = gssEapUnwrapOrVerifyMIC(minor, ctx, NULL, NULL, + major = gssEapUnwrapOrVerifyMIC(minor, (gss_ctx_id_t)ctx, NULL, NULL, iov, 1, TOK_TYPE_DELETE_CONTEXT); if (GSS_ERROR(major)) { - GSSEAP_MUTEX_UNLOCK(&ctx->mutex); + GSSEAP_MUTEX_UNLOCK(&((gss_ctx_id_t)ctx)->mutex); return major; } - GSSEAP_MUTEX_UNLOCK(&ctx->mutex); + GSSEAP_MUTEX_UNLOCK(&((gss_ctx_id_t)ctx)->mutex); - return gssEapReleaseContext(minor, &ctx); + return gssEapReleaseContext(minor, (gss_ctx_id_t *)&ctx); }