Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-bugs: [Wireshark-bugs] [Bug 3264] TCP reassembly: tcp.reassembled_in is not set in fir

Date: Wed, 25 Feb 2009 17:47:21 -0800 (PST)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3264


didier gautheron <dgautheron@xxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dgautheron@xxxxxxxx




--- Comment #1 from didier gautheron <dgautheron@xxxxxxxx>  2009-02-25 17:47:16 PDT ---
Hi,
(In reply to comment #0)
> 
> If you can point me to the right place to fix the problem I'll be happy to
> supply a patch.
> 
The bug is in epan/dissectors/packet-tcp.c:desegment_tcp() function
around line 1814:

if (!called_dissector || pinfo->desegment_len != 0) {
  if (ipfd_head != NULL && ipfd_head->reassembled_in != 0 &&
                    !(ipfd_head->flags & FD_PARTIAL_REASSEMBLY)) {
        item=proto_tree_add_uint(tcp_tree, hf_tcp_reassembled_in,
                            tvb, 0, 0, ipfd_head->reassembled_in);
         PROTO_ITEM_SET_GENERATED(item);
  }

for the first segment ipfd_head is NULL.

Something like
if (!called_dissector || pinfo->desegment_len != 0) {
 if (pinfo->desegment_offset == 0 && !ipfd_head) {
     /* cf epan/reassemble.c on how to write lookup_head 
     */
     ipfd_head = lookup_head(pinfo->fd->num , ... );
     /* not sure what to put in .... start seq, seq len ? */ 
 }

 if (ipfd_head != NULL && ipfd_head->reassembled_in != 0 &&
                    !(ipfd_head->flags & FD_PARTIAL_REASSEMBLY)) {
        item=proto_tree_add_uint(tcp_tree, hf_tcp_reassembled_in,

....
may work.

Good luck.


-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.