aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2012-01-04 17:50:19 +0100
committerMartin Willi <martin@revosec.ch>2012-03-20 17:31:33 +0100
commit3a0b67bce593c99d5ae0dd5e2920c6772843ad7a (patch)
tree51e679cc206e99a4db44063fdcc147dfd06ddb3a /src
parentcb1a145ce29e8ba39e73f8d314f788265498a66f (diff)
downloadstrongswan-3a0b67bce593c99d5ae0dd5e2920c6772843ad7a.tar.bz2
strongswan-3a0b67bce593c99d5ae0dd5e2920c6772843ad7a.tar.xz
Destroy IKE_SA after reauthentication initiatend and lifetime limit reached
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/sa/ike_sa.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libcharon/sa/ike_sa.c b/src/libcharon/sa/ike_sa.c
index d659a3c68..1992a6017 100644
--- a/src/libcharon/sa/ike_sa.c
+++ b/src/libcharon/sa/ike_sa.c
@@ -1296,8 +1296,13 @@ METHOD(ike_sa_t, delete_, status_t,
{
switch (this->state)
{
- case IKE_ESTABLISHED:
case IKE_REKEYING:
+ if (this->version == IKEV1)
+ { /* SA has been reauthenticated, delete */
+ break;
+ }
+ /* FALL */
+ case IKE_ESTABLISHED:
this->task_manager->queue_ike_delete(this->task_manager);
return this->task_manager->initiate(this->task_manager);
case IKE_CREATED: