From 612fe5410b624ab90fa60e36192245f89b60c820 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Fri, 15 Apr 2016 12:04:32 +0200 Subject: [PATCH] ikev1: Activate DELETE tasks before other tasks in state ESTABLISHED Fixes #1410. --- src/libcharon/sa/ikev1/task_manager_v1.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/libcharon/sa/ikev1/task_manager_v1.c b/src/libcharon/sa/ikev1/task_manager_v1.c index 7aa2c646b5..96005d7366 100644 --- a/src/libcharon/sa/ikev1/task_manager_v1.c +++ b/src/libcharon/sa/ikev1/task_manager_v1.c @@ -514,14 +514,7 @@ METHOD(task_manager_t, initiate, status_t, new_mid = TRUE; break; } - if (!mode_config_expected(this) && - activate_task(this, TASK_QUICK_MODE)) - { - exchange = QUICK_MODE; - new_mid = TRUE; - break; - } - if (activate_task(this, TASK_INFORMATIONAL)) + if (activate_task(this, TASK_ISAKMP_DELETE)) { exchange = INFORMATIONAL_V1; new_mid = TRUE; @@ -533,7 +526,14 @@ METHOD(task_manager_t, initiate, status_t, new_mid = TRUE; break; } - if (activate_task(this, TASK_ISAKMP_DELETE)) + if (!mode_config_expected(this) && + activate_task(this, TASK_QUICK_MODE)) + { + exchange = QUICK_MODE; + new_mid = TRUE; + break; + } + if (activate_task(this, TASK_INFORMATIONAL)) { exchange = INFORMATIONAL_V1; new_mid = TRUE;