Ethereal-dev: Re: [Ethereal-dev] Crash when using "Per packet information"

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Ronnie Sahlberg" <ronnie_sahlberg@xxxxxxxxxxxxxx>
Date: Tue, 15 Apr 2003 19:58:34 +1000
----- Original Message -----
From: "Shaul Eizikovich"
Sent: Tuesday, April 15, 2003 7:36 PM
Subject: [Ethereal-dev] Crash when using "Per packet information"


> I have been writing a new dissector where adjacent packets are grouped
> according to some accumulative data.
> To do so, I employed the p_add_proto_data() and p_get_proto_data()
function
> pair.

How can that work?
In the sequence of packets, how do you guarantee that no unrelated packets
creep in betweent eh packets you are interested in?

Do you do this to keep track of the packets in order to reassemble them into
larger PDUs?
If so there is extensive infrastructure already in ethereal to do
reassembly.

Do you need to separate packets belonging to different conversations? If so
have you looked
at the conversdation infrastructure?



>
> In short:
> Crash when redissecting.
> Important data: I do not pass pinfo->fd, rather I pass pinfo->fd->prev as
> first parameter  of p_get_proto_data()

Why do you need to keep information about the previous packet seen in the
capture file?
What guarantees this packet to be relevant?


There is a simple way to make sure a certain code is only excecuted once for
each packet
but please explain exactly why you look at the previous packet that happens
to occur in the capture file.
I want to know you really want the previous packet in the capture as opposed
to the previous relevant packet in the conversation.