package asn1-combinators

  1. Overview
  2. Docs
Embed typed ASN.1 grammars in OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

asn1-combinators-0.3.2.tbz
sha256=2b26985f6e2722073dcd9f84355bd6757e12643b5a48e30b3c07ff7cfb0d8a7f
sha512=8ca5a9dfa080cd2e6c3ef05a232e90916df921b09e8445728c6b46438d39056ccb8cd61325f3858490f032a17620a0de17f9d910fd8f0cabe961b02bc76a2eca

CHANGES.md.html

v0.3.2 (2024-09-04)

  • Drop OCaml < 4.13 support (#45 @hannesm)

v0.3.1 (2024-05-08)

  • Introduce Asn.S.unsigned_integer - useful for e.g. ECDSA signatures where the user code expects an unsigned integer and shouldn't worry about the ASN.1 encoding (#44 @reynir @hannesm)

  • Provide custom random generators for int and unsigned_integer (#44 @hannesm @reynir)

v0.3.0 (2024-03-14)

  • BUGFIX: utctime 50 should be 1950 (not 2050) (#39 @reynir)

  • drop zarith dependency, Asn.S.integer is now a Cstruct.t (#42 @hannesm)

  • drop cstruct dependency, use string instead (#43 @hannesm) this changes the allocation discipline, and while benchmarking the decoding of certificates takes less time now, there may be performance differences (since now String.sub is used which allocates and copies data)

v0.2.6 (2021-08-04)

  • Use Cstruct.length instead of Cstruct.len, drop OCaml <4.08 support, remove bigarray-compat and stdlib-shims dependencies (#37 by @hannesm)

v0.2.5 (2021-03-05)

  • Fix an integer overflow in the length field on 32 bit architectures (#36 by @hannesm)

v0.2.4 (2020-11-05)

  • OCaml 4.12 support (#35 by @kit-ty-kate, @hannesm)

v0.2.3 (2020-09-28)

  • adapt to cstruct 6.0.0 API changes (#34 by @dinosaure)

v0.2.2 (2020-01-29)

  • packaging improvements: add lower bound to dune dependency, improve test invocation, remove version from dune-project (reported by @kit-ty-kate in ocaml/opam-repository#15757 fixed by @hannesm)

v0.2.1 (2020-01-28)

  • disallow various constructs as suggested by ITU-T Rec X.690 (by @pqwy)

    • redundant OID component forms (X.690 8.20.2)

    • redundant integer forms (X.690 8.3.2)

    • empty integer (X.690 8.3.1, reported in #23 by @emillon)

    • constructed strings in DER

  • deeper implict -> explicit over choice (follow-up to v0.2.0 entry, by @pqwy)

  • handle long-form length overflow (reported in #24 by @emillon, fixed by @pqwy)

  • disallow primitive with indefinite length (introduced in the bugfix above, reported by @emillon, fixed in #32 by @hannesm)

  • disallow nonsensical bitstring unused values (X690 8.6.2, reported in #26 by @NathanReb, fixed by @pqwy)

  • fix non-continuous bit_string_flags (X680 22.6, reported in #25 by @wiml, fixed by @pqwy)

  • use Alcotest instead of oUnit for unit tests (by @pqwy)

  • use dune as build system (by @pqwy, superseeds #22)

  • use bigarray-compat (#27 by @TheLortex) and stdlib-shims (#29 by @XVilka)

  • raise lower bound to OCaml 4.05.0 (#31 by @hannesm)

v0.2.0 (2017-11-13)

  • OIDs are now fully abstract, with a simpler interface.

  • OIDs have custom comparison and hasing.

  • Time is gone in favor of Ptime.

  • IMPLICIT silently becomes EXPLICIT when necessary.

  • Parse errors are reported through Result.

  • Syntaxes now live in their own module, Asn.S.

  • Rewrote the parser; no new features, but looks nicer from a distance.

  • Various performance improvements.

  • Documented the interface.

v0.1.3 (2016-11-12)

  • relicense to ISC

  • drop oasis

  • fix a bug in tests on 32 bit

v0.1.2 (2015-05-02)

  • cstruct-1.6.0 compatibility

v0.1.1 (2014-10-30)

  • stricter decoding of ints in BER/DER tags and OIDs

  • performance improvements

v0.1.0 (2014-07-08):

  • initial (beta) release

OCaml

Innovation. Community. Security.