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;
#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[] = {
{.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},
};
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");
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");
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);
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;
#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[] = {
{.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},
};
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");
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");
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);
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);
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
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;
#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'},
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");
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");
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 },
};
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);
case 'f':
file = optarg;
break;
+ case 'V':
+ printf("%s v%s\n", argv[0], IPTABLES_VERSION);
+ exit(0);
}
}
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);