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):





