return major;
}
+/*
+ * Add some data to the initiator/acceptor conversation.
+ */
static OM_uint32
recordTokens(OM_uint32 *minor,
gss_ctx_id_t ctx,
return GSS_S_COMPLETE;
}
+/*
+ * Record the context token header.
+ */
OM_uint32
gssEapRecordContextTokenHeader(OM_uint32 *minor,
gss_ctx_id_t ctx,
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,
}
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;