diff options
author | Martin Willi <martin@strongswan.org> | 2009-11-23 13:50:01 +0100 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2009-11-23 13:50:01 +0100 |
commit | 06f02f993c6b0ac20ab648e75cc4ce965672da8a (patch) | |
tree | 71b60fc13f8c6ed5e42009dc36078e70a51b1bb3 /src | |
parent | 0d1d19b99d5cad06685fd62ba9021e510f6cd03e (diff) | |
download | strongswan-06f02f993c6b0ac20ab648e75cc4ce965672da8a.tar.bz2 strongswan-06f02f993c6b0ac20ab648e75cc4ce965672da8a.tar.xz |
Do not recreate existing create_child subtask when retrying with different DH group
Diffstat (limited to 'src')
-rw-r--r-- | src/charon/sa/tasks/child_rekey.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/charon/sa/tasks/child_rekey.c b/src/charon/sa/tasks/child_rekey.c index c3c9429c8..b5e4e84b4 100644 --- a/src/charon/sa/tasks/child_rekey.c +++ b/src/charon/sa/tasks/child_rekey.c @@ -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); |