Ethereal-dev: Re: [Ethereal-dev] DCERPC plugins possible?

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: Mon, 22 Jul 2002 15:35:22 -0700
On Mon, Jul 22, 2002 at 03:27:50PM -0700, Jaime Fournier wrote:
> If I wanted to convert packet-dcerpc-mgmt.c to a
> plugin, would it be possible without converting the
> whole dcerpc layer?

Currently, no - at least not on Windows.

You would have to export "dcerpc_init_uuid()" to plugins by adding
entries for it to the lists of plugin functions in:

	"init_plugins()" in "epan/plugins.c";

	"plugin_address_table_init()" in "plugins/plugin_api.c";

	"plugins/plugin_api.h";

	"plugins/plugin_api_decls.h"

	"plugins/plugin_table.h".

You would also have to export any of the utility routines from, say,
"packet-dcerpc.c" that aren't already exported and that your dissector
would use, in the same fashion.

That might require adding some additional #includes to "epan/plugins.c"
in the

	#ifdef PLUGINS_NEED_ADDRESS_TABLE

		...

	#endif

section of #includes, and add them to "plugins/plugin_api.h" as well.

Once that's done, a DCE RPC dissector could be a plugin dissector
(assuming it doesn't use *other* non-exported routines, in which case
you'd have to export them as well).