Home> Support> ASN1C 6.0 Change Log

ASN1C v6.0x Change Log

The current production release version of the ASN1C compiler is 6.09. Bug fixes that went into this release include the following:

  • Removed get and set methods for open extensions when both -noopenext and -getset are specified for Java code generation. (PR #ASN-1285)
  • Fixed decoding of DER bit strings terminated by one or more zeros. (See PR# ASN-444.)

Changes made between 6.08 and 6.07 include:

  • Fixed crash in code generation that occurred when compilation triggered an "Error limit exceeded" failure. (PR #ASN-1227)
  • Fixed bug in C# GUI to reflect that streaming encoding is not available for DER. (PR #ASN-1202)
  • Fixed XML code generation so that non-sequential enums would be properly converted to string values. (PR #ASN-1187)
  • Fixed a bug in the GUI that prevented extra options specified not to be properly interpreted by the compiler.
  • Provided equals method for Asn1Null types for both C# and Java runtimes. All null types are equal to each other. (PR #ASN-1149)
  • Fixed additional name clash with code generation of SEQUENCE and CHOICE types that include an element named "length." (PR #ASN-1103; cf ASN-890)
  • Updated XER decoding of open types specified as binary via the <binext> tag (cf PR #ASN-682).
  • Fixed code generation for XML when -noopenext was specified on the command-line.

Changes made between 6.07 and 6.06 include:

  • Removed spurious try/catch for NULL values when generating Java code using the -xer option. (PR #ASN-1059)
  • Fixed bugs in the generation of XSD files when used in conjunction with the -xer option. (PR #ASN-1058)
  • Added ToString methods for named INTEGER constants in Java and C# code generation. (PR #ASN-1046)

Changes made between 6.06 and 6.05 include:

  • Fixed a bug that caused time strings with trailing zeros to be truncated. (PR #ASN-1035)
  • Fixed a bug that caused improper accessor method names when -getset was specified on the command-line. (PR #ASN-1008)
  • Fixed a bug that caused a crash when performing ASN.1 to XSD translations with constrained BIT STRINGs. (PR #ASN-1004)
  • Updated C# code generation to produce constraints on REAL types when -strict is passed. (PR #ASN-1003)
  • Updated "intCType" configuration parameter for Java to allow "int" to be used instead of "long" types in modules (work-around for modules that have too many parameters in the constructor). (PR #ASN-991)
  • Fixed enumerated types so that values were treated as simple rather than complex types. (PR #ASN-968)
  • Fixed test code generation for UTC and GeneralizedTime types when using PER. (PR #ASN-950)
  • Updated Java Asn1CharString.equals() to return false when comparing null values. (PR #ASN-936)
  • Updated C runtime error codes to include more diverse socket failures. (PR #ASN-932)
  • Updated C/C++, Java, and C# runtimes to support both BCD and TBCD-style strings. (PR #ASN-912).
  • Fixed a problem in compiling the MMS specs with -depends in which certain dependent productions deep in the stack were not being included in the final production set. (PR #ASN-901).
  • Fixed a name clash bug caused by the generation of accessor and mutator methods for elements of CHOICE and SEQUENCE types named "length." (PR #ASN-890)
  • Fixed Java and C# code generation for PER and BER for XSD inputs involving CHOICE and SEQUENCE types. (PR #ASN-882)

Changes made between 6.05 and 6.04 include:

  • Fixed a class-cast exception error in C# when underyling open type values could not be encoded using XER. (PR #ASN-865)
  • Fixed a bug in which the -uniqueNames qualifier was not working correctly in the case of Java and C#.
  • Fixed Java and C# runtime decoding of character strings to permit constructed elements of length 0 (PR #ASN-855)
  • Fixed a bug in which enumerated values were not being resolved properly when defined values were used as enumered constants. (PR #ASN-862)
  • Fixed a number of C/C++ code generation issues related to compiling TADIG XML schema files. (PR# ASN-849).
  • Modified C/C++ test code generation logic to populate XSD string type variables that contained pattern constraints with matching strings. (PR #ASN-848).
  • Fixed bug in processing XSD types with enumeration restrictions with numeric constants that contained decimal points. These constants were being treated as integers. (PR #ASN-848)
  • Fixed bug in generated C XML encoders generated from XSD in which start element tags in X.694 derivations types would be terminated prematurely. (PR #ASN-848)
  • Fixed bug in XSD-to-ASN.1 translation in which ASN.1 modules with the same name would be created if XSD schemas were in different files with the same target namespace. (PR #ASN-848)
  • Modified C run-time code to fix issues with compile and link with ARM Thumb compiler (tcc).
  • Fixed bugs in Java / C# XML decode logic generated from XSD for cases of repeating elements within embedded choice constructs.
  • Fixed bug in regular expression constants generated in Java or C# for elements within a constructed type when different elements had different patterns.
  • Fixed bug in Java or C# decoders generated from XSD in which elements with minOccurs=0 which were not set would cause a null pointer exception on encode.
  • Fixed bug in configuration processing in which mapping of a SEQUENCE OF type to an array was not working in some cases. (PR #ASN-829)

Changes made between 6.04 and 6.03 include:

  • Added Qt-based GUI for HP-UX.
  • Fixed a bug in C/C++ BER decoding of integers constrained to be unsigned (>= 0) in which negative numbers did not cause a constraint violation error to be raised. (PR# ASN-783)
  • Added "value" as a reserved word to prevent name clashes when subclassing runtime library classes. (PR# ASN-778)
  • Fixed small conversion bug in rtxByteToHexChar. (PR #ASN-766)
  • Fixed C/C++ test code generation to properly follow size constraints on derived OCTET STRING types. (PR #ASN-743)
  • Fixed test code generation to create real-valued strings for xsd:decimal types. (PR #ASN-738)
  • Updated Java reader and writer code generation to give XER or XML precedence in encoding and decoding logic to avoid conflicts in declared objects. (PR #ASN-738)
  • Fixed GUI to disable '-tables' when XER code generation is specified. (PR #ASN-733)
  • Fixed small bug in printing of NULL types that caused calls to be made to #define macros instead of actual functions. (PR #ASN-730)
  • Fixed GUI to allow modifying C# namespace values. (PR #ASN-718)
  • Fixed precision error in Java XER encoding for REAL values using IEEE 754 notation. (PR #ASN-717)
  • Modified Java BER encode logic to not continually create Asn1Tag objects. (PR #ASN-717)
  • Fixed bug in generating C/C++ value constants for ROSE OPERATIONs that occurred when compiling GSM MAP specification (Siemens version). (PR #ASN-707)
  • Fixed missing help text in GUI.
  • Fixed Java PER code generation for strings restricted to a specific character set. (PR #ASN-691)
  • Fixed Java PER code generation for extended elements with default values. (PR #ASN-691)
  • XSD files are now generated for imported modules. (PR #ASN-684)
  • XER encodes open types in hexadecimal if they are determined to be binary. (PR #ASN-682)

Changes made between 6.03 and 6.02 include:

  • Fixed Java compare function generation for optional elements. (PR #ASN-672)
  • Modified C++ BER decode logic to provide improved performance when reading large TAP3 batch files. (PR# ASN-651)
  • Added support for UDP Socket Streams. (PR# ASN-643)
  • Added support for printing NULL types in output. (PR #ASN-637)
  • Fixed Java license checking code to prevent premature error when checking IP addresses. (PR# ASN-613)
  • Fixed bug in which global configuration of SEQUENCE OF types as arrays was not working (directive <storageType>array</storageType>). (PR# ASN-594)
  • Added constraint check in Java/C# PER integer encode/decode logic when multi-part value range specified (for example: 1 | 5..8). (PR# ASN-585)
  • Added sanity checks when freeing memory allocated to open extension SEQUENCE elements. (PR# ASN-571).
  • Fixed bug in copy code generation for UTF-8 strings that were missing appropriate type casting. (PR# ASN-563, 638)
  • Fixed bug in Java license-checking code that caused host checking to fail prematurely. (PR# ASN-554)
  • Fixed bug in PER encoding of ENUMERATED types that have subtype constraints. (PR# ASN-528)

Changes made between 6.02 and 6.01 include:

  • Fixed bugs in code generation of C++ BER reader and writer programs when -stream option was specified. (PR# ASN-532)
  • Fixed bug in generation of C copy functions for string type embedded in linked list (PR# ASN-532)
  • Fixed bug in C/C++ BER encoding of 16-bit signed numbers in the range of -255 to -129. (PR# ASN-523)
  • Fixed problems with incorrect C++ code being generated when -compact option was used. (PR# ASN-517)
  • Fixed a crash in 64-bit integer decode logic which would occur when using optimized C/C++ libraries. (PR# ASN-513)
  • Fixed bug in C/C++ PER encode/decode of enumerated values when constrained to a subset of the values in a higher-level enumerated type. (PR# ASN-497)
  • Fixed bug in C/C++ PER encoding of small, non-negative whole number when value greater than 63 (i.e. extended case). (PR# ASN-472)
  • Added string validation routines for 8-bit character strings when -strict is specified. (PR# ASN-471)
  • Minor user interface fixes. (PR# ASN-468, ASN-469)
  • Fixed code generation for print-to-string and print-to-stream routines for UTF-8 character strings. (PR# ASN-465).
  • Fixed encoding of BIT STRING's using DER to adjust bit count to exclude all trailing zero bits. Fix was done for all languages (C, C++, Java, and C#). (PR# ASN-444)
  • Updated print format for BIT STRINGs. If the final byte contains less than 8 bits, it is printed in binary instead of hex, with x used in positions that are unset. (PR# 000627)

Changes made between 6.01 and 6.00 include:

  • Support for parsing and formatting XML documents that comply with a given XML schema definition (C/C++, Java, and C#).
  • Added support for ASN.1 base 10 encode/decode to allow support of XSD decimal data type.
  • Fixed problem with C# PER encode/decode of 64-bit integer values with extremely large ranges. (PR#ASN-361)
  • Fixed errors in Java/C# PER handling of items with lengths greater than 64k.

New items and bug fixes in the initial 6.00 release include:

  • Support for parsing and formating XML documents that comply with a given XML schema definition (C/C++ only).
  • A new cross-platform graphical user interface based on TrollTech's Qt libraries.
  • Support for Visual Studio project files when using the -genmakeoption.
  • Support for fully-qualified enumeration using the -fqenumoption.
  • Various bug fixes, including but not limited to the following:
  • Fixed Java code generation; circular reference in import statement (PR#000611).
  • Modified C++ EncodeTo and DecodeFrom base class method to return a run-time error if invoked (PR#000524).
  • Fixes for BCD conversion routines (C#).