aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2012-05-21 12:17:32 +0200
committerMartin Willi <martin@revosec.ch>2012-05-21 12:17:32 +0200
commitb5341bb07c8b8f3f31c2bc04e9106b587e9c6dff (patch)
tree525efba5433b5afeb6b65495b0a6d148e8c9b503 /src
parent769696450a778e99bd8ce46ed9a0ce85b542848b (diff)
downloadstrongswan-b5341bb07c8b8f3f31c2bc04e9106b587e9c6dff.tar.bz2
strongswan-b5341bb07c8b8f3f31c2bc04e9106b587e9c6dff.tar.xz
Fix IKEv1 DPD clear, destroying IKE_SA even if reestablish not needed
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/processing/jobs/dpd_timeout_job.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/libcharon/processing/jobs/dpd_timeout_job.c b/src/libcharon/processing/jobs/dpd_timeout_job.c
index c3337996b..4f427f1d3 100644
--- a/src/libcharon/processing/jobs/dpd_timeout_job.c
+++ b/src/libcharon/processing/jobs/dpd_timeout_job.c
@@ -77,15 +77,9 @@ METHOD(job_t, execute, void,
if (use_time < this->check)
{
DBG1(DBG_JOB, "DPD check timed out, enforcing DPD action");
- if (ike_sa->reestablish(ike_sa) == SUCCESS)
- {
- charon->ike_sa_manager->checkin_and_destroy(
- charon->ike_sa_manager, ike_sa);
- }
- else
- {
- charon->ike_sa_manager->checkin(charon->ike_sa_manager, ike_sa);
- }
+ ike_sa->reestablish(ike_sa);
+ charon->ike_sa_manager->checkin_and_destroy(charon->ike_sa_manager,
+ ike_sa);
}
else
{