diff --git a/libafl/src/events/centralized.rs b/libafl/src/events/centralized.rs index 88a1b1cdd0..f99496db02 100644 --- a/libafl/src/events/centralized.rs +++ b/libafl/src/events/centralized.rs @@ -54,7 +54,7 @@ pub(crate) const _LLMP_TAG_TO_MAIN: Tag = Tag(0x3453453); pub struct CentralizedEventManager where EM: UsesState, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { inner: EM, /// The LLMP client for inter process communication @@ -286,7 +286,7 @@ impl CentralizedEventManagerBuilder { impl UsesState for CentralizedEventManager where EM: UsesState, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { type State = EM::State; } @@ -295,7 +295,7 @@ where impl AdaptiveSerializer for CentralizedEventManager where EM: AdaptiveSerializer + UsesState, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { fn serialization_time(&self) -> Duration { self.inner.serialization_time() @@ -332,14 +332,14 @@ where impl AdaptiveSerializer for CentralizedEventManager where EM: AdaptiveSerializer + UsesState, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { } impl EventFirer for CentralizedEventManager where EM: AdaptiveSerializer + EventFirer + HasEventManagerId, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { fn should_send(&self) -> bool { self.inner.should_send() @@ -429,7 +429,7 @@ where impl EventRestarter for CentralizedEventManager where EM: EventRestarter, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { #[inline] fn on_restart(&mut self, state: &mut Self::State) -> Result<(), Error> { @@ -458,7 +458,7 @@ where Z: EvaluatorObservers + ExecutionProcessor, Self::State: HasExecutions + HasMetadata, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { fn process( &mut self, @@ -484,14 +484,14 @@ where for<'a> E::Observers: Deserialize<'a>, Z: EvaluatorObservers + ExecutionProcessor, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { } impl HasCustomBufHandlers for CentralizedEventManager where EM: HasCustomBufHandlers, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { /// Adds a custom buffer handler that will run for each incoming `CustomBuf` event. fn add_custom_buf_handler( @@ -508,14 +508,14 @@ impl ProgressReporter for CentralizedEventManager where EM: AdaptiveSerializer + ProgressReporter + HasEventManagerId, EM::State: HasMetadata + HasExecutions + HasLastReportTime, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { } impl HasEventManagerId for CentralizedEventManager where EM: HasEventManagerId + UsesState, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { fn mgr_id(&self) -> EventManagerId { self.inner.mgr_id() @@ -525,7 +525,7 @@ where impl CentralizedEventManager where EM: UsesState, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { /// Describe the client event manager's LLMP parts in a restorable fashion pub fn describe(&self) -> Result { @@ -548,7 +548,7 @@ where impl CentralizedEventManager where EM: UsesState + EventFirer + AdaptiveSerializer + HasEventManagerId, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { #[cfg(feature = "llmp_compression")] fn forward_to_main(&mut self, event: &Event) -> Result<(), Error> diff --git a/libafl/src/events/launcher.rs b/libafl/src/events/launcher.rs index 07b372ca6e..37a4fcfc24 100644 --- a/libafl/src/events/launcher.rs +++ b/libafl/src/events/launcher.rs @@ -144,7 +144,7 @@ where CF: FnOnce(Option, LlmpRestartingEventManager, CoreId) -> Result<(), Error>, EMH: EventManagerHooksTuple, MT: Monitor + Clone, - SP: ShMemProvider + 'static, + SP: ShMemProvider, S: State, { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { @@ -169,9 +169,9 @@ where impl<'a, CF, MT, S, SP> Launcher<'a, CF, (), MT, S, SP> where CF: FnOnce(Option, LlmpRestartingEventManager<(), S, SP>, CoreId) -> Result<(), Error>, - MT: Monitor + Clone + 'static, - S: State + HasExecutions + 'static, - SP: ShMemProvider + 'static, + MT: Monitor + Clone, + S: State + HasExecutions, + SP: ShMemProvider, { /// Launch the broker and the clients and fuzz #[cfg(all(unix, feature = "std", feature = "fork"))] @@ -192,9 +192,9 @@ impl<'a, CF, EMH, MT, S, SP> Launcher<'a, CF, EMH, MT, S, SP> where CF: FnOnce(Option, LlmpRestartingEventManager, CoreId) -> Result<(), Error>, EMH: EventManagerHooksTuple + Clone + Copy, - MT: Monitor + Clone + 'static, - S: State + HasExecutions + 'static, - SP: ShMemProvider + 'static, + MT: Monitor + Clone, + S: State + HasExecutions, + SP: ShMemProvider, { /// Launch the broker and the clients and fuzz with a user-supplied hook #[cfg(all(unix, feature = "std", feature = "fork"))] @@ -564,9 +564,9 @@ where CentralizedEventManager, SP>, CoreId, ) -> Result<(), Error>, - MT: Monitor + Clone + 'static, - S: State + HasExecutions + 'static, - SP: ShMemProvider + 'static, + MT: Monitor + Clone, + S: State + HasExecutions, + SP: ShMemProvider, { /// Launch a standard Centralized-based fuzzer pub fn launch(&mut self) -> Result<(), Error> { @@ -603,9 +603,9 @@ where CentralizedEventManager, // No hooks for centralized EM CoreId, ) -> Result<(), Error>, - MT: Monitor + Clone + 'static, - S: State + HasExecutions + 'static, - SP: ShMemProvider + 'static, + MT: Monitor + Clone, + S: State + HasExecutions, + SP: ShMemProvider, { /// Launch a Centralized-based fuzzer. /// - `main_inner_mgr_builder` will be called to build the inner manager of the main node. diff --git a/libafl/src/events/llmp/hooks/centralized.rs b/libafl/src/events/llmp/hooks/centralized.rs index 42d7278f16..72e78ba623 100644 --- a/libafl/src/events/llmp/hooks/centralized.rs +++ b/libafl/src/events/llmp/hooks/centralized.rs @@ -25,7 +25,7 @@ pub struct CentralizedLlmpHook { impl LlmpHook for CentralizedLlmpHook where I: Input, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { fn on_new_message( &mut self, @@ -76,7 +76,7 @@ impl Debug for CentralizedLlmpHook { impl CentralizedLlmpHook where I: Input, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { /// Create an event broker from a raw broker. pub fn new() -> Result { diff --git a/libafl/src/events/llmp/hooks/mod.rs b/libafl/src/events/llmp/hooks/mod.rs index d54d6d159c..525d5448a3 100644 --- a/libafl/src/events/llmp/hooks/mod.rs +++ b/libafl/src/events/llmp/hooks/mod.rs @@ -26,7 +26,7 @@ pub mod centralized; #[derive(Debug)] pub struct StdLlmpEventHook where - SP: ShMemProvider + 'static, + SP: ShMemProvider, { monitor: MT, #[cfg(feature = "llmp_compression")] @@ -38,7 +38,7 @@ impl LlmpHook for StdLlmpEventHook where I: Input, MT: Monitor, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { fn on_new_message( &mut self, @@ -84,7 +84,7 @@ where impl StdLlmpEventHook where I: Input, - SP: ShMemProvider + 'static, + SP: ShMemProvider, MT: Monitor, { /// Create an event broker from a raw broker. diff --git a/libafl/src/events/llmp/mgr.rs b/libafl/src/events/llmp/mgr.rs index 3dc8082082..25c7472112 100644 --- a/libafl/src/events/llmp/mgr.rs +++ b/libafl/src/events/llmp/mgr.rs @@ -55,7 +55,7 @@ use crate::{ pub struct LlmpEventManager where S: State, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { /// We only send 1 testcase for every `throttle` second pub(crate) throttle: Option, @@ -396,7 +396,7 @@ impl LlmpEventManagerBuilder { #[cfg(feature = "adaptive_serialization")] impl AdaptiveSerializer for LlmpEventManager where - SP: ShMemProvider + 'static, + SP: ShMemProvider, S: State, { fn serialization_time(&self) -> Duration { @@ -432,7 +432,7 @@ where impl core::fmt::Debug for LlmpEventManager where - SP: ShMemProvider + 'static, + SP: ShMemProvider, S: State, { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { @@ -450,7 +450,7 @@ where impl Drop for LlmpEventManager where - SP: ShMemProvider + 'static, + SP: ShMemProvider, S: State, { /// LLMP clients will have to wait until their pages are mapped by somebody. @@ -462,7 +462,7 @@ where impl LlmpEventManager where S: State, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { /// Calling this function will tell the llmp broker that this client is exiting /// This should be called from the restarter not from the actual fuzzer client @@ -514,7 +514,7 @@ impl LlmpEventManager where EMH: EventManagerHooksTuple, S: State + HasExecutions + HasMetadata, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { // Handle arriving events in the client #[allow(clippy::unused_self)] diff --git a/libafl/src/events/llmp/mod.rs b/libafl/src/events/llmp/mod.rs index 18d5e73f18..11686a7f90 100644 --- a/libafl/src/events/llmp/mod.rs +++ b/libafl/src/events/llmp/mod.rs @@ -91,7 +91,7 @@ impl LlmpShouldSaveState { pub struct LlmpEventConverter where S: UsesInput, - SP: ShMemProvider + 'static, + SP: ShMemProvider, IC: InputConverter, ICB: InputConverter, DI: Input, @@ -153,7 +153,7 @@ impl LlmpEventConverterBuilder { converter_back: Option, ) -> Result, Error> where - SP: ShMemProvider + 'static, + SP: ShMemProvider, S: UsesInput, IC: InputConverter, ICB: InputConverter, @@ -182,7 +182,7 @@ impl LlmpEventConverterBuilder { converter_back: Option, ) -> Result, Error> where - SP: ShMemProvider + 'static, + SP: ShMemProvider, S: UsesInput, IC: InputConverter, ICB: InputConverter, @@ -212,7 +212,7 @@ impl LlmpEventConverterBuilder { converter_back: Option, ) -> Result, Error> where - SP: ShMemProvider + 'static, + SP: ShMemProvider, S: UsesInput, IC: InputConverter, ICB: InputConverter, @@ -235,7 +235,7 @@ impl LlmpEventConverterBuilder { impl core::fmt::Debug for LlmpEventConverter where - SP: ShMemProvider + 'static, + SP: ShMemProvider, S: UsesInput, IC: InputConverter, ICB: InputConverter, @@ -258,7 +258,7 @@ where impl LlmpEventConverter where S: UsesInput + HasExecutions + HasMetadata, - SP: ShMemProvider + 'static, + SP: ShMemProvider, IC: InputConverter, ICB: InputConverter, DI: Input, diff --git a/libafl/src/events/llmp/restarting.rs b/libafl/src/events/llmp/restarting.rs index 18dcd9a2b2..92cf63f9f5 100644 --- a/libafl/src/events/llmp/restarting.rs +++ b/libafl/src/events/llmp/restarting.rs @@ -62,7 +62,7 @@ use crate::{ pub struct LlmpRestartingEventManager where S: State, - SP: ShMemProvider + 'static, + SP: ShMemProvider, //CE: CustomEvent, { /// The embedded LLMP event manager @@ -76,7 +76,7 @@ where #[cfg(all(feature = "std", feature = "adaptive_serialization"))] impl AdaptiveSerializer for LlmpRestartingEventManager where - SP: ShMemProvider + 'static, + SP: ShMemProvider, S: State, { fn serialization_time(&self) -> Duration { @@ -113,7 +113,7 @@ where #[cfg(all(feature = "std", not(feature = "adaptive_serialization")))] impl AdaptiveSerializer for LlmpRestartingEventManager where - SP: ShMemProvider + 'static, + SP: ShMemProvider, S: State, { } @@ -122,7 +122,7 @@ where impl UsesState for LlmpRestartingEventManager where S: State, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { type State = S; } @@ -218,7 +218,7 @@ where for<'a> E::Observers: Deserialize<'a>, EMH: EventManagerHooksTuple, S: State + HasExecutions + HasMetadata, - SP: ShMemProvider + 'static, + SP: ShMemProvider, Z: ExecutionProcessor + EvaluatorObservers + Evaluator>, @@ -237,7 +237,7 @@ where for<'a> E::Observers: Deserialize<'a>, EMH: EventManagerHooksTuple, S: State + HasExecutions + HasMetadata + HasLastReportTime, - SP: ShMemProvider + 'static, + SP: ShMemProvider, Z: ExecutionProcessor + EvaluatorObservers + Evaluator>, @@ -248,7 +248,7 @@ where impl HasEventManagerId for LlmpRestartingEventManager where S: State, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { fn mgr_id(&self) -> EventManagerId { self.llmp_mgr.mgr_id() @@ -265,7 +265,7 @@ const _ENV_FUZZER_BROKER_CLIENT_INITIAL: &str = "_AFL_ENV_FUZZER_BROKER_CLIENT"; impl LlmpRestartingEventManager where S: State, - SP: ShMemProvider + 'static, + SP: ShMemProvider, //CE: CustomEvent, { /// Create a new runner, the executed child doing the actual fuzzing. @@ -344,8 +344,8 @@ pub fn setup_restarting_mgr_std( Error, > where - MT: Monitor + Clone + 'static, - S: State + HasExecutions + 'static, + MT: Monitor + Clone, + S: State + HasExecutions, { RestartingMgr::builder() .shmem_provider(StdShMemProvider::new()?) @@ -375,8 +375,8 @@ pub fn setup_restarting_mgr_std( Error, > where - MT: Monitor + Clone + 'static, - S: State + HasExecutions + 'static, + MT: Monitor + Clone, + S: State + HasExecutions, { RestartingMgr::builder() .shmem_provider(StdShMemProvider::new()?) @@ -399,7 +399,7 @@ pub struct RestartingMgr where EMH: EventManagerHooksTuple, S: State, - SP: ShMemProvider + 'static, + SP: ShMemProvider, MT: Monitor, //CE: CustomEvent, { @@ -448,8 +448,8 @@ impl RestartingMgr where EMH: EventManagerHooksTuple + Copy + Clone, SP: ShMemProvider, - S: State + HasExecutions + 'static, - MT: Monitor + Clone + 'static, + S: State + HasExecutions, + MT: Monitor + Clone, { /// Launch the broker and the clients and fuzz pub fn launch(&mut self) -> Result<(Option, LlmpRestartingEventManager), Error> { diff --git a/libafl_bolts/src/llmp.rs b/libafl_bolts/src/llmp.rs index 4ca076bc15..22f4f4cc3b 100644 --- a/libafl_bolts/src/llmp.rs +++ b/libafl_bolts/src/llmp.rs @@ -703,7 +703,7 @@ impl LlmpMsg { #[derive(Debug)] pub enum LlmpConnection where - SP: ShMemProvider + 'static, + SP: ShMemProvider, { /// A broker and a thread using this tcp background thread IsBroker { @@ -2022,7 +2022,7 @@ where #[derive(Debug)] pub struct LlmpBrokerState where - SP: ShMemProvider + 'static, + SP: ShMemProvider, { /// Broadcast map from broker to all clients llmp_out: LlmpSender, @@ -2050,7 +2050,7 @@ where #[derive(Debug)] pub struct LlmpBroker where - SP: ShMemProvider + 'static, + SP: ShMemProvider, { /// The broker state: LlmpBrokerState, @@ -2100,7 +2100,7 @@ impl CtrlHandler for LlmpShutdownSignalHandler { /// Llmp hooks pub trait LlmpHook where - SP: ShMemProvider + 'static, + SP: ShMemProvider, { /// Hook called whenever a new message is received. It receives an llmp message as input, does /// something with it (read, transform, forward, etc...) and decides to discard it or not. @@ -2162,7 +2162,7 @@ impl LlmpHookTuple for (Head, Tail) where Head: LlmpHook, Tail: LlmpHookTuple, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { fn on_new_message_all( &mut self, @@ -2196,7 +2196,7 @@ where impl LlmpBroker<(), SP> where - SP: ShMemProvider + 'static, + SP: ShMemProvider, { /// Add hooks to a hookless [`LlmpBroker`]. /// We do not support replacing hooks for now. @@ -2214,7 +2214,7 @@ where impl LlmpBroker where HT: LlmpHookTuple, - SP: ShMemProvider + 'static, + SP: ShMemProvider, { /// Create and initialize a new [`LlmpBroker`], associated with some hooks. pub fn new(shmem_provider: SP, hooks: HT) -> Result { @@ -2584,7 +2584,7 @@ where /// It may intercept messages passing through. impl LlmpBrokerState where - SP: ShMemProvider + 'static, + SP: ShMemProvider, { /// Create and initialize a new [`LlmpBrokerState`], associated with some hooks. pub fn new(shmem_provider: SP) -> Result {