diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-07-18 10:12:20 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-07-18 10:40:08 +0200 |
commit | 07a9d5c91a3bd88fbfe5a36a807655bebfef42ae (patch) | |
tree | 7e377dd727c19a2dcf031d997beb47e0485535bf /src | |
parent | 2b0c8ee37dc21cce09cf5e5b75d738ebc79235f3 (diff) | |
download | strongswan-07a9d5c91a3bd88fbfe5a36a807655bebfef42ae.tar.bz2 strongswan-07a9d5c91a3bd88fbfe5a36a807655bebfef42ae.tar.xz |
ike: Fix reestablishing SAs if no child-creating tasks are queued
Diffstat (limited to 'src')
-rw-r--r-- | src/libcharon/sa/ike_sa.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libcharon/sa/ike_sa.c b/src/libcharon/sa/ike_sa.c index 508612034..2f4e1123c 100644 --- a/src/libcharon/sa/ike_sa.c +++ b/src/libcharon/sa/ike_sa.c @@ -1617,8 +1617,11 @@ METHOD(ike_sa_t, reestablish, status_t, } enumerator->destroy(enumerator); /* check if we have tasks that recreate children */ - restart = is_child_queued(this, TASK_QUEUE_ACTIVE) || - is_child_queued(this, TASK_QUEUE_QUEUED); + if (!restart) + { + restart = is_child_queued(this, TASK_QUEUE_ACTIVE) || + is_child_queued(this, TASK_QUEUE_QUEUED); + } #ifdef ME /* mediation connections have no children, keep them up anyway */ if (this->peer_cfg->is_mediation(this->peer_cfg)) |