Wireshark-dev: Re: [Wireshark-dev] Plugin module dissctor fails assertion

From: Jeff Morriss <jeff.morriss.ws@xxxxxxxxx>
Date: Thu, 05 Feb 2009 10:24:07 -0500


Johannes Bauer wrote:
Hello list,

I'm currently trying to write a wireshark disector that slices up a
specific custom USB device. Now I've read the (BTW absolutely
marvellous!) documentation about how writing plugins and I can get
disectors to work which do basic stuff (like recognize IP packets or
such). But since I want to disect USB (which appearently is also coded
in a module), when I call:

dissector_add("usb.data_flag", 0x1, sbig_handle);

Wireshark cries out in pain:

ERROR:packet.c:697:dissector_add: assertion failed: (sub_dissectors)

The problem, I think, is that "usb.data_flag" is not a registered subdissector table. packet-usb.c only registers 2 dissector tables:

usb_bulk_dissector_table = register_dissector_table("usb.bulk", "USB bulk endpoint", FT_UINT8, BASE_DEC); usb_control_dissector_table = register_dissector_table("usb.control",
        "USB control endpoint", FT_UINT8, BASE_DEC);