Releases: intel/tsffs
v6.1.2
6.1.2 Release
This is a smaller release (and should be the first of many smaller releases going forward as we move out of large sweeping changes and into incremental improvements and fixes). This release fixes a few clippy issues and adds environment variable overrides for most of the fields in the [package.metadata.simics]
table for Simics plugin crates. It also enhances logging with a few more components of the output and a heartbeat message in the JSON log, which should help diagnose stuck harnesses. Finally, VMP can now be enabled during boot for any model and will be turned off automatically by TSFFS when the fuzzing loop starts.
What's Changed
- Add ENV overrides & Internal Build Script by @novafacing in #85
- Add expected CFG directives by @novafacing in #89
- Logging Enhancements by @novafacing in #87
- Disable VMP on Fuzz Start by @novafacing in #88
Full Changelog: v6.1.0...v6.1.2
Release Version 6.1.0
This release is a very major release and changes several aspects of the API, build, and underlying Simics API. It also adds a number of new features. Some highlights include:
- Compiled-in harnesses have been updated. This update is backward-incompatible with the old version of harnesses so users will need to use the new
tsffs.h
harness header.- Existing harness macros stay the same
- New harness macros have been added for starting with variations of buffer, size as pointer or maximum value, etc.
- Macros are now available for x86, x86_64, ARM, AARCH64, and RISC-V, with Windows/MSVC compatible macros for x86_64.
- All functions
@tsffs.iface.tsffs.XXX
have been removed - All configuration options are now attributes of the
tsffs
object. For example,@tsffs.iface.tsffs.add_exception_solution()
is now@tsffs.exceptions
and instead of calling a method to add an exception to the set tracked for solutions, users can now just write@tsffs.exceptions = [13, 14, 6]
. - Methods which control fuzzing (especially manual methods) have been moved to a new interface
@tsffs.iface.fuzz
, for example@tsffs.iface.fuzz.start_without_buffer()
. - Execution traces can now be captured during fuzzing
- Logs are automatically output during fuzzing in JSON format
- ARM and AARCH64 architectures have been added
- Various bug-fixes and improvements.
What's Changed
- Fix doc links by @novafacing in #43
- Switch to external command-ext library by @novafacing in #44
- External command ext by @novafacing in #46
- Use crates.io libafl and miscellaneous cleanups by @novafacing in #48
- Fix cargo script syntax for new nightly (Rust issue #122207) by @novafacing in #50
- Cargo script fixes (2) by @novafacing in #51
- Doc link fixes by @novafacing in #52
- Remove utils by @novafacing in #49
- Stop before start by @novafacing in #67
- Add additional logging and debug logging consumer for libafl code by @novafacing in #68
- New harness by @novafacing in #69
- Fixup versioning for simics APIs and add versioned tests by @novafacing in #75
- Remove LibAFL InProcess Executor Timeout by @novafacing in #77
- Windows kernel fuzzing docs by @novafacing in #70
- Add missing script from windows kernel fuzzing docs by @novafacing in #79
- Update README.md by @rogue4242 in #82
- Fix risc-v-kernel-module tutorial and example code by @mengmengjiang1999 in #72
- Add arm architecture by @novafacing in #76
- Add option to output execution traces during fuzzing by @novafacing in #81
- Release versioning for 6.1.0 by @novafacing in #84
New Contributors
- @rogue4242 made their first contribution in #82
- @mengmengjiang1999 made their first contribution in #72
Full Changelog: v0.2.1...v6.1.0
v0.2.1 Release
v0.2.1 Release Overview
This is a maintenance and documentation update release. The main changes are:
- Fixed a crash when using the
tsffs.iface.tsffs.set_corpus_directory
andtsffs.iface.tsffs.set_solutions_directory
interface functions - Added documentation on fuzzing platform BIOS
What's Changed
- Fix two bugs by @novafacing in #40
- Switch to external getters library by @novafacing in #39
- Tutorial custom bios by @novafacing in #41
- Add platform bios doc to summary by @novafacing in #42
Full Changelog: v0.2.0...v0.2.1
v0.2.0 Release
v0.2.0 Release Overview
This release is a near-complete rewrite/reorganization of TSFFS with several goals:
- Use SIMICS build & packaging workflow
- Enable binary/package distribution and installation without building from source
- Improve the scripting interface to TSFFS
- Remove the CLI interface to TSFFS
- Improve the SIMICS API and migrate TSFFS to use the improved (more idiomatic) bindings
Release Notes
- Migrated to using the SIMICS build system/provided makefiles for building
- Simplifies building and detection of SIMICS version/available symbols
- Removes the need for C stubs in the SIMICS module code
- Moves toward eventual binary releases
- Adds Windows host support
- Adds RISC-V (32/64 bit) and x86 guest support
- Improves the SIMICS/Python scripting interface
- Adds GitHub pages documentation at intel.github.io/tsffs/
- Added the public SIMICS HTML documentation to the GitHub Pages documentation
- Added crate rustdoc documentation for all component crates to the GitHub Pages documentation
- Rewrote the SIMICS API bindings
- AttrValue is now a first-class serialization/deserialization target with derive macros
- Idiomatic bindings for exception-throwing APIs translate SIMICS exceptions to Rust Results
- Added documentation for most SIMICS APIs in the bindings, including HAPs and Interfaces
- Added distribution builds into the CI pipeline to output installable
.ispm
packages for all modern
Linux systems. Build yourself with./scripts/build.sh
.
Merged Pull Requests
- CI fixes for public CI, update outdated dependencies by @novafacing in #16
- Bump ISPM version in setup guide by @novafacing in #18
- Do not document dependencies in CI by @novafacing in #21
- Fix another issue with CI doctest, fix typo, update FAQ by @novafacing in #22
- Fix Box::into_raw and add checks by @novafacing in #27
- 0.2.0 Release Candidate by @novafacing in #30
- Add development install documentation by @novafacing in #31
- Update logging API for deprecations in 6.0.177 by @novafacing in #32
- Add packaging for distribution by @novafacing in #33
- Add tutorials and fixes by @novafacing in #34
- Update doc build command by @novafacing in #35
- Additional doc build fixes by @novafacing in #36
- Fix permissions on documentation permissions fixing by @novafacing in #37
- Doc updates by @novafacing in #38
Full Changelog: https://github.com/intel/tsffs/commits/v0.2.0