Use the responder side configured EAP-Identity directly, if given

This commit is contained in:
Martin Willi
2010-07-05 09:41:04 +02:00
parent ec6caa1367
commit 53913d764e
@@ -140,17 +140,26 @@ static eap_payload_t* server_initiate_eap(private_eap_authenticator_t *this,
id = auth->get(auth, AUTH_RULE_EAP_IDENTITY); id = auth->get(auth, AUTH_RULE_EAP_IDENTITY);
if (id) if (id)
{ {
this->method = load_method(this, EAP_IDENTITY, 0, EAP_SERVER); if (id->get_type(id) == ID_ANY)
if (this->method)
{ {
if (this->method->initiate(this->method, &out) == NEED_MORE) this->method = load_method(this, EAP_IDENTITY, 0, EAP_SERVER);
if (this->method)
{ {
DBG1(DBG_IKE, "initiating EAP-Identity request"); if (this->method->initiate(this->method, &out) == NEED_MORE)
return out; {
DBG1(DBG_IKE, "initiating EAP-Identity request");
return out;
}
this->method->destroy(this->method);
} }
this->method->destroy(this->method); DBG1(DBG_IKE, "EAP-Identity request configured, "
"but not supported");
}
else
{
DBG1(DBG_IKE, "using configured EAP-Identity %Y", id);
this->eap_identity = id->clone(id);
} }
DBG1(DBG_IKE, "EAP-Identity request configured, but not supported");
} }
} }
/* invoke real EAP method */ /* invoke real EAP method */