Since upgrading to mtr-0.69, I've been getting duplicate entries for multi-path routers. This first bug affects 5.4 and 6.0: <http://www.bitwizard.nl/cgi-bin/mtr/incoming?id=2506> There's also a bug in the IPv6 handling that affects FreeBSD 6.0 (fix found by Hajimu UMEMOTO). Fix: The following patch fixes both of these issues: This patch can also be downloaded here: <http://www.knigma.org.uk/scratch/patch-net.c.txt>--8nDys3Y2EDtiePpT5V7mVwL8aKLHMq4U9sFkPns69P2WqbyF Content-Type: text/plain; name="file.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="file.diff" Index: patch-net.c =================================================================== RCS file: /home/ncvs/ports/net/mtr/files/patch-net.c,v retrieving revision 1.1 diff -u -r1.1 patch-net.c --- patch-net.c 29 Oct 2004 22:31:02 -0000 1.1 +++ patch-net.c 16 Nov 2005 19:43:15 -0000 @@ -1,10 +1,28 @@ ---- net.c.orig Wed Aug 25 09:21:27 2004 -+++ net.c Tue Oct 26 12:46:58 2004 -@@ -249,7 +249,6 @@ +--- net.c.orig Thu Jan 13 08:13:53 2005 ++++ net.c Wed Nov 16 19:43:05 2005 +@@ -277,7 +277,7 @@ + exit( EXIT_FAILURE); + } + echotype = ICMP6_ECHO_REQUEST; +- salen = sizeof (struct sockaddr_storage); ++ salen = sizeof (struct sockaddr_in6); + break; + #endif + } +@@ -305,7 +305,6 @@ rv = sendto(sendsock, packet, abs(packetsize), 0, - (struct sockaddr *)&remoteaddress, sizeof(remoteaddress)); + remotesockaddr, salen); if (rv >= 0) { - fprintf (stderr, "You've got a broken (FreeBSD?) system\n"); BSDfix = 1; } } +@@ -346,7 +345,7 @@ + addrcpy( (void *) &(host[index].addrs[0]), addr, af ); + } else { + for( i=0; i<MAXPATH; ) { +- if( addrcmp( (void *) &(host[index].addrs[i]), (void *) &addr, ++ if( addrcmp( (void *) &(host[index].addrs[i]), addr, + af ) == 0 || + addrcmp( (void *) &(host[index].addrs[i]), + (void *) &unspec_addr, af ) == 0 ) break; How-To-Repeat: Use mtr on a 6.0-STABLE system.
Responsible Changed From-To: freebsd-ports-bugs->billf Over to maintainer
State Changed From-To: open->closed Committed, thanks!