Wireshark mailing list archives

climbing trees


From: Ed Beroset <beroset () mindspring com>
Date: Tue, 17 May 2011 11:08:00 -0400 (GMT-04:00)

(I posted this email twelve hours ago, but it hasn't shown up, so I'm resending.  Sorry if it's a duplicate.)

I've updated the patch for bug 5531 per comments from Jeff Morriss (thanks, Jeff!) but he brought up a comment I don't 
know how to address, so I thought I'd ask here.  The comment is on a bit of code that looks 
like this:

   /* at this point there are two possibilities:  either the packet
    * has been dissected already or it has not.  If it has not, then
    * we already have a tvb full of C12.22 data.  If it has, then we
    * are actually two levels deep and the data we seek is actually in
    * the grandparent of the current node.
    */
   if ((tree->parent->finfo != NULL) && (tree->parent->parent != NULL))
     pkt_tree = tree->parent->parent;

This code, which is within asn1/c1222/packet-c1222-template.c, is called when we're just displaying the list of packets 
and also when the packet is being displayed in tree form.  In order to allow the use of a display filter such as 
"c1222.crypto_good == true" the packet has to be parsed and rearranged in canonical form for cryptographic processing, 
per the protocol.  In some cases, what gets passed here is the whole packet in which case the if clause above is false. 
 However, if the tree has already been constructed, what this code is handed is actually deeper inside and we need to 
climb the tree to get access to the packet data.

Is there a better way to do this?

Ed
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe


Current thread: