[Bug 3745] Wrong sender address for ping to multicast
bugzilla at busybox.net
bugzilla at busybox.net
Sun Sep 11 18:29:21 UTC 2011
https://bugs.busybox.net/show_bug.cgi?id=3745
Denys Vlasenko <vda.linux at googlemail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #1 from Denys Vlasenko <vda.linux at googlemail.com> ---
Committed the below patch as commit 5126cf9a15f9e5c3986be0fc2743b63adcc6b1fb
Please confirm that current git works for you. If it doesn't, reopen this bug.
diff -d -urpN busybox.4/networking/ping.c busybox.5/networking/ping.c
--- busybox.4/networking/ping.c 2011-09-11 16:45:32.268689149 +0200
+++ busybox.5/networking/ping.c 2011-09-11 20:24:11.839444987 +0200
@@ -613,7 +613,7 @@ static void unpack4(char *buf, int sz, s
}
}
#if ENABLE_PING6
-static void unpack6(char *packet, int sz, /*struct sockaddr_in6 *from,*/ int
hoplimit)
+static void unpack6(char *packet, int sz, struct sockaddr_in6 *from, int
hoplimit)
{
struct icmp6_hdr *icmppkt;
char buf[INET6_ADDRSTRLEN];
@@ -633,7 +633,7 @@ static void unpack6(char *packet, int sz
if (sz >= sizeof(struct icmp6_hdr) + sizeof(uint32_t))
tp = (uint32_t *) &icmppkt->icmp6_data8[4];
unpack_tail(sz, tp,
- inet_ntop(AF_INET6, &pingaddr.sin6.sin6_addr,
+ inet_ntop(AF_INET6, &from->sin6_addr,
buf, sizeof(buf)),
recv_seq, hoplimit);
} else if (icmppkt->icmp6_type != ICMP6_ECHO_REQUEST) {
@@ -783,7 +783,7 @@ static void ping6(len_and_sockaddr *lsa)
move_from_unaligned_int(hoplimit, CMSG_DATA(mp));
}
}
- unpack6(G.rcv_packet, c, /*&from,*/ hoplimit);
+ unpack6(G.rcv_packet, c, &from, hoplimit);
if (pingcount && nreceived >= pingcount)
break;
}
--
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the busybox-cvs
mailing list