pull up r24469, r24530, r24533, r24534, r24535, r24537 from trunk
[krb5.git] / src / lib / gssapi / krb5 / get_tkt_flags.c
index f4d9b92d2dc173ffffe4d0e06e1bf1e7cda248d1..636fc04db44c6952b03606cfacca63e8e9a56b4d 100644 (file)
@@ -1,4 +1,4 @@
-/* -*- mode: c; indent-tabs-mode: nil -*- */
+/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
 /*
  * Copyright 1993 by OpenVision Technologies, Inc.
  *
  * $Id$
  */
 
-OM_uint32 KRB5_CALLCONV
-gss_krb5int_get_tkt_flags(minor_status, context_handle, ticket_flags)
-    OM_uint32 *minor_status;
-    gss_ctx_id_t context_handle;
-    krb5_flags *ticket_flags;
+OM_uint32
+gss_krb5int_get_tkt_flags(OM_uint32 *minor_status,
+                          const gss_ctx_id_t context_handle,
+                          const gss_OID desired_object,
+                          gss_buffer_set_t *data_set)
 {
     krb5_gss_ctx_id_rec *ctx;
-
-    /* validate the context handle */
-    if (! kg_validate_ctx_id(context_handle)) {
-        *minor_status = (OM_uint32) G_VALIDATE_FAILED;
-        return(GSS_S_NO_CONTEXT);
-    }
+    gss_buffer_desc rep;
 
     ctx = (krb5_gss_ctx_id_rec *) context_handle;
 
-    if (! ctx->established) {
-        *minor_status = KG_CTX_INCOMPLETE;
-        return(GSS_S_NO_CONTEXT);
-    }
-
-    if (ticket_flags)
-        *ticket_flags = ctx->krb_flags;
+    rep.value = &ctx->krb_flags;
+    rep.length = sizeof(ctx->krb_flags);
 
-    *minor_status = 0;
-    return(GSS_S_COMPLETE);
+    return generic_gss_add_buffer_set_member(minor_status, &rep, data_set);
 }