Fixes for Heimdal (macOS) builds from Stefan.
[mech_eap.git] / mech_eap / wrap.c
index a89bcb6..181bbb0 100644 (file)
 
 #include "gssapiP_eap.h"
 
-OM_uint32
+OM_uint32 GSSAPI_CALLCONV
 gss_wrap(OM_uint32 *minor,
+#ifdef HAVE_HEIMDAL_VERSION
+         gss_const_ctx_id_t ctx,
+#else
          gss_ctx_id_t ctx,
+#endif
          int conf_req_flag,
          gss_qop_t qop_req,
          gss_buffer_t input_message_buffer,
@@ -54,7 +58,7 @@ gss_wrap(OM_uint32 *minor,
 
     *minor = 0;
 
-    GSSEAP_MUTEX_LOCK(&ctx->mutex);
+    GSSEAP_MUTEX_LOCK(&((gss_ctx_id_t)ctx)->mutex);
 
     if (!CTX_IS_ESTABLISHED(ctx)) {
         major = GSS_S_NO_CONTEXT;
@@ -62,14 +66,14 @@ gss_wrap(OM_uint32 *minor,
         goto cleanup;
     }
 
-    major = gssEapWrap(minor, ctx, conf_req_flag, qop_req,
-                       input_message_buffer,
+    major = gssEapWrap(minor, (gss_ctx_id_t)ctx, conf_req_flag,
+                       qop_req, input_message_buffer,
                        conf_state, output_message_buffer);
     if (GSS_ERROR(major))
         goto cleanup;
 
 cleanup:
-    GSSEAP_MUTEX_UNLOCK(&ctx->mutex);
+    GSSEAP_MUTEX_UNLOCK(&((gss_ctx_id_t)ctx)->mutex);
 
     return major;
 }
@@ -104,7 +108,7 @@ gssEapWrap(OM_uint32 *minor,
     iov[3].buffer.length = 0;
 
     major = gssEapWrapIovLength(minor, ctx, conf_req_flag, qop_req,
-                                NULL, iov, 4);
+                                NULL, iov, 4, TOK_TYPE_WRAP);
     if (GSS_ERROR(major)) {
         return major;
     }