Pass all configured pool names to attribute provider enumerator
[strongswan.git] / src / libcharon / sa / ikev2 / tasks / ike_config.c
index f3c0c2f..d0e0285 100644 (file)
@@ -338,7 +338,7 @@ METHOD(task_t, build_r, status_t,
                cp_payload_t *cp = NULL;
                peer_cfg_t *config;
                identification_t *id;
-               linked_list_t *vips;
+               linked_list_t *vips, *pools;
                char *pool;
 
                id = this->ike_sa->get_other_eap_id(this->ike_sa);
@@ -381,8 +381,14 @@ METHOD(task_t, build_r, status_t,
                {
                        vips->insert_last(vips, vip);
                }
+               pools = linked_list_create();
+               /* TODO: use list of all pools */
+               if (pool)
+               {
+                       pools->insert_last(pools, pool);
+               }
                enumerator = hydra->attributes->create_responder_enumerator(
-                                                                                       hydra->attributes, pool, id, vips);
+                                                                                       hydra->attributes, pools, id, vips);
                while (enumerator->enumerate(enumerator, &type, &value))
                {
                        if (!cp)
@@ -397,6 +403,7 @@ METHOD(task_t, build_r, status_t,
                }
                enumerator->destroy(enumerator);
                vips->destroy(vips);
+               pools->destroy(pools);
 
                if (cp)
                {