diff options
author | Martin Willi <martin@revosec.ch> | 2012-01-04 17:50:19 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2012-03-20 17:31:33 +0100 |
commit | 3a0b67bce593c99d5ae0dd5e2920c6772843ad7a (patch) | |
tree | 51e679cc206e99a4db44063fdcc147dfd06ddb3a | |
parent | cb1a145ce29e8ba39e73f8d314f788265498a66f (diff) | |
download | strongswan-3a0b67bce593c99d5ae0dd5e2920c6772843ad7a.tar.bz2 strongswan-3a0b67bce593c99d5ae0dd5e2920c6772843ad7a.tar.xz |
Destroy IKE_SA after reauthentication initiatend and lifetime limit reached
-rw-r--r-- | src/libcharon/sa/ike_sa.c | 7 |
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: |