---
 tools/iptables-test.c |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/tools/iptables-test.c b/tools/iptables-test.c
index a7193c2..887fd3c 100644
--- a/tools/iptables-test.c
+++ b/tools/iptables-test.c
@@ -1137,9 +1137,22 @@ static int add_entry(struct ipt_entry *entry, struct 
connman_iptables *table)
 
 static struct connman_iptables *connman_iptables_init(const char *table_name)
 {
-       struct connman_iptables *table;
+       struct connman_iptables *table = NULL;
+       char *module = NULL;
        socklen_t s;
 
+       if (xtables_insmod("ip_tables", NULL, TRUE) != 0)
+               goto err;
+
+       module = g_strconcat("iptable_", table_name, NULL);
+       if (module == NULL)
+               goto err;
+
+       if (xtables_insmod(module, NULL, TRUE) != 0)
+               goto err;
+
+       g_free(module);
+
        table =  g_try_new0(struct connman_iptables, 1);
        if (table == NULL)
                return NULL;
@@ -1182,10 +1195,10 @@ static struct connman_iptables 
*connman_iptables_init(const char *table_name)
                        table->blob_entries->size,
                                add_entry, table);
 
-
        return table;
 
 err:
+       g_free(module);
 
        connman_iptables_cleanup(table);
 
-- 
1.7.3.4

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to