On Tue, Mar 05, 2002 at 01:53:39PM +0100, [EMAIL PROTECTED] wrote:
> I have another Q.931 problem, the find_dissector("h225") returns 0 when
> called from proto_reg_handoff_q931. When I register my dissectors in
> plugin_reg_handoff(), the Q.931 dissector can't find it.
Dissectors should be registered by name in "plugin_init()", not
"plugin_reg_handoff()".
The registration process for a dissector is a two-stage process.
In the first stage, the "proto_register_XXX()" routines, for built-in
dissectors, and the "plugin_init()" routines, for plug-in dissectors,
are called. Those routines should register, by name, anything that will
be needed in the second phase, such as dissector tables/heuristic
dissector tables and named dissectors. They should also register
protocols and preferences, if any.
In the second stage, the "proto_reg_handoff_XXX()" routines, for
built-in dissectors, and the "plugin_reg_handoff()" routines, for
plug-in dissectors, are called. Those should
fetch handles for any dissectors the dissector will call
directly;
register the dissector in any dissector tables or heuristic
dissector tables.