From owner-freebsd-bugs@FreeBSD.ORG Thu Jan 20 12:40:10 2011 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E73031065670 for ; Thu, 20 Jan 2011 12:40:10 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id BCA2A8FC0A for ; Thu, 20 Jan 2011 12:40:10 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p0KCeAaE082709 for ; Thu, 20 Jan 2011 12:40:10 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p0KCeAZf082708; Thu, 20 Jan 2011 12:40:10 GMT (envelope-from gnats) Date: Thu, 20 Jan 2011 12:40:10 GMT Message-Id: <201101201240.p0KCeAZf082708@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Petr Lampa Cc: Subject: Re: bin/154147: netstat -ian leaking out embedded scope index X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Petr Lampa List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jan 2011 12:40:11 -0000 The following reply was made to PR bin/154147; it has been noted by GNATS. From: Petr Lampa To: bug-followup@FreeBSD.org, lampa@fit.vutbr.cz Cc: Subject: Re: bin/154147: netstat -ian leaking out embedded scope index Date: Thu, 20 Jan 2011 13:38:54 +0100 I've just found yet another case of leaking out embedded scope index: netstat -i em0 1500 fe80:1::230:4 fe80:1::230:48ff: 943 - - 9907 - lo0 16384 fe80:3::1 fe80:3::1 0 - - 0 - should be: em0 1500 fe80::230:48f fe80::230:48ff:fe 943 - - 9913 - lo0 16384 fe80::1 fe80::1 0 - - 0 - Here is the second patch: *** if.c.old 2011-01-19 18:41:32.000000000 +0100 --- if.c 2011-01-20 13:32:10.000000000 +0100 *************** *** 347,352 **** --- 347,358 ---- #ifdef INET6 case AF_INET6: sockin6 = (struct sockaddr_in6 *)sa; + if (IN6_IS_ADDR_LINKLOCAL(&sockin6->sin6_addr) | | + IN6_IS_ADDR_MC_NODELOCAL(&sockin6->sin6_addr ) || + IN6_IS_ADDR_MC_LINKLOCAL(&sockin6->sin6_addr )) { + sockin6->sin6_addr.s6_addr[2] = 0; + sockin6->sin6_addr.s6_addr[3] = 0; + } printf("%-13.13s ", netname6(&ifaddr.in6.ia_addr, &ifaddr.in6.ia_prefixmask.sin6_addr)); Petr Lampa -- Computer Centre E-mail: lampa@fit.vutbr.cz Faculty of Information Technology Web: http://www.fit.vutbr.cz/ Brno University of Technology Fax: +420 54114-1270 Bozetechova 2, 612 66 Brno, Czech Republic Phone: +420 54114-1225