Adrienne Siskind skrev 2010-04-09 22:22:
> Greetings,
>
> I am attempting to add SLE dissectors to Wireshark using their official ASN 
> descriptions and the asn2wrs translation tool in WinXP with VC9.0 express 
> (MSVC_VARIANT=MSVC2008EE).  I am using the latest stable Wireshark sources - 
> 1.2.7.
>
> > From a working Wireshark dev environment that builds the base sources into 
> > a full NSIS install package correctly, I have thus far encountered two 
> > separate problems:
>     1. getting a translated asn packet-<name>.c/h to compile and link
>        once it is added into the epan/dissectors directory and makefile, and
>     2. cleanly translating the official CCSDS ASN definition of the
>        desired SLE service using asn2wrs.
>
> 1:
>
> I started by using the "foo" example on the ans2wrs wiki to understand the 
> process for going from ASN definition to Wireshark package with new dissector.
>
> It is here:  http://wiki.wireshark.org/ASN1_sample
>
> > From this example, Makefile.nmake did need several minor corrections, but 
> > it was not hard to get it working correctly.  Thus "packet-foo.c" and 
> > "packet-foo.h" are now properly generated, have their eols fixed, and are 
> > copied to epan/dissectors using the 'copy_files' target.  (To fix 
> > Makefile.nmake, change "PKCS1.asn" in line 16 to "foo.asn", and fix the 
> > path names in lines 5,  7, 16, and 18 to use backslash instead of forward 
> > slash.)
>
> In Makefile.common in the epan/dissectors directory, I respectively added  
> packet_foo.c and packet_foo.h into the DIRTY_ASN1_DISSECTOR_SRC and 
> DISSECTOR_INCLUDES lists.  Then back to the wireshark root, and make targets 
> distclean and all.
>
> The resulting compile fails for the asn2wrs-generated packet-foo.c.  The 
> compilation errors ostensibly occur in packet-per.h, and are of the type I'd 
> usually expect to see if there was a missing closing brace somewhere above.  
> I did change the inclusion of packet-per.h to packet-ber.h to see what would 
> happen, but this simply replaced one set of compile errors with another.
>    
Did you #include <epan/asn1.h>?
> 2:
>
> Separately, under asn1\, I copy&pasted the ASN specification for the SLE 
> Forward CLTU service (the one we need first) into appropriately named files; 
> appropriately tweaked the .cnf, packet-<name>-template.c/.h, and makefile 
> from my experimental foo directory; and tried to make target all (which 
> creates the packet-<name>.c and .h files using asn2wrs).
>
> This also failed.  In this case, the traceback says it failed on line 91 in 
> ccsds-sle-transfer-service-bind-types.asn, which is the second file in the 
> spec (I listed them in the makefile in the order they appear in the spec).  
> The error was "Unexpected token ALL('ALL')"
>
> The spec is here (the asn definition is in Annex A at the end):
> http://public.ccsds.org/publications/archive/912x1b2c1.pdf
>
> The line in question reads:
>     IdentifierString ::= VisibleString (FROM (ALL EXCEPT ” ”))
>
> Any insight into what I may be doing wrong for either would be greatly 
> appreciated.
>    
I think asn2wrs may not handle that construct, to get it to compile try 
to replace it with:

IdentifierString ::= VisibleString
(later it could be replaced by a list of all VisibleString
chars except " "


> Thanks,
> --
> Adrienne
> ___________________________________________________________________________
> Sent via:    Wireshark-dev mailing list<[email protected]>
> Archives:    http://www.wireshark.org/lists/wireshark-dev
> Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
>               mailto:[email protected]?subject=unsubscribe
>
>    

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <[email protected]>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:[email protected]?subject=unsubscribe

Reply via email to