Do not recreate existing create_child subtask when retrying with different DH group
authorMartin Willi <martin@strongswan.org>
Mon, 23 Nov 2009 12:50:01 +0000 (13:50 +0100)
committerMartin Willi <martin@strongswan.org>
Mon, 23 Nov 2009 12:50:01 +0000 (13:50 +0100)
src/charon/sa/tasks/child_rekey.c

index c3c9429..b5e4e84 100644 (file)
@@ -152,9 +152,12 @@ static status_t build_i(private_child_rekey_t *this, message_t *message)
        message->add_payload(message, (payload_t*)notify);
 
        /* ... our CHILD_CREATE task does the hard work for us. */
+       if (!this->child_create)
+       {
+               this->child_create = child_create_create(this->ike_sa, config, TRUE,
+                                                                                                NULL, NULL);
+       }
        reqid = this->child_sa->get_reqid(this->child_sa);
-       this->child_create = child_create_create(this->ike_sa, config, TRUE,
-                                                                                        NULL, NULL);
        this->child_create->use_reqid(this->child_create, reqid);
        this->child_create->task.build(&this->child_create->task, message);