s4:heimdal: import lorikeet-heimdal-200907152325 (commit 2bef9cd5378c01e9c2a74d622176...
[samba.git] / source4 / heimdal / lib / gssapi / krb5 / unwrap.c
index f34f72542ea7e967a7230d5303fcd1cc0b19ee2f..20cf952b4eb4a96092ad64dfe6fa5364436bb9eb 100644 (file)
@@ -31,9 +31,7 @@
  * SUCH DAMAGE.
  */
 
-#include "krb5/gsskrb5_locl.h"
-
-RCSID("$Id$");
+#include "gsskrb5_locl.h"
 
 static OM_uint32
 unwrap_des
@@ -393,11 +391,16 @@ OM_uint32 _gsskrb5_unwrap
 
   output_message_buffer->value = NULL;
   output_message_buffer->length = 0;
+  if (qop_state != NULL)
+      *qop_state = GSS_C_QOP_DEFAULT;
 
   GSSAPI_KRB5_INIT (&context);
 
-  if (qop_state != NULL)
-      *qop_state = GSS_C_QOP_DEFAULT;
+  if (ctx->more_flags & IS_CFX)
+      return _gssapi_unwrap_cfx (minor_status, ctx, context,
+                                input_message_buffer, output_message_buffer,
+                                conf_state, qop_state);
+
   HEIMDAL_MUTEX_lock(&ctx->ctx_id_mutex);
   ret = _gsskrb5i_get_token_key(ctx, context, &key);
   HEIMDAL_MUTEX_unlock(&ctx->ctx_id_mutex);
@@ -427,9 +430,7 @@ OM_uint32 _gsskrb5_unwrap
                                    conf_state, qop_state, key);
       break;
   default :
-      ret = _gssapi_unwrap_cfx (minor_status, ctx, context,
-                               input_message_buffer, output_message_buffer,
-                               conf_state, qop_state, key);
+      abort();
       break;
   }
   krb5_free_keyblock (context, key);