* Remove stateless qemu executor
* All harnesses take a reference to an emulator as parameter now
* harness takes an emulator as first parameter, and input as second parameter (opposite of previous definition)
* bump libafl qemu dependencies to the latest version
* libafl-fuzz: simplify Makefile.toml
* Re-introduce support for old AFL++ forkserver
* clippy
* libafl-fuzz: add support for QEMU mode
* libafl-fuzz: simplify Makefile
* Update LibAFL QEMU to the latest version (V9.0.2 update, important bug fixes, ... - check the dedicated repo for more info)
* fix bug in hook execution, causing first execution hooks to be run multiple times.
* 0.13.2 (for real this time)
* More 0.13.2
* Make sure this never bites us
* Update ahash
* Fix CI after rust 1.80
* Does 18 work?
* Trying to fix this?
* lol regex
* noble
* works?
* fix llvm-config
* fmt
* Windows?
* more fix?
* more fix
* remove pip
* Add find_python3_version support to libafl_cc
* llvm-config
* more curl
* windows has no apt lol
* more
* fix cmplog implementation
only set testcase filepath if filepath is none
* libafl-fuzz: fix minor CI
* add missing fields to AFLppCmpLogOperands
* libafl-fuzz: pin CI AFL version to a commit
fix extended_cmplog_instrumentation
* libafl-fuzz: fix CI
* this should not panic
* aaa
* libafl-fuzz: fix cmplog CI
---------
Co-authored-by: Toka <tokazerkje@outlook.com>
* libafl-fuzz: add cmplog to CI
libafl-fuzz: add option to specify custom rng sed
libafl-fuzz: add help messages to CLI, add file extension support
libafl-fuzz: adhere to AFL++ cmplog bin path format
libafl-fuzz: avoid races when writing to fuzzer_stats
libafl-fuzz: add time tracking for CalibrationStage, MutationalStage and SyncFromDiskStage
* libafl-fuzz: fix libafl paths
* libafl-fuzz: remove redundant cmplog check
* libafl-fuzz: ingore UnstableMapEntries when using queue scheduler in afl_stats.rs
libafl-fuzz: track max_depth for QueueScheduler
libafl-fuzz: fix custom input file
* libafl-fuzz: fix Makefile
* clippy
use of LLVM 19 by default
LLVM version should be much easier to switch from now on
a lot of code repetition has been deleted
removed llvm-related github action
fix format check
other small things
---------
Co-authored-by: Toka <tokazerkje@outlook.com>
* Helper is now called Module.
* Emulator now contains hooks state.
* Emulator is managed by QemuExecutor.
* QEMU hooks have been completely refactored on the rust side.
* Generics cleanup.
* Introduce libafl-fuzz
* fix corpus file path
* simplify SeedFeedback
* fix incorrect comment
* add clap::ValueEnum to PowerSchedule as an optional derive if clap is enabled
* UnixShMemProvider replaced with StdShMemProvider for libafl-fuzz
* remove io_error_more feature constraint
* libafl-fuzz: make Ok(()) unreachable in CentralizedLauncher
* libafl-fuzz: make harness_input_stdin to harness_input_type with &'static
* libafl-fuzz: move each feedback to it's own file
* make run_fuzzer_with_stage into a function.
use CachedOnDiskCorpus instead of OnDiskCorpus for Corpora
remove utils file
* remove unecessary clone
* libafl-fuzz: cleanup AFLStatsStage
* move peak_rss_mb to libafl_bolts
* parse envs by hand
* add sensible defaults for map size and broker port
* fix test.sh and corpus_id padding
* add Makefile.toml
* libafl-fuzz update test suite
* libafl-fuzz: clippy
* rename peak_rss_mb to peak_rss_mb_children
* remove minor version constraint for clap
* libafl-fuzz: fix ELF check and instrumentation check in check_binary
* libafl-fuzz: improve Makefile.toml
* simplify fuzzer and cleanup typos
* libafl-fuzz: load corpus entries in a multicore fashion
* libafl-fuzz: create output dir if not exists (non-racey)
* libafl-fuzz: add sequential scheduling support
libafl-fuzz: add cmplog options
libafl-fuzz: add test-cmplog.c to CI
* rename peak_rss_mb_children to peak_rss_mb_child_processes
* fix race condition in SyncFromDiskStage, add interval based checking and support for multiple directories.
libafl-fuzz: add support for syncing with foreign fuzzers
* update README
* implement AflScheduler for QueueScheduler.
Add queue_cycles field to
AflScheduler
* libafl-fuzz: remove dependecy on SchedulerMetadata for AflStatsStage
* clippy
* remove queue_cycles from AflScheduler into int's own trait.
libafl-fuzz: simplify map observer tracking
* clippy
* libafl-fuzz: disable cmplog check in CI for now
* add missing constraints for libafl_qemu executor
* clippy
* libafl-fuzz: improve Makefile
libafl-fuzz: clippy
* libafl-fuzz: misc
* misc typos, beautify
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
* Introduce TuiMonitor builder
* Some random docs
* More documentation for monitors
* fixed critical whitespace
* Rename all-caps TOML and JSON to Toml and Json in monitors
* actually rename
* more
* doc: fixed instruction in CONTRIBUTING.md
* Added note for windows users
* fix: Added corpus for dynamic_analysis fuzzer
* fix for calling the clippy script on windows
* Fixed path oversight in previous commit