Wireshark-dev: Re: [Wireshark-dev] Regenerate asn dissector

From: Graham Bloice <graham.bloice@xxxxxxxxxxxxx>
Date: Mon, 19 Feb 2018 14:15:33 +0000


On 19 February 2018 at 14:04, Dario Lombardo <dario.lombardo.ml@xxxxxxxxx> wrote:
That's what I needed. I was close to it, but I didn't get the right starting point for regenerating.
What's missing IMHO is a cmake target for that. Maybe I will take some time to add one (many, actually).
Thanks Darien.


There is a target for asn1, that's why an asn1.vcxproj file is generated on windows, and presumably something similar for the generator of choice on other platforms.

However, the asn1 target, and for that matter the other generated dissectors, dcerpc and pidl, are excluded from the top-level build because they are added with the EXCLUDE_FROM_ALL property.




On Mon, Feb 19, 2018 at 2:41 PM, Darien Spencer <cusneud@xxxxxxxx> wrote:
Hi 
I've done this several times and the way I do it is:
1. Look for the final dissector file, should be under epan/dissector/packet-xxx.c (in this case packet-snmp.c)
2. Copy the build command for asn2wrs as seen in the 4th line. In this case it looks like this:
asn2wrs.py -b -p snmp -c ./snmp.cnf -s ./packet-snmp-template -D . -O ../.. snmp.asn
3. Open the command prompt in your dissector's asn1 folder (/epan/dissector/asn1/snmp/)
4. Run asn2wrs.py using it's full path. In my case it's "C:\Development\wireshark\tools\asn2wrs.py" and add the parameters you saw in the generated file
so it should look line this:
C:\Development\wireshark\tools\asn2wrs.py -b -p snmp -c ./snmp.cnf -s ./packet-snmp-template -D . -O ../.. snmp.asn
 
This should create the new packet-snmp.c and .h files under epan/dissectors/ and override the existing ones
 
Darien
 
Sent: Monday, February 19, 2018 at 2:55 PM
From: "Dario Lombardo" <dario.lombardo.ml@xxxxxxxxx>
To: "Developer support list for Wireshark" <wireshark-dev@xxxxxxxxxxxxx>
Subject: [Wireshark-dev] Regenerate asn dissector
Hi
I've modified epan/dissectors/asn1/snmp/packet-snmp-template.c and I want to regenerate the corresponding dissector.
I've found the cmake target epan/dissectors/asn1/snmp/generate_dissector-snmp, but building it doesn't regenerate the dissector.
What's the missing step?
Thanks.
Dario.


--
Graham Bloice