From b8e7799003e414fbe4f6f865500a3efffcfbbf67 Mon Sep 17 00:00:00 2001 From: Nathan Harold Date: Wed, 30 May 2018 12:11:32 -0700 Subject: [PATCH] iproute2: fix 'ip xfrm monitor all' command 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 Signed-off-by: Stephen Hemminger --- ip/xfrm_monitor.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ip/xfrm_monitor.c b/ip/xfrm_monitor.c index 2eabece0c..5d0867685 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); } -- 2.47.3