Ethereal-dev: [Ethereal-dev] Questions about the X.411 dissector

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Stig Bjørlykke <stig@xxxxxxxxxxxxx>
Date: Tue, 15 Nov 2005 17:33:38 +0100
Hi List.

I have a few questions about the X.411/X.420/STANAG 4406 dissectors
and functionality in packet-ber.c.


1. The X.411 defines PerMessageIndicators as shown below, but
   dissect_ber_bitstring() only handles Universial.
   Why is this sanity check?

   PerMessageIndicators    ::= [APPLICATION 8] BIT STRING {
        disclosure-of-recipients(0),
        implicit-conversion-prohibited(1),
        alternate-recipient-allowed(2),
        content-return-request(3) } (SIZE (0..ub-bit-options))


2. The X.411 defines ExtensionField as shown below, but when the value
   is a PriorityLevelQualifier (or any other private-extension) I get
   "Set Of expected but Class:0 PC:0 Tag:10 was unexpected" in
   dissect_ber_set() / dissect_ber_sq_of() because they only handles
   Universial tags.  Why do I get "Set Of expected" and not something
   like "Dissector for OID:1.3.26.0.4406.0.8.0 not implemented"?

   My ExtensionField is like this:
        30 81 12 83 08 2b 1a 00 a2 36 00 08 00 a2 81 03 0a 01 01

        UC16 (18)
         CP3 (8)
          2B 1A 00 A2 36 00 08 00  =  OID 1.3.26.0.4406.0.8.0
         CC2 (3)
          UP10 (1)
           01

   ExtensionField          ::= SEQUENCE {
        type [0] ExtensionType,
        criticality [1] Criticality DEFAULT {},
        value [2] ANY DEFINED BY type OPTIONAL }

   PriorityLevelQualifier ::= ENUMERATED {
        lev0 (0),
        lev1 (1) }


3. Any plans for implementing extended bodyparts?
   (OID 2.6.1.4.*/2.6.1.11.* and OID 1.3.26.0.4406.0.7.*)


I do not have any public dumps that can be used yet, because I am
currently developing the P_Mul dissector to handle X.411 as data
content.


--
Stig Bjørlykke