LibAFL icon indicating copy to clipboard operation
LibAFL copied to clipboard

Extract useful features to Crates

Open domenukk opened this issue 3 years ago • 2 comments

Some useful features are hidden in bolts that could be used and developed independently of LibAFL. They could still live in this repo, but have their own entry on crates.io with their own readme etc.

At lest the following come to mind:

  • SerdeAnyMap
  • ShMem
  • LLMP

domenukk avatar Jan 17 '22 12:01 domenukk

Ownedref is a very dummy and used pattern not worth a crate (we are not JS devs), for the others I agree

andreafioraldi avatar Jan 17 '22 15:01 andreafioraldi

Removed it from the list

domenukk avatar Jan 17 '22 15:01 domenukk

Hello, I have an open pr on another issue but I'm confident that I could already start working on something else. If I understood correctly, I should move /libafl/src/bolts/shmem.rs to /shmem/mod.rs (maybe correct the paths to the use's), add a readme to explain more about the features contained in that crate an add it to crates.io?

matheusbaptistella avatar Mar 07 '23 16:03 matheusbaptistella

Sweet! :) Yes I think what we could do to start is to just move libafl/bolts to its own libafl_bolts crate (and we can reexport it from libafl for now). I'm not sure which ones we need to split up completely, although it might be useful for at least ShMem and SerdeAnyMap. And yes, they should get their own spot on crates.io and own readme :)

domenukk avatar Mar 08 '23 18:03 domenukk

I moved libafl/bolts to libafl_bolts, added a README.md and a cargo.toml file. In order to reexport it from libafl I should add to libafl/lib.rs: pub use libafl_bolts::*;? Because I moved the items from libafl/bolts, when using cargo check on the repo, every import of bolts is returning an error, should I correct the paths?

matheusbaptistella avatar Mar 09 '23 14:03 matheusbaptistella