Info about how to migrate to 0.11 (#1395)
This commit is contained in:
parent
febb154e49
commit
f752acc2a4
@ -25,6 +25,7 @@
|
|||||||
- [Architecture](./design/architecture.md)
|
- [Architecture](./design/architecture.md)
|
||||||
- [Metadata](./design/metadata.md)
|
- [Metadata](./design/metadata.md)
|
||||||
- [Migrating from LibAFL <0.9 to 0.9](./design/migration-0.9.md)
|
- [Migrating from LibAFL <0.9 to 0.9](./design/migration-0.9.md)
|
||||||
|
- [Migrating from LibAFL <0.11 to 0.11](./design/migration-0.11.md)
|
||||||
|
|
||||||
- [Message Passing](./message_passing/message_passing.md)
|
- [Message Passing](./message_passing/message_passing.md)
|
||||||
- [Spawning Instances](./message_passing/spawn_instances.md)
|
- [Spawning Instances](./message_passing/spawn_instances.md)
|
||||||
|
26
docs/src/design/migration-0.11.md
Normal file
26
docs/src/design/migration-0.11.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# Migrating from LibAFL <0.11 to 0.11
|
||||||
|
|
||||||
|
We moved the old `libafl::bolts` module to its own crate called `libafl_bolts`.
|
||||||
|
For this, imports for types in LibAFL bolts have changed in version 0.11, everything else should remain the same.
|
||||||
|
|
||||||
|
## Reasons for This Change
|
||||||
|
|
||||||
|
With the change we can now use a lot of low-level features of LibAFL for projects that are unrelated to fuzzing, or just completely different to LibAFL.
|
||||||
|
Some cross-platform things in bolts include
|
||||||
|
|
||||||
|
* SerdeAnyMap: a map that stores and retrieves elements by type and is serializable and deserializable
|
||||||
|
* ShMem: A cross-platform (Windows, Linux, Android, MacOS) shared memory implementation
|
||||||
|
* LLMP: A fast, lock-free IPC mechanism via SharedMap
|
||||||
|
* Core_affinity: A maintained version of `core_affinity` that can be used to get core information and bind processes to cores
|
||||||
|
* Rands: Fast random number generators for fuzzing (like [RomuRand](http://www.romu-random.org/))
|
||||||
|
* Tuples: Haskel-like compile-time tuple lists
|
||||||
|
* Os: OS specific stuff like signal handling, windows exception handling, pipes, and helpers for `fork`
|
||||||
|
|
||||||
|
## What changed
|
||||||
|
|
||||||
|
You will need to move all `libafl::bolts::` imports to `libafl_bolts:::` and add the crate dependency in your Cargo.toml (and specify feature flags there).
|
||||||
|
As only exception, the `libafl::bolts::launcher::Launcher` has moved to `libafl::events::launcher::Launcher` since it has fuzzer and `EventManager` specific code.
|
||||||
|
If you are using `prelude`, you may need to also ad `libafl_bolts::prelude`.
|
||||||
|
|
||||||
|
That's it.
|
||||||
|
Enjoy using `libafl_bolts` in other projects.
|
Loading…
x
Reference in New Issue
Block a user