[connman] Added Tizen Wi-Fi Mesh
[platform/upstream/connman.git] / tools / iptables-test.c
old mode 100644 (file)
new mode 100755 (executable)
index f20404b..2df53cc
@@ -30,6 +30,7 @@
 
 enum iptables_command {
        IPTABLES_COMMAND_APPEND,
+       IPTABLES_COMMAND_INSERT,
        IPTABLES_COMMAND_DELETE,
        IPTABLES_COMMAND_POLICY,
        IPTABLES_COMMAND_CHAIN_INSERT,
@@ -48,12 +49,16 @@ int main(int argc, char *argv[])
        opterr = 0;
 
        while ((c = getopt_long(argc, argv,
-                               "-A:D:P:N:X:F:Lt:", NULL, NULL)) != -1) {
+                               "-A:I:D:P:N:X:F:Lt:", NULL, NULL)) != -1) {
                switch (c) {
                case 'A':
                        chain = optarg;
                        cmd = IPTABLES_COMMAND_APPEND;
                        break;
+               case 'I':
+                       chain = optarg;
+                       cmd = IPTABLES_COMMAND_INSERT;
+                       break;
                case 'D':
                        chain = optarg;
                        cmd = IPTABLES_COMMAND_DELETE;
@@ -87,11 +92,11 @@ int main(int argc, char *argv[])
        }
 
 out:
-       if (table == NULL)
+       if (!table)
                table = "filter";
 
        for (i = optind - 1; i < argc; i++) {
-               if (rule != NULL) {
+               if (rule) {
                        tmp = rule;
                        rule = g_strdup_printf("%s %s", rule,  argv[i]);
                        g_free(tmp);
@@ -105,6 +110,9 @@ out:
        case IPTABLES_COMMAND_APPEND:
                err = __connman_iptables_append(table, chain, rule);
                break;
+       case IPTABLES_COMMAND_INSERT:
+               err = __connman_iptables_insert(table, chain, rule);
+               break;
        case IPTABLES_COMMAND_DELETE:
                err = __connman_iptables_delete(table, chain, rule);
                break;
@@ -121,13 +129,13 @@ out:
                err = __connman_iptables_flush_chain(table, chain);
                break;
        case IPTABLES_COMMAND_DUMP:
-               __connman_log_init(argv[0], "*", FALSE, FALSE,
+               __connman_log_init(argv[0], "*", false, false,
                        "iptables-test", "1");
                err = __connman_iptables_dump(table);
                break;
        case IPTABLES_COMMAND_UNKNOWN:
                printf("Missing command\n");
-               printf("usage: iptables-test [-t table] {-A|-D} chain rule\n");
+               printf("usage: iptables-test [-t table] {-A|-I|-D} chain rule\n");
                printf("       iptables-test [-t table] {-N|-X|-F} chain\n");
                printf("       iptables-test [-t table] -L\n");
                printf("       iptables-test [-t table] -P chain target\n");