[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <182a039f-5e8f-3c37-a32b-ae4562c57c1c@der-flo.net>
Date: Mon, 31 Jul 2017 21:50:04 +0200
From: Florian Lehner <dev@...-flo.net>
To: netdev@...r.kernel.org
Subject: [PATCH v2] ss: Enclose IPv6 address in brackets
This updated patch adds support for RFC2732 IPv6 address format with
brackets for the tool ss. Resolved hostnames will not be enclosed in
brackets, therefore the global variable resolve_hosts is initialized and
checked.
Signed-off-by: Lehner Florian <dev@...-flo.net>
---
misc/ss.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/misc/ss.c b/misc/ss.c
index 12763c9..ac94537 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -88,7 +88,7 @@ static int security_get_initial_context(char *name,
char **context)
}
#endif
-int resolve_hosts;
+int resolve_hosts = 0;
int resolve_services = 1;
int preferred_family = AF_UNSPEC;
int show_options;
@@ -1059,7 +1059,11 @@ static void inet_addr_print(const inet_prefix *a,
int port, unsigned int ifindex
ap = format_host(AF_INET, 4, a->data);
}
} else {
- ap = format_host(a->family, 16, a->data);
+ if (a->family == AF_INET6 && !resolve_hosts) {
+ sprintf(buf, "[%s]", format_host(a->family, 16, a->data));
+ } else {
+ ap = format_host(a->family, 16, a->data);
+ }
est_len = strlen(ap);
if (est_len <= addr_width)
est_len = addr_width;
--
2.9.4
Powered by blists - more mailing lists