Module libafl::events

source ·
Expand description

Eventmanager manages all events that go to other instances of the fuzzer.

Re-exports

pub use simple::*;
pub use llmp::*;

Modules

LLMP-backed event manager for scalable multi-processed fuzzing
A very simple event manager, that just supports log outputs, but no multiprocessing

Structs

A per-fuzzer unique ID, usually starting with 0 and increasing by 1 in multiprocessed EventManagers, such as self::llmp::LlmpEventManager.
An eventmgr for tests, and as placeholder if you really don’t need an event manager.
A signal handler for releasing StateRestore ShMem This struct holds a pointer to StateRestore and clean up the ShMem segment used by it.

Enums

Indicate if an event worked or not
The result of a custom buf handler added using HasCustomBufHandlers::add_custom_buf_handler
Events sent around in the library
Distinguish a fuzzer by its config
The log event severity

Statics

Check if ctrl-c is sent with this struct

Traits

EventFirer fire an event.
EventManager is the main communications hub. For the “normal” multi-processed mode, you may want to look into LlmpRestartingEventManager
EventProcessor process all the incoming messages
Restartable trait
Supports custom buf handlers to handle CustomBuf events.
The id of this EventManager. For multi processed EventManagers, each connected client should have a unique ids.
ProgressReporter report progress to the broker.

Functions

Shutdown handler. SigTerm, SigInterrupt, SigQuit call this We can’t handle SIGKILL in the signal handler, this means that you shouldn’t kill your fuzzer with kill -9 because then the shmem segments are never freed

Type Definitions

Type for shutdown handler