* Implement `Send` for `Shm`
it is safe because we take the ownership of the inner map pointer. Only potential
violation is deref the underlying pointer but that’s already unsafe. Therefore,
the properties of Send still hold within the safe world.
* Bump 1.87
* use std::io::pipe so that they are `Send`
* clippy
* upgrade
* Avoid phantomdata to make ForkserverExecutor !Send
* Missing gates
* Fix nostd
* bump in Dockerfile
* use dtolnay/rust-toolchain@stable instead
* setup latest toolchain on non Linux
* Fix typo
* Make input loading fallible in SyncFromDiskStage
* fmt
* Add InvalidInput in Error enum and skip the Input in SyncFromDiskStage if it is encountered
* sync: remove file if error on loading in SyncFromDiskStage
* add reason to Error::InvalidInput
* sync make failure log a warning. clippy, fmt
* typo
* fmt
* fmt
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
* Introduce HasAflStyleTargetArguments and restore parse_afl_cmdline for CommandExecutor
* clippy
* Fix imports
* Move envs to the shared trait
* Move to a standalone file
* Format
* Gate via std and unix
* Fix
* clippy
* move InputLocation to afl_args
* clippy
* Fix
* fmt
* Fix more
* Shall last missing
* Rename to AflTargetArgs
* Fmt
* move AflTargetArgs to libafl_bolts and adapt CMainArgsBuilder to use it
* use_stdin is no longer needed
* leaveout
* Fix again
* Renaming
* Leave out lib.rs
* Leave out fmt
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
* POC
* POC
* pin the obj
* add map_input_to_memory
* still trying to get things to work
* Justfile
* lol
* nah bad idea
* done
* revert
* revert
* lol
* Move to libafl_qemu
* a
* add
* add
* lol
* clp
* a
* tmate
* Thank you bash I love you
* aaaaaaaa
* a
* bbb
* make fuzzer great again
* crash handlers
* hello from windows
* fk
* gee
* m
* temporary fix
* f
* mm
* CICI
* fixer
* Fix Dockerfile
* lol
* clp
* Fuck you clippy
* This lint makes no sense, 0
* ??
* a
* fix
* this lint makes 0 sense
* mm
* clp
* a
* a
* clp
* clippy
* clp
* mm
* FMT
* p
---------
Co-authored-by: Your Name <you@example.com>
Co-authored-by: toka <toka@tokas-MacBook-Air.local>
* Move all unnecessary std uses to core,alloc
* More
* more fix
* more
* more
* Remove libafl-fuzz grimoire
* more
* more
* more cleanup
* remove bins
* fix
* more fix
* Fixing the test_harness library name
* Fasan works, but testing of all features is pending
* Tests pass, before fixing clippy and fmt
* CLippy+fmt
* CLippy+fmt+tests running on linux
* Clippy
* Not stalkering the fuzzer. In the correct way
* Removing the instrumentation upon crash. Proper hooking of UnmapViewOfFile
* Fixes after the merge from the upstream (before 0.15.0). Still need to add the observer, clippy, fmt, and at least linux compilation
* Adding the helper observer and using it in the test
* Removing the observer from the wrong location
* Adapting to the new helper ownership model
* Adding an observer to shut down instrumentation upon crash
* Clippy + fmt
* Using mimalloc everywhere
* Deactivating before activating with the harness. Otherwise, gets stuck on Linux.
* Fixing imports for windows
* Using the new way of passing the handler
* Using frida_helper_shutdown_observer
* Clippy+fmt
* no-std, clippy
* Fmt
* Stable thread_id
* Clippy 18
* More clippy
* Formatting toml
* Fixing apples
* Fixing apples 2
* Fixing apples 3
* Upping to 0.16.7 (necessary for Windows)
* Clippy+fmt
* Enabling the allocator test after the fix and clarifying the importantce of the static runtime linking.
* Moving has_tls to bolts
* Proper handling of no-std, hopefully
* Another attempt to fix win no-std
* Not mine clippy complaint...
* Not mine clippy complaint #2...
* Dlmalloc not used, removing from dependencies
* Restoring target in config.toml (otherwise fails CI on Linux)
* lots of digging around, pray for us
* fixup?
* Revert "lots of digging around, pray for us"
This reverts commit 706c27201918e906e3401cd0d9e76546f889d1f5.
* Revert "fixup?"
This reverts commit 1d7c5d4fb5b1bd31f5e0c07492aa8ed64c6822f3.
* Revert artifact
* Revert fixups
* Removing unused
* Reverting to upstream/main
---------
Co-authored-by: Addison Crump <addison.crump@cispa.de>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
The implementation of [`Lehmer64Rand::next`] performs a mul on `u128`, which
is not checked against overflows. It leads to panic in debug mode.
[`Lehmer64Rand`]: fd6271fa35/libafl_bolts/src/rands/mod.rs (L373-L376)
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
* fix drcov path parsing
* refactoring of drcov tool
* add the possibility to sort addresses in drcov tools
* more aggressive clippy. it now catches more warnings as errors than before
* reduce the number of unfixable warnings displayed.
* more nyx hypercalls implemented, among them:
- panic hypercall
- range filtering hypercall
* fixed some nyx hypercalls behavior.
* added generic read / write to qemu memory
* port linux kernel example to also have nyx API, add better filtering as well.
* make nyx api structs volatile to avoid optimization issues
* Introduce a method create a Vec in place, using a closure.
* use new vec_init function in relevant places.
* removed unused unsafe keywork
* add more allocated memory r/w callbacks
* add more safety notes
* move emulator hooks to separate struct
* update QEMU version
* first step
* wip
* lol
* making progress, slowly
* add
* a bit more
* progress
* 80%done
* 90% done
* done from linux
* Hello from windows
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* Hello from windows
* 9
* 10
* 11
* 11
* 12
* 13
* aa
* fixer
* a
* oops
---------
Co-authored-by: Your Name <you@example.com>
* Nyx hypercall API support
* fix linux kernel fuzzer
* hash_me -> hash_64_fast
* fix multiple bug in kernel harness
* do not check libmozjpeg's C files format.
* fixing empty multipart name
* fixing clippy
* New rules for the contributing (#2752)
* Rules
* more
* aa
* Improve Flexibility of DumpToDiskStage (#2753)
* fixing empty multipart name
* fixing clippy
* improve flexibility of DumpToDiskStage
* adding note to MIGRATION.md
* Update bindgen requirement from 0.70.1 to 0.71.1 (#2756)
Updates the requirements on [bindgen](https://github.com/rust-lang/rust-bindgen) to permit the latest version.
- [Release notes](https://github.com/rust-lang/rust-bindgen/releases)
- [Changelog](https://github.com/rust-lang/rust-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/rust-bindgen/compare/v0.70.1...v0.71.1)
---
updated-dependencies:
- dependency-name: bindgen
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* No Use* from stages (#2745)
* no from stage
* fixer
* doc fix
* how was this working????
* more fixes
* delete more
* rq
* cargo-fuzz
* m
* aa
* Update CONTRIBUTING.md MIGRATION.md (#2762)
* No Uses* from `fuzzer` (#2761)
* go
* fixing stuf
* hello from windows
* more
* lolg
* lolf
* fix
* a
---------
Co-authored-by: Your Name <you@example.com>
* Remove useless cfgs (#2764)
* Link libresolv on all Apple OSs (#2767)
* Somewhat ugly CI fix... (#2768)
* Maybe fix CI
* does this help?
* Very dirty 'fix'
* Add Input Types and Mutators for Numeric Types (#2760)
* fixing empty multipart name
* fixing clippy
* New rules for the contributing (#2752)
* Rules
* more
* aa
* Improve Flexibility of DumpToDiskStage (#2753)
* fixing empty multipart name
* fixing clippy
* improve flexibility of DumpToDiskStage
* adding note to MIGRATION.md
* Introduce WrappingMutator
* introducing mutators for int types
* fixing no_std
* random fixes
* Add hash derivation for WrappingInput
* Revert fixes that broke things
* Derive Default on WrappingInput
* Add unit tests
* Fixes according to code review
* introduce mappable ValueInputs
* remove unnecessary comments
* Elide more lifetimes
* remove dead code
* simplify hashing
* improve docs
* improve randomization
* rename method to align with standard library
* add typedefs for int types for ValueMutRefInput
* rename test
* add safety notice to trait function
* improve randomize performance for i128/u128
* rename macro
* improve comment
* actually check return values in test
* make 128 bit int randomize even more efficient
* shifting signed values
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
* Add HashMutator
* Fix docs
* Fix docs again
* introducing bloom filter
* fix tests
* Implement evaluate_filtered
* Add macros to libafl_bolts tuples for mapping and merging types (#2788)
* Add macros
* Use the macros for havoc_mutations
* Fix docs
* improve merge_tuple_list_type to accept n items
* libafl_cc: Automatically find llvm_ar path (#2790)
* imemory_ondisk: Don't fail write under any circumstances if locking is disabled (#2791)
* imemory_ondisk: Don't fail write under any circumstances if locking is disabled
* fmt
* inmemory_ondisk: Add a log message on failure
* clippy'
* micro optimization
* Revert changes to global Cargo.toml
* Hide std-dependent dependency behind std feature
* Fix example fuzzer
* Rename constructor for filtered fuzzer
* Reorder generics alphabetically
* Rename HashingMutator, add note to MutationResult about filtered fuzzers
* Improve StdFuzzer according to feedback
* rename hashing mutator
* Fix english in comment
* Cleanup of old PRs that break the CI
* Fix more CI bugs
* Code cleanup
* Remove unnecessary comments
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Your Name <you@example.com>
Co-authored-by: Sharad Khanna <sharad@mineo333.dev>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: s1341 <s1341@users.noreply.github.com>