Clear virtual IPs before storing assigned ones on the IKE_SA

Otherwise we'll end up with duplicate or invalid VIPs stored on the
IKE_SA.
This commit is contained in:
Tobias Brunner
2012-09-05 14:35:57 +02:00
parent 4c892fe533
commit d2e8f20d94
5 changed files with 43 additions and 1 deletions
@@ -344,6 +344,8 @@ METHOD(task_t, build_r, status_t,
vips = linked_list_create();
pools = linked_list_create();
this->ike_sa->clear_virtual_ips(this->ike_sa, FALSE);
enumerator = this->vips->create_enumerator(this->vips);
while (enumerator->enumerate(enumerator, &requested))
{
@@ -437,6 +439,8 @@ METHOD(task_t, process_i, status_t,
process_payloads(this, message);
this->ike_sa->clear_virtual_ips(this->ike_sa, TRUE);
enumerator = this->vips->create_enumerator(this->vips);
while (enumerator->enumerate(enumerator, &host))
{