Wireshark-dev: [Wireshark-dev] Question about asn2wrs
From: Craig Jackson <[email protected]>
Date: Thu, 8 Nov 2018 13:43:53 -0500
I'm working on a decoder for the NISO Z39.50 protocol. This is an ASN.1/BER protocol used in the library automation community.

There some things I'm having trouble figuring out how to configure, and there are also a bunch of things which have never been documented in asn2wrs. I'm wondering if one or more of the undocumented things could help me.

Here's a problematic type definition:

   AttributeElement  ::=  SEQUENCE{
      attributeSet    [1]       IMPLICIT AttributeSetId OPTIONAL,
      attributeType   [120]  IMPLICIT INTEGER,
      attributeValue      CHOICE{
                     numeric    [121]   IMPLICIT INTEGER,

        complex    [224] IMPLICIT SEQUENCE{ 
                          list     [1] IMPLICIT SEQUENCE OF StringOrNumeric,
                   semanticAction  [2] IMPLICIT SEQUENCE OF INTEGER OPTIONAL}}}

The issue is that the "attributeType" values are actually enumerations chosen based on the value of "attributeSet". I see how I can supply a fixed set of strings using FIELD_ATTR (poorly documented), but I can't figure out how to get control so I could specify different sets of strings. (This might be done by specifying alternate hf values, perhaps.)

I think I could hard-code the type specifying my own choice array, but I'm wondering if there's a better way.

This is just one of a several questions, so if there's an authority on asn2wrs, I'd like to learn who it is.

Craig Jackson