aboutsummaryrefslogtreecommitdiffstats
path: root/src/eap_server
diff options
context:
space:
mode:
Diffstat (limited to 'src/eap_server')
-rw-r--r--src/eap_server/eap_aka.c5
-rw-r--r--src/eap_server/eap_sim.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/src/eap_server/eap_aka.c b/src/eap_server/eap_aka.c
index 7ec67ef..462e50a 100644
--- a/src/eap_server/eap_aka.c
+++ b/src/eap_server/eap_aka.c
@@ -851,7 +851,10 @@ static void eap_aka_process_client_error(struct eap_sm *sm,
{
wpa_printf(MSG_DEBUG, "EAP-AKA: Client reported error %d",
attr->client_error_code);
- eap_aka_state(data, FAILURE);
+ if (data->notification == EAP_SIM_SUCCESS && data->use_result_ind)
+ eap_aka_state(data, SUCCESS);
+ else
+ eap_aka_state(data, FAILURE);
}
diff --git a/src/eap_server/eap_sim.c b/src/eap_server/eap_sim.c
index 21e7b36..76513a6 100644
--- a/src/eap_server/eap_sim.c
+++ b/src/eap_server/eap_sim.c
@@ -653,7 +653,10 @@ static void eap_sim_process_client_error(struct eap_sm *sm,
{
wpa_printf(MSG_DEBUG, "EAP-SIM: Client reported error %d",
attr->client_error_code);
- eap_sim_state(data, FAILURE);
+ if (data->notification == EAP_SIM_SUCCESS && data->use_result_ind)
+ eap_sim_state(data, SUCCESS);
+ else
+ eap_sim_state(data, FAILURE);
}