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=02a4b6de40e48a02f1b8cb97a76e1b4d3aff4a27;hb=HEAD;hpb=d1dd9aae6741e74f20bfc35e1db598652680279d diff --git a/mech_eap/process_context_token.c b/mech_eap/process_context_token.c index 02a4b6d..a6f8838 100644 --- a/mech_eap/process_context_token.c +++ b/mech_eap/process_context_token.c @@ -34,7 +34,11 @@ 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); }