|From: Tomas Kukosa
|
|>>|That will, I think, work for TCP - but for other protocols,
|where the
|>>|reassembly is done above the layer that handles the reassembled data
|>>|(e.g., IP fragment reassembly), that won't do it; we'd have
|to handle
|>>|that in some other way.
|>>
|>>Couldn't we add this to the generic reassembly code?
|>
|>
|> No, because the generic reassembly code doesn't know what
|protocols will
|> show up above the layer at which it's doing the reassembly - even the
|> dissector *calling* the generic reassembly doesn't necessarily know
|> that, if heuristic dissectors are involve.
|
|I have an another idea.
|Could not we create a new function
|void add_new_data_source_reassembled(packet_info *pinfo,
|tvbuff_t *tvb, char *name,
|fragment_data *fd_head)
|which would save to packet_info together with the new data
|source the list of frames used
|for its creation.
|The save routine could check that list and could save all
|necessary frames (it should be save dialog option).
I was thinking at keeping a handle while reassembling fragments; when we
found the last fragment, we can then use the handle to do the protocol
assignment.
Regards,
Olivier