From 1ec34dbaa80a48962210968e52f34fca8b4f6d32 Mon Sep 17 00:00:00 2001 From: Andrea Fioraldi Date: Sun, 22 Nov 2020 20:17:39 +0100 Subject: [PATCH] move folders --- Cargo.toml => afl/Cargo.toml | 0 {llmp_test => afl/llmp_test}/Cargo.toml | 0 {llmp_test => afl/llmp_test}/src/main.rs | 0 {src => afl/src}/corpus/mod.rs | 0 {src => afl/src}/corpus/testcase.rs | 0 {src => afl/src}/engines/mod.rs | 2 +- {src => afl/src}/events/llmp.rs | 0 {src => afl/src}/events/llmp_translated.rs | 0 {src => afl/src}/events/mod.rs | 0 {src => afl/src}/events/shmem_translated.rs | 0 {src => afl/src}/executors/inmemory.rs | 0 {src => afl/src}/executors/mod.rs | 0 {src => afl/src}/feedbacks/mod.rs | 0 {src => afl/src}/generators/mod.rs | 0 {src => afl/src}/inputs/bytes.rs | 0 {src => afl/src}/inputs/mod.rs | 0 {src => afl/src}/lib.rs | 0 {src => afl/src}/mutators/mod.rs | 0 {src => afl/src}/mutators/scheduled.rs | 0 {src => afl/src}/observers/mod.rs | 0 {src => afl/src}/stages/mod.rs | 0 {src => afl/src}/stages/mutational.rs | 0 {src => afl/src}/utils.rs | 0 afl_derives/Cargo.toml | 14 +++++++++++++ afl_derives/src/lib.rs | 23 +++++++++++++++++++++ fuzzers/libfuzzer/Cargo.toml | 2 +- 26 files changed, 39 insertions(+), 2 deletions(-) rename Cargo.toml => afl/Cargo.toml (100%) rename {llmp_test => afl/llmp_test}/Cargo.toml (100%) rename {llmp_test => afl/llmp_test}/src/main.rs (100%) rename {src => afl/src}/corpus/mod.rs (100%) rename {src => afl/src}/corpus/testcase.rs (100%) rename {src => afl/src}/engines/mod.rs (99%) rename {src => afl/src}/events/llmp.rs (100%) rename {src => afl/src}/events/llmp_translated.rs (100%) rename {src => afl/src}/events/mod.rs (100%) rename {src => afl/src}/events/shmem_translated.rs (100%) rename {src => afl/src}/executors/inmemory.rs (100%) rename {src => afl/src}/executors/mod.rs (100%) rename {src => afl/src}/feedbacks/mod.rs (100%) rename {src => afl/src}/generators/mod.rs (100%) rename {src => afl/src}/inputs/bytes.rs (100%) rename {src => afl/src}/inputs/mod.rs (100%) rename {src => afl/src}/lib.rs (100%) rename {src => afl/src}/mutators/mod.rs (100%) rename {src => afl/src}/mutators/scheduled.rs (100%) rename {src => afl/src}/observers/mod.rs (100%) rename {src => afl/src}/stages/mod.rs (100%) rename {src => afl/src}/stages/mutational.rs (100%) rename {src => afl/src}/utils.rs (100%) create mode 100644 afl_derives/Cargo.toml create mode 100644 afl_derives/src/lib.rs diff --git a/Cargo.toml b/afl/Cargo.toml similarity index 100% rename from Cargo.toml rename to afl/Cargo.toml diff --git a/llmp_test/Cargo.toml b/afl/llmp_test/Cargo.toml similarity index 100% rename from llmp_test/Cargo.toml rename to afl/llmp_test/Cargo.toml diff --git a/llmp_test/src/main.rs b/afl/llmp_test/src/main.rs similarity index 100% rename from llmp_test/src/main.rs rename to afl/llmp_test/src/main.rs diff --git a/src/corpus/mod.rs b/afl/src/corpus/mod.rs similarity index 100% rename from src/corpus/mod.rs rename to afl/src/corpus/mod.rs diff --git a/src/corpus/testcase.rs b/afl/src/corpus/testcase.rs similarity index 100% rename from src/corpus/testcase.rs rename to afl/src/corpus/testcase.rs diff --git a/src/engines/mod.rs b/afl/src/engines/mod.rs similarity index 99% rename from src/engines/mod.rs rename to afl/src/engines/mod.rs index 92c36404a5..b1cc09a08e 100644 --- a/src/engines/mod.rs +++ b/afl/src/engines/mod.rs @@ -26,7 +26,7 @@ pub trait StateMetadata: Debug { pub trait State: HasCorpus where - C: Corpus, + C: Corpus, E: Executor, I: Input, { diff --git a/src/events/llmp.rs b/afl/src/events/llmp.rs similarity index 100% rename from src/events/llmp.rs rename to afl/src/events/llmp.rs diff --git a/src/events/llmp_translated.rs b/afl/src/events/llmp_translated.rs similarity index 100% rename from src/events/llmp_translated.rs rename to afl/src/events/llmp_translated.rs diff --git a/src/events/mod.rs b/afl/src/events/mod.rs similarity index 100% rename from src/events/mod.rs rename to afl/src/events/mod.rs diff --git a/src/events/shmem_translated.rs b/afl/src/events/shmem_translated.rs similarity index 100% rename from src/events/shmem_translated.rs rename to afl/src/events/shmem_translated.rs diff --git a/src/executors/inmemory.rs b/afl/src/executors/inmemory.rs similarity index 100% rename from src/executors/inmemory.rs rename to afl/src/executors/inmemory.rs diff --git a/src/executors/mod.rs b/afl/src/executors/mod.rs similarity index 100% rename from src/executors/mod.rs rename to afl/src/executors/mod.rs diff --git a/src/feedbacks/mod.rs b/afl/src/feedbacks/mod.rs similarity index 100% rename from src/feedbacks/mod.rs rename to afl/src/feedbacks/mod.rs diff --git a/src/generators/mod.rs b/afl/src/generators/mod.rs similarity index 100% rename from src/generators/mod.rs rename to afl/src/generators/mod.rs diff --git a/src/inputs/bytes.rs b/afl/src/inputs/bytes.rs similarity index 100% rename from src/inputs/bytes.rs rename to afl/src/inputs/bytes.rs diff --git a/src/inputs/mod.rs b/afl/src/inputs/mod.rs similarity index 100% rename from src/inputs/mod.rs rename to afl/src/inputs/mod.rs diff --git a/src/lib.rs b/afl/src/lib.rs similarity index 100% rename from src/lib.rs rename to afl/src/lib.rs diff --git a/src/mutators/mod.rs b/afl/src/mutators/mod.rs similarity index 100% rename from src/mutators/mod.rs rename to afl/src/mutators/mod.rs diff --git a/src/mutators/scheduled.rs b/afl/src/mutators/scheduled.rs similarity index 100% rename from src/mutators/scheduled.rs rename to afl/src/mutators/scheduled.rs diff --git a/src/observers/mod.rs b/afl/src/observers/mod.rs similarity index 100% rename from src/observers/mod.rs rename to afl/src/observers/mod.rs diff --git a/src/stages/mod.rs b/afl/src/stages/mod.rs similarity index 100% rename from src/stages/mod.rs rename to afl/src/stages/mod.rs diff --git a/src/stages/mutational.rs b/afl/src/stages/mutational.rs similarity index 100% rename from src/stages/mutational.rs rename to afl/src/stages/mutational.rs diff --git a/src/utils.rs b/afl/src/utils.rs similarity index 100% rename from src/utils.rs rename to afl/src/utils.rs diff --git a/afl_derives/Cargo.toml b/afl_derives/Cargo.toml new file mode 100644 index 0000000000..014c3dc43d --- /dev/null +++ b/afl_derives/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "afl_derives" +version = "0.1.0" +authors = ["Andrea Fioraldi "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +syn = "0.15" +quote = "0.6" + +[lib] +proc-macro = true \ No newline at end of file diff --git a/afl_derives/src/lib.rs b/afl_derives/src/lib.rs new file mode 100644 index 0000000000..219717834b --- /dev/null +++ b/afl_derives/src/lib.rs @@ -0,0 +1,23 @@ +#[macro_use] +extern crate quote; +#[macro_use] +extern crate syn; + +extern crate proc_macro; + +use proc_macro::TokenStream; +use syn::DeriveInput; + +#[proc_macro_derive(MyMacro)] +pub fn my_macro(input: TokenStream) -> TokenStream { + // Parse the input tokens into a syntax tree + let input = parse_macro_input!(input as DeriveInput); + + // Build the output, possibly using quasi-quotation + let expanded = quote! { + // ... + }; + + // Hand the output tokens back to the compiler + TokenStream::from(expanded) +} diff --git a/fuzzers/libfuzzer/Cargo.toml b/fuzzers/libfuzzer/Cargo.toml index 1687457df0..25079d3ca2 100644 --- a/fuzzers/libfuzzer/Cargo.toml +++ b/fuzzers/libfuzzer/Cargo.toml @@ -11,7 +11,7 @@ default = ["std"] std = [] [dependencies] -afl = { path = "../../" } +afl = { path = "../../afl/" } [lib] crate-type = ["staticlib", "cdylib"]