ikev2: Check for collisions after handling IKE deletion
authorTobias Brunner <tobias@strongswan.org>
Tue, 31 May 2016 10:18:44 +0000 (12:18 +0200)
committerTobias Brunner <tobias@strongswan.org>
Fri, 17 Jun 2016 16:48:06 +0000 (18:48 +0200)
src/libcharon/sa/ikev2/task_manager_v2.c

index 26e5b48..5f7d81b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2015 Tobias Brunner
+ * Copyright (C) 2007-2016 Tobias Brunner
  * Copyright (C) 2007-2010 Martin Willi
  * Hochschule fuer Technik Rapperswil
  *
@@ -849,6 +849,10 @@ static status_t build_response(private_task_manager_t *this, message_t *request)
                                /* FALL */
                        case DESTROY_ME:
                                /* destroy IKE_SA, but SEND response first */
+                               if (handle_collisions(this, task))
+                               {
+                                       array_remove_at(this->passive_tasks, enumerator);
+                               }
                                delete = TRUE;
                                break;
                }