aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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: