Revision history for Perl extension Convert::BER::XS TODO: max_depth? yes max_size? no... TODO. example parsing x.509 by replacing INTEGER by BYTES 1.21 Sat May 4 00:57:15 CEST 2019 - more guesswork on what's actually in ISO 6093. - reduce aggressiveness of REAL tests for higher portability. 1.2 Fri Apr 26 00:27:59 CEST 2019 - the snmp profile wrongly decoded opaque types as ipaddress. - implement the indefinite encoding (when decoding only). - implement REAL encoding - implementation complexity easily competes with the whole rest of BER. sheesh. - lots more tests for corner cases. - changed "illegal" to "invalid" in diagnostics. - work around a bug in perl 5.16.3 regex matching in the testsuite. soon there will be more failures in the testsuites than in the code proper :/ 1.11 Tue Apr 23 22:16:20 CEST 2019 - multibyte lengths were not properly encoded when they contained embedded 0 bytes. - length 0x7f wasn't encoded in minimum number of bytes. - lengths larger than 4 byte caused buffer overruns during encoding (e.g. string lengths >= 2**32 bytes). - tweaked ber_dump output. - slight code tweaks and optimisations. - documentation proofread (Stefan Traby). - add t/05_bugs.t and t/06_snmp.t. - checked, and I think we don't leak memory on errors. 1.1 Sun Apr 21 13:58:00 CEST 2019 - added ber_dump helper function, for debugging. Kind of regretting not having used an OO interface for it, or the other ber_ functions, but that's how it is. - check for overflow in "w" and INTEGER format decoding and reject out-of-range numbers. - improved(?) error messages. - fix tests failing on 3 2bit perls because I miscounted the number of tests to skip :/. Boy is it hard to get a 32 bit perl these days. - added some longer testcases. 1.0 Sat Apr 20 23:07:32 CEST 2019 - API seems stable enough. - add ber_decode_prefix. - fixed first component OID encoding. - reject all kinds of illegal padding. - add X.690 / RFC 2578 references to errors, when applicable. - add SNMP_GAUGE32 alias. 0.9 Sat Apr 20 17:48:15 CEST 2019 - I always forget the (void) prototype in C. - rename CONSTRUCTED to FLAGS and make it multi-valued. - there is no ASN_INTEGER32 type, that's an SNMP thing, Nuke. - documented and cleaned up export tags and constants. - major cleanup of tghe overall documentation. - fixed :encode/:decode tags. - fixed synopsis. - allow 64 bits for OID components and tags if perl supports them. - allow up to 8 octet lengths (2**64 bytes), provided perl supports 64 bit. - ber_is_int/ber_int now handle 65 bits (IV + UV). 0.8 Sat Apr 20 15:48:21 CEST 2019 - confidence rises after some sleeping and fixing. - add some basic tests. - ported it down to 5.8.9. - some portability fixes and give some allowance to non-C99 compilers. - fix an out-of-bounds access when creating profiles. - fixed boolean/null decoding. - fixed out of boundas access when decoidng even-length oid components. yup. - fixed ObjectDescriptor type mapping, - fixed ENUMERATED type mapping. 0.7 Sat Apr 20 03:31:51 CEST 2019 - profile support, no longer are snmp types hardcoded. - much improved documentation. - all types except REAL implemented. 0.2 Fri Apr 19 22:41:16 CEST 2019 - release early, release often. - more useful documentation. - tune ber_is_xxx functions to be more useful. 0.1 Fri Apr 19 21:46:05 CEST 2019 - add experimental encoder. - add some minimal documentation. 0.0 Fri Apr 19 17:55:27 CEST 2019 - cloned from an unfinished version of Net::SNMP:XS 2.0.