batctl: Fix parsing of optional debug table command parameters 429/head
authorSven Eckelmann <sven@narfation.org>
Thu, 6 Dec 2018 08:21:15 +0000 (09:21 +0100)
committerSven Eckelmann <sven@narfation.org>
Thu, 6 Dec 2018 08:21:15 +0000 (09:21 +0100)
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: 8936141bf038 ("batctl: upgrade package to latest release 2018.4")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
batctl/Makefile
batctl/patches/0001-batctl-Fix-parsing-of-optional-debug-table-command-p.patch [new file with mode: 0644]

index 045ecde9b4fa1960f24c0c8a8e941c5ac04bf75e..d38874ea40161fd76a8a62ee5cf22021ec051265 100644 (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
diff --git a/batctl/patches/0001-batctl-Fix-parsing-of-optional-debug-table-command-p.patch b/batctl/patches/0001-batctl-Fix-parsing-of-optional-debug-table-command-p.patch
new file mode 100644 (file)
index 0000000..559d2ed
--- /dev/null
@@ -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;