ASN1C v7.3.x Change Log
ASN1C 7.3.5 was released on January 7, 2020. Changes in this release include the following:
- Fixed a crash in asn1c occurring when generating code for C/C++ JER (JSON) (ASN-10737).
- Fixed a defect in XSD generation where garbage characters were included in type names (ASN-10649).
- Fixed a defect in Java Asn1DecodeBuffer.skip where it would sometimes skip fewer bytes than specified, even when end of stream was not reached (SALES-5153).
- Fixed defects in Java/C# PER code generation related to constraints. In one case, a superfluous SIZE(0..MAX) constraint on an OCTET STRING would result in non-compilable code. In another case, constraining an INTEGER type using named integer values would result in an encoder and decoder that would raise an exception for any non-zero value (ASN-10649).
- Added generation of missing constraint check to C/C++ OER INTEGER decode (ASN-10628).
ASN1C 7.3.4 was released on October 9, 2019. Changes in this release include the following:
- Fixed a defect in Java class Asn1OpenExt.equals() that could cause a NullPointerException when invoking that method (ASN-10592).
- Added WITH COMPONENTS constraint checking to C/C++ PER encode/decode functions (ASN-10583).
- Fixed a defect in C/C++ OER ENUMERATED decoding, occurring when using -use-enum-types, in which the generated code might incorrectly report the decoded value as invalid (ASN-10576).
- Fixed a defect in C++ code generation for -use-enum-types where circular dependencies would cause a pointer to an integer type to be used instead of a pointer to the enum type (ASN-10525).
- Fixed C++ code generation to avoid using memset to initialize non-trivial C++ objects. This addresses the GCC warning -Wclass-memaccess (ASN-10525).
- Modified the ASN1C GUI so a loaded .acproj file that specifies C++ will always have the "Generate memory free functions" box checked (ASN-10484).
- Fixed a bug related to decoding a UPER OCTET STRING where a single octet of the string was sometimes decoded twice, resulting in incorrect output. (AT-536).
ASN1C 7.3.3 was released on July 10, 2019. Changes in this release include the following:
- Fixed a bug that could cause destructor implementations in generated C++ code not to be generated (ASN-10484).
- Added Java CDR sample to BER sample programs.
- Modified syntax checking to allow named number identifiers with uppercase first characters to be accepted if lax syntax checking was enabled (-laxsyntax)(ASN-10497).
- Fixed a bug in the GUI in which a license error would show up in the error log the first time the GUI was run and if a valid license key was entered in response to the initial prompt (ASN-10463)
- Fixed bugs in the ASN1BEREncodeStream class write, flush, and close methods in which data in the context buffer would not be written to the output stream.
- Fixed some defects that could cause interactions with a proxy server not to work properly (ASN-10482).
- Fixed C/C++ compilation error for generated code where the built-in EXTERNAL type is used and a type named "External" is defined (ASN-10454).
- Modified C/C++ asn1Free* function generation to set freed pointers to null. The purpose of this is to avoid possible double destruction of objects when using the -cpp11 option (ASN-10405).
- Improved Java and C# runtime license checking to be more efficient. Also, avoided some unnecessary synchronization when using the Diag class for diagnostics (ASN-10424).
- Fixed a defect in C/C++ runtime functions rtxEncBits and rtxMergeBits where, under certain conditions, these functions would not overwrite pre-existing data in the buffer that should be overwritten. (indirectly related to ASN-10422).
- Fixed a buffer overflow defect in rtxEncBits, a C/C++ runtime function (ASN-10422).
- Fixed a defect that could cause uncompilable code to be generated if both -table-unions and -static were used (ASN-10457).
- Fixed a defect for Java/C# code generation that occurs when -json and -ber are both used; the checkTC function for the two encodings was in conflict and the generated code could not be compiled.
- Fixed a defect in the Windows SDK installation procedures that would cause a desktop icon to be created even if the installer chose not to do this.
ASN1C 7.3.2 was released on May 10, 2019. Changes in this release include the following:
- Fix handling of open types to make sure information object sets are recognized as extensible when they are and that an "extElem1" field is generated when it should be (ASN-10390).
- Fix a defect that would cause asn1c to crash when trying to generate C/C++ code for JSON (ASN-10390).
- Removed the hard-coded specification of the name PersonnelRecord in text displayed by generated reader.cpp files.
- Fixed a memory leak for code generated using -cpp11 related to open types with table constraints (ASN-10399).
- Fixed Java and C# runtime handling of BIT STRING with named bits and a size constraint for PER encoding. Prior to this fix, it was necessary to populate the bit string with at least the minimum number of bits to avoid an ArrayIndexOutOfBoundsException/IndexOutOfRangeException. The encoder will now add trailing zero bits, in accordance with X.680 and X.691 (ASN-10333).
- 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 Java and C# Asn1BitString.set/Set function to ensure newly added bits are zero when expanding the bit string (ASN-10333).
- Removed the no-longer-needed libxml2 libraries from the run-time (ASN-10253).
- Fixed an issue that could cause an erroneous "Invalid MAC address" error to be displayed by the SDK (ASN-10306).
- Fixed an issue that could cause unwanted char arrays to be generated into C or C++ code if -compat was specified (ASN-10316).
- Fixed a bug in generating pretty-printed ASN.1 in which generation of code for table constraints with multiple key values would result in invalid code (ASN-10407).
- Fixed an issue that caused some C++ samples to fail in Windows SDKs if ported to a different version of Visual Studio using the portSamples.pl script.
- Changed the SDK so it prints a successful -licinstall message as an information message rather than as an error message.
- Modified the portlib.pl script in the Windows SDK so the portSamples.pl script will port OER and UPER samples, which it was not doing previously.
- Fixed a parsing error in the C/C++ JSON number string parsing function. It failed to successfully parse floating point number strings with exponential notation.
- Fixed a bug in C/C++ run-time test code generation in which code generated for elements that referenced the NumericString type or other types with permitted alphabet constraints was not compilable.
- Made some fixes to the ASN1C Visual Studio wizard so it will work properly with ASN1C v7.3 (ASN-10272).
ASN1C 7.3.1 was released on February 21, 2019. Changes in this release include the following:
- Fixed a bug in the C/C++ PER encode BIT STRING run-time function that caused the encoder to align bit string data when it should not. The result of the bug is that fixed-length bit strings of between 3 and 16 bits, which ought to be encoded without alignment in aligned-PER, are encoded with alignment (ASN-10284).
- Fixed an issue that caused the .Net Core C# run-time not to find a license file in the application's folder (SALES-4498).
- Fixed an issue that could cause generated C++ code not to compile if -coer and -use-enum-types were both used (SALES-4467).
- Fixed an issue that caused the csta C++ sample in Windows 64-bit SDKs not to link properly.
- Fixed Java and C# run-time license checking to be able to locate the osyslic.txt file generated by the compiler when an ifloat license was activated. This made it possible to run applications built with SDK libraries indefinitely on these machines. Previously, they had a 30-day limit (ASN-10241).
ASN1C 7.3.0 was released on January 15, 2018. New features in this release include the following:
- The capability to generate code in all languages (C/C++, Java, and C#) for the JSON Encoding Rules (JER)
- Addition of a new custom ASN.1 specification - TS24501Msgs.asn - that contains productions that can be used with our ASN1C compiler to generate C encoders and decoders for messages defined in 3GPP TS 24.501 - NAS Protocol for 5GS.
- Addition of A new set of space-optimized C libraries for the PER and UPER encoding rules targeted for use in IoT devices.
- Addition of compiler support for Canonical Octet Encoding Rules (COER) in Java and C# (run-time support existed before).
- Java and C# toString Methods TBCD String Conversion.
- Generation of build artifacts for Maven or Gradle