aboutsummaryrefslogtreecommitdiffstats
path: root/src/eap_peer/eap_gpsk.c
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2014-01-05 12:18:38 (GMT)
committerJouni Malinen <j@w1.fi>2014-01-07 08:45:11 (GMT)
commitc4b8c71ba41b018ecf6c03a71c5526b94806197b (patch)
tree44843231186fa89dba1c635d504f1b95481d977d /src/eap_peer/eap_gpsk.c
parent5a0f596b7b758a98eeca947fd33410d4c9782b3c (diff)
downloadhostap-c4b8c71ba41b018ecf6c03a71c5526b94806197b.zip
hostap-c4b8c71ba41b018ecf6c03a71c5526b94806197b.tar.gz
hostap-c4b8c71ba41b018ecf6c03a71c5526b94806197b.tar.bz2
EAP-GPSK: Report CSuite negotiation failure properly
Setting methodState = DONE for the case where GPSK-1 is found to be invalid or incompatible allows EAP state machine to proceed to FAILURE state instead of remaining stuck until AP times out the connection. Signed-hostap: Jouni Malinen <j@w1.fi>
Diffstat (limited to 'src/eap_peer/eap_gpsk.c')
-rw-r--r--src/eap_peer/eap_gpsk.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/eap_peer/eap_gpsk.c b/src/eap_peer/eap_gpsk.c
index 6f7b23b..5b023c7 100644
--- a/src/eap_peer/eap_gpsk.c
+++ b/src/eap_peer/eap_gpsk.c
@@ -289,6 +289,7 @@ static struct wpabuf * eap_gpsk_process_gpsk_1(struct eap_sm *sm,
pos = eap_gpsk_process_csuite_list(sm, data, &csuite_list,
&csuite_list_len, pos, end);
if (pos == NULL) {
+ ret->methodState = METHOD_DONE;
eap_gpsk_state(data, FAILURE);
return NULL;
}