aboutsummaryrefslogtreecommitdiffstats
path: root/src/libhydra/attributes
diff options
context:
space:
mode:
Diffstat (limited to 'src/libhydra/attributes')
-rw-r--r--src/libhydra/attributes/attribute_manager.c4
-rw-r--r--src/libhydra/attributes/attribute_manager.h5
-rw-r--r--src/libhydra/attributes/attribute_provider.h5
3 files changed, 8 insertions, 6 deletions
diff --git a/src/libhydra/attributes/attribute_manager.c b/src/libhydra/attributes/attribute_manager.c
index e7a687a50..000d2e082 100644
--- a/src/libhydra/attributes/attribute_manager.c
+++ b/src/libhydra/attributes/attribute_manager.c
@@ -84,7 +84,7 @@ METHOD(attribute_manager_t, acquire_address, host_t*,
}
METHOD(attribute_manager_t, release_address, bool,
- private_attribute_manager_t *this, char *pool, host_t *address,
+ private_attribute_manager_t *this, linked_list_t *pools, host_t *address,
identification_t *id)
{
enumerator_t *enumerator;
@@ -95,7 +95,7 @@ METHOD(attribute_manager_t, release_address, bool,
enumerator = this->providers->create_enumerator(this->providers);
while (enumerator->enumerate(enumerator, &current))
{
- if (current->release_address(current, pool, address, id))
+ if (current->release_address(current, pools, address, id))
{
found = TRUE;
break;
diff --git a/src/libhydra/attributes/attribute_manager.h b/src/libhydra/attributes/attribute_manager.h
index 45e5a40f1..99f41772c 100644
--- a/src/libhydra/attributes/attribute_manager.h
+++ b/src/libhydra/attributes/attribute_manager.h
@@ -51,13 +51,14 @@ struct attribute_manager_t {
/**
* Release a previously acquired address.
*
- * @param pool pool name from which the address was acquired
+ * @param pools list of pool names (char*) to release to
* @param address address to release
* @param id peer identity to get address for
* @return TRUE if address released to pool
*/
bool (*release_address)(attribute_manager_t *this,
- char *pool, host_t *address, identification_t *id);
+ linked_list_t *pools, host_t *address,
+ identification_t *id);
/**
* Create an enumerator over attributes to hand out to a peer.
diff --git a/src/libhydra/attributes/attribute_provider.h b/src/libhydra/attributes/attribute_provider.h
index 7d0acdbac..e5e556fc4 100644
--- a/src/libhydra/attributes/attribute_provider.h
+++ b/src/libhydra/attributes/attribute_provider.h
@@ -46,13 +46,14 @@ struct attribute_provider_t {
/**
* Release a previously acquired address.
*
- * @param pool name of the pool this address was acquired from
+ * @param pools list of pool names (char*) to release to
* @param address address to release
* @param id peer ID
* @return TRUE if the address has been released by the provider
*/
bool (*release_address)(attribute_provider_t *this,
- char *pool, host_t *address, identification_t *id);
+ linked_list_t *pools, host_t *address,
+ identification_t *id);
/**
* Create an enumerator over attributes to hand out to a peer.