ASN1C v7.2.x Change Log
ASN1C 7.2.5 was released on April 1, 2019. Changes in this release include the following:
- Fixed some potential memory management issues. We added handling for some possible integer overflow conditions. We fixed an issue where a memory reallocation could involving just the right old/new sizes could corrupt data. We also fixed an issue where freeing memory, if flag RT_MH_ZEROONFREE were set, could corrupt the free memory list (ASN-10295).
- Fixed an issue that would cause the Visual Studio projects in C# run-time source kits not to build.
- Fixed an issue that could result in an erroneous forward slash being in the path to the asn1c.exe file in a generated Visual Studio project.
- Fixed an issue that could result in a backslash being in a -I directive in the asn1c command of a generated makefile on non-Windows systems.
- Fixed an issue that caused the OER C++ libraries and samples to be missing from non-Windows SDKs (ASN-10199).
ASN1C 7.2.4 was released on October 17, 2018. Changes in this release include the following:
- Fixed an issue that could cause the C# limited run-time to get unlicensed host errors on machines where it should be allowed to run (LM-19).
- Fixed an issue that could cause C++ code generated for OER not to compile.
- Fixed an issue that could cause generated C++ test code not to compile.
- Fixed a problem that could cause double BER encodings of UTF8String items with C# (ASN-10047).
- Added support for relative OIDs for OER C code generation (ASN-9991).
- Fixed some problems that could cause C code generated for OER not to compile if the ASN.1 specification contained UniversalString or BMPString items.
- Fixed a bug in C/C++ OER runtime. The oerDecLen function had a bug that would cause a crash when decoding an extension element that had been encoded using a long form length determinant (ASN-9971).
- Fixed a bug in C/C++ OER code generation for extension elements in a SEQUENCE. In some cases, some data would be encoded for absent extension elements where nothing should have been encoded (ASN-9971).
- Fixed a bug in PER decode function generation for C and C++. The generated decode function for a CHOICE could potentially be incorrect if some elements in the CHOICE were marked notUsed in a config file (ASN-9992).
- Added support for generating C++ code for the OER encoding rules when using the -cpp11/-c++11 option. This support was previously missing (ASN-9985).
- Fixed a bug that produced non-compilable C++ code when using the -cpp11/-c++11 option and generating code for ASN.1 modules having circular dependencies (ASN-9980).
- Added support for extension elements in a CHOICE type for C/C++ OER (ASN-9971).
- Fixed a bug that would cause attempts to generate C++ code on the Mac using the GUI with the options to generate either a client skeleton or a server skeleton enabled to fail with file access error messages (ASN-9969).
- Fixed a bug affecting the generated C/C++ compare function for bit strings with extensible size constraints. In some cases, the compare would incorrectly return FALSE, but this might not have been the only manifestation of the bug (ASN-9967).
- Fixed a bug in the generated C/C++ copy function for constrained bit strings. In some cases, the copy function would not correctly copy all of the bit string (ASN-9967).
- The SDK will now display a warning (if -warnings is specified) if -coer is specified with either -java or -csharp, since the -coer option is not yet supported for these languages. Previously, code would be generated, but an exception would occur if an attempt was made to run the code. Now if -coer is specified with either of these languages, in addition to the warning, the option will be disabled. See the Employee sample in either java/sample_oer or csharp/sample_oer for guidelines on canonical OER processing with v7.2. Support for -coer with Java and C# is planned for ASN1C v7.3 (ASN-9803).
- Fixed a potential license-related memory leak in the SDK (ASN-9654).
- Modified run-time license checking for ifloat licenses so that application will use the same license checked out by compiler when code is generated. This replaces the time-limited licenses that were generated in previously releases.
ASN1C 7.2.3 was released on August 3, 2018. Changes in this release include the following:
- A new distribution kit was added for Linux ARM 32-bit. This includes the SDK as well as a run-time. It was built on a Raspberry Pi platform.
- Fixed a problem in the ASN1C GUI where the "Use enumerated types instead of integers" check box on the C/C++ tab was not working.
- Fixed a problem in the ASN1C GUI where the "Specify namespace" and "Specify namespace prefix" check boxes on the C# tab were not enabling the text boxes next to them.
- Added an option to the ASN1C GUI to correspond to the -use-enum-types command line qualifier for C# (ASN-9944).
- Fixed a bug in ASN.1 pretty-printing (-asn1 flag) where an extra comma was output at the end of a SEQUENCE type (ASN-9935).
- Fixed C/C++ code generation for -uper option to not include superfluous integer constraint and byte alignment checks. (ASN-9908 and ASN-9924).
- Fixed a crash that would occur in C/C++ XER/XML decoding logic if event handlers were specified (-events option).
- Fixed bugs in C/C++ XER/XML and JSON BIT STRING encoding and decoding. Errors included wrong number of bits being encoded, decoded bits having the wrong value, and run-time error when attempting to decode a valid BIT STRING in JSON.
- Added missing uper C and C++ samples to non-Windows SDKs (ASN-9917).
- Added the CMIP specs to the SDK, which are referenced by at least one configuration file (ASN-9916).
- Fixed a bug that could cause generated C# project files to contain invalid folder names (ASN-9915).
- Fix for calls to Asn1NamedEventHandler::invokeCharStrValue when using std::string; prior to this, code generated using "-cpp11 -events" would not compile (ASN-9899).
- Fixed incorrect parsing error occurring on ASN.1 syntax that used "TAG" as the name for a type assignment (ASNVE-2355).
- Fix C/C++ XER decode generation for BIT STRING with extensible size constraint. The generated code referred to an undefined "extdata" variable and would not compile (ASN-9883).
- Fix buffer overflow issues in C/C++ runtime function rtxEncBitsFromByteArray (ASN-9868).
- Modified embedded run-time kits so the platform.mk file in the c and cpp directories references generic commands for C compiling, C++ compiling, archive manipulation, and stripping (ASN-9852).
- Fix for C/C++ JSON encoding issue for optional extension elements inside an extension group. Do not attempt to encode elements not set as present. Prior to this fix, the encoder would possibly access uninitialized memory for absent elements (ASN-9836).
ASN1C 7.2.2 was released on May 7, 2018. Changes in this release include the following:
- Fixed a problem that could cause C or C++ "switch" blocks for checking ENUMERATED values not to get generated (ASN-9797).
- Eliminate a false error report of the form "Type 'xyz' is not defined within the context of this module". Such a message could appear for some complex ASN.1 schemas involving parameterization and value sets. This bug was new to version 7.2. (ASN-9786)
- Fix a bug related to parameterized types and constraints. If a value or value range constraint inside a parameterized type used one of the parameters, all instances of use of the parameterized type would erroneously use the same value in the constraint. This was a new defect in asn1c 7.2 and affects all languages (ASN-9784).
- Fix generation of free functions in C/C++ for CHOICE types with extension markers, when using -static and -genfree. A pointless test and useless call to free memory were eliminated (ASN-9770).
- Fix some bugs in C/C++ code generation that produced code which would not compile. These bugs were related to certain command-line options, or combinations of options. Options that were involved included: -static, -strict-size, -test, -gentest, -x64, -server, -client (ASN-9744).
- Fix C/C++ PER decoding when using command-line option -noOpenExt. In the case where a SEQUENCE defined some extension elements, the decoder failed to skip over an unknown extension element, when it was present in the encoding; this would typically lead to a decode error (ASN-9754).
- Fix a problem that could cause warnings about the rtxBench module during C/C++ run-time source kit builds.
ASN1C 7.2.1 was released on March 13, 2018. Changes in this release include the following:
- Fixed a bug in C/C++ PER encoding of integers when the command-line option -uper is used. An integer type constrained to a finite set of positive values (i.e. with all values > 0; e.g. INTEGER(1..1800)) was not correctly encoded. The code failed to subtract the lower bound from the value to be encoded. This bug was new to 7.2.0. (ASN-9723)
- Fix module import behavior so that it is possible to import from a module, using a different name than in the module definition, when the definitive OID is provided (ASN-9717).
- Fix OER BIT STRING handling to ensure that unused bits in the encoding are set to zero (ASN-9601).
- 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).
- Add feature to the GUI to tell ASN1C how to generate PDUs (ASN-9688).
- Fix unclear error message returned by the C/C++ run-time if ACLICFILE equated to a directory instead of the full path to a license file (ASN-9697).
- Fixed a problem where Visual Studio .filters files would appear in some sample directories in non-Windows SDKs.
ASN1C 7.2.0 was released on January 21, 2018. New features in this release include the following:
- Added capability to generate client/server programs in C/C++
- Added capability to do template-based code gen in C/C++
- Improved PER encode/decode performance
- Addition of simple static memory management option
- Use of newer versions of Visual Studio for Windows
- Libraries built with gcc 7.x added to Linux distributions
- Addition of compiler option to generate COER code
- Addition of support for .NET Core