Comment # 8
on bug 8674
from Evan Huus
(In reply to comment #7)
> (In reply to comment #6)
> > Your patch overwrites an existing dissector attempt for this protocol. Did
> > you look at the previous implementation?
>
> This will replace the previous implementation which does basic decoding.
> This is to be a more thorough dissector. It will also include support for
> decoding vendor-specific fields.
>
> > Did you try using the wmem allocator with the wmem_epan_scope() pool?
> I did but the problem was that this data was contained in a binary tree
> which is created using seasonal storage. I will have to re-work this. The
> plan is to register an additional array of header_field_info structs. This
> array would be generated at runtime using values read from a vendor-supplied
> file. This would be generated at starup and persist until Wireshark is
> closed. Are there any other dissectors/examples that do something like this?
As of today wmem has a binary tree implementation that can be used with
wmem_epan_scope(). It behaves in almost all other respects like the seasonal
storage tree that you were using.
If I understand correctly, radius and diameter protocols do something similar
since they read dictionaries on startup to build their arrays. However, those
protocols currently use glib memory and therefore leak on shutdown, so don't
copy them too closely. I plan to eventually replace their glib allocations with
wmem allocations.
You are receiving this mail because:
- You are watching all bug changes.