Send EAP-Nak with supported types if requested type is unsupported

This commit is contained in:
Tobias Brunner
2012-08-31 11:40:27 +02:00
parent 7cad171da8
commit af04233e14
5 changed files with 81 additions and 12 deletions
@@ -85,7 +85,7 @@ METHOD(tls_application_t, process, status_t,
default:
return FAILED;
}
in = eap_payload_create_data(data);
DBG3(DBG_IKE, "%B", &data);
chunk_free(&data);
@@ -151,7 +151,8 @@ METHOD(tls_application_t, process, status_t,
if (!this->ph2_method)
{
DBG1(DBG_IKE, "EAP method not supported");
this->out = eap_payload_create_nak(in->get_identifier(in));
this->out = eap_payload_create_nak(in->get_identifier(in),
received_vendor != 0);
in->destroy(in);
return NEED_MORE;
}
@@ -138,7 +138,7 @@ METHOD(tls_application_t, process, status_t,
chunk_free(&avp_data);
}
while (eap_pos < eap_data.len);
in = eap_payload_create_data(eap_data);
chunk_free(&eap_data);
payload = (payload_t*)in;
@@ -192,7 +192,8 @@ METHOD(tls_application_t, process, status_t,
if (!this->method)
{
DBG1(DBG_IKE, "EAP method not supported");
this->out = eap_payload_create_nak(in->get_identifier(in));
this->out = eap_payload_create_nak(in->get_identifier(in),
received_vendor != 0);
in->destroy(in);
return NEED_MORE;
}