> I have added a GUI pref for GIOP to allow enabling/disabling
> of (the not too far away..) giop subdissectors.
By "subdissectors" do you mean dissectors for protocols built atop GIOP,
just as, say, the NFS and NLM dissectors are protocols built atop ONC
RPC?
If so, then those dissectors will be registering themselves as
protocols, and the right way to disable them is the same way you disable
any other protocol, i.e. through the "Edit->Protocols" dialog.
To do that, you'd:
have "register_giop_user()" and "register_giop_user_module()"
take, as an argument, the "proto_XXX" value for that dissector
(as returned when the subdissector calls
"proto_register_protocol()"), and put that value into the data
structure for the subdissector;
have "try_explicit_giop_dissector()" check, as soon as it's
determined that "module_val" is non-null, whether the
protocol for that module is enabled (by calling
"proto_is_protocol_enabled()" with the "proto_XXX" value for the
protocol as an argument) - if it doesn't, it just calls
"dissect_data()" on the data, and returns;
have "try_heuristic_giop_dissector()" check, before calling the
heuristic subdissector, whether the protocol for that
subdissector is enabled and, if it's not, continue through the
loop, skipping that subdissector.