From 8837080353d4648d69574568732fbe79457058c6 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Wed, 11 Feb 2009 12:50:04 +0000 Subject: [PATCH] respect family when assigning pool addresses --- src/charon/plugins/stroke/stroke_attribute.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/charon/plugins/stroke/stroke_attribute.c b/src/charon/plugins/stroke/stroke_attribute.c index e63d660b93..63525ffee4 100644 --- a/src/charon/plugins/stroke/stroke_attribute.c +++ b/src/charon/plugins/stroke/stroke_attribute.c @@ -202,6 +202,13 @@ static host_t* acquire_address(private_stroke_attribute_t *this, pool = find_pool(this, name); while (pool) { + if (requested->get_family(requested) != + pool->base->get_family(pool->base)) + { + DBG1(DBG_CFG, "IP pool address family mismatch"); + break; + } + /* handle %config case by mirroring requested address */ if (pool->size == 0) { @@ -298,7 +305,7 @@ static bool release_address(private_stroke_attribute_t *this, id = pool->ids->get(pool->ids, id); if (id) { - DBG1(DBG_CFG, "lease %H to %D went offline", address, id); + DBG1(DBG_CFG, "lease %H of %D is gone offline", address, id); pool->offline->put(pool->offline, id, (void*)offset); } }