The current production release version of the ASN1C
compiler is 5.85. The following changes have been made since the last patch
release (5.84):
 |
Fixed min and max constraint code gen for
Java and C#. (PR#000614) |
 |
Added support for strong key name in C#.
(PR#000613) |
 |
Fixed a bug in C/C++ PER decode of
dynamic bit string with extensible size constraint when string has length of
zero bits. (PR#000606) |
 |
C/C++ PER code generation. Fix problem in
handling extensible constraint in which value range of root or extension is
beyond range of a 32-bit integer. (PR#000595) |
 |
Fixed bug that prevented removing first
element from a list with only one item. (PR#000585) |
 |
Added support to PER decoding for arrays
containing 64K elements or more. (PR#000567) |
 |
Fixed error in C++ BER parser code
generation for open type. (PR#000563) |
 |
Replaced use of <ctype.h> with
"rtctype.h" (our in-house version of this file) in run-time C/C++ files. This
caused backward compatibility issues with some Linux distributions. (PR#
000555) |
 |
Fixed an error in syntax error reporting
in which information on the syntax error was not printed out unless a list
buffer existed (this was only the case if -list is added as a command-line
option). (PR #000552) |
 |
Fixed C/C++ XML decoding to avoid adding
additional whitespace to decoded information items. (PR# 000549) |
 |
Fixed XER encoding of carriage return,
line feed and tabulation characters to be consistent for all languages. These
characters are now left unchanged. (PR# 000548) |
 |
Fixed bug in PER C#/Java/XSD code
generation for INTEGER values with very large value ranges (up to 64 bits
unsigned, i.e. 0..9223372036854775799). (PR# 000546) |
 |
Added /MDd libraries (debug
multi-threaded DLL-ready libraries) for all Visual Studio versions. (PR#
000542) |
 |
Fixed bug in C/C++ PER unaligned encoding
of character string with permitted alphabet constraint when number of
characters in set falls exactly on a power of 2 boundary (2, 4, 8, 16, 32,
etc.). (PR# 000540) |
 |
Modified reserved word lists for Java and
C++. Symbol names are only changed if they are a reserved word in the given
language. (PR# 000538). |
 |
Modified ASN1C GUI file pulldown menus to
include the 'All Files *.*' option to allow files with any extension to be
selected. (PR# 000537). |
 |
Modified C++ EncodeTo and
DecodeFrom base class methods to return a run-time error if invoked. The
error code is "ASN_E_NOTPDU" which indicates that only a PDU type will have an
implementation of the required method. Before, functions were returning an OK
status but not doing anything which was a cause of confusion. (PR#
000524). |
 |
Fixed bugs in -depends processing in
conjunction with -tables option in which table-constraint information items
were not able to be successfully pre-resolved. (PR# 000519). |
 |
Fixed a crash in C/C++ code caused by
calling ASN1MEMFREE followed by rtFreeContext. Modified ASN1MEMFREE macro so
that it sets the dynamic buffer (if used) pointer to 0 to avoid a double free
later on when the free context function is called . (PR# 000561) |
 |
64-bit libraries added to all UNIX/Linux
evaluation kits. |
 |
Added logic to add configuration type
prefix to generated C/C++ global character set constants. (PR# 000535). |
 |
Fixed crash in PER C++ decoding of
extensible CHOICE. Crash occurred if an extension addition is being decoded and
the decoding of the open type fails. The union construct will be left in an
indeterminant state and the CHOICE destructor will then try to free the memory
held within. (PR# 000534) |
 |
Fixed a crash that occurred on Solaris
Sparc with optimized, gcc compiled run-time. The crash occurred in function
xd_uint64 (64-bit unsigned integer decode). (PR# 000533) |
 |
Fixed a problem in C/C++ BER decoding in
which an error was not being reported if mandatory elements were missing from a
SEQUENCE or SET construct. (PR# 000531). |
 |
Fixed a problem in which the
extElem1 element which is used for open extensions was being added to
generated structures when the -noOpenExt compiler option was selected.
(PR# 000530) |
 |
Fixed problem in XML encoding for Java
for SEQUENCE OF constructs when the -compact compiler option is selected. The
encoding is being done in XER form where <TypeName> is being inserted as
the element tag instead of <element>. (PR# 000529). |
 |
Fixed problem in which Java XML decode
failed when an empty element (i.e <elem/>) existed within a choice
construct. (PR# 000528) |
 |
Added license management logic to the
Java library that allows a user to update the run-time key in the library
without needing the ASN1C compiler to be installed on the node. (PR#
000527) |
 |
Fixed bug in C++ BER deferred decoding
code generation bug for constructed tag in CHOICE type element. (PR#
000526) |
 |
Modified C++ EncodeTo and
DecodeFrom base class methods to return a run-time error if invoked. The
error is a new code - ASN_E_NOTPDU - which indicates that only a PDU
type will have an implementation of the required method. This fixed a condition
in which nothing was being returned from these methods when not used properly
in PDU types. (PR# 000524) |
 |
Fixed problem in C++ parser code
generated with -notypes option. The SEQOF control class constructor
still had msgData initialization code (but msgData was not
present in the class in this case). (PR# 000523). |
 |
Fixed problem in C/C++ generated event
handlers in which 64-bit integers were not handled correctly. (PR#
000523). |
 |
Fixed problem in makefile generation in
which the makefile was not being generated properly if the -notypes
option was used. (PR# 000523) |
 |
Fixed crash that occurred when encoding
ot decoding an absent optional element in C++ DER code generation. (PR# 000522
and 000521). |
 |
Fixed bug in PKCS-7 code generation with
-tables option in which an imported class definition (MATCHING-RULE) was
not being found. (PR# 000519) |
 |
Fixed two bugs in C++
ASN1TGeneralizedTime run-time class: 1) if second's fraction is
longer than one digit, then the following 'Z' symbol was not proceeded; 2)
if the second's fraction should have leading zeros (something like 0.00123)
then after reencoding these leading zeros were lost (became 0.123). (PR#
000515). |
 |
Fixed problems with type and value
constraints applied to enumerated types. In some cases generated code did not
compile and in others, PER encodings were not correct. Modified the processing
logic to create new enumerated types from the constrained types instead of just
adding constraint processing logic to the original type handling code. (PR#
000512) |
 |
Fixed warnings generated by gcc 3.4
compiler. (PR# 000511) |
 |
Fixed problem of -depends option
being used in conjunction with -config. Problem was productions being
dropped from config include list. (PR# 000510). |
 |
Fixed crash in generated C/C++ XER/XML
decoders that occurred when decoding extension sequence type as choice type
element. (PR# 000509) |
 |
Fixed BIT STRING value parsing problem
for Java, C# event handler code. Added configuration option for Java and C# BIT
STRING to print in Hex, Bits or Asn1Value format. (PR# 000508). |
 |
Fixed bug in decoding named bit strings
with C++ XML encoding rules. (PR# 000505). |
 |
Added UTF8String default value code
generation for C++, Java, C#. (PR# 000504). |
 |
Fixed BIT STRING type default value code
generation problem for C++, Java, C#. (PR# 000503). |
 |
Added support for MS Visual Studio 2005
C, C++, and C# languages for all encoding rules. |
 |
Modified GUI wizard to not disable event
handler selection button when C is selected as language (PR# 000501). |
 |
Fixed bug in UTF8String constraint code
generation in which combination of size constraint with permitted alphabet
constraint was causing an "invalid constraint specification" error to be
generated at compile time. (PR# 000494) |
 |
Fixed bug in which -genMake used in
conjunction with the -xsd option caused incorrect makefile to be generated. The
common .c file was repeated twice in the list of ASN1C files to be generated.
(PR# 000488) |
 |
Added -nodatestamp option to avoid
generation of date stamp in generated files (for source control systems). (PR#
000487) |
 |
Fixed a number of C compiler warnings on
VMS platform: INTCONCASTSGN, INTCONCASTTRU, QUESTCOMPARE, UNREACHCODE. Also
fixed the warning of LINT on BS_READBYTE macro. (PR# 000486). |
 |
Added 'small' to C/C++ reserved word
list. Is used in MS VC++ compiler and was causing problems in compiling RRC
specs. (PR# 000484) |
 |
Added prototype for
rtMemSetDefBlkSize function to rtMemory.h. Also include Doxygen comment
on what it does. This is useful for tuning performance when decoding large
BER-encoded files. (PR# 000482). |
 |
Added 64-bit libraries for Linux X86
platform. (PR# 000481). |
 |
Fixed a bug in which the generated C++
EncodeTo and DecodeFrom methods were incorrect when the options
"-c++ -ber -xer -stream" were used. (PR# 000477) |
 |
Fixed problem with poor performance in
Java BER open type decoding. Open type decoding uses Asn1DecodeBuffer.capture
which proceeded on octet-by-octet basis. This method was modified to work with
chunks instead of single octets. Also, performance of EXTERNAL type decoding
was improved. (PR# 000473) |
 |
Added public setKey method to the
C++ ASN1Stream and ASN1MessageBuffer classes to allow run-time
key to be set manually when classes are used without compiler generated code.
(PR# 000456) |
 |
Modified build of Java unlimited PER and
XER run-time jar files to not contain any BER code which is used for licensing
checking in limited versions. (PR# 000455). |
 |
Modified logic to encode open type to
check for numocts == 0 (i.e. empty field). If this is true, an error is
reported as the open field cannot be null. If nothing is there, it will cause
error when item is decoded. (PR# 000449) |
Changes made in patch releases in previoius versions of
ASN1C can be accessed by clicking on the links below: