All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased - ReleaseDate
0.13.1 - 2024-10-02
- sawp-modbus: Make length field of Message public
- sawp-resp: Fix crash with negative length arrays triggering a massive memory allocation
- sawp-resp: Override Probe to reject when Invalid is the only message. The default implementation caused all data to always be interpreted as RESP.
- sawp-error: Fix cfg lines to correctly use feature name
0.13.0 - 2024-07-08
- sawp: increased MSRV to 1.63.0
- sawp: Remove Cargo.toml deps which served to pin MSRV compatible transitive dependencies
- sawp: derive Eq where PartialEq is already derived and Eq could be derived (applied from clippy lint)
- sawp: Include Cargo.lock to help deliver on our MSRV promise
- sawp-file: Update to rmp-serde 1.1.1
- sawp: Applied clippy lints
- sawp-diameter: error flags now use sawp_flags, changing from a struct to an enum.
- sawp: Fix release pipeline to verify MSRV, not stable
0.12.1 - 2023-04-12
- sawp-ike: Restricted lengths for attribute parsing to prevent buffer over-reads
- sawp: Pin criterion dependencies to maintain our MSRV promise
- sawp: Remove unused key from release.toml which caused build failures
0.12.0 - 2023-02-13
- sawp-ike: initial release of protocol parser
- sawp: added ip types to the C/C++ FFI
- make: compose directories from $DESTDIR at usage time instead of preformatting LIBDIR and INCLUDEDIR with it
- sawp: apply clippy lints
- sawp: increase MSRV to 1.58.1
- sawp: change to 2021 edition
- sawp: update to nom 7.1
- sawp: unpin half version
- sawp-file: unpin rmp version
- make: pkgid cut updated for latest version
- make: link to correct artifact
- sawp: impl Display for Error (was todo!)
- sawp-dns: use binary strings instead of taking as_bytes() of a string
- sawp-dns: parse zero-label names as empty string instead of failing
- sawp-flags: derive Eq on enums when PartialEq is derived
- sawp-modbus: breaking API change - get_write_value_at_address now takes address by value.
- sawp-pop3: limit keyword count which prevented publishing
- sawp-pop3: more restrictive keyword and status matching
0.11.1 - 2022-06-21
- modbus: fix integer overflow in address and quantity
0.11.0 - 2022-05-27
- modbus: make parser fields public
0.10.0 - 2022-05-20
- modbus: add option for strict probing
- derive: pin proc-macro-crate to v1.1.0
- file: pin rmp to 0.8.10
- azure: fix use of cargo release
0.9.0 - 2022-02-07
- sawp-pop3: initial release of protocol parser.
- sawp-ffi: add helper function for nested containers.
- make: add version target.
- doc: add french translations.
- docker: add Dockerfile.
- azure: pipeline improvements.
- sawp: clippy updates.
- make: fix symlinking issue in install target.
0.8.0 - 2021-11-10
- makefile: install target
- sawp-tftp: option extension parsing
- cargo: force dependency to half 1.7
0.7.0 - 2021-09-24
- sawp-resp: initial release of protocol parser.
- sawp: updated style guide in CONTRIBUTING.md.
- sawp: specified compatible criterion version.
- sawp-diameter: specified compatible bitflags version.
0.6.0 - 2021-06-15
- sawp-gre: initial release of protocol parser.
- sawp-dns: initial release of protocol parser.
- sawp-tftp: add ffi support.
- sawp-ffi: use size_t instead of uintptr_t for size types across all ffi modules.
- sawp-ffi: set soname in ffi shared object libraries.
0.5.0 - 2021-05-07
- sawp-ffi: added getter by index for vecs.
- sawp-modbus:
WriteMultipleCoils
parsing divided the request's count by 8 instead of the quantity.
0.4.0 - 2021-04-12
- sawp-modbus: re-export
sawp_flags::Flags
so sawp-flags doesn't need to be added to Cargo.toml. - sawp-flags: add
is_empty()
andis_all()
helper functions.
0.3.0 - 2021-04-09
- various pipeline improvements for rpm deployment, publishing packages, doc tests, memory checks, build and clippy warnings.
- sawp-ffi: added support for option, string, vec and flags.
- sawp-flags-derive: initial release of bitflags handling and storage derive macros.
- sawp-flags: initial release of bitflags handling and storage crate.
- sawp-modbus: added ffi support for error flags.
- sawp-modbus: use new sawp-flags crate.
- sawp-diameter: added parsing of avp data types.
- sawp-tftp: initial release of protocol parser.
0.2.0 - 2021-02-22
- sawp-ffi: missing version number was preventing cargo publish.
- sawp: verbose feature was not being used by protocol parsers.
- sawp-modbus: added error flag for handling invalid protocol instead of failing to parse the message.
- sawp-modbus: made probing function more strict by failing if any validation flags are set.
- sawp-modbus: added min and max length checks for better recovery when invalid lengths are provided.
- sawp: support for building an rpm with all FFI libraries and headers.
0.1.1 - 2021-02-12
- sawp: initial release containing common traits and types used by protocol parsers.
- sawp-modbus: initial release of our first complete protocol parser. Integration was tested with suricata.
- sawp-diameter: initial release of a protocol parser (todo: add missing AVPs for mobility).
- sawp-json: initial release of a protocol parser (todo: use for 5G protocols).
- sawp-file: initial release for logging and debugging SAWP API calls (todo: not in use yet).
- sawp-ffi: initial release of FFI helper macros and traits.
- sawp-ffi-derive: initial release for generating FFI accessor functions.
- sawp-modbus: FFI support.