Message ID | 20180530191132.62598-1-nharold@google.com |
---|---|
State | Accepted, archived |
Delegated to: | stephen hemminger |
Headers | show |
Series | iproute2: fix 'ip xfrm monitor all' command | expand |
On Wed, 30 May 2018 12:11:32 -0700 Nathan Harold <nharold@google.com> wrote: > Currently, calling 'ip xfrm monitor all' will > actually invoke the 'all-nsid' command because the > soft-match for 'all-nsid' occurs before the precise > match for 'all'. This patch rearranges the checks > so that the 'all' command, itself an alias for > invoking 'ip xfrm monitor' with no argument, can > be called consistent with the syntax for other ip > commands that accept an 'all'. > > Signed-off-by: Nathan Harold <nharold@google.com> Looks good, applied. After review it shouldn't break any existing command lines.
diff --git a/ip/xfrm_monitor.c b/ip/xfrm_monitor.c index 2eabece0..5d086768 100644 --- a/ip/xfrm_monitor.c +++ b/ip/xfrm_monitor.c @@ -359,6 +359,8 @@ int do_xfrm_monitor(int argc, char **argv) if (matches(*argv, "file") == 0) { NEXT_ARG(); file = *argv; + } else if (strcmp(*argv, "all") == 0) { + /* fall out */ } else if (matches(*argv, "all-nsid") == 0) { listen_all_nsid = 1; } else if (matches(*argv, "acquire") == 0) { @@ -381,7 +383,7 @@ int do_xfrm_monitor(int argc, char **argv) groups = 0; } else if (matches(*argv, "help") == 0) { usage(); - } else if (strcmp(*argv, "all")) { + } else { fprintf(stderr, "Argument \"%s\" is unknown, try \"ip xfrm monitor help\".\n", *argv); exit(-1); }
Currently, calling 'ip xfrm monitor all' will actually invoke the 'all-nsid' command because the soft-match for 'all-nsid' occurs before the precise match for 'all'. This patch rearranges the checks so that the 'all' command, itself an alias for invoking 'ip xfrm monitor' with no argument, can be called consistent with the syntax for other ip commands that accept an 'all'. Signed-off-by: Nathan Harold <nharold@google.com> --- ip/xfrm_monitor.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)