* [PATCH] iptables-restore/ip6tables-restore: add --version/-V argument @ 2017-04-03 21:32 Dan Williams 2017-04-08 22:04 ` Pablo Neira Ayuso 0 siblings, 1 reply; 8+ messages in thread From: Dan Williams @ 2017-04-03 21:32 UTC (permalink / raw) To: netfilter-devel Prints program version just like iptables/ip6tables. Signed-off-by: Dan Williams <dcbw@redhat.com> --- iptables/ip6tables-restore.c | 15 +++++++++++---- iptables/iptables-restore.c | 10 ++++++++-- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/iptables/ip6tables-restore.c b/iptables/ip6tables-restore.c index 8a47f09..83f4e4c 100644 --- a/iptables/ip6tables-restore.c +++ b/iptables/ip6tables-restore.c @@ -36,6 +36,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'}, @@ -48,11 +49,15 @@ static const struct option options[] = { static void print_usage(const char *name, const char *version) __attribute__((noreturn)); +#define prog_name ip6tables_globals.program_name +#define prog_vers ip6tables_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" @@ -78,8 +83,7 @@ static struct xtc_handle *create_handle(const char *tablename) if (!handle) { xtables_error(PARAMETER_PROBLEM, "%s: unable to initialize " - "table '%s'\n", ip6tables_globals.program_name, - tablename); + "table '%s'\n", prog_name, tablename); exit(1); } return handle; @@ -213,7 +217,7 @@ int ip6tables_restore_main(int argc, char *argv[]) init_extensions6(); #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"); @@ -224,6 +228,9 @@ int ip6tables_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; diff --git a/iptables/iptables-restore.c b/iptables/iptables-restore.c index 7bb06d8..a51deb5 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; -- 2.9.3 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] iptables-restore/ip6tables-restore: add --version/-V argument 2017-04-03 21:32 [PATCH] iptables-restore/ip6tables-restore: add --version/-V argument Dan Williams @ 2017-04-08 22:04 ` Pablo Neira Ayuso 2017-04-09 3:10 ` Dan Williams 0 siblings, 1 reply; 8+ messages in thread From: Pablo Neira Ayuso @ 2017-04-08 22:04 UTC (permalink / raw) To: Dan Williams; +Cc: netfilter-devel On Mon, Apr 03, 2017 at 04:32:40PM -0500, Dan Williams wrote: > Prints program version just like iptables/ip6tables. Applied, thanks. You sent us a chunk for the manpage? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] iptables-restore/ip6tables-restore: add --version/-V argument 2017-04-08 22:04 ` Pablo Neira Ayuso @ 2017-04-09 3:10 ` Dan Williams 2017-04-10 11:53 ` Pablo Neira Ayuso 0 siblings, 1 reply; 8+ messages in thread From: Dan Williams @ 2017-04-09 3:10 UTC (permalink / raw) To: Pablo Neira Ayuso; +Cc: netfilter-devel On Sun, 2017-04-09 at 00:04 +0200, Pablo Neira Ayuso wrote: > On Mon, Apr 03, 2017 at 04:32:40PM -0500, Dan Williams wrote: > > Prints program version just like iptables/ip6tables. > > Applied, thanks. > > You sent us a chunk for the manpage? I did not, but I will. I noticed there wasn't one for the iptables- restore --wait changes either, was Lorenzo going to send one? Mine would probably conflict with that. Dan ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] iptables-restore/ip6tables-restore: add --version/-V argument 2017-04-09 3:10 ` Dan Williams @ 2017-04-10 11:53 ` Pablo Neira Ayuso 2017-04-10 17:31 ` [PATCH 1/2 v2] " Dan Williams 0 siblings, 1 reply; 8+ messages in thread From: Pablo Neira Ayuso @ 2017-04-10 11:53 UTC (permalink / raw) To: Dan Williams; +Cc: netfilter-devel On Sat, Apr 08, 2017 at 10:10:16PM -0500, Dan Williams wrote: > On Sun, 2017-04-09 at 00:04 +0200, Pablo Neira Ayuso wrote: > > On Mon, Apr 03, 2017 at 04:32:40PM -0500, Dan Williams wrote: > > > Prints program version just like iptables/ip6tables. > > > > Applied, thanks. > > > > You sent us a chunk for the manpage? > > I did not, but I will. I noticed there wasn't one for the iptables- > restore --wait changes either, was Lorenzo going to send one? Mine > would probably conflict with that. Right. I forgot to ask for that chunk to Lorenzo. If you can help us on adding these missing chunks to the manpage, I would really appreciate this. Thanks! ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2 v2] iptables-restore/ip6tables-restore: add --version/-V argument 2017-04-10 11:53 ` Pablo Neira Ayuso @ 2017-04-10 17:31 ` Dan Williams 2017-04-10 17:35 ` [PATCH 2/2 v2] iptables-restore.8: document -w/-W options Dan Williams 2017-04-13 23:05 ` [PATCH 1/2 v2] iptables-restore/ip6tables-restore: add --version/-V argument Pablo Neira Ayuso 0 siblings, 2 replies; 8+ messages in thread From: Dan Williams @ 2017-04-10 17:31 UTC (permalink / raw) To: Pablo Neira Ayuso; +Cc: netfilter-devel Prints program version just like iptables/ip6tables. Signed-off-by: Dan Williams <dcbw@redhat.com> --- v2: documented new options in manpage iptables/ip6tables-restore.c | 15 +++++++++++---- iptables/iptables-restore.8.in | 7 +++++-- iptables/iptables-restore.c | 10 ++++++++-- 4 files changed, 25 insertions(+), 13 deletions(-) diff --git a/iptables/ip6tables-restore.c b/iptables/ip6tables-restore.c index 30a4ade..419a2b0 100644 --- a/iptables/ip6tables-restore.c +++ b/iptables/ip6tables-restore.c @@ -36,6 +36,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'}, @@ -48,11 +49,15 @@ static const struct option options[] = { static void print_usage(const char *name, const char *version) __attribute__((noreturn)); +#define prog_name ip6tables_globals.program_name +#define prog_vers ip6tables_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" @@ -78,8 +83,7 @@ static struct xtc_handle *create_handle(const char *tablename) if (!handle) { xtables_error(PARAMETER_PROBLEM, "%s: unable to initialize " - "table '%s'\n", ip6tables_globals.program_name, - tablename); + "table '%s'\n", prog_name, tablename); exit(1); } return handle; @@ -213,7 +217,7 @@ int ip6tables_restore_main(int argc, char *argv[]) init_extensions6(); #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"); @@ -224,6 +228,9 @@ int ip6tables_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; diff --git a/iptables/iptables-restore.8.in b/iptables/iptables-restore.8.in index 7a286b9..bba505d 100644 --- a/iptables/iptables-restore.8.in +++ b/iptables/iptables-restore.8.in @@ -23,10 +23,10 @@ iptables-restore \(em Restore IP Tables .P ip6tables-restore \(em Restore IPv6 Tables .SH SYNOPSIS -\fBiptables\-restore\fP [\fB\-chntv\fP] [\fB\-M\fP \fImodprobe\fP] +\fBiptables\-restore\fP [\fB\-chntvV\fP] [\fB\-M\fP \fImodprobe\fP] [\fB\-T\fP \fIname\fP] [\fBfile\fP] .P -\fBip6tables\-restore\fP [\fB\-chntv\fP] [\fB\-M\fP \fImodprobe\fP] +\fBip6tables\-restore\fP [\fB\-chntvV\fP] [\fB\-M\fP \fImodprobe\fP] [\fB\-T\fP \fIname\fP] [\fBfile\fP] .SH DESCRIPTION .PP @@ -53,6 +53,9 @@ Only parse and construct the ruleset, but do not commit it. \fB\-v\fP, \fB\-\-verbose\fP Print additional debug info during ruleset processing. .TP +\fB\-V\fP, \fB\-\-version\fP +Print the program version number. +.TP \fB\-M\fP, \fB\-\-modprobe\fP \fImodprobe_program\fP Specify the path to the modprobe program. By default, iptables-restore will inspect /proc/sys/kernel/modprobe to determine the executable's path. diff --git a/iptables/iptables-restore.c b/iptables/iptables-restore.c index 15db358..cb06559 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; -- 2.9.3 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/2 v2] iptables-restore.8: document -w/-W options 2017-04-10 17:31 ` [PATCH 1/2 v2] " Dan Williams @ 2017-04-10 17:35 ` Dan Williams 2017-04-13 23:05 ` Pablo Neira Ayuso 2017-04-13 23:05 ` [PATCH 1/2 v2] iptables-restore/ip6tables-restore: add --version/-V argument Pablo Neira Ayuso 1 sibling, 1 reply; 8+ messages in thread From: Dan Williams @ 2017-04-10 17:35 UTC (permalink / raw) To: Pablo Neira Ayuso; +Cc: netfilter-devel Fixes: 999eaa241212d3952ddff39a99d0d55a74e3639e Signed-off-by: Dan Williams <dcbw@redhat.com> --- iptables/iptables-restore.8.in | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/iptables/iptables-restore.8.in b/iptables/iptables-restore.8.in index bba505d..f751492 100644 --- a/iptables/iptables-restore.8.in +++ b/iptables/iptables-restore.8.in @@ -23,11 +23,13 @@ iptables-restore \(em Restore IP Tables .P ip6tables-restore \(em Restore IPv6 Tables .SH SYNOPSIS -\fBiptables\-restore\fP [\fB\-chntvV\fP] [\fB\-M\fP \fImodprobe\fP] -[\fB\-T\fP \fIname\fP] [\fBfile\fP] +\fBiptables\-restore\fP [\fB\-chntvV\fP] [\fB\-w\fP \fIsecs\fP] +[\fB\-W\fP \fIusecs\fP] [\fB\-M\fP \fImodprobe\fP] [\fB\-T\fP \fIname\fP] +[\fBfile\fP] .P -\fBip6tables\-restore\fP [\fB\-chntvV\fP] [\fB\-M\fP \fImodprobe\fP] -[\fB\-T\fP \fIname\fP] [\fBfile\fP] +\fBip6tables\-restore\fP [\fB\-chntvV\fP] [\fB\-w\fP \fIsecs\fP] +[\fB\-W\fP \fIusecs\fP] [\fB\-M\fP \fImodprobe\fP] [\fB\-T\fP \fIname\fP] +[\fBfile\fP] .SH DESCRIPTION .PP .B iptables-restore @@ -56,6 +58,21 @@ Print additional debug info during ruleset processing. \fB\-V\fP, \fB\-\-version\fP Print the program version number. .TP +\fB\-w\fP, \fB\-\-wait\fP [\fIseconds\fP] +Wait for the xtables lock. +To prevent multiple instances of the program from running concurrently, +an attempt will be made to obtain an exclusive lock at launch. By default, +the program will exit if the lock cannot be obtained. This option will +make the program wait (indefinitely or for optional \fIseconds\fP) until +the exclusive lock can be obtained. +.TP +\fB\-W\fP, \fB\-\-wait-interval\fP \fImicroseconds\fP +Interval to wait per each iteration. +When running latency sensitive applications, waiting for the xtables lock +for extended durations may not be acceptable. This option will make each +iteration take the amount of time specified. The default interval is +1 second. This option only works with \fB\-w\fP. +.TP \fB\-M\fP, \fB\-\-modprobe\fP \fImodprobe_program\fP Specify the path to the modprobe program. By default, iptables-restore will inspect /proc/sys/kernel/modprobe to determine the executable's path. -- 2.9.3 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2 v2] iptables-restore.8: document -w/-W options 2017-04-10 17:35 ` [PATCH 2/2 v2] iptables-restore.8: document -w/-W options Dan Williams @ 2017-04-13 23:05 ` Pablo Neira Ayuso 0 siblings, 0 replies; 8+ messages in thread From: Pablo Neira Ayuso @ 2017-04-13 23:05 UTC (permalink / raw) To: Dan Williams; +Cc: netfilter-devel On Mon, Apr 10, 2017 at 12:35:18PM -0500, Dan Williams wrote: > Fixes: 999eaa241212d3952ddff39a99d0d55a74e3639e Also applied, thanks. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2 v2] iptables-restore/ip6tables-restore: add --version/-V argument 2017-04-10 17:31 ` [PATCH 1/2 v2] " Dan Williams 2017-04-10 17:35 ` [PATCH 2/2 v2] iptables-restore.8: document -w/-W options Dan Williams @ 2017-04-13 23:05 ` Pablo Neira Ayuso 1 sibling, 0 replies; 8+ messages in thread From: Pablo Neira Ayuso @ 2017-04-13 23:05 UTC (permalink / raw) To: Dan Williams; +Cc: netfilter-devel On Mon, Apr 10, 2017 at 12:31:56PM -0500, Dan Williams wrote: > Prints program version just like iptables/ip6tables. Applied, thanks. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-04-13 23:05 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-04-03 21:32 [PATCH] iptables-restore/ip6tables-restore: add --version/-V argument Dan Williams 2017-04-08 22:04 ` Pablo Neira Ayuso 2017-04-09 3:10 ` Dan Williams 2017-04-10 11:53 ` Pablo Neira Ayuso 2017-04-10 17:31 ` [PATCH 1/2 v2] " Dan Williams 2017-04-10 17:35 ` [PATCH 2/2 v2] iptables-restore.8: document -w/-W options Dan Williams 2017-04-13 23:05 ` Pablo Neira Ayuso 2017-04-13 23:05 ` [PATCH 1/2 v2] iptables-restore/ip6tables-restore: add --version/-V argument Pablo Neira Ayuso
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).