X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fgssd%2Fcontext.c;h=0ca7079c0367880239e0ef3928921b4d4d56fa7c;hp=02d162f2aa620a3c5fde2f9cf9fde7f9ce4c1544;hb=a4f1386224310b6797f083826fc4b6751e91f9b6;hpb=43e5f4e81d522a5355ff9f88c8c4ced0087c754c diff --git a/utils/gssd/context.c b/utils/gssd/context.c index 02d162f..0ca7079 100644 --- a/utils/gssd/context.c +++ b/utils/gssd/context.c @@ -41,19 +41,20 @@ #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, + int32_t *endtime) { - 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, endtime); #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, endtime); #endif else { printerr(0, "ERROR: attempting to serialize context with " - "unknown mechanism oid\n"); + "unknown/unsupported mechanism oid\n"); return -1; } }