Ethereal-dev: Re: [Ethereal-dev] It was "the Thing", now is a plugin called mate
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: "Martin Regner" <martin.regner@xxxxxxxxx>
Date: Fri, 19 Nov 2004 20:55:02 +0100
> Here's "the thing" renamed as "mate" as a plugin. > 1). You are using strtof. mate_base.c mate_base.c(1672) : warning C4013: 'strtof' undefined; assuming extern returning int mate_base.c(1672) : warning C4244: '=' : conversion from 'int ' to 'float ', possible loss of data mate_base.obj : error LNK2001: unresolved external symbol _strtof mate_util.obj : error LNK2001: unresolved external symbol _strtof I replaced strtof with strtod. 2). Visual C++ dosn't like that you have a typedef after scs_init(&avp_strings); mate_util.c mate_util.c(262) : error C2143: syntax error : missing ';' before '<class-head>' mate_util.c(264) : error C2275: 'AVPN' : illegal use of this type as an expression mate_util.h(82) : see declaration of 'AVPN' I changed: ======= scs_init(&avp_strings); typedef union _any_avp_type { AVP avp; AVPN avpn; AVPL avpl; LoAL loal; LoALnode loaln; } any_avp_type; to: ==== typedef union _any_avp_type { AVP avp; AVPN avpn; AVPL avpl; LoAL loal; LoALnode loaln; } any_avp_type; scs_init(&avp_strings); 3). I didn't get the plugin to build. link -dll /out:mate.dll /NOLOGO /INCREMENTAL:no /MACHINE:I386 /DEBUG packet-mate.obj ..\plugin_api.obj C:\ethereal-win32-libs\glib\lib\glib-2.0.lib C:\ethereal-win32-libs\glib\lib\gmodule-2. 0.lib C:\ethereal-win32-libs\glib\lib\gobject-2.0.lib Creating library mate.lib and object mate.exp packet-mate.obj : error LNK2001: unresolved external symbol _initialize_mate packet-mate.obj : error LNK2001: unresolved external symbol _proto_tree_add_text packet-mate.obj : error LNK2001: unresolved external symbol _proto_tree_add_string_format packet-mate.obj : error LNK2001: unresolved external symbol _proto_tree_add_uint_format packet-mate.obj : error LNK2001: unresolved external symbol _proto_item_add_subtree : I didn't try so much to get this to work. I changed MATE to be a built in dissector instead of a plugin. There is at least one advantage with making it a built-in dissector instead of a plugin. I think that it would be good to have a Statistics/MATE menu-item and to be able to get something similar to the "Statistics/H.323Conversations" and "Statistics/Conversations" features but listing all the MATE sessions/legs together with the relevant attributes for each session/leg. I have not yet started to look on how it would be possible to implement something like this based on the current MATE code. If I select to show all Sessions of type "voipcall" I could maybe get something like: Session startframe stopframe called calling guid sip_callid voipcall:1 1002 1138 1232332 6109938 87:e5:23:88:16:57:d6:40:af:07:37:48:23:f3:ef:89 - voipcall:2 1634 1873 1232444 6109938 17:15:23:28:26:27:26:20:2f:17:31:41:13:13:1f:19 - voipcall:3 1675 1752 1232332 6109292 - geggeg152543434@xxxxxxxxxxxxxx What columns will be shown for each type of session/leg will be dependent on the attributes defined in the MATE configuration file(s). If I select to see all Legs of type "q931" I could maybe get something like: Leg startframe stopframe callref addr addr q931:1 1002 1138 00:0b 10.10.21.10 10.22.12.10 q931:2 1634 1873 00:13 10.10.21.10 10.22.12.10 4). I still get Ethereal to crash when I load several captures. I get a crash in extract_first_avp(..) on the line: node = avpl->null.next; The back trace is: extract_first_avp(_avp_list * 0x01e01474) line 600 + 3 bytes delete_avpl(_avp_list * 0x01e01474, int 1) line 676 + 9 bytes free_avpl(void * 0x01825588, void * 0x01e01474, void * 0x01825588) line 1482 + 11 bytes LIBGLIB-2.0-0! 0032db6d() I will try to look more into why I get these crashes. I think that it was the same crash I got also with the previous code.
- References:
- Prev by Date: Re: [Ethereal-dev] Crash of ethereal
- Next by Date: Re: [Ethereal-dev] patch for packet-ipmi.c
- Previous by thread: Re: [Ethereal-dev] It was "the Thing", now is a plugin called mate
- Next by thread: Fwd: [Ethereal-dev] It was "the Thing", now is a plugin called mate
- Index(es):