Skip to content

asn1rs v0.2.0-alpha2

Pre-release
Pre-release
Compare
Choose a tag to compare
@kellerkindt kellerkindt released this 03 Sep 13:33
· 282 commits to master since this release

0.2.0-alpha2 (Sep 03, 2020)

This release includes a lot of refactoring and new features.
With these changes, it is now possible to use the following two ASN.1 standards:

  • 🎉 itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) ts(102894) cdd(2) version(1) (ITS-Container)
  • 🎉 itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) en(302637) cam(2) version(1) (CAM-PDU-Descriptions)

Fixes

  • Implement the canonical order for tags (ITU-T X.680 | ISO/IEC 8824-1, 8.6)

Added

  • Support for INTEGER constants
  • Support for extensible SEQUENCEs
  • Support for extensible INTEGERs
  • Support for BIT STRING, as well as the SIZE constraint, constants, and the extensible flag
  • Support for IA5String, as well as the SIZE constraint, and the extensible flag
  • Support for SIZE constraints for OCTET STRINGs
  • Support for SIZE constraints for UTF8Strings
  • Support for SIZE constraints for SEQUENCE OFs
  • ASN.1 Support Overview to README

Changes

  • Parse/Accept ObjectIdentifier in FROM directives and module definitions
  • The whole module crate::io::uper is now deprecated
  • Reimplemented all low level uPER functions - this time strictly according to specification and using names mentioned there, see crate::io::per
  • Better prepare for alternative encoding rules (especially aligned PER, although this is no specific goal)
  • Help the compiler in figuring out where const evaluations are possible (see const_*! macros)
  • Lots of #[inline] hinting