diff options
author | Tobias Brunner <tobias@strongswan.org> | 2016-04-15 12:04:32 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2016-05-06 15:35:16 +0200 |
commit | 612fe5410b624ab90fa60e36192245f89b60c820 (patch) | |
tree | 699be0554579d25253b01327cff82be653e92662 /src | |
parent | bf3bed1cc4be24b9a74dff391723afec90182647 (diff) | |
download | strongswan-612fe5410b624ab90fa60e36192245f89b60c820.tar.bz2 strongswan-612fe5410b624ab90fa60e36192245f89b60c820.tar.xz |
ikev1: Activate DELETE tasks before other tasks in state ESTABLISHED
Fixes #1410.
Diffstat (limited to 'src')
-rw-r--r-- | src/libcharon/sa/ikev1/task_manager_v1.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/libcharon/sa/ikev1/task_manager_v1.c b/src/libcharon/sa/ikev1/task_manager_v1.c index 7aa2c646b..96005d736 100644 --- a/src/libcharon/sa/ikev1/task_manager_v1.c +++ b/src/libcharon/sa/ikev1/task_manager_v1.c @@ -514,26 +514,26 @@ METHOD(task_manager_t, initiate, status_t, new_mid = TRUE; break; } - if (!mode_config_expected(this) && - activate_task(this, TASK_QUICK_MODE)) + if (activate_task(this, TASK_ISAKMP_DELETE)) { - exchange = QUICK_MODE; + exchange = INFORMATIONAL_V1; new_mid = TRUE; break; } - if (activate_task(this, TASK_INFORMATIONAL)) + if (activate_task(this, TASK_QUICK_DELETE)) { exchange = INFORMATIONAL_V1; new_mid = TRUE; break; } - if (activate_task(this, TASK_QUICK_DELETE)) + if (!mode_config_expected(this) && + activate_task(this, TASK_QUICK_MODE)) { - exchange = INFORMATIONAL_V1; + exchange = QUICK_MODE; new_mid = TRUE; break; } - if (activate_task(this, TASK_ISAKMP_DELETE)) + if (activate_task(this, TASK_INFORMATIONAL)) { exchange = INFORMATIONAL_V1; new_mid = TRUE; |