traceroute: fix compile error due to FreeBSD compat
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
98cb561b5f
commit
2a1ce6b20e
@ -713,11 +713,16 @@ packet4_ok(int read_len, int seq)
|
|||||||
up = (struct udphdr *)((char *)hip + hlen);
|
up = (struct udphdr *)((char *)hip + hlen);
|
||||||
if (hlen + 12 <= read_len
|
if (hlen + 12 <= read_len
|
||||||
&& hip->ip_p == IPPROTO_UDP
|
&& hip->ip_p == IPPROTO_UDP
|
||||||
// Off: since we do not form the entire IP packet,
|
#if !defined(__FreeBSD__)
|
||||||
|
// Disabled source check: since we do not form the entire IP packet,
|
||||||
// but defer it to kernel, we can't set source port,
|
// but defer it to kernel, we can't set source port,
|
||||||
// and thus can't check it here in the reply
|
// and thus can't check it here in the reply
|
||||||
|
/* && up->source == ident */
|
||||||
|
&& up->dest == htons(port + seq)
|
||||||
|
#else
|
||||||
/* && up->uh_sport == ident */
|
/* && up->uh_sport == ident */
|
||||||
&& up->uh_dport == htons(port + seq)
|
&& up->uh_dport == htons(port + seq)
|
||||||
|
#endif
|
||||||
) {
|
) {
|
||||||
return (type == ICMP_TIMXCEED ? -1 : code + 1);
|
return (type == ICMP_TIMXCEED ? -1 : code + 1);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user