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
unberbuffer 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
- @elfring made their first contribution in #87
- @akire made their first contribution in #128
- @daa made their first contribution in #102
- @velichkov made their first contribution in #104
- @theirix made their first contribution in #110
- @gareins made their first contribution in #118
- @johvik made their first contribution in #145
- @mattipee made their first contribution in #173
- @DanyaFilatov made their first contribution in #203
- @ringlej made their first contribution in #213
- @dwd made their first contribution in #283
- @rkubik made their first contribution in #275
- @jonnystorm made their first contribution in #346
- @shadansari made their first contribution in #349
- @vlm made their first contribution in #386
- @robstradling made their first contribution in #380
- @fei4xu made their first contribution in #340
- @dfranusic made their first contribution in #327
- @timgates42 made their first contribution in #413
- @joluxer made their first contribution in #382
- @kellerkindt made their first contribution in #421
Full Changelog: v0.9.28...v0.9.29