Date: Sat, 07 Feb 2026 09:52:16 +0000 From: Michael Osipov <michaelo@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: 58a369a6f6ce - stable/15 - sockstat: Surround explicit IPv6 addresses with brackets Message-ID: <69870b50.1d9a2.173537f9@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch stable/15 has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=58a369a6f6ce6786ef7aa4715c96548f36ae3962 commit 58a369a6f6ce6786ef7aa4715c96548f36ae3962 Author: Michael Osipov <michaelo@FreeBSD.org> AuthorDate: 2025-12-26 17:27:12 +0000 Commit: Michael Osipov <michaelo@FreeBSD.org> CommitDate: 2026-02-07 09:51:50 +0000 sockstat: Surround explicit IPv6 addresses with brackets PR: 254611 Approved by: otis, tuexen, des MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54375 (cherry picked from commit fe81e3944c085e765c83c4f78941d7529ceb556e) --- usr.bin/sockstat/main.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/usr.bin/sockstat/main.c b/usr.bin/sockstat/main.c index 75c4b2aad223..df09245a8f0d 100644 --- a/usr.bin/sockstat/main.c +++ b/usr.bin/sockstat/main.c @@ -897,6 +897,7 @@ formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) struct sockaddr_un *sun; int error, off, port = 0; char addrstr[NI_MAXHOST] = ""; + bool needs_ipv6_brackets = false; switch (ss->ss_family) { case AF_INET: @@ -907,6 +908,8 @@ formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) case AF_INET6: if (IN6_IS_ADDR_UNSPECIFIED(&sstosin6(ss)->sin6_addr)) addrstr[0] = '*'; + else + needs_ipv6_brackets = true; port = ntohs(sstosin6(ss)->sin6_port); break; case AF_UNIX: @@ -915,7 +918,7 @@ formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) if (is_xo_style_encoding) { xo_emit("{:path/%.*s}", sun->sun_len - off, sun->sun_path); - return 0; + return (0); } return snprintf(buf, bufsize, "%.*s", sun->sun_len - off, sun->sun_path); @@ -931,6 +934,11 @@ formataddr(struct sockaddr_storage *ss, char *buf, size_t bufsize) xo_emit("{:port/%d}", port); return (0); } + if (needs_ipv6_brackets) { + if (port == 0) + return (snprintf(buf, bufsize, "[%s]:*", addrstr)); + return (snprintf(buf, bufsize, "[%s]:%d", addrstr, port)); + } if (port == 0) return (snprintf(buf, bufsize, "%s:*", addrstr)); return (snprintf(buf, bufsize, "%s:%d", addrstr, port));home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69870b50.1d9a2.173537f9>
