Jon Oberheide:
Ethereal does not take into account the protocol field of the IP header when reassembling fragmented packets as specified in RFC791. This can lead to incorrect reassembly of packets with an identical src address, dst address, and identification number, but with differing protocols. The attached patch includes the protocol in the generation of the id used to index into the reassembly table. svn path=/trunk/; revision=16937
This commit is contained in:
parent
fc2169de53
commit
74dc6c2d5f
|
@ -1115,7 +1115,7 @@ dissect_ip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
|
|||
tvb_bytes_exist(tvb, offset, pinfo->iplen - pinfo->iphdrlen) &&
|
||||
ipsum == 0) {
|
||||
ipfd_head = fragment_add_check(tvb, offset, pinfo,
|
||||
iph->ip_id ^ src32 ^ dst32,
|
||||
iph->ip_p ^ iph->ip_id ^ src32 ^ dst32,
|
||||
ip_fragment_table,
|
||||
ip_reassembled_table,
|
||||
(iph->ip_off & IP_OFFSET)*8,
|
||||
|
|
Loading…
Reference in New Issue