Inherit virtual IP and attributes from old to new, not from new to old
authorMartin Willi <martin@revosec.ch>
Mon, 10 Dec 2012 16:01:00 +0000 (17:01 +0100)
committerMartin Willi <martin@revosec.ch>
Mon, 10 Dec 2012 16:01:00 +0000 (17:01 +0100)
src/libcharon/sa/ike_sa.c

index 4862111..de050cd 100644 (file)
@@ -1979,14 +1979,14 @@ METHOD(ike_sa_t, inherit, void,
        this->other_id = other->other_id->clone(other->other_id);
 
        /* apply assigned virtual IPs... */
-       while (this->my_vips->remove_last(this->my_vips, (void**)&vip) == SUCCESS)
+       while (other->my_vips->remove_last(other->my_vips, (void**)&vip) == SUCCESS)
        {
-               other->my_vips->insert_first(other->my_vips, vip);
+               this->my_vips->insert_first(this->my_vips, vip);
        }
-       while (this->other_vips->remove_last(this->other_vips,
-                                                                                (void**)&vip) == SUCCESS)
+       while (other->other_vips->remove_last(other->other_vips,
+                                                                                 (void**)&vip) == SUCCESS)
        {
-               other->other_vips->insert_first(other->other_vips, vip);
+               this->other_vips->insert_first(this->other_vips, vip);
        }
 
        /* authentication information */