From 9cd3adbed2fd8cdb6366293f3799573b811be89b Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Mon, 10 Apr 2017 12:31:56 -0500 Subject: iptables-restore/ip6tables-restore: add --version/-V argument Prints program version just like iptables/ip6tables. Signed-off-by: Dan Williams Signed-off-by: Pablo Neira Ayuso --- iptables/iptables-restore.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'iptables/iptables-restore.c') diff --git a/iptables/iptables-restore.c b/iptables/iptables-restore.c index 15db3581..cb06559b 100644 --- a/iptables/iptables-restore.c +++ b/iptables/iptables-restore.c @@ -33,6 +33,7 @@ static struct timeval wait_interval = { static const struct option options[] = { {.name = "counters", .has_arg = 0, .val = 'c'}, {.name = "verbose", .has_arg = 0, .val = 'v'}, + {.name = "version", .has_arg = 0, .val = 'V'}, {.name = "test", .has_arg = 0, .val = 't'}, {.name = "help", .has_arg = 0, .val = 'h'}, {.name = "noflush", .has_arg = 0, .val = 'n'}, @@ -46,12 +47,14 @@ static const struct option options[] = { static void print_usage(const char *name, const char *version) __attribute__((noreturn)); #define prog_name iptables_globals.program_name +#define prog_vers iptables_globals.program_version static void print_usage(const char *name, const char *version) { - fprintf(stderr, "Usage: %s [-c] [-v] [-t] [-h] [-n] [-w secs] [-W usecs] [-T table] [-M command]\n" + fprintf(stderr, "Usage: %s [-c] [-v] [-V] [-t] [-h] [-n] [-w secs] [-W usecs] [-T table] [-M command]\n" " [ --counters ]\n" " [ --verbose ]\n" + " [ --version]\n" " [ --test ]\n" " [ --help ]\n" " [ --noflush ]\n" @@ -212,7 +215,7 @@ iptables_restore_main(int argc, char *argv[]) init_extensions4(); #endif - while ((c = getopt_long(argc, argv, "bcvthnwWM:T:", options, NULL)) != -1) { + while ((c = getopt_long(argc, argv, "bcvVthnwWM:T:", options, NULL)) != -1) { switch (c) { case 'b': fprintf(stderr, "-b/--binary option is not implemented\n"); @@ -223,6 +226,9 @@ iptables_restore_main(int argc, char *argv[]) case 'v': verbose = 1; break; + case 'V': + printf("%s v%s\n", prog_name, prog_vers); + exit(0); case 't': testing = 1; break; -- cgit v1.2.3