Asn1 Release Notes
Asn1 1.1.1
Known problems
-
The syntactic construct
COMPONENTS OF
is not
implemented.
Own Id: OTP-2515
-
ANY
and ANY DEFINED BY
are currently not
supported.
Own Id: OTP-2741
Aux Id: seq 1188
-
Multiple definitions of the same Type or Value is not detected
by the compiler. The error occurs when the generated Erlang
module is compiled.
Own Id: OTP-3105
Asn1 1.1
Fixed errors and malfunctions
-
The BER decoder failed to decode certain nested data types
where
IMPLICIT
tags where involved.
This is now corrected.
Own Id: OTP-2719
Aux Id: seq 1148
-
The handling of types with extension marker "..." is corrected.
Earlier each SEQUENCE and SET with an extension marker got an
extra field named
asn1_EXT
in the generated record.
This was a mistake and that field is now removed (conserns
both BER and BER).
Own Id: OTP-2724
Aux Id: seq 1148, OTP-2719
-
The decoder (both BER and PER) could not handle unnamed
bits of a
BIT STRING
if the type had any
named bits declared. This is now corrected and the unnamed
bits are returned as {bit,Pos}
where Pos is the bit
position. The {bit,Pos}
can be used as input to the
encoder too.
Own Id: OTP-2725
Aux Id: seq 1148,OTP-2719,OTP-2724
-
The functions
asn1rt:decode
and asn1ct:decode
did not always return {ok,Result}
or
{error,Reason}
as documented. This is now corrected.
Own Id: OTP-2730
Aux Id: seq 1158
-
The compiler did not accept CHOICE types as components
of a SEQUENCE or SET when
the modules tag default was IMPLICIT.
Example:
C ::= CHOICE { ......}
A ::= SEQUENCE {
a [1] C, -- This was not accepted
.....
This was an error
caused by a misinterpretation of the ASN.1 standard. This
is now corrected.
Own Id: OTP-2731
Aux Id: seq 1163
-
When decoding a SEQUENCE A which contains an OPTIONAL component
b which is a SEQUENCE with mandatory components, the decoder
does not detect as an error that a mandatory component of b
is missing. The same error could occur also in other cases
with nested types and optional components of SEQUENCE or SET.
This is now corrected.
Own Id: OTP-2738
Aux Id: seq 1183
-
BER Encoding and decoding of
ENUMERATED
with extensionmark
"..." did not work (crashed with a runtime error). This
has now been corrected. If an unknown enumerated value is
decoded (for an extensible enumerated type)
it is returned as {asn1_enum,Value}
where
Value
is an integer. Enumerated values in this format
are also accepted by the encoder.
ASN.1 modules containing
ENUMERATED
with extensionmark should be
recompiled with the corrected
version of the compiler. The BER runtime functions are also
corrected.
Own Id: OTP-2951
Aux Id: Seq 1446 OTP-2929
-
The compiler does now accept all valid value notations
for the OBJECT IDENTIFIER type. The generated code for
those values is also corrected.
Own Id: OTP-3059
Improvements and new features
-
The code generated for BER is significantly enhanced resulting
in less code and around 300% better performance in runtime
for the encoding of complex ASN.1 values. The performance of
decoding is unchanged.
Own Id: OTP-2806
You can find release notes for older versions
here.