X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fgssd%2Fcontext.c;h=4bab3e7955101bd616b014b0a3f2229902b172bb;hp=02d162f2aa620a3c5fde2f9cf9fde7f9ce4c1544;hb=a6037e23a8c9d649bf5946ac9d23114f9097b997;hpb=43e5f4e81d522a5355ff9f88c8c4ced0087c754c diff --git a/utils/gssd/context.c b/utils/gssd/context.c index 02d162f..4bab3e7 100644 --- a/utils/gssd/context.c +++ b/utils/gssd/context.c @@ -41,19 +41,19 @@ #include "context.h" int -serialize_context_for_kernel(gss_ctx_id_t ctx, gss_buffer_desc *buf) +serialize_context_for_kernel(gss_ctx_id_t ctx, + gss_buffer_desc *buf, + gss_OID mech) { - gss_union_ctx_id_t uctx = (gss_union_ctx_id_t)ctx; - - if (g_OID_equal(&krb5oid, uctx->mech_type)) - return serialize_krb5_ctx(uctx->internal_ctx_id, buf); + if (g_OID_equal(&krb5oid, mech)) + return serialize_krb5_ctx(ctx, buf); #ifdef HAVE_SPKM3_H - else if (g_OID_equal(&spkm3oid, uctx->mech_type)) - return serialize_spkm3_ctx(uctx, buf); + else if (g_OID_equal(&spkm3oid, mech)) + return serialize_spkm3_ctx(ctx, buf); #endif else { printerr(0, "ERROR: attempting to serialize context with " - "unknown mechanism oid\n"); + "unknown/unsupported mechanism oid\n"); return -1; } }