Delete the in-memory IP address pools if a connection gets deleted.
This fixes ipsec reload.
This commit is contained in:
@@ -376,6 +376,11 @@ void delete_connection(connection_t *c, bool relations)
|
|||||||
vip->destroy(vip);
|
vip->destroy(vip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (c->kind != CK_GOING_AWAY)
|
||||||
|
{
|
||||||
|
whack_attr->del_pool(whack_attr, c->name);
|
||||||
|
}
|
||||||
|
|
||||||
/* free internal data */
|
/* free internal data */
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
cur_debugging = old_cur_debugging;
|
cur_debugging = old_cur_debugging;
|
||||||
|
|||||||
@@ -160,6 +160,9 @@ METHOD(whack_attribute_t, del_pool, void,
|
|||||||
{
|
{
|
||||||
if (streq(name, pool->get_name(pool)))
|
if (streq(name, pool->get_name(pool)))
|
||||||
{
|
{
|
||||||
|
DBG(DBG_CONTROL,
|
||||||
|
DBG_log("deleting virtual IP address pool '%s'", name)
|
||||||
|
);
|
||||||
this->pools->remove_at(this->pools, enumerator);
|
this->pools->remove_at(this->pools, enumerator);
|
||||||
pool->destroy(pool);
|
pool->destroy(pool);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user