Wireshark-dev: Re: [Wireshark-dev] Trouble adding an ASN.1 based dissector

From: "Anders Broman" <a.broman@xxxxxxxxx>
Date: Sun, 25 Nov 2007 14:13:01 +0100
Hi,
We need Tomas to take a look at:
simpleTextFirstCharacter UniversalString ::= {0, 0, 0, 0}

On the wiki there is some info on how to use asn2wrs
http://wiki.wireshark.org/Asn2wrs?highlight=%28asn2wrs%29

For PER dissectors change in makefile.common to:
A2W_FLAGS= -X -T

As a temp fix to get asn2wrs to proceed try:

--simpleTextFirstCharacter UniversalString ::= {0, 0, 0, 0}

--simpleTextLastCharacter UniversalString ::= {0, 0, 0, 255}

SimpleTextString ::=
  BMPString
--(SIZE (0..255))
--    (FROM (simpleTextFirstCharacter..simpleTextLastCharacter))
Regards
Anders
P.S Untested

-----Ursprungligt meddelande-----
Från: wireshark-dev-bounces@xxxxxxxxxxxxx
[mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] För ronnie sahlberg
Skickat: den 24 november 2007 21:10
Till: Developer support list for Wireshark
Ämne: Re: [Wireshark-dev] Trouble adding an ASN.1 based dissector

If Im not mistaken   T124 is encoded with aligned PER while T125 is
BER   so oyu also need to change the flags to asn2wrs to generate
a PER dissector.
You then  also need to look at how other PER dissectors set whether it
is aligned or unaligned PER from the template file.


On Nov 24, 2007 8:26 PM, Stephen Fisher <stephentfisher@xxxxxxxxx> wrote:
> I'm stumbling through (is there a README somewhere?) trying to add my
> first ASN.1 based dissector (T.124 / Generic Conference Control) to
> Wireshark and I'm running into the following error.  I mostly copied the
> asn1/t124 files from asn1/t125.  This is another layer in a Microsoft
> Remote Desktop Protocol (RDP) session above t.125.
>
> sfisher@shadow:/usr/local/src/wireshark/asn1/t124>make generate_dissector
> python ../../tools/asn2wrs.py \
>         -b -X -T \
>         -p t124 \
>         -c ./t124.cnf \
>         -s ./packet-t124-template \
>         -D . \
>          GCC-PROTOCOL.asn
> ASN.1 to Wireshark dissector compiler
> Traceback (most recent call last):
>   File "../../tools/asn2wrs.py", line 7671, in ?
>     eth_main()
>   File "../../tools/asn2wrs.py", line 7602, in eth_main
>     ast.extend(yacc.parse(f.read(), lexer=lexer, debug=pd))
>   File "/usr/local/src/wireshark/tools/yacc.py", line 346, in parse
>     tok = self.errorfunc(errtoken)
>   File "../../tools/asn2wrs.py", line 7455, in p_error
>     raise ParseError(t, input_file)
> __main__.ParseError: GCC-PROTOCOL.asn:54: Unexpected token
UniversalString('UniversalString')
> make: *** [packet-t124.c] Error 1
>
> Am I doing something wrong, or does it not like part of the .asn file?
>
> Also, how do I go about creating the t.124.cnf file?  (My attempt above
> was using the t125.cnf file)
>
>
> Thanks,
>
> Steve
> _______________________________________________
> Wireshark-dev mailing list
> Wireshark-dev@xxxxxxxxxxxxx
> http://www.wireshark.org/mailman/listinfo/wireshark-dev
>
_______________________________________________
Wireshark-dev mailing list
Wireshark-dev@xxxxxxxxxxxxx
http://www.wireshark.org/mailman/listinfo/wireshark-dev