allow empty acceptor names
[mech_eap.git] / mech_eap / init_sec_context.c
index 650a518..7826556 100644 (file)
@@ -576,14 +576,17 @@ eapGssSmInitAcceptorName(OM_uint32 *minor,
 
         if (ctx->acceptorName != GSS_C_NO_NAME) {
             /* verify name hint matched asserted acceptor name  */
-            major = gssEapCompareName(minor, nameHint,
-                                     ctx->acceptorName, &equal);
+            major = gssEapCompareName(minor,
+                                      nameHint,
+                                      ctx->acceptorName,
+                                      COMPARE_NAME_FLAG_IGNORE_EMPTY_REALMS,
+                                      &equal);
             if (GSS_ERROR(major)) {
-                gss_release_name(&tmpMinor, &nameHint);
+                gssEapReleaseName(&tmpMinor, &nameHint);
                 return major;
             }
 
-            gss_release_name(&tmpMinor, &nameHint);
+            gssEapReleaseName(&tmpMinor, &nameHint);
 
             if (!equal) {
                 *minor = GSSEAP_BAD_CONTEXT_TOKEN;
@@ -917,8 +920,8 @@ static struct gss_eap_sm eapGssInitiatorSm[] = {
     {
         ITOK_TYPE_ACCEPTOR_NAME_RESP,
         ITOK_TYPE_ACCEPTOR_NAME_REQ,
-        GSSEAP_STATE_INITIAL | GSSEAP_STATE_AUTHENTICATE
-       | GSSEAP_STATE_ACCEPTOR_EXTS ,
+        GSSEAP_STATE_INITIAL | GSSEAP_STATE_AUTHENTICATE |
+        GSSEAP_STATE_ACCEPTOR_EXTS,
         0,
         eapGssSmInitAcceptorName
     },