From d8eec395b22cc890c6f38236392753c6c80b5cc6 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Fri, 24 Aug 2012 09:07:50 +0000 Subject: Add a getter for the mem_pool_t base address --- src/libhydra/attributes/mem_pool.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/libhydra/attributes/mem_pool.c') diff --git a/src/libhydra/attributes/mem_pool.c b/src/libhydra/attributes/mem_pool.c index f55b3a7d1..33b116d05 100644 --- a/src/libhydra/attributes/mem_pool.c +++ b/src/libhydra/attributes/mem_pool.c @@ -162,6 +162,12 @@ METHOD(mem_pool_t, get_name, const char*, return this->name; } +METHOD(mem_pool_t, get_base, host_t*, + private_mem_pool_t *this) +{ + return this->base; +} + METHOD(mem_pool_t, get_size, u_int, private_mem_pool_t *this) { @@ -463,6 +469,7 @@ mem_pool_t *mem_pool_create(char *name, host_t *base, int bits) INIT(this, .public = { .get_name = _get_name, + .get_base = _get_base, .get_size = _get_size, .get_online = _get_online, .get_offline = _get_offline, -- cgit v1.2.3 From 40e90898895c20d4807f14957bd58faa663127f0 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Mon, 27 Aug 2012 16:24:44 +0200 Subject: Strictly enforce address family match while acquiring mem_pool IPs --- src/libhydra/attributes/mem_pool.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/libhydra/attributes/mem_pool.c') diff --git a/src/libhydra/attributes/mem_pool.c b/src/libhydra/attributes/mem_pool.c index 33b116d05..b2fed2703 100644 --- a/src/libhydra/attributes/mem_pool.c +++ b/src/libhydra/attributes/mem_pool.c @@ -226,11 +226,9 @@ METHOD(mem_pool_t, acquire_address, host_t*, return requested->clone(requested); } - if (!requested->is_anyaddr(requested) && - requested->get_family(requested) != + if (requested->get_family(requested) != this->base->get_family(this->base)) { - DBG1(DBG_CFG, "IP pool address family mismatch"); return NULL; } -- cgit v1.2.3