* add markdown link check in ci
* fix broken links when possible.
configuration file for md checker.
* accept code 200...
* more fixes
* more fixes
* more fixes
* Add a custom typed builder for Emulator
* Unify qemu_init for usermode and systemmode
* Remove env from qemu init args (it is unused in QEMU in practice)
* expose thread hooks to systemmode
* rename qemu_config to config
* Replace ExitHandler by EmulatorDriver
* Reorder generics alphabetically for Qemu{,Fork}Executor
* Moved snapshot manager to Emulator to continue centralizing mains objects in the same structure
* Reimplementation of CommandManager working with enums instead of tables
* Macro has been adapted to do this work automatically
* Moved snapshot stuff to dedicated module
* Removed many Rc<RefCell<...>>, now useless with the removal of vtables
* Builder given by Emulator via `Emulator::builder`. Reduced trait bound overhead
* 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
* 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>
* push
* upd
* add last found time
* add common as prerequisite
* clp
* aa
* more clp
* fix how to get corpus id
* pruning
* aa
* no std
* fix
* working?
* push
* 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>
* aa
* why??????????????
* ppp
* aa
* aa
* abcde
* fixer
* ppp
* aa
* fix from windows
* sugar
* ff
* ??
* a
* to log::error
* exclude
* exclude libafl_qemu clippy on windows
* pp
* aa
---------
Co-authored-by: Your Name <you@example.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(libafl_nyx): More detailed README
* doc(libafl): Documentation about mutators
* doc(libafl): fix Reference to MOpt
* doc(libafl): Improved note about Mopt
* doc: More documentation for different mutators
The length constraint on the bottom areas was set to 0 and thus those two blocks were invisible.
We adjusted those to the correct values to show all lines & also removed the unnecessary extra chunk layout variable.
* add HasStopNext to State which exposes an API to stop the fuzzer. Stops the fuzzer in fuzz_loop or
fuzz_loop_for when set to true
* fix import
* rename HasStopNext to HasShouldStopFuzzing and stop_next to should_stop_fuzzing
* added HasShouldStopFuzzing trait constraint for libafl_libfuzzer_runtime fuzzer
* rename HasShouldStopFuzzing to Stoppable and add it as a type constraint in libafl_libfuzzer report.rs
* rename should_stop_fuzzing -> should_stop
* introduce Event::Stop
* fix prelude import
* Call send_exiting when processing Event::Stop in restartable managers
* fix clippy
* introduce on_shutdown function in EventProcessor, a function to exit
without saving state gracefully. In contrast with on_restart.
* call manager.on_shutdown when stopping in fuzz_loop due to state.should_stop
* Add missing on_shutdown implementations
Check after every stage in Stages::perform_all if should exit and do so.
* remove specialization
* fix doc
* introduce EventProcessor constraint in libafl_libfuzzer_runtime
run clippy in libafl_libfuzzer_runtime
* fix CentralizedEventManager's on_shutdown not calling inner.on_shutdown
* fix bugs in CentralizedLauncher that wouldn't allow children to terminate properly
* don't call send_exiting when processing Event::Stop since it will be called when calling on_shutdown anyways
* clippy
* add set_exit_after so broker does not need to inner_mut to set exit_cleanly_after
* return Cow<str> from Event::name_detailed instead of a String
* fix missing import in libafl_libfuzzer_runtime
* add initate_stop and reset_stop to Stoppable trait to superceed should_stop_mut
* clippy
* typo
* rename initate_stop to request_stop, should_stop to stop_requested and reset_stop to discard_stop_request
* fix missing import
* windows clippy fix
* fix broker typo
* doesn't work poc
* Works
* make this work with or without feature
* start time
* Fix fixes
* Fix more build
* fix build
* reset changes in fuzzbench fuzzer
---------
Co-authored-by: Toka <tokazerkje@outlook.com>