ikev2: Don't treat initial messages as MOBIKE exchanges

The MOBIKE task is active during the initial exchanges but we don't want
to treat them as actual MOBIKE exchanges (i.e. there is no path probing).
This commit is contained in:
Tobias Brunner
2014-09-16 15:05:12 +02:00
parent 8a6b01dd2a
commit 22949c590f
+9 -6
View File
@@ -235,16 +235,19 @@ METHOD(task_manager_t, retransmit, status_t,
ike_mobike_t *mobike = NULL;
/* check if we are retransmitting a MOBIKE routability check */
enumerator = array_create_enumerator(this->active_tasks);
while (enumerator->enumerate(enumerator, (void*)&task))
if (this->initiating.type == INFORMATIONAL)
{
if (task->get_type(task) == TASK_IKE_MOBIKE)
enumerator = array_create_enumerator(this->active_tasks);
while (enumerator->enumerate(enumerator, (void*)&task))
{
mobike = (ike_mobike_t*)task;
break;
if (task->get_type(task) == TASK_IKE_MOBIKE)
{
mobike = (ike_mobike_t*)task;
break;
}
}
enumerator->destroy(enumerator);
}
enumerator->destroy(enumerator);
if (!mobike || !mobike->is_probing(mobike))
{