rasn 0.14.0

A safe no_std ASN.1 codec framework.
Documentation
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.14.0]https://github.com/librasn/rasn/compare/rasn-v0.13.1...rasn-v0.14.0 - 2024-04-04

### Fixed
- *(jer)* ENUMERATED values as strings ([#242]https://github.com/librasn/rasn/pull/242)

### Other
- Fix/jer compliance ([#243]https://github.com/librasn/rasn/pull/243)
- Feat/identifier annotation ([#239]https://github.com/librasn/rasn/pull/239)

## [0.13.1]https://github.com/librasn/rasn/compare/rasn-v0.13.0...rasn-v0.13.1 - 2024-03-21

### Other
- Manually fix the incompatible versions (a result of v0.13.0 release) and some clippy warnings ([#237]https://github.com/librasn/rasn/pull/237)

## [0.12.6]https://github.com/librasn/rasn/compare/rasn-v0.12.5...rasn-v0.12.6 - 2024-03-09

### Fixed
- fix char and index maps, enable tests ([#230]https://github.com/librasn/rasn/pull/230)
- fix no_std being commented out
- *(types)* stack overflow in ObjectIdentifier PartialEq ([#223]https://github.com/librasn/rasn/pull/223)

### Other
- *(macros)* Treat Unit Structs as ASN.1 NULL ([#227]https://github.com/librasn/rasn/pull/227)
- *(README)* add declaration reference ([#159]https://github.com/librasn/rasn/pull/159)
- Fix calling the specified default fn
- Add default_initializer_fn optimisation

## [0.12.5]https://github.com/librasn/rasn/compare/rasn-v0.12.4...rasn-v0.12.5 - 2024-02-02

### Fixed
- *(der)* sort SET OF items ([#220]https://github.com/librasn/rasn/pull/220)
- *(macro)* recognize option references ([#219]https://github.com/librasn/rasn/pull/219)

### Other
- remove legacy compiler ([#221]https://github.com/librasn/rasn/pull/221)
- Make backtraces as feature, enabled by default ([#214]https://github.com/librasn/rasn/pull/214)

## [0.12.4]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.12.3...rasn-v0.12.4 - 2023-12-04

### Other
- Remove deprecated chrono functions, redundant constant lifetimes ([#212]https://github.com/XAMPPRocky/rasn/pull/212)

## [0.12.3]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.12.2...rasn-v0.12.3 - 2023-11-25

### Other
- Fix issue with decoding of BasicOcspResponse. ([#208]https://github.com/XAMPPRocky/rasn/pull/208)

## [0.12.2]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.12.1...rasn-v0.12.2 - 2023-11-23

### Other
- Fix/issue 204 ([#206]https://github.com/XAMPPRocky/rasn/pull/206)

## [0.12.1]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.12.0...rasn-v0.12.1 - 2023-11-14

### Other
- Fix PER ObjectIdentifier, Alignment for Choice index encoding ([#202]https://github.com/XAMPPRocky/rasn/pull/202)

## [0.12.0]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.11.1...rasn-v0.12.0 - 2023-11-12

### Fixed
- *(macros)* handle negative discriminants

### Other
- Add `Option<T::EXTENDED_VARIANTS>` for Choice, clippy cleanup for relevant macros ([#200]https://github.com/XAMPPRocky/rasn/pull/200)
- Fix issue [#192]https://github.com/XAMPPRocky/rasn/pull/192, add APER ExtensiblePersonnelRecord with bug fixes  ([#199]https://github.com/XAMPPRocky/rasn/pull/199)
- Feature/jer ([#187]https://github.com/XAMPPRocky/rasn/pull/187)
- Field_error improved, Boxed error `kind`, explicit naming also for `DecodeErrorKind` ([#197]https://github.com/XAMPPRocky/rasn/pull/197)
- run cargo fmt

## [0.11.1]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.11.0...rasn-v0.11.1 - 2023-11-06

### Other
- Use `ok_or_else` instead of `ok_or` in Error handling for performance ([#195]https://github.com/XAMPPRocky/rasn/pull/195)
- Move some generally useful functions from PER to utility module ([#190]https://github.com/XAMPPRocky/rasn/pull/190)

## [0.11.0]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.10.6...rasn-v0.11.0 - 2023-10-28

### Other
- Shared error module ([#164]https://github.com/XAMPPRocky/rasn/pull/164)

## [0.10.6]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.10.5...rasn-v0.10.6 - 2023-10-26

### Other
- Fix deprecated chrono functions ([#184]https://github.com/XAMPPRocky/rasn/pull/184)
- Add CI check for formatted files and reformat source ([#181]https://github.com/XAMPPRocky/rasn/pull/181)

## [0.10.5]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.10.4...rasn-v0.10.5 - 2023-10-19

### Fixed
- *(per)* encoding extensible string types ([#179]https://github.com/XAMPPRocky/rasn/pull/179)

## [0.10.4]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.10.3...rasn-v0.10.4 - 2023-10-16

### Other
- four uper issues ([#177]https://github.com/XAMPPRocky/rasn/pull/177)

## [0.10.3]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.10.2...rasn-v0.10.3 - 2023-10-11

### Other
- Fixes [#146]https://github.com/XAMPPRocky/rasn/pull/146, VisibleString character set ([#147]https://github.com/XAMPPRocky/rasn/pull/147)
- Fix/uper integer ([#174]https://github.com/XAMPPRocky/rasn/pull/174)

## [0.10.2]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.10.1...rasn-v0.10.2 - 2023-10-10

### Other
- Fix/issue 165 ([#172]https://github.com/XAMPPRocky/rasn/pull/172)

## [0.10.1]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.10.0...rasn-v0.10.1 - 2023-10-10

### Fixed
- *(de)* missing `decode_default_with_tag_and_constraints` ([#170]https://github.com/XAMPPRocky/rasn/pull/170)

### Other
- Fix nested choice when no struct/set present ([#169]https://github.com/XAMPPRocky/rasn/pull/169)
- Update rust.yml

## [0.10.0]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.9.5...rasn-v0.10.0 - 2023-10-03

### Other
- Gensym field names ([#166]https://github.com/XAMPPRocky/rasn/pull/166)
- Delegate newtype EOC ([#163]https://github.com/XAMPPRocky/rasn/pull/163)
- Fix Result scoping ([#162]https://github.com/XAMPPRocky/rasn/pull/162)
- Fix/issue 141 ([#158]https://github.com/XAMPPRocky/rasn/pull/158)
- Fix/infinite recursion ([#157]https://github.com/XAMPPRocky/rasn/pull/157)
- Fix/constrained extension ([#156]https://github.com/XAMPPRocky/rasn/pull/156)
- fmt
- Add FixedBitString, use BitStr for encoding
- use existing codec type
- Split and improve UTCTime type ([#152]https://github.com/XAMPPRocky/rasn/pull/152)
- split OID codec functionality to be usable by other codecs ([#144]https://github.com/XAMPPRocky/rasn/pull/144)
- document Codec and methods
- Add `Codec` enum, update `rasn_snmp::v3::Message`
- Improves BER GeneralizedTime decoders, support for CER/DER strict mode ([#150]https://github.com/XAMPPRocky/rasn/pull/150)

## [0.9.5]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.9.4...rasn-v0.9.5 - 2023-08-24

### Other
- Add TryFrom for str type for PrintableString, docs, minor fixes ([#149]https://github.com/XAMPPRocky/rasn/pull/149)
- Improved size constraint ([#142]https://github.com/XAMPPRocky/rasn/pull/142)

## [0.9.4]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.9.3...rasn-v0.9.4 - 2023-08-08

### Other
- Fix OID validation, add docs build for CI, prevent spaces and globbin… ([#140]https://github.com/XAMPPRocky/rasn/pull/140)
- Possibly some safer arithmetics ([#137]https://github.com/XAMPPRocky/rasn/pull/137)

## [0.9.3]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.9.2...rasn-v0.9.3 - 2023-08-06

### Other
- fmt
- Fix #[no_std] missing from lib

## [0.9.2]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.9.1...rasn-v0.9.2 - 2023-08-04

### Other
- Update Cargo.toml
- Use workspace for macros
- correctly handle non-byte-aligned BIT STRING length ([#135]https://github.com/XAMPPRocky/rasn/pull/135)
- Fix Clippy warnings ([#132]https://github.com/XAMPPRocky/rasn/pull/132)
- Fix SNMP test

## [0.9.1]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.9.0...rasn-v0.9.1 - 2023-08-01

### Fixed
- remove duplicates in PrintableString char set ([#130]https://github.com/XAMPPRocky/rasn/pull/130)

### Other
- Update version in standards

## [0.9.0]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.8.2...rasn-v0.9.0 - 2023-07-30

### Fixed
- fix/AttributeCertificateValidityPeriod pub fields
- fixing kdc/as rep application tag
- fix explicit prefix decode & encode for macros
- fix errors in Kerberos OTP
- fix est
- fix missing trait in test
- fix snmp tests
- fix path dep versions
- fixed implicit tagging of sequences
- fix kws
- fix
- fix missing pieces for derive

### Other
- Add FixedOctetString to enforce octet string length at type level
- Use explicit prefix for Nested
- Remove BIT STRING null byte truncation in BER
- Replace ConstOid with Oid
- Update dependencies
- update workspace version
- Release 0.8.2
- bump macros
- Release 0.8.1
- release ([#122]https://github.com/XAMPPRocky/rasn/pull/122)
- Create release-plz.yaml
- Add size comparison example
- Add constraints to PKIX
- Update README.md
- Update README.md
- Update README.md
- clippy
- Implement Aligned Encoding Rules (APER)
- Fix tag on PKIX CRL extension ([#121]https://github.com/XAMPPRocky/rasn/pull/121)
- Use workspace metadata
- Implement Unpacked Encoding Rules (UPER)
- Updates for SHA AlgorithmIdentifier Oids; use `==` for ConstOid and ObjectIdentifier ([#120]https://github.com/XAMPPRocky/rasn/pull/120)
- Look at data string and pick best guess parse format. Does not yet ha… ([#118]https://github.com/XAMPPRocky/rasn/pull/118)
- Disable *android
- Disable mips*
- Fix chrono deprecation warning
- Release 0.7.0
- Trust Anchors according to RFC 5914 added, including Oid for new content type. Passes cargo test, but no new specific tests added ([#116]https://github.com/XAMPPRocky/rasn/pull/116)
- Allow buffer reuse in `Encoder` ([#106]https://github.com/XAMPPRocky/rasn/pull/106)
- Fixes [#97]https://github.com/XAMPPRocky/rasn/pull/97 Update SNMP v2 module to better match RFC 3416 ([#104]https://github.com/XAMPPRocky/rasn/pull/104)
- Added Microsoft Authenticode structures ([#102]https://github.com/XAMPPRocky/rasn/pull/102)
- Release 0.6.1
- Bugfix for indefinite Any parsing, fixes [#66]https://github.com/XAMPPRocky/rasn/pull/66 ([#95]https://github.com/XAMPPRocky/rasn/pull/95)
- Release 0.6.0
- very very basic compiler implementation ([#92]https://github.com/XAMPPRocky/rasn/pull/92)
- Update rust.yml
- add old compiler
- Convert `Result` in macros to `core::result::Result`
- Make AttributeCertificateClearAttributes fields public
- Add:
- Release 0.5.3
- cleaning as_req test
- adding as_rep test
- making KrbCredInfo tags explicit
- making EncryptedData tags explicit
- Release 0.5.2
- fmt
- Account for every possible position of #[tag(explicit)]
- Add repository field to rasn-pkix
- Release 0.5.1
- updating test to full as_req
- fmt
- Update dependnencies
- More explicit prefix macro fixes
- Update deps
- Fix explicit tagging in kerberos
- Fix explicit tag parsing
- Fixes [#67]https://github.com/XAMPPRocky/rasn/pull/67. Fix SHA1_RSA OID typo and add RSAES_OAEP OID
- Add pkcs7 compat module.
- Update README.md
- Update README.md
- Update README.md
- Release 0.5.0
- Replace static_assertions with 1.57 const assert
- Fix tests and docs
- Move the top-level documentation into README.md
- Rename IntoOpaque to ToOpaque
- Formatting
- Add initial implementation of S/MIME
- Add documentation for OCSP
- Add documentation to Kerberos
- Remove OID suffix in CMS
- Add Attribute Certificate in PKIX
- Add docs and minor improvements to Kerberos
- format macros
- Add more derives for OCSP
- Add more docs and format CMS
- Implement IETF RFC 3370 and RFC 4108
- impl Hash for all types in PKIX
- impl Hash for Any, and add a bunch more OIDs
- Fix default parsing and TAG_TREE for SEQUENCE variants
- Fix long form tag decoding
- Add support for Kerberos & OCSP, and fix explicit tag codegen
- Add PersonnelRecord test
- Add address family numbers
- Formatting
- Use ty directly instead of inference in macro default
- Release 0.4.3
- Added Decoder::decoded_len method to support stream-oriented protocols
- Release 0.4.2
- Added missing pub keyword to some fields
- Added contstructors for non-exhaustive LDAP structs. Fixes [#48]https://github.com/XAMPPRocky/rasn/pull/48.
- Update README.md
- Update README.md
- Update README.md
- Release 0.4.1
- Added CMS standard: https://datatracker.ietf.org/doc/html/rfc5652 ([#47]https://github.com/XAMPPRocky/rasn/pull/47)
- Update README.md
- Fix wording in README.md ([#46]https://github.com/XAMPPRocky/rasn/pull/46)
- Update README.md
- Release 0.4.0
- fmt benches
- Clippy fixes and formatting
- Add rfc links
- misc improvements
- Add more documentation
- Add DecryptKey OID and prelude module
- Reformat, and Copy implementations, document, and add convienvience methods for version
- Add x509 benchmark
- update dependencies
- Add new example for RFC 7030 standard ([#41]https://github.com/XAMPPRocky/rasn/pull/41)
- Make is_unique an associated method
- Add LDAP implementation
- Update and full test for PKIX certificates
- refactor field encoding and decoding to be more DRY and use default attribute
- Fix remaining codec bugs found
- Switch ObjectIdentifier to using Cow internally
- Fix explicit prefix encoding
- Add public methods for Any
- Update docs and teletex string
- Add CHOICE Tag alias.
- More fuzzing fixes
- Improve error message more
- Validate constructed bit is present
- Update fuzzing code
- Add more derives to SNMP v3 types
- Add rasn-pkix crate
- Fix time decoding & encoding
- Add better error messages for fields and choices
- Add support for SET and explicit tags to macros
- Add support for SET decoding
- Add NumericString alias and add Ord to InstanceOf
- cleanup tests
- Add SET encoding
- Add issue 34 test case, closes [#34]https://github.com/XAMPPRocky/rasn/pull/34
- Update issue 35 test
- Update README.md
- Update README.md
- rm dbg
- Ensure explict prefix encodes constructed values correctly. Closes [#35]https://github.com/XAMPPRocky/rasn/pull/35
- fmt
- Add SEQUENCE OF alias
- Remove unneeded newtype
- Move OID structure and add more OIDs
- Add support for ANY type
- Add support for SET OF types
- Add all OIDs related to RFC 5280
- Hide warnings for now
- Rename Ia5String
- Add Any type
- Use wildcard for standards directory
- Fix option decoding
- Add SNMPv3 to rasn-snmp. ([#33]https://github.com/XAMPPRocky/rasn/pull/33)
- Add more trait impls
- Fix derive codegen
- Fix OID encoding and decoding for BER and DER ([#29]https://github.com/XAMPPRocky/rasn/pull/29)
- Making Implicit and Explicit value's public ([#30]https://github.com/XAMPPRocky/rasn/pull/30)
- Move tagging inside the trait implementations
- Revert "Make field encoding generation more DRY"
- Add all OIDs from UsefulDefinitions ASN.1 module
- Make field encoding generation more DRY
- Add SNMP fuzzing
- Fix proc macro struct field codecs
- Improved README, and automatic_tags
- Fix tag detection in newtype wrappers
- Changed `slice_range(foo, _, foo.len())` to `slice_from(foo, _)` ([#23]https://github.com/XAMPPRocky/rasn/pull/23)
- Fix tagged choice variants
- Small improvements to error messages, and clean up newly-dead tag constant defs ([#22]https://github.com/XAMPPRocky/rasn/pull/22)
- Add proc macros and add trap message test
- Add docs and tidy up
- Create TagTree and refactor Tag validation and CHOICE decoding
- Add iec61850 test
- Update build.bash
- Update test.bash
- Update README.md
- Release 0.3.1
- Make SNMP fields public, fixes [#14]https://github.com/XAMPPRocky/rasn/pull/14
- fix some typos ([#15]https://github.com/XAMPPRocky/rasn/pull/15)
- add decription and language
- Update README.md
- Remove bad files
- Release 0.3.0
- Add more documentation
- Use IpAddress directly
- Implement MIB-II, Add #[rasn(delegate)] and #[rasn(default)]
- Add support for generics in proc macro
- Move into v1 modules
- Implement SMIv1 and MIB-1
- Add initial benchmarks
- Add more fuzzing input data
- Add test case
- Reverted back to stable compatiblity, fixed various issues.
- Improved various aspects of rasn-macros
- version bump
- Add Oid and use const generics for tag
- Fix docs.rs badge
- bump version
- Update rust.yml
- Release 0.2.1
- Add a new `#[rasn(choice)]` field attribute
- Upgrade bitvec to 0.19.3
- Upgrade nom to 0.6.0-beta1
- Update README.md
- add more docs and licence files
- Update README.md
- Update README.md
- Update README.md
- Update set_rust_version.bash
- remove old dependency
- Release 0.2.0
- Update rust.yml
- rm println
- upgrade nom
- Update README.md
- add ci scripts
- add docs
- Add metadata to macros crate
- Add more metadata
- Create rust.yml
- more docs
- Add docs and fix constructed encoding for strings
- correctly handle indefinite lengths
- Added more fuzzing fixes
- Implement DER & CER
- Implement automatic tagging
- Implement tagging attribute for all valid positions
- Refactor tests, add option impl, add docs
- split up proc macro exports
- Add static asserts and time types
- Create README.md
- Fix more macro bugs and make open type complete
- fuzzing fixes
- fmt
- Implemented initial support for choice enums
- Add initial macro support for structs and enums
- Removing .vscode from git history
- Add encoder impl and tests
- Add encoder stub
- Refactor tag out of decode
- TagValue -> AsnType
- refactored parser into its own file
- Fix dependency features
- Refactor trait and error handling
- Refactor Decoder trait
- add string
- Refactored constructed encoding parsing to be generic
- Add bitstring
- add types module
- Added octet string, null, and object identifier
- Refactor error handling
- refactor tag from identifier
- Add initial ber parser
- new project

## [0.8.0]https://github.com/XAMPPRocky/rasn/compare/rasn-v0.7.0...rasn-v0.8.0 - 2023-07-11

### Fixed
- fix/AttributeCertificateValidityPeriod pub fields
- fixing kdc/as rep application tag
- fix explicit prefix decode & encode for macros
- fix errors in Kerberos OTP
- fix est
- fix missing trait in test
- fix snmp tests
- fix path dep versions
- fixed implicit tagging of sequences
- fix kws
- fix
- fix missing pieces for derive

### Other
- Create release-plz.yaml
- Add size comparison example
- Add constraints to PKIX
- Update README.md
- Update README.md
- Update README.md
- clippy
- Implement Aligned Encoding Rules (APER)
- Fix tag on PKIX CRL extension ([#121]https://github.com/XAMPPRocky/rasn/pull/121)
- Use workspace metadata
- Implement Unpacked Encoding Rules (UPER)
- Updates for SHA AlgorithmIdentifier Oids; use `==` for ConstOid and ObjectIdentifier ([#120]https://github.com/XAMPPRocky/rasn/pull/120)
- Look at data string and pick best guess parse format. Does not yet ha… ([#118]https://github.com/XAMPPRocky/rasn/pull/118)
- Disable *android
- Disable mips*
- Fix chrono deprecation warning
- Release 0.7.0
- Trust Anchors according to RFC 5914 added, including Oid for new content type. Passes cargo test, but no new specific tests added ([#116]https://github.com/XAMPPRocky/rasn/pull/116)
- Allow buffer reuse in `Encoder` ([#106]https://github.com/XAMPPRocky/rasn/pull/106)
- Fixes [#97]https://github.com/XAMPPRocky/rasn/pull/97 Update SNMP v2 module to better match RFC 3416 ([#104]https://github.com/XAMPPRocky/rasn/pull/104)
- Added Microsoft Authenticode structures ([#102]https://github.com/XAMPPRocky/rasn/pull/102)
- Release 0.6.1
- Bugfix for indefinite Any parsing, fixes [#66]https://github.com/XAMPPRocky/rasn/pull/66 ([#95]https://github.com/XAMPPRocky/rasn/pull/95)
- Release 0.6.0
- very very basic compiler implementation ([#92]https://github.com/XAMPPRocky/rasn/pull/92)
- Update rust.yml
- add old compiler
- Convert `Result` in macros to `core::result::Result`
- Make AttributeCertificateClearAttributes fields public
- Add:
- Release 0.5.3
- cleaning as_req test
- adding as_rep test
- making KrbCredInfo tags explicit
- making EncryptedData tags explicit
- Release 0.5.2
- fmt
- Account for every possible position of #[tag(explicit)]
- Add repository field to rasn-pkix
- Release 0.5.1
- updating test to full as_req
- fmt
- Update dependnencies
- More explicit prefix macro fixes
- Update deps
- Fix explicit tagging in kerberos
- Fix explicit tag parsing
- Fixes [#67]https://github.com/XAMPPRocky/rasn/pull/67. Fix SHA1_RSA OID typo and add RSAES_OAEP OID
- Add pkcs7 compat module.
- Update README.md
- Update README.md
- Update README.md
- Release 0.5.0
- Replace static_assertions with 1.57 const assert
- Fix tests and docs
- Move the top-level documentation into README.md
- Rename IntoOpaque to ToOpaque
- Formatting
- Add initial implementation of S/MIME
- Add documentation for OCSP
- Add documentation to Kerberos
- Remove OID suffix in CMS
- Add Attribute Certificate in PKIX
- Add docs and minor improvements to Kerberos
- format macros
- Add more derives for OCSP
- Add more docs and format CMS
- Implement IETF RFC 3370 and RFC 4108
- impl Hash for all types in PKIX
- impl Hash for Any, and add a bunch more OIDs
- Fix default parsing and TAG_TREE for SEQUENCE variants
- Fix long form tag decoding
- Add support for Kerberos & OCSP, and fix explicit tag codegen
- Add PersonnelRecord test
- Add address family numbers
- Formatting
- Use ty directly instead of inference in macro default
- Release 0.4.3
- Added Decoder::decoded_len method to support stream-oriented protocols
- Release 0.4.2
- Added missing pub keyword to some fields
- Added contstructors for non-exhaustive LDAP structs. Fixes [#48]https://github.com/XAMPPRocky/rasn/pull/48.
- Update README.md
- Update README.md
- Update README.md
- Release 0.4.1
- Added CMS standard: https://datatracker.ietf.org/doc/html/rfc5652 ([#47]https://github.com/XAMPPRocky/rasn/pull/47)
- Update README.md
- Fix wording in README.md ([#46]https://github.com/XAMPPRocky/rasn/pull/46)
- Update README.md
- Release 0.4.0
- fmt benches
- Clippy fixes and formatting
- Add rfc links
- misc improvements
- Add more documentation
- Add DecryptKey OID and prelude module
- Reformat, and Copy implementations, document, and add convienvience methods for version
- Add x509 benchmark
- update dependencies
- Add new example for RFC 7030 standard ([#41]https://github.com/XAMPPRocky/rasn/pull/41)
- Make is_unique an associated method
- Add LDAP implementation
- Update and full test for PKIX certificates
- refactor field encoding and decoding to be more DRY and use default attribute
- Fix remaining codec bugs found
- Switch ObjectIdentifier to using Cow internally
- Fix explicit prefix encoding
- Add public methods for Any
- Update docs and teletex string
- Add CHOICE Tag alias.
- More fuzzing fixes
- Improve error message more
- Validate constructed bit is present
- Update fuzzing code
- Add more derives to SNMP v3 types
- Add rasn-pkix crate
- Fix time decoding & encoding
- Add better error messages for fields and choices
- Add support for SET and explicit tags to macros
- Add support for SET decoding
- Add NumericString alias and add Ord to InstanceOf
- cleanup tests
- Add SET encoding
- Add issue 34 test case, closes [#34]https://github.com/XAMPPRocky/rasn/pull/34
- Update issue 35 test
- Update README.md
- Update README.md
- rm dbg
- Ensure explict prefix encodes constructed values correctly. Closes [#35]https://github.com/XAMPPRocky/rasn/pull/35
- fmt
- Add SEQUENCE OF alias
- Remove unneeded newtype
- Move OID structure and add more OIDs
- Add support for ANY type
- Add support for SET OF types
- Add all OIDs related to RFC 5280
- Hide warnings for now
- Rename Ia5String
- Add Any type
- Use wildcard for standards directory
- Fix option decoding
- Add SNMPv3 to rasn-snmp. ([#33]https://github.com/XAMPPRocky/rasn/pull/33)
- Add more trait impls
- Fix derive codegen
- Fix OID encoding and decoding for BER and DER ([#29]https://github.com/XAMPPRocky/rasn/pull/29)
- Making Implicit and Explicit value's public ([#30]https://github.com/XAMPPRocky/rasn/pull/30)
- Move tagging inside the trait implementations
- Revert "Make field encoding generation more DRY"
- Add all OIDs from UsefulDefinitions ASN.1 module
- Make field encoding generation more DRY
- Add SNMP fuzzing
- Fix proc macro struct field codecs
- Improved README, and automatic_tags
- Fix tag detection in newtype wrappers
- Changed `slice_range(foo, _, foo.len())` to `slice_from(foo, _)` ([#23]https://github.com/XAMPPRocky/rasn/pull/23)
- Fix tagged choice variants
- Small improvements to error messages, and clean up newly-dead tag constant defs ([#22]https://github.com/XAMPPRocky/rasn/pull/22)
- Add proc macros and add trap message test
- Add docs and tidy up
- Create TagTree and refactor Tag validation and CHOICE decoding
- Add iec61850 test
- Update build.bash
- Update test.bash
- Update README.md
- Release 0.3.1
- Make SNMP fields public, fixes [#14]https://github.com/XAMPPRocky/rasn/pull/14
- fix some typos ([#15]https://github.com/XAMPPRocky/rasn/pull/15)
- add decription and language
- Update README.md
- Remove bad files
- Release 0.3.0
- Add more documentation
- Use IpAddress directly
- Implement MIB-II, Add #[rasn(delegate)] and #[rasn(default)]
- Add support for generics in proc macro
- Move into v1 modules
- Implement SMIv1 and MIB-1
- Add initial benchmarks
- Add more fuzzing input data
- Add test case
- Reverted back to stable compatiblity, fixed various issues.
- Improved various aspects of rasn-macros
- version bump
- Add Oid and use const generics for tag
- Fix docs.rs badge
- bump version
- Update rust.yml
- Release 0.2.1
- Add a new `#[rasn(choice)]` field attribute
- Upgrade bitvec to 0.19.3
- Upgrade nom to 0.6.0-beta1
- Update README.md
- add more docs and licence files
- Update README.md
- Update README.md
- Update README.md
- Update set_rust_version.bash
- remove old dependency
- Release 0.2.0
- Update rust.yml
- rm println
- upgrade nom
- Update README.md
- add ci scripts
- add docs
- Add metadata to macros crate
- Add more metadata
- Create rust.yml
- more docs
- Add docs and fix constructed encoding for strings
- correctly handle indefinite lengths
- Added more fuzzing fixes
- Implement DER & CER
- Implement automatic tagging
- Implement tagging attribute for all valid positions
- Refactor tests, add option impl, add docs
- split up proc macro exports
- Add static asserts and time types
- Create README.md
- Fix more macro bugs and make open type complete
- fuzzing fixes
- fmt
- Implemented initial support for choice enums
- Add initial macro support for structs and enums
- Removing .vscode from git history
- Add encoder impl and tests
- Add encoder stub
- Refactor tag out of decode
- TagValue -> AsnType
- refactored parser into its own file
- Fix dependency features
- Refactor trait and error handling
- Refactor Decoder trait
- add string
- Refactored constructed encoding parsing to be generic
- Add bitstring
- add types module
- Added octet string, null, and object identifier
- Refactor error handling
- refactor tag from identifier
- Add initial ber parser
- new project