HA kernel interface can mangle netfilter rules, currently with iptables invocation

This commit is contained in:
Martin Willi
2010-04-07 13:55:14 +02:00
committed by Martin Willi
parent dbc91f7c84
commit 4e248733a8
4 changed files with 183 additions and 29 deletions
+4 -11
View File
@@ -125,7 +125,7 @@ static segment_mask_t parse_active(char *active)
plugin_t *plugin_create()
{
private_ha_sync_plugin_t *this;
char *local, *remote, *secret, *external, *internal;
char *local, *remote, *secret, *virtuals;
segment_mask_t active;
u_int count;
bool fifo;
@@ -134,10 +134,8 @@ plugin_t *plugin_create()
"charon.plugins.ha_sync.local", NULL);
remote = lib->settings->get_str(lib->settings,
"charon.plugins.ha_sync.remote", NULL);
external = lib->settings->get_str(lib->settings,
"charon.plugins.ha_sync.external", NULL);
internal = lib->settings->get_str(lib->settings,
"charon.plugins.ha_sync.internal", NULL);
virtuals = lib->settings->get_str(lib->settings,
"charon.plugins.ha_sync.virtuals", "");
secret = lib->settings->get_str(lib->settings,
"charon.plugins.ha_sync.secret", NULL);
fifo = lib->settings->get_bool(lib->settings,
@@ -151,11 +149,6 @@ plugin_t *plugin_create()
DBG1(DBG_CFG, "HA sync config misses local/remote address");
return NULL;
}
if (!external || !internal)
{
DBG1(DBG_CFG, "HA sync config misses external/internal virtual address");
return NULL;
}
this = malloc_thing(private_ha_sync_plugin_t);
@@ -169,7 +162,7 @@ plugin_t *plugin_create()
free(this);
return NULL;
}
this->kernel = ha_sync_kernel_create(count, active, external, internal);
this->kernel = ha_sync_kernel_create(count, active, virtuals);
if (!this->kernel)
{
this->socket->destroy(this->socket);