>Message: 1
>Date: Sat, 16 Sep 2017 13:38:31 +0100
>From: Peter Wu <[email protected]>
>To: John Dill <[email protected]>,
>        "[email protected]" <[email protected]>
>Subject: Re: [Wireshark-dev] causes for losing COL_PROTOCOL or
>        COL_INFO data
>Message-ID: <[email protected]>
>Content-Type: text/plain; charset=utf-8
>
>Hi John,
>
>Are your col_* functions guarded/affected by a check like if(tree) or do they 
>depend on pinfo->fd.visited? Are the affected frames >triggering reassembly or 
>exceptions?

Part of it is.  I have a udp heuristic dissector that has a section that's kind 
of like this.  I have to be careful with actual content, so here is pseudo-code 
skeletal structure.

gboolean
dissect_protocol_udp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, 
void *data)
{
  ...

  data_class = tvb_get_guint8(tvb, offset);

  if (data_class in list of recognized values)
  {
    col_add_str(pinfo->cinfo, COL_INFO, val_to_str(data_class, 
data_class_enum_vals, "Unknown"); /*this always works*/
    ...

    if (tree)
    {
      if (data_class == XXX) {
        dissect_xxx(tvb, pinfo, offset, tree);
      }
      if (data_class == YYY) {
        ...
      }
      ...
    }
    ...
  }
}

And the COL_INFO that gets lost is in the dissect_xxx function, which has 
several col_append functions used.  It gets lost after using a filter 
expression and I never get it back after that.

I've noticed this 'if (tree)' issue in a couple of the searches I've done 
attributed to this problem, but I don't quite understand the impact it has on 
dissection and populating the COL_INFO and friends column.  Any explanation or 
pointer to how this interaction works would be greatly appreciated.

Best regards,
John Dill

P.S. Thanks to Michael for the follow up too.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <[email protected]>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:[email protected]?subject=unsubscribe

Reply via email to