blob: 6fba71d657e4aa8efb1b806a9fe09fec1eb965bf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
Description: Fixes replies when icmp-ipid is used
Author: David Eisner <deisner@gmail.com>
Last-Update: 2015-12-18
--- a/waitpacket.c
+++ b/waitpacket.c
@@ -244,7 +244,8 @@ int recv_icmp(void *packet, size_t size)
if ((icmp.type == ICMP_ECHOREPLY ||
icmp.type == ICMP_TIMESTAMPREPLY ||
icmp.type == ICMP_ADDRESSREPLY) &&
- icmp.un.echo.id == (getpid() & 0xffff))
+ icmp.un.echo.id == ((icmp_ip_id == DEFAULT_ICMP_IP_ID) ?
+ getpid() & 0xffff : icmp_ip_id) )
{
int icmp_seq = icmp.un.echo.sequence;
int status;
|