Date: Wed, 19 Jan 2011 18:04:34 GMT From: Petr Lampa <lampa@fit.vutbr.cz> To: freebsd-gnats-submit@FreeBSD.org Subject: bin/154147: netstat -ian leaking out embedded scope index Message-ID: <201101191804.p0JI4Y0K012437@red.freebsd.org> Resent-Message-ID: <201101191810.p0JIACUh058741@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 154147
>Category: bin
>Synopsis: netstat -ian leaking out embedded scope index
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed Jan 19 18:10:12 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Petr Lampa
>Release: 8.2-PRERELEASE
>Organization:
BUT FIT
>Environment:
FreeBSD XXX 8.2-PRERELEASE FreeBSD 8.2-PRERELEASE #18: Tue Jan 18 15:59:42 CET 2011 XXX@XXX:/usr/src/sys/i386/compile/GUTA i386
>Description:
netstat -ian
em0 1500 2001:718:802: 2001:718:802:809: 22110 - - 25384 - -
ff05::1:3 (refs: 1)
ff02:1::1:2 (refs: 1)
ff02:1::202 (refs: 1)
ff02:1::1:ffe5:913 (refs: 1)
ff02:1::1:ffe5:90b (refs: 1)
ff01:1::1 (refs: 1)
ff02:1::2:7d68:cd71(refs: 1)
ff02:1::1 (refs: 1)
ff02:1::1:ff30:8646(refs: 1)
Some multicast addresses have embedded scope index in output.
Original report is here:
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=280697+0+current/freebsd-net
>How-To-Repeat:
netstat -ian
>Fix:
/usr/src/usr.bin/netstat
*** if.c.old 2011-01-19 18:41:32.000000000 +0100
--- if.c 2011-01-19 18:53:18.000000000 +0100
***************
*** 475,480 ****
--- 475,487 ----
break;
#ifdef INET6
case AF_INET6:
+ if (IN6_IS_ADDR_LINKLOCAL(&msa.in6.sin6_addr) ||
+ IN6_IS_ADDR_MC_NODELOCAL(&msa.in6.sin6_addr) ||
+ IN6_IS_ADDR_MC_LINKLOCAL(&msa.in6.sin6_addr)) {
+
+ msa.in6.sin6_addr.s6_addr[2] = 0;
+ msa.in6.sin6_addr.s6_addr[3] = 0;
+ }
printf("%*s %-19.19s(refs: %d)\n",
Wflag ? 27 : 25, "",
inet_ntop(AF_INET6,
Patch attached with submission follows:
*** usr.bin/netstat/if.c.old 2011-01-19 18:41:32.000000000 +0100
--- usr.bin/netstat/if.c 2011-01-19 18:53:18.000000000 +0100
***************
*** 475,480 ****
--- 475,487 ----
break;
#ifdef INET6
case AF_INET6:
+ if (IN6_IS_ADDR_LINKLOCAL(&msa.in6.sin6_addr) ||
+ IN6_IS_ADDR_MC_NODELOCAL(&msa.in6.sin6_addr) ||
+ IN6_IS_ADDR_MC_LINKLOCAL(&msa.in6.sin6_addr)) {
+
+ msa.in6.sin6_addr.s6_addr[2] = 0;
+ msa.in6.sin6_addr.s6_addr[3] = 0;
+ }
printf("%*s %-19.19s(refs: %d)\n",
Wflag ? 27 : 25, "",
inet_ntop(AF_INET6,
>Release-Note:
>Audit-Trail:
>Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101191804.p0JI4Y0K012437>
