Wireshark-dev: Re: [Wireshark-dev] ASN2WRS does not create PDU (which is specified in .cnf file
From: Pascal Quantin <pascal.quantin@xxxxxxxxx>
Date: Tue, 16 Sep 2014 11:45:27 +0200


Le 16 sept. 2014 11:27, "Christina Obermaier" <christina.obermaier@xxxxxxxx> a écrit :
>
> Thanks for your help, but the problem still exisits.
> I tried to change the code like you told:
>
> Part of my packet-toyasn1-template.c:
>
> #include "packet-toyasn1-fn.c"
> static void
> dissect_toyasn1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
> {
>     proto_item      *toyasn1_item = NULL;
>     proto_tree      *toyasn1_tree = NULL;
>
>     /* make entry in the Protocol column on summary display */
>     col_set_str(pinfo->cinfo, COL_PROTOCOL, PNAME);
>
>     /* create the toyasn1 protocol tree */
>     if (tree) {
>         toyasn1_item = proto_tree_add_item(tree, proto_toyasn1, tvb, 0, -1, FALSE);
>         toyasn1_tree = proto_item_add_subtree(toyasn1_item, ett_toyasn1);
>         dissect_MESSAGE_PDU(tvb, pinfo, toyasn1_tree);
>     }
> }
>
> part of my toyasn1.cnf:
> # toyasn1.cnf
> # TOYASN1 conformation file
> # $Id$
> #.MODULE_IMPORT
> #.EXPORTS
> #.PDU
> MESSAGE
> #.NO_EMIT
> #.TYPE_RENAME
> #.FIELD_RENAME
> #.END
>
>
> The error still exists:
> Couldn't load module /home/obermaierc/Schreibtisch/wireshark-1.12.0/plugins/toyasn1/.libs/toyasn1.so: /home/obermaierc/Schreibtisch/wireshark-1.12.0/plugins/toyasn1/.libs/toyasn1.so: undefined symbol: dissect_MESSAGE_PDU
>
>
> I dont know where the error comes from.
>

Well,  what I gave you is an example only applicable to the c1222 dissector. As I said you need to adapt it per your ASN.1 file content... (MESSAGE does not exist in your ASN.1 files).
I cannot tell you more unless you share your files.

>
>
> Pascal Quantin <pascal.quantin@xxxxxxxxx> schrieb am 11:15 Dienstag, 16.September 2014:
>
>
>
> Le 16 sept. 2014 10:55, "Christina Obermaier" <christina.obermaier@xxxxxxxx> a écrit :
> >
> > Hi,
> >
> > I have a question according to the creation of an asn1 dissector plugin.
> >
> > I used the Toyasn1 sample to create my own dissector.
> > The only thing i changes were the .asn files. There i used my own files (CAM.asn and ITS-Container.asn) which i specified in the makefile.
> >
> > Then i tryed to compile the plugin. I think this works very well, only a few wunused-function warnings are appearing.
> > So i started Wireshark and get the error: undefined Symbol: dissect_TOYASN1_MESSAGE_PDU
> >
> > In the .cnf file is specified:
> > .#PDU
> > TOYASN1-MESSAGE
> >
> > So now i dont know what i have to do, to solve the error.
> >
> > I hope someone can help me..
> > Greetings Christina
> >
> Hi,
> You need to replace this line with the name of the top level PPU in your ASN.1 file. For example if you look at the files in asn1/c1222, you will see that the c1222.cnf file contains:
>
> #.PDU
> MESSAGE
> where MESSAGE is the top PDU in the c1222.asn file.
> Then you need to edit the .c file to put the corresponding function name that will be generated by asn2wrs (for c1222 dissector it is dissect_MESSAGE_PDU).
> Regards,
> Pascal.
>
>
>