Asn1 Release Notes
Asn1 1.2.6
Known problems
-
The ASN.1 language feature
COMPONENTS OF
is not implemented.
Own Id: OTP-2515
-
The compiler does not check that a value referenced by name does exist.
Own Id: OTP-3277
-
BER:In the current implementation extension components of a SEQUENCE are required
to be present when they are specified as mandatory. This is an error, all extension
components are "optional" even if they are not specified to have the OPTIONAL or
DEFAULT property.
Own Id: OTP-3278
-
BER: The compiler does not take the extensions into account when checking if
the tags are unique in a SEQUENCE or SET.
Own Id: OTP-3304
Fixed errors and malfunctions
-
This version supports soft upgrade from versions 1.1.1, 1.1.5 and 1.1.6.
Two new runtime modules
asn1rt_ber_v1
and
asn1rt_per_v1
are delivered together with the old ones. This makes
it possible to continue running applications with modules generated with the
previous version of the asn1 compiler while modules generated by this version
will use the new runtime modules. Note that it is only advice-able to continue
running old generates if they are working perfectly and have no need
for the corrections made in this version of the asn1 application.
-
BER: SEQUENCEs encoded with indefinite length was not correctly decoded.
This in now corrected.
Own Id: OTP-3352
Aux Id: Seq 4100
Asn1 1.2.4
Fixed errors and malfunctions
-
The compiler now detects multiple definitions of values and types and reports this as
an error. Previously this was detected when the generated Erlang module was compiled.
Own Id: OTP-3105
-
BER: An error regarding encoding of
ENUMERATED
present in asn1-1.1.1
is corrected. The new version 1.1.2 of asn1 containing this correction is
delivered as a "patch".
Own Id: OTP-3169
-
BER: Decoding of
SEQUENCE OF
and SET OF
with indefinite length is corrected.
The correction was first delivered in version 1.1.2.
Own Id: OTP-3170
-
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.
Note that this correction has already been delivered as a
bugfix for R4B (OTP-2951).
Own Id: OTP-3202
Aux Id: Seq3745
-
BER: The primitive/constructed bit in the tag byte of an encoding
is not correct when it comes to user defined tags.
For example in
T ::= [2] SEQUENCE { a BOOLEAN}
the tag 2 does not get the constructed bit set which it should.
This is now corrected.
Own Id: OTP-3241
-
The decoder can now detect if there are unexpected bytes
remaining when all components of a sequence are decoded.
The decoder will then return
{error,{asn1{unexpected,Bytes}}}
Own Id: OTP-3270
-
Values of type
OBJECT IDENTIFIER
was sometimes returned as an Erlang list
(ASN.1 constants) and sometimes as a tuple (from the decode functions). This is now
changed so that OBJECT IDENTIFIER
values always are represented as an Erlang
tuple.
Own Id: OTP-3280
-
PER:The encode/decode functions could not handle integers with
a range greater than 16#7ffffff. This limit is now removed.
Own Id: OTP-3287
-
PER: The encoding/decoding of the length for a SET OF/SEQUENCE OF
was wrong if there was a size constraint. This is now corrected.
Own Id: OTP-3291
-
PER: Encoding of a constrained INTEGER (range > 16 k) was wrong for
the value 0. This is now corrected.
Own Id: OTP-3306
Improvements and new features
-
The ASN.1 module name and the filename where the ASN.1 specification resides must match each other (has always been the case). This is now checked by the compiler. The check requires that the names match in a case or case insensitive way depending on the characteristics for the current system.
Own Id: OTP-1843
-
PER: Encode/decode of an extension value (i.e not within the root set) for
ENUMERATED
did not work properly. This is now 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 (if the value is >= the number of known
extension values).
Own Id: OTP-2930
-
Unnecessary printouts from the compiler are removed.
The compiler version and the compiler options are now
printed to stdout.
Own Id: OTP-3276
-
In order to better suite the use of ASN.1 in embedded systems only
the modules needed in runtime are now listed in the
.app
file.
Own Id: OTP-3279
-
The compiler now supports extensionmarker in constraint specifications.
Example:
INTEGER (0..10, ...)
In previous version this was reported as a syntax error.
Own Id: OTP-3281
-
A very limited part of ITU-T recommendation X.681
Abstract Syntax Notation One (ASN.1): Information
object specification is now implemented. Specifically
TYPE IDENTIFIER is reqognized by the compiler.
Own Id: OTP-3325
-
Parameterization of ASN.1 specifications (ITU-T X.683) is now
supported to a limited extent.
Own Id: OTP-3326
You can find release notes for older versions
here.