mirror of
https://github.com/sheumann/hush.git
synced 2024-12-23 05:29:58 +00:00
ping: display real IPv6 response address. Hopefully closes 3745.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
46aa5e0859
commit
5126cf9a15
@ -613,7 +613,7 @@ static void unpack4(char *buf, int sz, struct sockaddr_in *from)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#if ENABLE_PING6
|
#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;
|
struct icmp6_hdr *icmppkt;
|
||||||
char buf[INET6_ADDRSTRLEN];
|
char buf[INET6_ADDRSTRLEN];
|
||||||
@ -633,7 +633,7 @@ static void unpack6(char *packet, int sz, /*struct sockaddr_in6 *from,*/ int hop
|
|||||||
if (sz >= sizeof(struct icmp6_hdr) + sizeof(uint32_t))
|
if (sz >= sizeof(struct icmp6_hdr) + sizeof(uint32_t))
|
||||||
tp = (uint32_t *) &icmppkt->icmp6_data8[4];
|
tp = (uint32_t *) &icmppkt->icmp6_data8[4];
|
||||||
unpack_tail(sz, tp,
|
unpack_tail(sz, tp,
|
||||||
inet_ntop(AF_INET6, &pingaddr.sin6.sin6_addr,
|
inet_ntop(AF_INET6, &from->sin6_addr,
|
||||||
buf, sizeof(buf)),
|
buf, sizeof(buf)),
|
||||||
recv_seq, hoplimit);
|
recv_seq, hoplimit);
|
||||||
} else if (icmppkt->icmp6_type != ICMP6_ECHO_REQUEST) {
|
} 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));
|
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)
|
if (pingcount && nreceived >= pingcount)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user