]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
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 48621111db04dbc2be8af567680aeb4b934489ee..de050cd3cfad4f382f91d5cc02a9ca6a3c0782fa 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 */