Description: Fixes replies when icmp-ipid is used Author: David Eisner 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;