Ethereal-dev: Re: [Ethereal-dev] New dissector

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

From: Olivier Abad <oabad@xxxxxxx>
Date: Tue, 15 Apr 2003 23:38:21 +0200
On mar, avr 15, 2003 at 01:40:58 +0200, philippe.vivarelli@xxxxxxxxxxxxx wrote:
> 
> The new dissector I talked about (called encaps)  is a plugin.
> "make install" place 2 files (encaps.la, encaps.so)  in
> /usr/local/lib/ethereal/plugins/.
> In this directory I can see the other plugins names (megaco, mgcp, pcli,
> etc...) so I think it's the rigth place to have my plugin files.
> 
> But maybe I miss some configuration somewhere else.

Try running ethereal with gdb, and put a breakpoint un plugins_scan_dir
This functions loads all the plugins found in the plugins directory.

If ethereal can't load a plugin, it should output one of the following
errors :
- Couldn't load module encaps.so: xxx
- The plugin encaps.so has no version symbol
- The plugin encaps.so has a plugin_reg_handoff symbol but no
  plugin_init routine
- Memory allocation problem
  when processing plugin encaps.so, version x.y
- The plugin encaps.so, version x.y is an old-style plugin;
  Those are no longer supported.

If ethereal loads your plugin successfully, it calls its "plugin_init"
function. You should check that your plugin_init() function does
everything needed, i.e. registering your protocol and its fields :
proto_register_protocol() and proto_register_field_array()

Olivier
-- 
Those who educate children well are more to be honored than parents, for
these only gave life, those the art of living well.
		-- Aristotle