Merge branch 'master' into tlv-mic
[moonshot.git] / mech_eap / util_token.c
index 346fcf4..5e69b26 100644 (file)
@@ -134,6 +134,9 @@ cleanup:
     return major;
 }
 
+/*
+ * Add some data to the initiator/acceptor conversation.
+ */
 static OM_uint32
 recordTokens(OM_uint32 *minor,
              gss_ctx_id_t ctx,
@@ -168,6 +171,9 @@ recordTokens(OM_uint32 *minor,
     return GSS_S_COMPLETE;
 }
 
+/*
+ * Record the context token header.
+ */
 OM_uint32
 gssEapRecordContextTokenHeader(OM_uint32 *minor,
                                gss_ctx_id_t ctx,
@@ -193,6 +199,9 @@ gssEapRecordContextTokenHeader(OM_uint32 *minor,
     return recordTokens(minor, ctx, buffers, sizeof(buffers)/sizeof(buffers[0]));
 }
 
+/*
+ * Record an inner context token.
+ */
 OM_uint32
 gssEapRecordInnerContextToken(OM_uint32 *minor,
                               gss_ctx_id_t ctx,
@@ -248,16 +257,9 @@ gssEapVerifyContextToken(OM_uint32 *minor,
     }
 
     if (ctx->mechanismUsed == GSS_C_NO_OID) {
-        if (!gssEapIsConcreteMechanismOid(oid)) {
-            *minor = GSSEAP_WRONG_MECH;
-            return GSS_S_BAD_MECH;
-        }
-
-        if (!gssEapInternalizeOid(oid, &ctx->mechanismUsed)) {
-            major = duplicateOid(minor, oid, &ctx->mechanismUsed);
-            if (GSS_ERROR(major))
-                return major;
-        }
+        major = gssEapCanonicalizeOid(minor, oid, 0, &ctx->mechanismUsed);
+        if (GSS_ERROR(major))
+            return major;
     }
 
     innerInputToken->length = bodySize;