aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/control/controller.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2013-03-18 10:11:46 +0100
committerMartin Willi <martin@revosec.ch>2013-03-18 10:11:46 +0100
commite85c0f6b846729b061dbfa673eeae0e43e4a7dbb (patch)
tree17ae9c25cfd1c4fd0f954837ff406cafe1be6924 /src/libcharon/control/controller.c
parentcb14ecb1d3345ae183a364ca903cf2b28ce48a23 (diff)
parent83e2c81924a622e9c009861ffde2c249156855ec (diff)
downloadstrongswan-e85c0f6b846729b061dbfa673eeae0e43e4a7dbb.tar.bz2
strongswan-e85c0f6b846729b061dbfa673eeae0e43e4a7dbb.tar.xz
Merge branch 'stroke-timeout'
Add a strongswan.conf timeout option for stroke control commands.
Diffstat (limited to 'src/libcharon/control/controller.c')
-rw-r--r--src/libcharon/control/controller.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/libcharon/control/controller.c b/src/libcharon/control/controller.c
index 77d73dba9..0ee99c4b7 100644
--- a/src/libcharon/control/controller.c
+++ b/src/libcharon/control/controller.c
@@ -363,7 +363,10 @@ METHOD(job_t, initiate_execute, job_requeue_t,
if (ike_sa->initiate(ike_sa, listener->child_cfg, 0, NULL, NULL) == SUCCESS)
{
- listener->status = SUCCESS;
+ if (!listener->logger.callback)
+ {
+ listener->status = SUCCESS;
+ }
charon->ike_sa_manager->checkin(charon->ike_sa_manager, ike_sa);
}
else
@@ -454,7 +457,10 @@ METHOD(job_t, terminate_ike_execute, job_requeue_t,
}
else
{
- listener->status = SUCCESS;
+ if (!listener->logger.callback)
+ {
+ listener->status = SUCCESS;
+ }
charon->ike_sa_manager->checkin_and_destroy(charon->ike_sa_manager,
ike_sa);
}
@@ -561,7 +567,10 @@ METHOD(job_t, terminate_child_execute, job_requeue_t,
if (ike_sa->delete_child_sa(ike_sa, child_sa->get_protocol(child_sa),
child_sa->get_spi(child_sa, TRUE), FALSE) != DESTROY_ME)
{
- listener->status = SUCCESS;
+ if (!listener->logger.callback)
+ {
+ listener->status = SUCCESS;
+ }
charon->ike_sa_manager->checkin(charon->ike_sa_manager, ike_sa);
}
else
@@ -657,4 +666,3 @@ controller_t *controller_create(void)
return &this->public;
}
-