cleanup some symbolic constants
[mech_eap.orig] / inquire_mech_for_saslname.c
index 8c42be0..536f3c7 100644 (file)
  * SUCH DAMAGE.
  */
 
+/*
+ * Map mechanism OID to a SASL mechanism name.
+ */
+
 #include "gssapiP_eap.h"
 
 OM_uint32
@@ -44,10 +48,6 @@ gss_inquire_saslname_for_mech(OM_uint32 *minor,
     krb5_enctype etype = ENCTYPE_NULL;
     char krbBuf[128] = "eap-";
 
-    /* Don't advertise GSS EAP pseudo-mechanism */
-    if (oidEqual(mech, GSS_EAP_MECHANISM))
-        return GSS_S_UNAVAILABLE;
-
     /* Dynamically construct mechanism name from Kerberos string enctype */
     major = gssEapOidToEnctype(minor, mech, &etype);
     if (GSS_ERROR(major))
@@ -70,10 +70,12 @@ gss_inquire_saslname_for_mech(OM_uint32 *minor,
 
     if (sasl_mech_name != GSS_C_NO_BUFFER) {
         name = gssEapOidToSaslName(mech);
-        if (name == GSS_C_NO_BUFFER)
+        if (name == GSS_C_NO_BUFFER) {
             major = GSS_S_BAD_MECH;
-        else
+            *minor = GSSEAP_WRONG_MECH;
+        } else {
             major = duplicateBuffer(minor, name, sasl_mech_name);
+        }
     }
 
     return major;