]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/gssd/context.c
Add option to specify directory to search for credentials cache files
[nfs-utils.git] / utils / gssd / context.c
index 02d162f2aa620a3c5fde2f9cf9fde7f9ce4c1544..4bab3e7955101bd616b014b0a3f2229902b172bb 100644 (file)
 #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;
        }
 }