prepare concolic support crates for publishing to crates.io (#250)

* prepare concolic support crates for publishing to crates.io

* provide some bare-bones READMEs
This commit is contained in:
julihoh 2021-08-06 17:49:57 +02:00 committed by GitHub
parent e971f240da
commit 7581885d52
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 37 additions and 3 deletions

View File

@ -2,6 +2,13 @@
name = "symcc_libafl" name = "symcc_libafl"
version = "0.1.0" version = "0.1.0"
edition = "2018" edition = "2018"
authors = ["Julius Hohnerlein <julihoh@users.noreply.github.com>", "Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
description = "Meta package for symcc_runtime"
documentation = "https://docs.rs/symcc_libafl"
repository = "https://github.com/AFLplusplus/LibAFL/"
readme = "README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "testing", "security"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -0,0 +1,5 @@
This is a support crate for [symcc_runtime](https://crates.io/crates/symcc_runtime).
It defines a stable URL and commit hash for th [LibAFL](https://github.com/AFLplusplus/LibAFL) [fork](https://github.com/AFLplusplus/symcc) of [SymCC](https://github.com/eurecom-s3/symcc).
It also provides convenient methods to clone and build SymCC to be used in build scripts in LibAFL based fuzzers.
[Documentation](https://docs.rs/symcc_libafl)

View File

@ -2,7 +2,14 @@
name = "symcc_runtime" name = "symcc_runtime"
version = "0.1.0" version = "0.1.0"
edition = "2018" edition = "2018"
authors = ["Julius Hohnerlein <julihoh@users.noreply.github.com>"] authors = ["Julius Hohnerlein <julihoh@users.noreply.github.com>", "Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
description = "Build Concolic Tracing tools based on SymCC in Rust"
documentation = "https://docs.rs/symcc_runtime"
repository = "https://github.com/AFLplusplus/LibAFL/"
readme = "README.md"
license = "MIT OR Apache-2.0"
keywords = ["fuzzing", "testing", "security"]
build = "build.rs"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -14,7 +21,7 @@ no-cpp-runtime = []
unchecked_unwrap = "3" unchecked_unwrap = "3"
ctor = "0.1" ctor = "0.1"
libc = "0.2" libc = "0.2"
libafl = {path = "../../libafl"} libafl = {path = "../../libafl", version="0.5"}
[build-dependencies] [build-dependencies]
cmake = "0.1" cmake = "0.1"
@ -22,4 +29,4 @@ bindgen = "0.58"
regex = "1" regex = "1"
lazy_static = "1.4" lazy_static = "1.4"
which = "4.1" which = "4.1"
symcc_libafl = {path = "../symcc_libafl"} symcc_libafl = {path = "../symcc_libafl", version="0.1"}

View File

@ -0,0 +1,3 @@
# SymCC Concolic Tracing Runtime Rust Bindings
This crate allows you to build custom runtimes for SymCC.
See the [documentation](https://docs.rs/symcc_runtime) for details.

View File

@ -4,6 +4,18 @@ cd "$SCRIPT_DIR/.."
set -e set -e
cd libafl_concolic/symcc_libafl
cargo publish $@
cd ../..
sleep 20
cd libafl_concolic/symcc_runtime
cargo publish $@
cd ../..
sleep 20
cd libafl_derive cd libafl_derive
cargo publish $@ cargo publish $@
cd .. cd ..