1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-09 14:11:29 +00:00

Use 32-bit values, not 16, for IP ID values.

IP ID fields are overloaded to include the flow label of IPv6 packets.
In particular, abstract_ip_hdr is no longer limited to 16 bits.
This commit is contained in:
david
2013-10-27 06:33:45 +00:00
parent a628c0ae9c
commit 5df0e13ee2
3 changed files with 5 additions and 6 deletions

View File

@@ -730,8 +730,7 @@ static const void *ip_get_data_primitive(const void *packet, unsigned int *len,
memcpy(&sin6->sin6_addr, &ip6->ip6_dst, IP6_ADDR_LEN);
hdr->ttl = ip6->ip6_hlim;
/* abstract_hdr.ipid is limited to 16 bits. */
hdr->ipid = (u16) ntohl(ip6->ip6_flow & IP6_FLOWLABEL_MASK);
hdr->ipid = ntohl(ip6->ip6_flow & IP6_FLOWLABEL_MASK);
return ipv6_get_data_primitive(ip6, len, &hdr->proto, upperlayer_only);
}