Fixed EAP-IKEv2 server fragment processing
authorJouni Malinen <j@w1.fi>
Mon, 26 May 2008 13:51:40 +0000 (16:51 +0300)
committerJouni Malinen <j@w1.fi>
Mon, 26 May 2008 13:51:40 +0000 (16:51 +0300)
Need to clear the state back to MSG after having processed all incoming
fragments. Without this, the server got stuck in sending the fragment ACK
even after having received the full message.

src/eap_server/eap_ikev2.c

index 3adfc9e..06074ee 100644 (file)
@@ -416,6 +416,9 @@ static void eap_ikev2_process(struct eap_sm *sm, void *priv,
                else
                        eap_ikev2_state(data, FRAG_ACK);
                return;
+       } else if (data->state == FRAG_ACK) {
+               wpa_printf(MSG_DEBUG, "EAP-TNC: All fragments received");
+               data->state = MSG;
        }
 
        if (data->in_buf == NULL) {