On Mon, Mar 16, 2015 at 4:19 PM, <mmann78@xxxxxxxxxxxx> wrote:
> The SocketCan dissector has an enumerated preference to pick its
> subdissector, manually finding all enumerated options through
> find_dissector(). This doesn't work well for plugins and they are not going
> to modify enum preference source as the whole point is to not have to modify
> Wireshark source to get a plugin to work.
>
> So I feel I have a few choices:
> 1. Change enumeration to "string" preference to have user put it dissector
> by name. I think this requires too much intimate knowledge of Wireshark and
> results in "Go Fish" (either to get the dissector name right or incorrectly
> trying to dissect protocols that don't run over CAN)
> 2. I'd like a dissector table with for the dissectors to register with
> dissector_add_for_decode_as (there is no "value" that distinguishes
> subdissectors), but that either leaves the enum preference "useless" or it
> just gets in the way of Decode As (which seems like the proper place for
> this all along). And I can't seem to figure out how I would populate a enum
> list with the dissectors in time to register the preference.
>
> Is there a best/preferred solution for this? I'm leaning towards just
> removing the enum preference in favor of strictly using Decode As (and using
> User Specific Decodes as any notion of a "saved" preference)
+1
If I remember correctly, Wireshark Qt saves Decode As settings by
default anyways.