Skip to content

v0.9.29

Latest

Choose a tag to compare

@vlm vlm released this 22 Jun 06:10

What's Changed

FEATURES:

  • Added support for basic Information Object Sets driven code generation.
  • Added OER support.
  • Added LTE RRC example (Bi-Ruei, Chiu).
  • Added IEEE 1609.2 example.
  • Added SAE J2735 example.

NOTABLE:

  • Converter example (included by default):
    • converter-sample.c renamed into converter-example.c
    • make converter-example.mk file for building that converter
    • asn1c -no-gen-example to stop generating converter-example.{c,mk}
  • asn1c -no-gen-example option to disable converter-example generation.
  • Added random value generation (-R option to converter-example).
  • Added LibFuzzer-based randomized tests for supported transfer syntaxes
    (DER, OER, UPER, XER) into tests/tests-randomized. See the following
    article to get the latest LibFuzzer-enabled clang on macOS:
    https://medium.com/@levwalkin/compile-llvm-clang-libfuzzer-b61e82718430
    then ensure the new clang is in the way:
    CC=clang CXX=clang++ ./configure --enable-Werror --enable-test-fuzzer
  • OBJECT IDENTIFIER and RELATIVE-OID API simplified.
  • uper_encode() API got new argument (breaks API compatibility).
  • asn1c -gen-XXX flags are deprecated. Use -no-gen-XXX to disable codecs.

FIXES IN COMPILER-GENERATED OUTPUT:

  • Fix incomplete (failed) CHOICE XER decoding memory leak.
    (Severity: medium; Security impact: medium)
  • Fix REAL type overwrite conversion memory leak.
    (Severity: low; Security impact: medium)
  • Fix UPER string decoding constrained only by lower bound > 0
    (Severity: low; Security impact: none)
  • Fix UPER decoding of large [bit-]strings of size a multiple of 16K
    (Severity: low; Security impact: none)
  • Fix XER decoder crash on maliciously constructed ENUMERATED input.
    (Severity: medium; Security impact: medium)
  • Fix XER decoder of INTEGER, OBJECT IDENTIFIER, and RELATIVE-OID.
    In some cases an INTEGER overflow during parsing is not detected
    and incorrect value is returned to the decoder instead of an error.
    Reported by Nika Pona npona@digamma.ai.
    (Severity: low; Security impact: medium)
  • Fix BER CHOICE decoding infinite loop. Reported by John Bradley (Credex).
    (Severity: high; Security impact: low)

FIXES IN TOOLING:

  • CVE-2017-12966 verified not present.
  • Fix unber buffer overrun. Reported by Eric Sesterhenn.
    (Severity: low; Security impact: high)

Change Details

  • Delete unnecessary checks before some function calls by @elfring in #87
  • Unify the naming of asn_OCTET_STRING_specifics_t variables by @brchiu in #89
  • Solve "make check-per" failed on Lubuntu by @brchiu in #90
  • Fix 'declaration inside parameter list' warning by @brchiu in #96
  • Windows universal build by @akire in #128
  • Use wide types to decode x509 certificate in examples, solves #47 by @daa in #102
  • Fix segmentation fault in asn1c_make_identifier by @velichkov in #104
  • Fixed a mistype in man by @theirix in #110
  • Locate AR using standard macro by @theirix in #109
  • Refreshing reserved keywords by @gareins in #118
  • Rewrite the 64bit test. Fixes #131 by @velichkov in #132
  • Fix many memory leaks reported by valgrind by @brchiu in #126
  • Fix some memory leakage found till now by @brchiu in #153
  • Add LTE-RRC example by @brchiu in #150
  • Skip last comma when there are no extensions by @johvik in #145
  • Merge PR99 and its fixes to support parsing Information Object and Information Object Set by @brchiu in #154
  • Fix issue 144 by @brchiu in #160
  • Fix duplicate 'const' warnings by @johvik in #158
  • Missing void in _new_stack() by @johvik in #157
  • Add (void) when st is unused by @johvik in #156
  • Add const to strings in skeletons/ by @johvik in #155
  • Fix compile SAE J2735_201603DA.ASN issue by @brchiu in #168
  • Omit constraints code if -fno-constraints by @mattipee in #173
  • Fix issue 180 and 182 by @brchiu in #184
  • Move type operations to another structure by @brchiu in #186
  • suppress warning in x64 by @DanyaFilatov in #203
  • Fix some memory leakage and access violation in recent code by @brchiu in #208
  • Replace MAXFLOAT with FLT_MAX by @ringlej in #213
  • Fix issue 211 by @brchiu in #214
  • fix issue #220: implicit declaration of function ‘isatty’ by @ringlej in #221
  • Do not ignore the test errors in TravisCI by @velichkov in #223
  • Fix s1ap code generation by @brchiu in #224
  • Fix duplicate 'asn_VAL_23_ignore' generated from RANAP ASN.1 by @brchiu in #227
  • Do not build 32bit skeletons lib and check-converter by @velichkov in #229
  • Add test case for issue #178 by @ringlej in #236
  • Fix 'make check' error under sample.source.RRC by @brchiu in #241
  • Fix crash when processing S1AP by @brchiu in #244
  • Cleanup generated makefiles and make it work better with autotools by @ringlej in #245
  • Remove static qualifier from var in SET_OF__encode_sorted by @dwd in #283
  • Modify asn_time2GT_frac to accept 9 digits of fractional seconds by @rkubik in #275
  • Fix warning : function declaration isn’t a prototype by @brchiu in #270
  • Fix OCTET_STRING/BIT_STRING skeleton dependency by @jonnystorm in #346
  • Fix usage cmd in README of examples/sample.source.LDAP3 by @shadansari in #349
  • Decouple NULL and BOOLEAN by @vlm in #386
  • fix issue #379 by @robstradling in #380
  • Update asn1c-usage.tex by @fei4xu in #340
  • Fix compiler redefinition warnings for EXTENSIONS by @dfranusic in #327
  • docs: fix simple typo, occured -> occurred by @timgates42 in #413
  • Improve test coverage for parser and AST testing. by @joluxer in #382
  • Update ASN1C_ENVIRONMENT_VERSION to v0.9.29 by @kellerkindt in #421
  • Add SECURITY.md by @vlm in #514
  • Fix make check by @vlm in #517
  • Fix BER CHOICE decoding infinite loop on malformed indefinite-length EOC by @vlm in #518
  • Fix ASan stack-check false positive and 32-bit PER test failure by @vlm in #519
  • Fix multiple definition of asn_debug_indent in debug builds by @vlm in #520
  • Detect AddressSanitizer under Clang via __has_feature by @vlm in #521
  • Fix PER constraint inheritance for type aliases by @vlm in #526

New Contributors

Full Changelog: v0.9.28...v0.9.29