]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
ikev2: Make sure the child-create task runs after all IKE_SA specific tasks
authorTobias Brunner <tobias@strongswan.org>
Thu, 22 Sep 2022 14:04:52 +0000 (16:04 +0200)
committerTobias Brunner <tobias@strongswan.org>
Thu, 22 Sep 2022 15:42:22 +0000 (17:42 +0200)
src/libcharon/sa/ikev2/task_manager_v2.c

index e2db83511629fb20632b0374b2153609feb18ee6..5ff708288ec2e403f0b9c61f6c0ed762f9ab7033 100644 (file)
@@ -552,9 +552,9 @@ METHOD(task_manager_t, initiate, status_t,
                                        activate_task(this, TASK_IKE_ME);
 #endif /* ME */
                                        activate_task(this, TASK_IKE_CONFIG);
-                                       activate_task(this, TASK_CHILD_CREATE);
                                        activate_task(this, TASK_IKE_AUTH_LIFETIME);
                                        activate_task(this, TASK_IKE_MOBIKE);
+                                       activate_task(this, TASK_CHILD_CREATE);
                                }
                                break;
                        case IKE_ESTABLISHED:
@@ -1151,13 +1151,13 @@ static status_t process_request(private_task_manager_t *this,
 #endif /* ME */
                                task = (task_t*)ike_config_create(this->ike_sa, FALSE);
                                array_insert(this->passive_tasks, ARRAY_TAIL, task);
-                               task = (task_t*)child_create_create(this->ike_sa, NULL, FALSE,
-                                                                                                       NULL, NULL);
-                               array_insert(this->passive_tasks, ARRAY_TAIL, task);
                                task = (task_t*)ike_auth_lifetime_create(this->ike_sa, FALSE);
                                array_insert(this->passive_tasks, ARRAY_TAIL, task);
                                task = (task_t*)ike_mobike_create(this->ike_sa, FALSE);
                                array_insert(this->passive_tasks, ARRAY_TAIL, task);
+                               task = (task_t*)child_create_create(this->ike_sa, NULL, FALSE,
+                                                                                                       NULL, NULL);
+                               array_insert(this->passive_tasks, ARRAY_TAIL, task);
                                break;
                        }
                        case CREATE_CHILD_SA: