s/GSS_EAP_NT_PRINCIPAL_NAME/GSS_EAP_NT_EAP_NAME
[mech_eap.orig] / display_name.c
index 4022efd..427dcf2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, JANET(UK)
+ * Copyright (c) 2011, JANET(UK)
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * SUCH DAMAGE.
  */
 
+/*
+ * Wrapper for "displaying" (returning string representation of) a name.
+ */
+
 #include "gssapiP_eap.h"
 
 OM_uint32
@@ -38,34 +42,7 @@ gss_display_name(OM_uint32 *minor,
                  gss_buffer_t output_name_buffer,
                  gss_OID *output_name_type)
 {
-    OM_uint32 major, tmpMinor;
-    krb5_context krbContext;
-    char *krbName;
-
-    GSSEAP_KRB_INIT(&krbContext);
-
-    output_name_buffer->length = 0;
-    output_name_buffer->value = NULL;
-
-    if (name == GSS_C_NO_NAME) {
-        *minor = EINVAL;
-        return GSS_S_CALL_INACCESSIBLE_READ | GSS_S_BAD_NAME;
-    }
-
-    *minor = krb5_unparse_name(krbContext, name->krbPrincipal, &krbName);
-    if (*minor != 0) {
-        return GSS_S_FAILURE;
-    }
-
-    major = makeStringBuffer(minor, krbName, output_name_buffer);
-    if (GSS_ERROR(major)) {
-        krb5_free_unparsed_name(krbContext, krbName);
-        return major;
-    }
-
-    krb5_free_unparsed_name(krbContext, krbName);
-
-    *output_name_type = (gss_OID)GSS_EAP_NT_PRINCIPAL_NAME;
-
-    return GSS_S_COMPLETE;
+    /* Lock not required as long as attributes are not used */
+    return gssEapDisplayName(minor, name, output_name_buffer,
+                             output_name_type);
 }