Ethereal-dev: Re: [Ethereal-dev] GIOP GUI Pref patch

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

From: Guy Harris <guy@xxxxxxxxxx>
Date: Thu, 28 Jun 2001 13:19:28 -0700 (PDT)
> 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.