Process ike_vendor task before ike_init, fixes support for private algs in IKE
[strongswan.git] / src / charon / sa / ike_sa.c
index dd523fe..c3a1b94 100644 (file)
@@ -1191,10 +1191,10 @@ static status_t initiate(private_ike_sa_t *this,
 
                set_condition(this, COND_ORIGINAL_INITIATOR, TRUE);
 
-               task = (task_t*)ike_init_create(&this->public, TRUE, NULL);
-               this->task_manager->queue_task(this->task_manager, task);
                task = (task_t*)ike_vendor_create(&this->public, TRUE);
                this->task_manager->queue_task(this->task_manager, task);
+               task = (task_t*)ike_init_create(&this->public, TRUE, NULL);
+               this->task_manager->queue_task(this->task_manager, task);
                task = (task_t*)ike_natd_create(&this->public, TRUE);
                this->task_manager->queue_task(this->task_manager, task);
                task = (task_t*)ike_cert_pre_create(&this->public, TRUE);