]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
xtables: add nf_tables vs. legacy postfix to version strings
authorFlorian Westphal <fw@strlen.de>
Mon, 18 Jun 2018 11:27:59 +0000 (13:27 +0200)
committerFlorian Westphal <fw@strlen.de>
Mon, 18 Jun 2018 12:52:07 +0000 (14:52 +0200)
-V now yields:
arptables vlibxtables.so.12 (nf_tables)
ebtables 1.6.2 (nf_tables)
ip6tables v1.6.2 (legacy)
ip6tables v1.6.2 (nf_tables)
ip6tables-restore v1.6.2 (nf_tables)
ip6tables-save v1.6.2 (nf_tables)
ip6tables-restore v1.6.2 (legacy)
ip6tables-restore-translate v1.6.2
ip6tables-save v1.6.2 (legacy)
ip6tables-translate v1.6.2 (nf_tables)
iptables v1.6.2 (legacy)
iptables v1.6.2 (nf_tables)
iptables-restore v1.6.2 (nf_tables)
iptables-save v1.6.2 (nf_tables)
iptables-restore v1.6.2 (legacy)
iptables-restore-translate v1.6.2
iptables-save v1.6.2 (legacy)
iptables-translate v1.6.2 (nf_tables)

This allows to see wheter "iptables" is using
old set/getsockopt or new nf_tables infrastructure.

Suggested-by: Harald Welte <laforge@gnumonks.org>
Signed-off-by: Florian Westphal <fw@strlen.de>
12 files changed:
iptables/ip6tables-restore.c
iptables/ip6tables-save.c
iptables/ip6tables.c
iptables/iptables-restore.c
iptables/iptables-save.c
iptables/iptables.c
iptables/xtables-arp.c
iptables/xtables-eb.c
iptables/xtables-restore.c
iptables/xtables-save.c
iptables/xtables-translate.c
iptables/xtables.c

index 47310f20b936390d52c999a5f0a1e7d0f37b3206..ceffa616a03fe4fd1056ee588fab5fbbb90dd26f 100644 (file)
@@ -228,7 +228,7 @@ int ip6tables_restore_main(int argc, char *argv[])
                                verbose = 1;
                                break;
                        case 'V':
-                               printf("%s v%s\n", prog_name, prog_vers);
+                               printf("%s v%s (legacy)\n", prog_name, prog_vers);
                                exit(0);
                        case 't':
                                testing = 1;
index 8e3a6afd939d515e53ac5c5a662fe3549fbb513b..5085982bfc197554a21b8698364c1087d5475417 100644 (file)
@@ -19,6 +19,9 @@
 #include "ip6tables.h"
 #include "ip6tables-multi.h"
 
+#define prog_name ip6tables_globals.program_name
+#define prog_vers ip6tables_globals.program_version
+
 static int show_counters;
 
 static const struct option options[] = {
@@ -27,6 +30,7 @@ static const struct option options[] = {
        {.name = "table",    .has_arg = true,  .val = 't'},
        {.name = "modprobe", .has_arg = true,  .val = 'M'},
        {.name = "file",     .has_arg = true,  .val = 'f'},
+       {.name = "version",  .has_arg = false, .val = 'V'},
        {NULL},
 };
 
@@ -146,7 +150,7 @@ int ip6tables_save_main(int argc, char *argv[])
        init_extensions6();
 #endif
 
-       while ((c = getopt_long(argc, argv, "bcdt:M:f:", options, NULL)) != -1) {
+       while ((c = getopt_long(argc, argv, "bcdt:M:f:V", options, NULL)) != -1) {
                switch (c) {
                case 'b':
                        fprintf(stderr, "-b/--binary option is not implemented\n");
@@ -180,6 +184,9 @@ int ip6tables_save_main(int argc, char *argv[])
                case 'd':
                        do_output(tablename);
                        exit(0);
+               case 'V':
+                       printf("%s v%s (legacy)\n", prog_name, prog_vers);
+                       exit(0);
                default:
                        fprintf(stderr,
                                "Look at manual page `ip6tables-save.8' for more information.\n");
index 6954c25228d53c68c8203073d7df99c1bc9f6b70..12f82c7f831a4b9c78f80ad6b06b3596cf666aa0 100644 (file)
@@ -1667,7 +1667,7 @@ int do_command6(int argc, char *argv[], char **table,
                        if (cs.invert)
                                printf("Not %s ;-)\n", prog_vers);
                        else
-                               printf("%s v%s\n",
+                               printf("%s v%s (legacy)\n",
                                       prog_name, prog_vers);
                        exit(0);
 
index 074552af5dc7429db30c3ec431dff00ac80515b3..39198752a22a8ace840ef3f5ae14dd40eb769d8e 100644 (file)
@@ -226,7 +226,7 @@ iptables_restore_main(int argc, char *argv[])
                                verbose = 1;
                                break;
                        case 'V':
-                               printf("%s v%s\n", prog_name, prog_vers);
+                               printf("%s v%s (legacy)\n", prog_name, prog_vers);
                                exit(0);
                        case 't':
                                testing = 1;
index d59bd34a62b6869329f100d79a62fa0a61a7115e..d694d212d7edf0d30aeaef2253d09872479080de 100644 (file)
@@ -18,6 +18,9 @@
 #include "iptables.h"
 #include "iptables-multi.h"
 
+#define prog_name iptables_globals.program_name
+#define prog_vers iptables_globals.program_version
+
 static int show_counters;
 
 static const struct option options[] = {
@@ -26,6 +29,7 @@ static const struct option options[] = {
        {.name = "table",    .has_arg = true,  .val = 't'},
        {.name = "modprobe", .has_arg = true,  .val = 'M'},
        {.name = "file",     .has_arg = true,  .val = 'f'},
+       {.name = "version",  .has_arg = false, .val = 'V'},
        {NULL},
 };
 
@@ -145,7 +149,7 @@ iptables_save_main(int argc, char *argv[])
        init_extensions4();
 #endif
 
-       while ((c = getopt_long(argc, argv, "bcdt:M:f:", options, NULL)) != -1) {
+       while ((c = getopt_long(argc, argv, "bcdt:M:f:V", options, NULL)) != -1) {
                switch (c) {
                case 'b':
                        fprintf(stderr, "-b/--binary option is not implemented\n");
@@ -179,6 +183,9 @@ iptables_save_main(int argc, char *argv[])
                case 'd':
                        do_output(tablename);
                        exit(0);
+               case 'V':
+                       printf("%s v%s (legacy)\n", prog_name, prog_vers);
+                       exit(0);
                default:
                        fprintf(stderr,
                                "Look at manual page `iptables-save.8' for more information.\n");
index acacf182a8343bed6adb0e611076ba6d6b5de5a8..fe9fd15b93df024ad5d0d7a27c0d0c073e400b5c 100644 (file)
@@ -1657,7 +1657,7 @@ int do_command4(int argc, char *argv[], char **table,
                        if (cs.invert)
                                printf("Not %s ;-)\n", prog_vers);
                        else
-                               printf("%s v%s\n",
+                               printf("%s v%s (legacy)\n",
                                       prog_name, prog_vers);
                        exit(0);
 
index c4cda7e0cf318da2a71bdce36527235e10a217a2..eb03beb7b72c81e6119d7253a7f2777cb679ba02 100644 (file)
@@ -1259,7 +1259,7 @@ int do_commandarp(struct nft_handle *h, int argc, char *argv[], char **table)
                        if (invert)
                                printf("Not %s ;-)\n", program_version);
                        else
-                               printf("%s v%s\n",
+                               printf("%s v%s (nf_tables)\n",
                                       program_name, program_version);
                        exit(0);
 
index 7255907559017b886a6696bb91295317a59798a4..e22181eebe603d52b4ed7a7bb5f24034e61544f1 100644 (file)
@@ -941,7 +941,7 @@ print_zero:
                        if (exec_style == EXEC_STYLE_DAEMON)
                                xtables_error(PARAMETER_PROBLEM,
                                              "%s %s\n", prog_name, prog_vers);
-                       printf("%s %s\n", prog_name, prog_vers);
+                       printf("%s %s (nf_tables)\n", prog_name, prog_vers);
                        exit(0);
                case 'h': /* Help */
 #ifdef SILENT_DAEMON
index 3270ec027f458162c74c7f2107f1276e517e85f2..4a7685356095419674dbebcd73f297cca24b589e 100644 (file)
@@ -485,7 +485,7 @@ xtables_restore_main(int family, const char *progname, int argc, char *argv[])
                                verbose = 1;
                                break;
                        case 'V':
-                               printf("%s v%s\n", prog_name, prog_vers);
+                               printf("%s v%s (nf_tables)\n", prog_name, prog_vers);
                                exit(0);
                        case 't':
                                p.testing = 1;
index 8bcc31fd9d48d696cc7c2d16cda07b6338f6c9df..1652fbbc5e2f75b79d5a59a2309735c0c7ef9aa4 100644 (file)
 #include <dlfcn.h>
 #endif
 
+#define prog_name xtables_globals.program_name
+#define prog_vers xtables_globals.program_version
+
 static bool show_counters = false;
 
 static const struct option options[] = {
        {.name = "counters", .has_arg = false, .val = 'c'},
+       {.name = "version",  .has_arg = false, .val = 'V'},
        {.name = "dump",     .has_arg = false, .val = 'd'},
        {.name = "table",    .has_arg = true,  .val = 't'},
        {.name = "modprobe", .has_arg = true,  .val = 'M'},
@@ -101,7 +105,7 @@ xtables_save_main(int family, const char *progname, int argc, char *argv[])
                exit(1);
        }
 
-       while ((c = getopt_long(argc, argv, "bcdt:M:f:46", options, NULL)) != -1) {
+       while ((c = getopt_long(argc, argv, "bcdt:M:f:46V", options, NULL)) != -1) {
                switch (c) {
                case 'b':
                        fprintf(stderr, "-b/--binary option is not implemented\n");
@@ -142,6 +146,9 @@ xtables_save_main(int family, const char *progname, int argc, char *argv[])
                        h.family = AF_INET6;
                        xtables_set_nfproto(AF_INET6);
                        break;
+               case 'V':
+                       printf("%s v%s (nf_tables)\n", prog_name, prog_vers);
+                       exit(0);
                default:
                        fprintf(stderr,
                                "Look at manual page `xtables-save.8' for more information.\n");
index b08ac354dd73df17988f1163ac211797aa78b08c..f4c0f9cf5a1814474aede8f049af0411800017d2 100644 (file)
@@ -324,6 +324,7 @@ static void print_usage(const char *name, const char *version)
 static const struct option options[] = {
        { .name = "help",       .has_arg = false,       .val = 'h' },
        { .name = "file",       .has_arg = true,        .val = 'f' },
+       { .name = "version",    .has_arg = false,       .val = 'V' },
        { NULL },
 };
 
@@ -505,7 +506,7 @@ static int xtables_restore_xlate_main(int family, const char *progname,
                exit(EXIT_FAILURE);
 
        opterr = 0;
-       while ((c = getopt_long(argc, argv, "hf:", options, NULL)) != -1) {
+       while ((c = getopt_long(argc, argv, "hf:V", options, NULL)) != -1) {
                switch (c) {
                case 'h':
                        print_usage(argv[0], IPTABLES_VERSION);
@@ -513,6 +514,9 @@ static int xtables_restore_xlate_main(int family, const char *progname,
                case 'f':
                        file = optarg;
                        break;
+               case 'V':
+                       printf("%s v%s\n", argv[0], IPTABLES_VERSION);
+                       exit(0);
                }
        }
 
index 7476c974451ae50ac4af6c2951c9cab9e661c99a..e03e8f317768ddf1c83f72383a960515538f0d44 100644 (file)
@@ -991,7 +991,7 @@ void do_parse(struct nft_handle *h, int argc, char *argv[],
                        if (cs->invert)
                                printf("Not %s ;-)\n", prog_vers);
                        else
-                               printf("%s v%s\n",
+                               printf("%s v%s (nf_tables)\n",
                                       prog_name, prog_vers);
                        exit(0);