lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190529175242.20919-1-nikolay@cumulusnetworks.com>
Date:   Wed, 29 May 2019 20:52:42 +0300
From:   Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
To:     netdev@...r.kernel.org
Cc:     roopa@...ulusnetworks.com, stephen@...workplumber.org,
        Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
Subject: [PATCH iproute2] bridge: mdb: restore text output format

While I fixed the mdb json output, I did overlook the text output.
This patch returns the original text output format:
 dev <bridge> port <port> grp <mcast group> <temp|permanent> <flags> <timer>
Example (old format, restored by this patch):
 dev br0 port eth8 grp 239.1.1.11 temp

Example (changed format after the commit below):
 23: br0  eth8  239.1.1.11  temp

We had some reports of failing scripts which were parsing the output.
Also the old format matches the bridge mdb command syntax which makes
it easier to build commands out of the output.

Fixes: c7c1a1ef51ae ("bridge: colorize output and use JSON print library")
Signed-off-by: Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
---
I know text output isn't considered API, but there are scripts out there
which rely on the format or at least on the old strings/values to be
present.

 bridge/mdb.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/bridge/mdb.c b/bridge/mdb.c
index 59aa17643517..eadc6212af70 100644
--- a/bridge/mdb.c
+++ b/bridge/mdb.c
@@ -132,21 +132,21 @@ static void print_mdb_entry(FILE *f, int ifindex, const struct br_mdb_entry *e,
 
 	open_json_object(NULL);
 
-	print_int(PRINT_ANY, "index", "%u: ", ifindex);
-	print_color_string(PRINT_ANY, COLOR_IFNAME, "dev", "%s ", dev);
-	print_string(PRINT_ANY, "port", " %s ",
+	print_int(PRINT_JSON, "index", NULL, ifindex);
+	print_color_string(PRINT_ANY, COLOR_IFNAME, "dev", "dev %s", dev);
+	print_string(PRINT_ANY, "port", " port %s",
 		     ll_index_to_name(e->ifindex));
 
 	print_color_string(PRINT_ANY, ifa_family_color(af),
-			    "grp", " %s ",
+			    "grp", " grp %s",
 			    inet_ntop(af, src, abuf, sizeof(abuf)));
 
-	print_string(PRINT_ANY, "state", " %s ",
+	print_string(PRINT_ANY, "state", " %s",
 			   (e->state & MDB_PERMANENT) ? "permanent" : "temp");
 
 	open_json_array(PRINT_JSON, "flags");
 	if (e->flags & MDB_FLAGS_OFFLOAD)
-		print_string(PRINT_ANY, NULL, "%s ", "offload");
+		print_string(PRINT_ANY, NULL, " %s", "offload");
 	close_json_array(PRINT_JSON, NULL);
 
 	if (e->vid)
-- 
2.20.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ