batctl: Fix parsing of optional debug table command parameters

The commands which should have no support for -t/-u/-m/-i were allowed to
accept these parameters but commands which should have accepted them were
denying them.

Fixes: 8936141bf0 ("batctl: upgrade package to latest release 2018.4")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
Sven Eckelmann 2018-12-06 09:21:15 +01:00
parent 4167ad2c62
commit db1869971d
2 changed files with 58 additions and 1 deletions

View File

@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=batctl
PKG_VERSION:=2018.4
PKG_RELEASE:=0
PKG_RELEASE:=1
PKG_HASH:=e43827a5e868b4e134e77ca04da989fde1981463166bf1b6f2053acc3edd6257
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz

View File

@ -0,0 +1,57 @@
From: Sven Eckelmann <sven@narfation.org>
Date: Thu, 6 Dec 2018 07:31:59 +0100
Subject: [PATCH] batctl: Fix parsing of optional debug table command parameters
The commands which should have no support for -t/-u/-m/-i were allowed to
accept these parameters but commands which should have accepted them were
denying them.
Fixes: cd2b4047ead9 ("batctl: Convert debug table to command infrastructure")
Reported-by: Andreas Ziegler <dev@andreas-ziegler.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Forwarded: https://patchwork.open-mesh.org/patch/17667/
---
debug.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/debug.c b/debug.c
index 2979dff99af0b1c98f56931e8650e298dd9eac9b..316312f7162dbe0dc38ced2df1444887482e7bad 100644
--- a/debug.c
+++ b/debug.c
@@ -89,7 +89,7 @@ int handle_debug_table(struct state *state, int argc, char **argv)
}
break;
case 't':
- if (debug_table->option_watch_interval) {
+ if (!debug_table->option_watch_interval) {
fprintf(stderr, "Error - unrecognised option '-%c'\n", optchar);
debug_table_usage(state);
return EXIT_FAILURE;
@@ -105,7 +105,7 @@ int handle_debug_table(struct state *state, int argc, char **argv)
read_opt |= SKIP_HEADER;
break;
case 'u':
- if (debug_table->option_unicast_only) {
+ if (!debug_table->option_unicast_only) {
fprintf(stderr, "Error - unrecognised option '-%c'\n", optchar);
debug_table_usage(state);
return EXIT_FAILURE;
@@ -114,7 +114,7 @@ int handle_debug_table(struct state *state, int argc, char **argv)
read_opt |= UNICAST_ONLY;
break;
case 'm':
- if (debug_table->option_multicast_only) {
+ if (!debug_table->option_multicast_only) {
fprintf(stderr, "Error - unrecognised option '-%c'\n", optchar);
debug_table_usage(state);
return EXIT_FAILURE;
@@ -123,7 +123,7 @@ int handle_debug_table(struct state *state, int argc, char **argv)
read_opt |= MULTICAST_ONLY;
break;
case 'i':
- if (debug_table->option_orig_iface) {
+ if (!debug_table->option_orig_iface) {
fprintf(stderr, "Error - unrecognised option '-%c'\n", optchar);
debug_table_usage(state);
return EXIT_FAILURE;