]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
test first and up in the outer while loop
authorAndreas Steffen <andreas.steffen@strongswan.org>
Sun, 7 Oct 2012 10:46:19 +0000 (12:46 +0200)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Sun, 7 Oct 2012 10:46:19 +0000 (12:46 +0200)
src/libcharon/plugins/tnc_ifmap/tnc_ifmap_soap.c

index b13193612ab4917f79922a533c343f2e2f4a3420..6465f509607b1b60acb57e013825a0dce3edbfb8 100644 (file)
@@ -584,7 +584,7 @@ METHOD(tnc_ifmap_soap_t, publish_ike_sa, bool,
         * update or delete capability metadata
         */
        e1 = ike_sa->create_auth_cfg_enumerator(ike_sa, FALSE);
-       while (e1->enumerate(e1, &auth))
+       while (e1->enumerate(e1, &auth) && (first || up))
        {
                e2 = auth->create_enumerator(auth);
                while (e2->enumerate(e2, &type, &group))
@@ -621,10 +621,6 @@ METHOD(tnc_ifmap_soap_t, publish_ike_sa, bool,
                                axiom_node_add_child(node2, this->env,
                                                                         create_capability(this, group));
                        }
-                       if (!first && !up)
-                       {
-                               break;
-                       }
                }
                e2->destroy(e2);
        }