Wireshark-dev: Re: [Wireshark-dev] asn2wrs.py no longer seems to generate the same code ...
From: Richard Sharpe <realrichardsharpe@xxxxxxxxx>
Date: Fri, 15 May 2020 15:02:28 -0700
On Fri, May 15, 2020 at 2:29 PM Richard Sharpe
<realrichardsharpe@xxxxxxxxx> wrote:
>
> On Fri, May 15, 2020 at 2:30 PM Peter Wu <peter@xxxxxxxxxxxxx> wrote:
> >
> > Hi Richard,
> >
> > On Fri, May 08, 2020 at 08:54:58AM -0700, Richard Sharpe wrote:
> > [..]
> > > It doesn't look like it was manually modified. The last person who
> > > touched that file was Peter Wu, it seems, so maybe he can shed some
> > > light on it.
> >
> > How did you invoke asn2wrs.py? If I run the asn1 ninja/make target on my
> > system to regenerate dissectors based on the ASN.1 inputs, there are no
> > further changes.
>
> I ran the command recorder in the header of the .c file.
>
> What is this ninja/make thing you refer to?

To be more specific, I needed a callable function to dissect an
ECDSA_Sig_Value, so I figured I could modify the .cnf file and run the
command documented in the current packet-pkcs1.c file:

/* asn2wrs.py -b -p pkcs1 -c ./pkcs1.cnf -s ./packet-pkcs1-template -D
. -O ../.. PKIXAlgs-2009.asn */

However, that did not produce something that worked. It even generated
different code for an unmodified .cnf file.

However, just now I ran, from the build directory 'make asn1' after I
modified pkcs1.cnf, and lo and behold, it modified my source
directory.

That was unexpected, because I thought the whole idea of cmake was
that the source code would not be touched.

Anyway, the code it generated does look correct (but was different to
what was generated when I ran the 'documented' command) so I wonder
what actual command it used.

-- 
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)(传说杜康是酒的发明者)