* add custom monitor prometheus as a baseline to build functionality
* working server, set up function to update metrics in the registry
* for a test
* metrics for corpus count, objective count, executions, execution rate are intermittently updated and exposed on /metrics
* add runtime metric, clean up some comments
* IP:PORT as argument instead of hardcoded
* add client # as label attached to fuzzer metrics for filtering by client. add clients_count as a tracked metric
* added support for custom metrics added to client_stats via feedbacks, such as edges count. cleaned up code
* cargo fmt
* clean up prometheus.rs
* ran autofix and fmt scripts, and put optional dependencies behind prometheus_monitor feature
Co-authored-by: Dominik Maier <domenukk@gmail.com>
* sort of fix core affinity on mac arm64
we can t pin to a coreid however we can at least choose the performance
cores for our thread.
* using other cores as well
* Fix CI yml (#871)
* Fix CI again (#872)
* Fix CI yml
* Fix CI
* Add dump_register/write_crash for freebsd arm64 (#870)
Co-authored-by: Dominik Maier <domenukk@gmail.com>
* Remove QEMU-Nyx & packer submodules
Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
* Associated types for Corpus, State
* cleanup
* fix no_std
* drop unused clauses
* Corpus
* cleanup
* adding things
* fixed fuzzer
* remove phantom data
* python
* progress?
* more more
* oof
* wow it builds?
* python fixes, tests
* fix python fun
* black fmt for python
* clippy, added Nop things
* fixes
* fix merge
* make it compile (#836)
* doc-test fixes, prelude-b-gone for cargo-hack compat
* fixes for windows, concolic
* really fix windows, maybe
* imagine using windows
* ...
* elide I generic when used with S: State
* Elide many, many generics, but at what cost?
* progress on push
* Constraint HasCorpus, HasSolutions at trait definition
* remove unused feature
* remove unstable usage since we constrained HasCorpus at definition
* compiled, but still no type inference for MaxMapFeedback
* cleanup inprocess
* resolve some std conflicts
* simplify map
* undo unnecessary cfg specification
* fix breaking test case for CI on no-std
* fix concolic build failures
* fix macos build
* fixes for windows build
* timeout fixes for windows build
* fix pybindings issues
* fixup qemu
* fix outstanding local build issues
* maybe fix windows inprocess
* doc fixes
* unbridled fury
* de-associate State from Feedback, replace with generic as AT inference is not sufficient to derive specialisation for MapFeedback
* merge update
* refactor + speed up fuzzer builds by sharing build work
* cleanup lingering compiler errors
* lol missed one
* revert QEMU-Nyx change, not sure how I did that
* move HasInput to inputs
* HasInput => KnowsInput
* update bounds to enforce via associated types
* disentangle observers with fuzzer
* revert --target; update some fuzzers to match new API
* resolve outstanding fuzzer build blockers (that I can run on my system)
* fixes for non-linux unixes
* fix for windows
* Knows => Uses, final fixes for windows
* <guttural screaming>
* fixes for concolic
* loosen bound for frida executor so windows builds correctly
* cleanup generics for eventmanager/eventprocessor to drop observers requirement
* improve inference over fuzz_one and friends
* update migration notes
* fixes for python bindings
* fixes for generic counts in event managers
* finish migration notes
* post-merge fix
Co-authored-by: Addison Crump <addison.crump@cispa.de>
* DifferentialExecutor for CommandExecutor along with StdIO observer
* format
* fix CI issues
* fix format and unit test
* fix documentation
* allow three structs and doc only for linux
* resolve documentation test failure
* minor
* running fmt_all.sh
* into_executor() takes 4 params, not just 1
Co-authored-by: Dominik Maier <domenukk@gmail.com>
* token mutations: set MutationResult for CmpValues::Bytes
I haven't measured this and am not even sure if CmpValues::Bytes is
currently populated by any executor, but this seems like an oversight.
* replace dead zlib-1.2.12.tar.gz URL
See https://zlib.net/fossils/OBSOLETE
* autofix
* you're just asking for a clamping
* autofmt on linux
* fix nits
* change back nit
* unfixing as u64 for GuestAddr
* fix
* ignoring clippy for GuestAddress
* First working attempt
* formatting issues
* Safety comment
* got rid of mutex
* Pass gum as a parameter
* removed debug println
* Review comments
* review: switched back to panic
* Fix len miscalculation in grimoire string replace
* ok Rust i was writing JS these days
Co-authored-by: Andrea Fioraldi <andrea.fioraldi@trellix.com>
* Initial steps
* Harness code cleanup
* don't panic on linux in order not to break the CI
* formatting once again
* restored cfg unix to unbreak linux build
* CI for FreeBSD
* rustup -y?
* fixed path, switched to clippy
* bsd don't source
* added llvm
* clippy
* more yml
* ?
* testing ci
* llvm?
* llvm??
* more llvm, more tests
* fixed testcase'
* mem limits
* more sudo
* reenable all the CI