aboutsummaryrefslogtreecommitdiffstats
path: root/src/eap_server/eap_aka.c
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2008-02-03 03:42:54 (GMT)
committerJouni Malinen <j@w1.fi>2008-02-03 03:42:54 (GMT)
commitd9263104ded0cbdf5cf9e2ec916b425665e9ec7a (patch)
treebe7bdb87ff0c23dbacadc48d5d1c525ab3a3cb79 /src/eap_server/eap_aka.c
parenteb6657f904e243a71398438fbd9d59d89f19dd57 (diff)
downloadhostap-history-d9263104ded0cbdf5cf9e2ec916b425665e9ec7a.zip
hostap-history-d9263104ded0cbdf5cf9e2ec916b425665e9ec7a.tar.gz
hostap-history-d9263104ded0cbdf5cf9e2ec916b425665e9ec7a.tar.bz2
EAP-SIM/AKA: Ignore client error when sending success result indication
RFCs require the EAP-SIM/AKA server to ignore the contents of a response to the protected success indication, so ignore client error in this case and reply with EAP-Success.
Diffstat (limited to 'src/eap_server/eap_aka.c')
-rw-r--r--src/eap_server/eap_aka.c5
1 files changed, 4 insertions, 1 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);
}