diff options
Diffstat (limited to 'tools/iptables-unit.c')
-rwxr-xr-x | tools/iptables-unit.c | 94 |
1 files changed, 7 insertions, 87 deletions
diff --git a/tools/iptables-unit.c b/tools/iptables-unit.c index 7e427e21..426631a0 100755 --- a/tools/iptables-unit.c +++ b/tools/iptables-unit.c @@ -24,6 +24,7 @@ #endif #include <glib.h> +#include <errno.h> #include "../src/connman.h" @@ -32,6 +33,7 @@ static bool assert_rule(const char *table_name, const char *rule) char *cmd, *output, **lines; GError **error = NULL; int i; + bool ret = true; cmd = g_strdup_printf(IPTABLES_SAVE " -t %s", table_name); g_spawn_command_line_sync(cmd, &output, NULL, NULL, error); @@ -39,18 +41,20 @@ static bool assert_rule(const char *table_name, const char *rule) lines = g_strsplit(output, "\n", 0); g_free(output); + if (!lines) + return false; for (i = 0; lines[i]; i++) { DBG("lines[%02d]: %s\n", i, lines[i]); if (g_strcmp0(lines[i], rule) == 0) break; } - g_strfreev(lines); if (!lines[i]) - return false; + ret = false; - return true; + g_strfreev(lines); + return ret; } static void assert_rule_exists(const char *table_name, const char *rule) @@ -402,85 +406,6 @@ static void test_nat_basic1(void) g_free(service); } -static void test_firewall_basic0(void) -{ - struct firewall_context *ctx; - int err; - - ctx = __connman_firewall_create(); - g_assert(ctx); - - err = __connman_firewall_add_rule(ctx, "filter", "INPUT", - "-m mark --mark 999 -j LOG"); - g_assert(err == 0); - - err = __connman_firewall_enable(ctx); - g_assert(err == 0); - - assert_rule_exists("filter", ":connman-INPUT - [0:0]"); - assert_rule_exists("filter", "-A INPUT -j connman-INPUT"); - assert_rule_exists("filter", "-A connman-INPUT -m mark --mark 0x3e7 -j LOG"); - - err = __connman_firewall_disable(ctx); - g_assert(err == 0); - - assert_rule_not_exists("filter", ":connman-INPUT - [0:0]"); - assert_rule_not_exists("filter", "-A INPUT -j connman-INPUT"); - assert_rule_not_exists("filter", "-A connman-INPUT -m mark --mark 0x3e7 -j LOG"); - - __connman_firewall_destroy(ctx); -} - -static void test_firewall_basic1(void) -{ - struct firewall_context *ctx; - int err; - - ctx = __connman_firewall_create(); - g_assert(ctx); - - err = __connman_firewall_add_rule(ctx, "filter", "INPUT", - "-m mark --mark 999 -j LOG"); - g_assert(err == 0); - - err = __connman_firewall_add_rule(ctx, "filter", "OUTPUT", - "-m mark --mark 999 -j LOG"); - g_assert(err == 0); - - err = __connman_firewall_enable(ctx); - g_assert(err == 0); - - err = __connman_firewall_disable(ctx); - g_assert(err == 0); - - __connman_firewall_destroy(ctx); -} - -static void test_firewall_basic2(void) -{ - struct firewall_context *ctx; - int err; - - ctx = __connman_firewall_create(); - g_assert(ctx); - - err = __connman_firewall_add_rule(ctx, "mangle", "INPUT", - "-j CONNMARK --restore-mark"); - g_assert(err == 0); - - err = __connman_firewall_add_rule(ctx, "mangle", "POSTROUTING", - "-j CONNMARK --save-mark"); - g_assert(err == 0); - - err = __connman_firewall_enable(ctx); - g_assert(err == 0); - - err = __connman_firewall_disable(ctx); - g_assert(err == 0); - - __connman_firewall_destroy(ctx); -} - static gchar *option_debug = NULL; static bool parse_debug(const char *key, const char *value, @@ -527,7 +452,6 @@ int main(int argc, char *argv[]) "Unit Tests Connection Manager", VERSION); __connman_iptables_init(); - __connman_firewall_init(); __connman_nat_init(); g_test_add_func("/iptables/chain0", test_iptables_chain0); @@ -540,14 +464,10 @@ int main(int argc, char *argv[]) g_test_add_func("/iptables/target0", test_iptables_target0); g_test_add_func("/nat/basic0", test_nat_basic0); g_test_add_func("/nat/basic1", test_nat_basic1); - g_test_add_func("/firewall/basic0", test_firewall_basic0); - g_test_add_func("/firewall/basic1", test_firewall_basic1); - g_test_add_func("/firewall/basic2", test_firewall_basic2); err = g_test_run(); __connman_nat_cleanup(); - __connman_firewall_cleanup(); __connman_iptables_cleanup(); g_free(option_debug); |