FRET-LibAFL/Cargo.toml
Andrea Fioraldi ce63b76558
Update to v0.15.3 (#3259)
Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2025-05-23 22:50:23 +02:00

189 lines
6.9 KiB
TOML

[workspace]
resolver = "2"
members = [
"libafl",
"libafl_bolts",
"libafl_cc",
"libafl_concolic/symcc_runtime",
"libafl_concolic/symcc_libafl",
"libafl_derive",
"libafl_frida",
"libafl_intelpt",
"libafl_libfuzzer",
"libafl_nyx",
"libafl_unicorn",
"libafl_targets",
"libafl_tinyinst",
"libafl_qemu",
"libafl_qemu/libafl_qemu_build",
"libafl_qemu/libafl_qemu_sys",
"libafl_sugar",
"libafl_concolic/test/dump_constraints",
"libafl_concolic/test/runtime_test",
"utils/build_and_test_fuzzers",
"utils/deexit",
"utils/drcov_utils",
"utils/gramatron/construct_automata",
"utils/libafl_benches",
"utils/libafl_jumper",
"utils/ci_runner",
"utils/ci_splitter",
]
default-members = [
"libafl",
"libafl_bolts",
"libafl_cc",
"libafl_derive",
"libafl_targets",
]
exclude = [
"bindings/pylibafl",
"docs",
"fuzzers",
"libafl_libfuzzer_runtime",
"utils/noaslr",
"utils/gdb_qemu",
"utils/libafl_repo_tools",
"utils/desyscall",
"utils/multi_machine_generator",
"scripts",
# additional crates
"libafl_concolic/test/symcc/util/symcc_fuzzing_helper",
]
[workspace.package]
version = "0.15.3"
license = "MIT OR Apache-2.0"
[workspace.dependencies]
# Internal deps
libafl = { path = "./libafl", version = "0.15.3", default-features = false }
libafl_bolts = { path = "./libafl_bolts", version = "0.15.3", default-features = false }
libafl_cc = { path = "./libafl_cc", version = "0.15.3", default-features = false }
symcc_runtime = { path = "./libafl_concolic/symcc_runtime", version = "0.15.2", default-features = false }
symcc_libafl = { path = "./libafl_concolic/symcc_libafl", version = "0.15.3", default-features = false }
libafl_derive = { path = "./libafl_derive", version = "0.15.3", default-features = false }
libafl_frida = { path = "./libafl_frida", version = "0.15.3", default-features = false }
libafl_intelpt = { path = "./libafl_intelpt", version = "0.15.3", default-features = false }
libafl_libfuzzer = { path = "./libafl_libfuzzer", version = "0.15.3", default-features = false }
libafl_nyx = { path = "./libafl_nyx", version = "0.15.3", default-features = false }
libafl_targets = { path = "./libafl_targets", version = "0.15.3", default-features = false }
libafl_tinyinst = { path = "./libafl_tinyinst", version = "0.15.3", default-features = false }
libafl_qemu = { path = "./libafl_qemu", version = "0.15.3", default-features = false }
libafl_qemu_build = { path = "./libafl_qemu/libafl_qemu_build", version = "0.15.3", default-features = false }
libafl_qemu_sys = { path = "./libafl_qemu/libafl_qemu_sys", version = "0.15.3", default-features = false }
libafl_sugar = { path = "./libafl_sugar", version = "0.15.3", default-features = false }
dump_constraints = { path = "./libafl_concolic/test/dump_constraints", version = "0.15.2", default-features = false }
runtime_test = { path = "./libafl_concolic/test/runtime_test", version = "0.15.2", default-features = false }
build_and_test_fuzzers = { path = "./utils/build_and_test_fuzzers", version = "0.15.2", default-features = false }
deexit = { path = "./utils/deexit", version = "0.15.2", default-features = false }
drcov_utils = { path = "./utils/drcov_utils", version = "0.15.2", default-features = false }
construct_automata = { path = "./utils/gramatron/construct_automata", version = "0.15.2", default-features = false }
libafl_benches = { path = "./utils/libafl_benches", version = "0.15.3", default-features = false }
libafl_jumper = { path = "./utils/libafl_jumper", version = "0.15.3", default-features = false }
# External deps
ahash = { version = "0.8.12", default-features = false } # The hash function already used in hashbrown
arbitrary-int = "1.2.7" # arbitrary sized integers, useful in combination with bitfields (bitbybit crate)
backtrace = { version = "0.3.74", default-features = false } # Used to get the stacktrace in StacktraceObserver
bindgen = "0.71.1"
# 2024-12-16: bitbybit 1.3.3 is leading CI to fail due to missing docs.
# fixme: Change this to 1.3.3 when the issue https://github.com/danlehmann/bitfield/issues/66 is resolved.
bitbybit = "=1.3.2" # bitfields, use this for bit fields and bit enums
capstone = "0.13.0" # Disassembler used in libafl_unicorn to provide disassembly on crash
clap = "4.5.18"
cc = "1.1.21"
cmake = "0.1.51"
document-features = "0.2.10"
fastbloom = { version = "0.11.0", default-features = false }
hashbrown = { version = "0.14.5", default-features = false } # A faster hashmap, nostd compatible
just = "1.40.0"
libc = "0.2.159" # For (*nix) libc
libipt = "0.3.0"
log = "0.4.22"
meminterval = "0.4.1"
mimalloc = { version = "0.1.43", default-features = false }
nix = { version = "0.29.0", default-features = false }
num_enum = { version = "0.7.3", default-features = false }
num-traits = { version = "0.2.19", default-features = false }
paste = "1.0.15"
postcard = { version = "1.0.10", features = [
"alloc",
], default-features = false } # no_std compatible serde serialization format
pyo3 = "0.24.1"
pyo3-build-config = "0.25.0"
rangemap = "1.5.1"
regex = "1.10.6"
rustversion = "1.0.17"
serde = { version = "1.0.210", default-features = false } # serialization lib
serial_test = { version = "3.1.1", default-features = false }
serde_json = { version = "1.0.128", default-features = false }
serde_yaml = { version = "0.9.34" } # For parsing the injections yaml file
static_assertions = "1.1.0"
strum = "0.27.0"
strum_macros = "0.27.0"
toml = "0.8.19" # For parsing the injections toml file
typed-builder = "0.21.0" # Implement the builder pattern at compiletime
typeid = "1.0.0" # Safe type_eq that doesn't rely on std specialization
unicorn-engine = "2.0.1" # Used in libafl_unicorn
uuid = { version = "1.10.0", features = ["serde", "v4"] }
which = "7.0.2"
windows = "0.59.0"
z3 = "0.12.1"
fs2 = "0.4.3" # Used by OnDisk Corpus for file locking
[workspace.lints.rust]
# Deny
warnings = { level = "deny", priority = -1 }
# Forbid
unexpected_cfgs = "forbid"
# Allow
incomplete_features = "allow"
# ambiguous_glob_reexports = "allow"
[workspace.lints.clippy]
# Deny
all = { level = "deny", priority = -1 }
pedantic = { level = "deny", priority = -1 }
cargo_common_metadata = "deny"
alloc_instead_of_core = "deny"
std_instead_of_alloc = "deny"
std_instead_of_core = "deny"
# Warn
cargo = { level = "warn", priority = -1 }
# Allow
negative_feature_names = "allow" # TODO: turn into 'warn' when working
multiple_crate_versions = "allow" # TODO: turn into `warn` when working
unreadable_literal = "allow"
type_repetition_in_bounds = "allow"
missing_errors_doc = "allow"
cast_possible_truncation = "allow"
used_underscore_binding = "allow"
ptr_as_ptr = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
unsafe_derive_deserialize = "allow"
similar_names = "allow"
too_many_lines = "allow"
comparison_chain = "allow" # This lint makes **ZERO** sense
struct_field_names = "allow" # ????
[workspace.lints.rustdoc]
# Deny
broken_intra_doc_links = "deny"
[profile.release]
lto = true
codegen-units = 1
opt-level = 3
debug = true