Move establish/inherit of rekeyed IKE_SAs to delete messages
Having the inherit() function delayed to the IKE_SA establish procedure was problematic. The task destroy function was never a good place and results in locking/cleanup problems. After establishing the SA, it should be really checked in ASAP to avoid any triggered DPD checks to get lost.
This commit is contained in:
@@ -1896,7 +1896,7 @@ METHOD(ike_sa_t, create_task_enumerator, enumerator_t*,
|
||||
return this->task_manager->create_task_enumerator(this->task_manager, queue);
|
||||
}
|
||||
|
||||
METHOD(ike_sa_t, inherit, status_t,
|
||||
METHOD(ike_sa_t, inherit, void,
|
||||
private_ike_sa_t *this, ike_sa_t *other_public)
|
||||
{
|
||||
private_ike_sa_t *other = (private_ike_sa_t*)other_public;
|
||||
@@ -1977,8 +1977,6 @@ METHOD(ike_sa_t, inherit, status_t,
|
||||
lib->scheduler->schedule_job(lib->scheduler,
|
||||
(job_t*)delete_ike_sa_job_create(this->ike_sa_id, TRUE), delete);
|
||||
}
|
||||
/* we have to initate here, there may be new tasks to handle */
|
||||
return this->task_manager->initiate(this->task_manager);
|
||||
}
|
||||
|
||||
METHOD(ike_sa_t, destroy, void,
|
||||
|
||||
Reference in New Issue
Block a user