*lifetime_rec = lifetime;
}
+ if (mech_type != NULL) {
+ if (!gssEapInternalizeOid(ctx->mechanismUsed, mech_type)) {
+ major = duplicateOid(minor, ctx->mechanismUsed, mech_type);
+ if (GSS_ERROR(major))
+ goto cleanup;
+ }
+ }
+
if (ctx_flags != NULL) {
*ctx_flags = ctx->gssFlags;
}
--- /dev/null
+eap 1.3.6.1.4.1.5322.21.1 libmech_eap.dylib
+eap-des3-cbc-sha1 1.3.6.1.4.1.5322.21.1.16 libmech_eap.dylib
+eap-aes128 1.3.6.1.4.1.5322.21.1.17 libmech_eap.dylib
+eap-aes256 1.3.6.1.4.1.5322.21.1.18 libmech_eap.dylib
+eap-rc4-hmac 1.3.6.1.4.1.5322.21.1.23 libmech_eap.dylib
return GSS_S_FAILURE;
}
- oid->elements = GSSEAP_MALLOC(GSS_EAP_MECHANISM->length + 1);
+ oid->length = GSS_EAP_MECHANISM->length + 1;
+ oid->elements = GSSEAP_MALLOC(oid->length);
if (oid->elements == NULL) {
*minor = ENOMEM;
GSSEAP_FREE(oid);
GSSEAP_FREE(etypes); /* XXX */
+ *minor = 0;
return major;
}