diff options
author | Martin Willi <martin@revosec.ch> | 2011-03-15 15:20:09 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2011-03-15 15:20:09 +0100 |
commit | 3ced6b51e462201c32954ae9cb23449a377be3fa (patch) | |
tree | 82a50c1d93c4297cde095db4a7e8b14ed866ea5c /src/libcharon/sa/ike_sa.c | |
parent | f42156a8c8f4d24927f397951b121aea5ce027f4 (diff) | |
download | strongswan-3ced6b51e462201c32954ae9cb23449a377be3fa.tar.bz2 strongswan-3ced6b51e462201c32954ae9cb23449a377be3fa.tar.xz |
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.
Diffstat (limited to 'src/libcharon/sa/ike_sa.c')
-rw-r--r-- | src/libcharon/sa/ike_sa.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/libcharon/sa/ike_sa.c b/src/libcharon/sa/ike_sa.c index 2d51786ca..4a284e4f6 100644 --- a/src/libcharon/sa/ike_sa.c +++ b/src/libcharon/sa/ike_sa.c @@ -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, |