Christian Huitema <Christian.Huitema@sophia.inria.fr> Thu, 07 January 1993 13:54 UTC

Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa01650; 7 Jan 93 8:54 EST
Received: from CNRI.RESTON.VA.US by IETF.CNRI.Reston.VA.US id aa01645; 7 Jan 93 8:54 EST
Received: from ietf.cnri.reston.va.us by CNRI.Reston.VA.US id ac02923; 7 Jan 93 8:55 EST
Received: from haig.cs.ucl.ac.uk by IETF.CNRI.Reston.VA.US id aa08092; 7 Jan 93 3:57 EST
Received: from bells.cs.ucl.ac.uk by haig.cs.ucl.ac.uk with local SMTP id <g.01155-0@haig.cs.ucl.ac.uk>; Thu, 7 Jan 1993 08:11:41 +0000
Received: from mitsou.inria.fr by bells.cs.ucl.ac.uk with Internet SMTP id <g.15667-0@bells.cs.ucl.ac.uk>; Thu, 7 Jan 1993 08:11:29 +0000
Received: by mitsou.inria.fr (5.65c/IDA-1.2.8) id AA16450; Thu, 7 Jan 1993 09:13:43 +0100
Message-Id: <199301070813.AA16450@mitsou.inria.fr>
To: Andrew Worsley <worsley@mel.dit.csiro.au>
Cc: "(OIW DS SIG)" <dssig@ics.uci.edu>, "(osids)" <osi-ds@cs.ucl.ac.uk>
In-Reply-To: Your message of "07 Jan 93 09:52:43 +1100." <9301062252.AA22903(l)a(r)guppy.mel.dit.CSIRO.AU>
Date: Thu, 07 Jan 93 09:13:41 -0500
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: Christian Huitema <Christian.Huitema@sophia.inria.fr>

>  I must agree with you. Unless ASN.1 has undergone a big change in this
>  regard (which is possible I suppose) you are not allowed to just ignore
>  tagged types that don't match. People have no doubt spent a great deal of
>  effort (coding and testing) trying to get ASN.1 parsers to pick up
>  all these types of problems and correctly report a decoding problem.

Humm. I believe we have a different reading of ASN.1 + of the "be
tolerant with what you receive" pragma. The decoding routine generated
by the MAVROS compiler incorporate the following features:

* Verify the presence of all Mandatory elements in SET or SEQUENCE, and
  report an error if one such element is missing.

* Verify the syntax of all Mandatory and Optional elements which happen
  to be present.

* Complain if a SET includes two occurences of a tagged element, or if
  a SEQUENCE contains unexpected elements before the last mandatory
  element has been decoded.

* IGNORE, and skip over, unexpected tagged elements within sets or at
  the end of sequences.

This was programmed before the "extensibility" rules were defined. I
presume that in order to comply with this new rules, we should somehow
pass to the application the unexpected elements, instead of merely
ignoring them.

The rationale is simple: unexpected elements "don't hurt" as long as
all mandatory elements are present -- the message still "makes sense".
As a consequence, the 88 DUAs generated with the MAVROS compiler, e.g.
SNI's "DIR-X" or E3X "Pizarro", will gracefully support the 1992
extensions to X.500.

Christian Huitema