Wireshark-dev: Re: [Wireshark-dev] asn2wry.py - showing protocol version ?

From: Pascal Quantin <pascal.quantin@xxxxxxxxx>
Date: Wed, 17 Oct 2018 22:29:02 +0200
Hi Martin,

Le mer. 17 oct. 2018 à 21:51, Martin Mathieson via Wireshark-dev <wireshark-dev@xxxxxxxxxxxxx> a écrit :
Hi,

I would like to be able to show, for the generated dissectors, the version of the protocol.  For 3GPP protocols, in theory they are backwards-compatible, but not at this point in the NR(5G) standards.

This is because 3GPP really messed...


So for the 3GPP .asn files, the first line might be e.g.
    -- 3GPP TS 38.331 V15.3.0 (2018-09)
I would really like to be able to teach asn2wrs.py to try to find a suitable such comment and add this text as a generated field inside each external dissector.

Those comments are here because I put them for convenience.
You will not find any standard numbering outside 3GPP world (look at the SUPL ASN.1 dissector for a funky name).
IMHO this should be done manually in the template file (anyway you cannot rely on a comment in the ASN.1 file that is added manually).


So I am thinking of:
- looking at the first few lines of each .asn file that gets included and trying to find a suitably formatted version string
- if one is found, in the template file,  add the version protocol item
- for each entry listed under the EXPORTS(?) or  PDU(?) sections, add into the template file a version field with the chosen string constant.

Personally I would hate to have a generated item with a spec version nulber each time I decode a PDU.
If you really want this (we survived since years without such infi until 3GPP completely messed NR pretending that NSA was done by December 17, which was a pure bullshit for marketing purpose), please please  ensure to add an option (off by default) to control this behavior.

Pascal.