ASN1C v7.1.x Change Log
ASN1C 7.1.6 was released on July 24, 2018. Changes in this release include the following:
- Java and C# changed to throw an exception if unused bits in a BIT STRING OER encoding were not zeroed (ASN-9601).
- Fixed a bug for C/C++ XML encoder where the first alternative of a choice was encoded with the wrong namespace (ASN-9710).
- (3GPP NAS Add-on) Added support for "no identity" option of 24.008 Mobile Identity IE(ASN-9796).
- (3GPP NAS Add-on) Fixed handling of System Information messages on BCCH to ignore the L2 pseudo length (ASN-9799).
- Fix for potential security issues in rtxEncBitsFromByteArray (ASN-9868).
- Added a C runtime function to reset indentation for printing, in case an error makes it necessary (ASN-9914).
ASN1C 7.1.5 was released on February 5, 2018. Changes in this release include the following:
- Fix bug where a non-existent *Present flag is referred to in generated C JSON decode function (ASN-9683).
- Fix bug where null entries in the list of extensions causes a crash during JSON encoding (ASN-9684).
- Fixed iFloat license handling to not cause an HTTP 411 length required error for some HTTP implementations (e.g. Squid proxy server).
- Fixed C++ PER code generation to not qualify enumerators with the enum type name. Doing so is non-standard (prior to C++11) and causes GCC to report an error (depending on the version and C++ variant) (ASN-9656).
- Fixed C++ code generation to not generate an EncodeTo function declaration when we are not generating the EncodeTo function definition due to configuration options (ASN-9656).
- Fixed the GUI so that a "default" option is among the choices for for the handling of SET/SEQUENCE OF, for C/C++ (ASN-9615).
- Fixed an error in OER encodings in which encodings done using the X.696 standard (the default) might contain tags that should not have been present (ASN-9520).
- Fixed an error in OER encodings in which encodings done using the NTCIP standard might contain incorrect tags (ASN-9520).
- Fixed an error in run-time key generation that could cause a run-time key not to allow NAS operations when it should allow them.
ASN1C 7.1.4 was released on October 17, 2017. Changes in this release include the following:
- Fixed an error in C/C++ compact code generation in which the wrong action was being taken if a memory allocation failure occurred which caused a crash. An RTERR_NOMEM status is now immediately returned.
- In Windows SDKs the sample writer project files for a couple of samples in the C sample_xml folder would produce writer.exe files that got a buffer overflow error during the encoding. This has been fixed.
- In Windows SDKs the sample reader and writer project files in the C PER employee_dll sample folder were erroneously producing .dll files instead of .exe files. This has been fixed.
- Fixed an issue where some warnings would not be displayed even if -warnings was specified on the asn1c command line.
- Fixed a bug where an exception could occur during code generation if a circular reference was encountered in a specification (SALES-2087).
- Fixed a bug in the pretty printing functionality (the -asn1 qualifier) that could cause generated pretty-printed ASN.1 files to contain circular references in OBJECT IDENTIFIER definitions (SALES-2087).
- Eliminated the potentially problematic empty .lic files from the Mac SDK (ASN-9469).
- Fixed a bug where a file write error could occur during license key activation from the GUI on a Mac (ASN-9469).
- Fixed C/C++ length-constrained BIT STRING, implemented as a byte array, to prevent accesses outside the array. This change affects the generated C++ constructor, print function, and PER encoder (ASN-9458).
- Fixed a bug in C/C++ runtime function rtxStreamCtxtBufFree where deleted memory was accessed (ASN-9458).
- Fixed a bug in C/C++ code generation where a generated copy function might reference the wrong pointer (ASN-9453).
- Fixed a bug where a generated Windows makefile might reference run-time .lib files that don't exist (ASN-9447).
- Fixed a compilation error in generated C++ code for -cpp11 support. There was an error reported for calls to rtValidateStr (ASN-9441).
- Removed the restriction that prevented -fqenum and -tables from being specified on the same ASN1C command line (ASN-9357).
- Fixed a bug that would cause an invalid reader.c file to be generated if no encoding rules were specified on the ASN1C command line (ASN-9428).
- Fixed a bug that would cause a generated makefile that referenced shared run-time libraries not to work on the Mac (ASN-9440).
- Fixed a bug that would cause a C/C++ header file specified in the ASN1C GUI to be generated without the .h extension. The same behavior could be seen by specifying the -hfile qualifier with a file name that didn't have the .h extension on the ASN1C command line (ASN-9442).
- Fixed a bug that caused the setting for the symbol SO in the platform.mk file at the top level of the Mac SDK hierarchy to equate to .so instead of .dylib (ASN-9444).
- Fixed a bug where a BIT STRING with named bits and an extensible size constraint was not handling the extension. A new extdata member is now added to the structure to handle this case so that generated code will handle the extension data (ASN-9449).
ASN1C 7.1.3 was released on August 2, 2017. Changes in this release include the following:
- Fixed a bug in C/C++ runtime for unaligned PER encoding of open types where fragmentation is required (ASN-9259). Prior to this fix, a crash would occur in the pe_OpenTypeEnd function.
- Changed the ASN1C GUI so the window title says "Unlicensed version" if the Skip button in the license dialog is clicked (ASN-9341).
- Modified the ASN1C GUI so unsupported encoding rules are unchecked when a target programming language is selected (ASN-9346).
- Added a UPER option to the ASN1C GUI (ASN-9376).
- Fixed some problems that would cause iFloat license operations not to work if a proxy was in place (ASN-9383).
ASN1C 7.1.2 was released on April 19, 2017. Changes in this release include the following:
- Fixed a bug where during makefile generation, some spurious ASN-E-FILNOTFOU errors would be reported for filenames like *Table.h and *Class.h (ASN-9177).
- Fixed a C/C++ compilation error arising when generating C/C++ code from XSD, and compiling for 64-bits. The error was related to invocations of the xd_OpenType function.
- Fixed a bug in diagnostic BER print function xu_dump2, used for printing a binary representation of a BER message. For some data, the function would crash.
- Fixed various C/C++ code generation issues related to the -c++11 option (use of C++ STL) that caused the ASN1C compiler to crash or to generate code that failed to compile (ASN-9191).
- Eliminated some warnings in C/C++ BER decoder when generating code for SEQUENCE OF NULL (or repeating xs:string if compiling XSD) (ASN-9191).
ASN1C 7.1.1 was released on March 15, 2017. Changes in this release include the following:
- Fixed a bug in C/C++ PER code generated by compiling XSD. In some cases, the generated code used incorrect bounds for constrained integer types. This only happened in certain cases, where the xsd:integer min/max bounds had very large magnitude (having, say, more than 15 decimal digits).
- Fixed a bug in C/C++ PER encoding of semi-constrained whole numbers (integers with a lower bound and no upper bound). For some values, the length for the value was encoded incorrectly (ASN-9291).
- Fixed C/C++ print-to-string print behavior of null strings so that '(null)' will be printed (ASN-9191).
- Fixed a bug in the C/C++ XML runtime layer that caused XML attributes to not be decoded in certain cases. This happened for code generated from XML Schema, when an XSD complex type extended another XSD complex type and the extension added attribute declarations (ASN-9191).
- Eliminated warnings about unused pdata* variables, in generated C/C++ print functions, that would appear when generating code for SEQUENCE OF NULL. Such a type can result when compiling certain XML Schema, namely, in cases where an abstract element has an empty substitution group (ASN-9191).
- Fixed a bug in which incorrect license information was being displayed. A license expiration date would be shown in some cases when in fact the license was permanent. (ASN-9199)
- Fixed two bugs in XSD compilation. The first bug was causing asn1c to crash with an assertion violation in cases where the same include file was referenced using different values for the schemaLocation (e.g. "myfile" v.s. "./myfile"). The second bug was causing undefined type errors to be reported when using a global, abstract element having an empty substitution group. (ASN-9191)
- Fix to C/C++ PER decoder. When there is a SEQUENCE OF having a fixed size, represented as a list, and -strict-size is used, we generated a decode loop that used 0 for the upper bound and therefore wouldn't decode any occurrences. This has been fixed to use the correct upper bound (ASN-9140).
- Fix a bug in C OER decoder generation where a required memory allocation was missing in some cases (ASN-9162).
- Eliminated some warnings produced by gcc when the C run-time source code in a source kit is compiled (ASN-9147).
- Fixed a bug in license checking in the GUI in which after the key value was entered for the first time, an error would appear in the log indicating license file not found, but key activation was successful.
ASN1C 7.1.0 was released on January 13, 2017. New features in this release include the following:
- Support added for OER in Java and C#
- Support added for Canonical OER
- Generation of C/C++ code to better support 64-bit architectures
- Improved support for ISO date/time C/C++ code generation for BER
- Support for character string types as default values
- gcc 6.x libraries added to Linux distributions