The referenced commit ignored that INVALID_ARG was returned by this
authenticator if an unsupported signature scheme is encountered. This
caused a crash in find_alternative_eap_cfg() as no EAP identity is
stored in the current auth config.
Since we don't distinguish the situation outside of the authenticator,
we can just return FAILED.
Closes strongswan/strongswan#2979
Fixes: 2f2e4abe3c52 ("ikev2: Add support to switch peer configs based on EAP-Identities")
DBG1(DBG_IKE, "%N authentication %s", auth_method_names,
auth_method, reason);
signature_params_destroy(params);
- return INVALID_ARG;
+ return FAILED;
}
id = this->ike_sa->get_other_id(this->ike_sa);
if (!get_auth_octets_scheme(this, TRUE, id, this->ppk, &octets, ¶ms))