bin/154147: netstat -ian leaking out embedded scope index
>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:
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscribe@freebsd.org"
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):