Track lockfiles (#3015)
* rename libafl_fmt into liabfl_repo_tools * add option to generate lockfiles * only keep binary lockfiles (update gitignore)
This commit is contained in:
parent
f3da9da7bf
commit
85bcafa831
10
.gitignore
vendored
10
.gitignore
vendored
@ -1,9 +1,14 @@
|
||||
target
|
||||
target-bin
|
||||
out
|
||||
Cargo.lock
|
||||
vendor
|
||||
|
||||
# cargo lockfiles except from binaries
|
||||
**/Cargo.lock
|
||||
!fuzzers/**/Cargo.lock
|
||||
!utils/**/Cargo.lock
|
||||
|
||||
|
||||
.DS_Store
|
||||
.env
|
||||
.vscode
|
||||
@ -88,3 +93,6 @@ rustc-ice-*
|
||||
|
||||
# log
|
||||
log
|
||||
|
||||
# Coredumps
|
||||
*.core
|
||||
|
@ -42,7 +42,7 @@ exclude = [
|
||||
"libafl_libfuzzer_runtime",
|
||||
"utils/noaslr",
|
||||
"utils/gdb_qemu",
|
||||
"utils/libafl_fmt",
|
||||
"utils/libafl_repo_tools",
|
||||
"utils/desyscall",
|
||||
"utils/multi_machine_generator",
|
||||
"scripts",
|
||||
|
1437
fuzzers/baby/baby_fuzzer_custom_executor/Cargo.lock
generated
Normal file
1437
fuzzers/baby/baby_fuzzer_custom_executor/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1438
fuzzers/baby/baby_fuzzer_minimizing/Cargo.lock
generated
Normal file
1438
fuzzers/baby/baby_fuzzer_minimizing/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1644
fuzzers/baby/baby_fuzzer_swap_differential/Cargo.lock
generated
Normal file
1644
fuzzers/baby/baby_fuzzer_swap_differential/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1479
fuzzers/baby/baby_fuzzer_unicode/Cargo.lock
generated
Normal file
1479
fuzzers/baby/baby_fuzzer_unicode/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1455
fuzzers/baby/backtrace_baby_fuzzers/c_code_with_fork_executor/Cargo.lock
generated
Normal file
1455
fuzzers/baby/backtrace_baby_fuzzers/c_code_with_fork_executor/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1455
fuzzers/baby/backtrace_baby_fuzzers/c_code_with_inprocess_executor/Cargo.lock
generated
Normal file
1455
fuzzers/baby/backtrace_baby_fuzzers/c_code_with_inprocess_executor/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1454
fuzzers/baby/backtrace_baby_fuzzers/command_executor/Cargo.lock
generated
Normal file
1454
fuzzers/baby/backtrace_baby_fuzzers/command_executor/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1438
fuzzers/baby/backtrace_baby_fuzzers/forkserver_executor/Cargo.lock
generated
Normal file
1438
fuzzers/baby/backtrace_baby_fuzzers/forkserver_executor/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1438
fuzzers/baby/backtrace_baby_fuzzers/rust_code_with_fork_executor/Cargo.lock
generated
Normal file
1438
fuzzers/baby/backtrace_baby_fuzzers/rust_code_with_fork_executor/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1438
fuzzers/baby/backtrace_baby_fuzzers/rust_code_with_inprocess_executor/Cargo.lock
generated
Normal file
1438
fuzzers/baby/backtrace_baby_fuzzers/rust_code_with_inprocess_executor/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
3592
fuzzers/binary_only/frida_libpng/Cargo.lock
generated
Normal file
3592
fuzzers/binary_only/frida_libpng/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
3592
fuzzers/binary_only/frida_windows_gdiplus/Cargo.lock
generated
Normal file
3592
fuzzers/binary_only/frida_windows_gdiplus/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
2947
fuzzers/binary_only/fuzzbench_fork_qemu/Cargo.lock
generated
Normal file
2947
fuzzers/binary_only/fuzzbench_fork_qemu/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
3010
fuzzers/binary_only/fuzzbench_qemu/Cargo.lock
generated
Normal file
3010
fuzzers/binary_only/fuzzbench_qemu/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1490
fuzzers/binary_only/intel_pt_command_executor/Cargo.lock
generated
Normal file
1490
fuzzers/binary_only/intel_pt_command_executor/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
3601
fuzzers/binary_only/qemu_cmin/Cargo.lock
generated
Normal file
3601
fuzzers/binary_only/qemu_cmin/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
3600
fuzzers/binary_only/qemu_coverage/Cargo.lock
generated
Normal file
3600
fuzzers/binary_only/qemu_coverage/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
3615
fuzzers/binary_only/qemu_launcher/Cargo.lock
generated
Normal file
3615
fuzzers/binary_only/qemu_launcher/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
2022
fuzzers/binary_only/tinyinst_simple/Cargo.lock
generated
Normal file
2022
fuzzers/binary_only/tinyinst_simple/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1438
fuzzers/forkserver/baby_fuzzer_with_forkexecutor/Cargo.lock
generated
Normal file
1438
fuzzers/forkserver/baby_fuzzer_with_forkexecutor/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1790
fuzzers/forkserver/forkserver_libafl_cc/Cargo.lock
generated
Normal file
1790
fuzzers/forkserver/forkserver_libafl_cc/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1611
fuzzers/forkserver/forkserver_simple/Cargo.lock
generated
Normal file
1611
fuzzers/forkserver/forkserver_simple/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1703
fuzzers/forkserver/fuzzbench_forkserver/Cargo.lock
generated
Normal file
1703
fuzzers/forkserver/fuzzbench_forkserver/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1703
fuzzers/forkserver/fuzzbench_forkserver_cmplog/Cargo.lock
generated
Normal file
1703
fuzzers/forkserver/fuzzbench_forkserver_cmplog/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1714
fuzzers/forkserver/fuzzbench_forkserver_sand/Cargo.lock
generated
Normal file
1714
fuzzers/forkserver/fuzzbench_forkserver_sand/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
2471
fuzzers/forkserver/libafl-fuzz/Cargo.lock
generated
Normal file
2471
fuzzers/forkserver/libafl-fuzz/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
2593
fuzzers/full_system/nyx_launcher/Cargo.lock
generated
Normal file
2593
fuzzers/full_system/nyx_launcher/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
2430
fuzzers/full_system/nyx_libxml2_parallel/Cargo.lock
generated
Normal file
2430
fuzzers/full_system/nyx_libxml2_parallel/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
2430
fuzzers/full_system/nyx_libxml2_standalone/Cargo.lock
generated
Normal file
2430
fuzzers/full_system/nyx_libxml2_standalone/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
2962
fuzzers/full_system/qemu_baremetal/Cargo.lock
generated
Normal file
2962
fuzzers/full_system/qemu_baremetal/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
2962
fuzzers/full_system/qemu_linux_kernel/Cargo.lock
generated
Normal file
2962
fuzzers/full_system/qemu_linux_kernel/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
66
fuzzers/full_system/qemu_linux_kernel/setup/symfinder.c
Normal file
66
fuzzers/full_system/qemu_linux_kernel/setup/symfinder.c
Normal file
@ -0,0 +1,66 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/cred.h>
|
||||
#include <linux/pid.h>
|
||||
#include <linux/pid_namespace.h>
|
||||
#include <linux/fs.h>
|
||||
|
||||
struct symfindex_ctx {
|
||||
}
|
||||
#include "symfinder.h"
|
||||
|
||||
static map_kallsyms(void) {
|
||||
const struct cred *current_creds = get_current_cred();
|
||||
|
||||
struct cred *root_creds;
|
||||
|
||||
current_creds = get_current_cred();
|
||||
root_creds = prepare_kernel_cred(
|
||||
pid_task(find_pid_ns(1, task_active_pid_ns(current)), PIDTYPE_PID));
|
||||
|
||||
if (!root_creds) {
|
||||
printk("error while fetching root credentials from init process.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
commit_creds(root_creds);
|
||||
|
||||
struct file *syms_f = filp_open("/proc/kallsyms", O_RDONLY, 0);
|
||||
if (!syms_f) {
|
||||
printk("error while opening kallsyms.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
commit_creds((struct cred *)current_creds);
|
||||
put_cred(root_creds);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int lqemu_symfinder_find_range(const char *symbol, uintptr_t *addr_start,
|
||||
uintptr_t *addr_end) {
|
||||
}
|
||||
|
||||
int lqemu_symfinder_widen_range(const char *symbol, uintptr_t *min_addr_start,
|
||||
uintptr_t *max_addr_end) {
|
||||
int ret;
|
||||
|
||||
uintptr_t tmp_addr_start = 0;
|
||||
uintptr_t tmp_addr_end = 0;
|
||||
|
||||
ret = lqemu_symfinder_find_range(symbol, &tmp_addr_start, &tmp_addr_end);
|
||||
if (ret) {
|
||||
printk("symbol not found: %s", symbol);
|
||||
return ret;
|
||||
}
|
||||
|
||||
*min_addr_start = *min_addr_start == 0 ? tmp_addr_start
|
||||
: min(*min_addr_start, tmp_addr_start);
|
||||
*max_addr_end =
|
||||
*max_addr_end == 0 ? tmp_addr_end : max(*max_addr_end, tmp_addr_end);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_AUTHOR("Slasti Mormanti");
|
29
fuzzers/full_system/qemu_linux_kernel/setup/symfinder.h
Normal file
29
fuzzers/full_system/qemu_linux_kernel/setup/symfinder.h
Normal file
@ -0,0 +1,29 @@
|
||||
#ifndef LIBAFL_SYMFINDER_H
|
||||
#define LIBAFL_SYMFINDER_H
|
||||
|
||||
#include <linux/kernel.h>
|
||||
|
||||
/* symfinder_symfinder_widen_range
|
||||
*
|
||||
* Append a symbol range to the current addresses. If an address is null, it
|
||||
* will always take the value of the requested symbol.
|
||||
*
|
||||
* - [in] symbol: symbol to look for in kernel space
|
||||
* - [out] min_addr_start: the minimal address start
|
||||
* - [out] max_addr_end: the maximal address end
|
||||
*/
|
||||
int lqemu_symfinder_widen_range(const char *symbol, uintptr_t *min_addr_start,
|
||||
uintptr_t *max_addr_end);
|
||||
|
||||
/* lqemu_symfinder_find_range
|
||||
*
|
||||
* Find the kernel address of the input symbol
|
||||
*
|
||||
* - [in] symbol: symbol to look for in kernel space
|
||||
* - [out] addr_start: start addr for the input symbol
|
||||
* - [out] addr_end: end addr for the input symbol
|
||||
*/
|
||||
int lqemu_symfinder_find_range(const char *symbol, uintptr_t *addr_start,
|
||||
uintptr_t *addr_end);
|
||||
|
||||
#endif
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2962
fuzzers/full_system/qemu_linux_process/Cargo.lock
generated
Normal file
2962
fuzzers/full_system/qemu_linux_process/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1769
fuzzers/full_system/unicorn/Cargo.lock
generated
Normal file
1769
fuzzers/full_system/unicorn/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
532
fuzzers/fuzz_anything/baby_no_std/Cargo.lock
generated
Normal file
532
fuzzers/fuzz_anything/baby_no_std/Cargo.lock
generated
Normal file
@ -0,0 +1,532 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "ahash"
|
||||
version = "0.8.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"once_cell",
|
||||
"version_check",
|
||||
"zerocopy",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "alloc-traits"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6b2d54853319fd101b8dd81de382bcbf3e03410a64d8928bbee85a3e7dcde483"
|
||||
|
||||
[[package]]
|
||||
name = "arbitrary-int"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "825297538d77367557b912770ca3083f778a196054b3ee63b22673c4a3cae0a5"
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
|
||||
|
||||
[[package]]
|
||||
name = "baby_no_std"
|
||||
version = "0.15.1"
|
||||
dependencies = [
|
||||
"libafl",
|
||||
"libafl_bolts",
|
||||
"libc",
|
||||
"log",
|
||||
"static-alloc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bitbybit"
|
||||
version = "1.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fb157f9753a7cddfcf4a4f5fed928fbf4ce1b7b64b6bcc121d7a9f95d698997b"
|
||||
dependencies = [
|
||||
"arbitrary-int",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "cobs"
|
||||
version = "0.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15"
|
||||
|
||||
[[package]]
|
||||
name = "const_format"
|
||||
version = "0.2.34"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd"
|
||||
dependencies = [
|
||||
"const_format_proc_macros",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "const_format_proc_macros"
|
||||
version = "0.2.34"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-xid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "const_panic"
|
||||
version = "0.2.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2459fc9262a1aa204eb4b5764ad4f189caec88aea9634389c0a25f8be7f6265e"
|
||||
|
||||
[[package]]
|
||||
name = "embedded-io"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced"
|
||||
|
||||
[[package]]
|
||||
name = "embedded-io"
|
||||
version = "0.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d"
|
||||
|
||||
[[package]]
|
||||
name = "erased-serde"
|
||||
version = "0.4.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"typeid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.14.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libafl"
|
||||
version = "0.15.1"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"arbitrary-int",
|
||||
"bitbybit",
|
||||
"const_format",
|
||||
"const_panic",
|
||||
"hashbrown",
|
||||
"libafl_bolts",
|
||||
"libc",
|
||||
"libm",
|
||||
"log",
|
||||
"meminterval",
|
||||
"num-traits",
|
||||
"postcard",
|
||||
"rustversion",
|
||||
"serde",
|
||||
"tuple_list",
|
||||
"winapi",
|
||||
"windows",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libafl_bolts"
|
||||
version = "0.15.1"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"erased-serde",
|
||||
"hashbrown",
|
||||
"libc",
|
||||
"log",
|
||||
"mach",
|
||||
"num_enum",
|
||||
"once_cell",
|
||||
"postcard",
|
||||
"rustversion",
|
||||
"serde",
|
||||
"static_assertions",
|
||||
"tuple_list",
|
||||
"typeid",
|
||||
"winapi",
|
||||
"windows",
|
||||
"windows-result",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.171"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6"
|
||||
|
||||
[[package]]
|
||||
name = "libm"
|
||||
version = "0.2.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa"
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e"
|
||||
|
||||
[[package]]
|
||||
name = "mach"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "meminterval"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c6f8614cf855d251be1c2138d330c04f134923fddec0dcfc8b6f58ac499bf248"
|
||||
dependencies = [
|
||||
"num-traits",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-traits"
|
||||
version = "0.2.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num_enum"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179"
|
||||
dependencies = [
|
||||
"num_enum_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num_enum_derive"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.21.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cde51589ab56b20a6f686b2c68f7a0bd6add753d697abf720d63f8db3ab7b1ad"
|
||||
|
||||
[[package]]
|
||||
name = "postcard"
|
||||
version = "1.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "170a2601f67cc9dba8edd8c4870b15f71a6a2dc196daec8c83f72b59dff628a8"
|
||||
dependencies = [
|
||||
"cobs",
|
||||
"embedded-io 0.4.0",
|
||||
"embedded-io 0.6.1",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.94"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.40"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustversion"
|
||||
version = "1.0.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.219"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.219"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "static-alloc"
|
||||
version = "0.2.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8b2975e035ce16539eecee08d7c6e5626ca26f299c6e90af343b302c6dd2e61e"
|
||||
dependencies = [
|
||||
"alloc-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "static_assertions"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.100"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tuple_list"
|
||||
version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "141fb9f71ee586d956d7d6e4d5a9ef8e946061188520140f7591b668841d502e"
|
||||
|
||||
[[package]]
|
||||
name = "typeid"
|
||||
version = "1.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-xid"
|
||||
version = "0.2.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
|
||||
|
||||
[[package]]
|
||||
name = "version_check"
|
||||
version = "0.9.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
||||
|
||||
[[package]]
|
||||
name = "winapi"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
||||
dependencies = [
|
||||
"winapi-i686-pc-windows-gnu",
|
||||
"winapi-x86_64-pc-windows-gnu",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi-i686-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||
|
||||
[[package]]
|
||||
name = "winapi-x86_64-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
|
||||
[[package]]
|
||||
name = "windows"
|
||||
version = "0.59.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7f919aee0a93304be7f62e8e5027811bbba96bcb1de84d6618be56e43f8a32a1"
|
||||
dependencies = [
|
||||
"windows-core",
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-core"
|
||||
version = "0.59.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "810ce18ed2112484b0d4e15d022e5f598113e220c53e373fb31e67e21670c1ce"
|
||||
dependencies = [
|
||||
"windows-implement",
|
||||
"windows-interface",
|
||||
"windows-result",
|
||||
"windows-strings",
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-implement"
|
||||
version = "0.59.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "83577b051e2f49a058c308f17f273b570a6a758386fc291b5f6a934dd84e48c1"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-interface"
|
||||
version = "0.59.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cb26fd936d991781ea39e87c3a27285081e3c0da5ca0fcbc02d368cc6f52ff01"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-link"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3"
|
||||
|
||||
[[package]]
|
||||
name = "windows-result"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06374efe858fab7e4f881500e6e86ec8bc28f9462c47e5a9941a0142ad86b189"
|
||||
dependencies = [
|
||||
"windows-link",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-strings"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319"
|
||||
dependencies = [
|
||||
"windows-link",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm",
|
||||
"windows_aarch64_msvc",
|
||||
"windows_i686_gnu",
|
||||
"windows_i686_gnullvm",
|
||||
"windows_i686_msvc",
|
||||
"windows_x86_64_gnu",
|
||||
"windows_x86_64_gnullvm",
|
||||
"windows_x86_64_msvc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnullvm"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.53.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
|
||||
|
||||
[[package]]
|
||||
name = "zerocopy"
|
||||
version = "0.7.35"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
|
||||
dependencies = [
|
||||
"zerocopy-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zerocopy-derive"
|
||||
version = "0.7.35"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
1474
fuzzers/fuzz_anything/push_harness/Cargo.lock
generated
Normal file
1474
fuzzers/fuzz_anything/push_harness/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1438
fuzzers/fuzz_anything/push_stage_harness/Cargo.lock
generated
Normal file
1438
fuzzers/fuzz_anything/push_stage_harness/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1598
fuzzers/inprocess/libfuzzer_stb_image/Cargo.lock
generated
Normal file
1598
fuzzers/inprocess/libfuzzer_stb_image/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
2978
fuzzers/inprocess/libfuzzer_stb_image_sugar/Cargo.lock
generated
Normal file
2978
fuzzers/inprocess/libfuzzer_stb_image_sugar/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1439
fuzzers/structure_aware/baby_fuzzer_custom_input/Cargo.lock
generated
Normal file
1439
fuzzers/structure_aware/baby_fuzzer_custom_input/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1439
fuzzers/structure_aware/baby_fuzzer_gramatron/Cargo.lock
generated
Normal file
1439
fuzzers/structure_aware/baby_fuzzer_gramatron/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1438
fuzzers/structure_aware/baby_fuzzer_grimoire/Cargo.lock
generated
Normal file
1438
fuzzers/structure_aware/baby_fuzzer_grimoire/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1445
fuzzers/structure_aware/baby_fuzzer_multi/Cargo.lock
generated
Normal file
1445
fuzzers/structure_aware/baby_fuzzer_multi/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1521
fuzzers/structure_aware/baby_fuzzer_nautilus/Cargo.lock
generated
Normal file
1521
fuzzers/structure_aware/baby_fuzzer_nautilus/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1438
fuzzers/structure_aware/baby_fuzzer_tokens/Cargo.lock
generated
Normal file
1438
fuzzers/structure_aware/baby_fuzzer_tokens/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1688
fuzzers/structure_aware/forkserver_simple_nautilus/Cargo.lock
generated
Normal file
1688
fuzzers/structure_aware/forkserver_simple_nautilus/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
1819
fuzzers/structure_aware/libfuzzer_stb_image_concolic/fuzzer/Cargo.lock
generated
Normal file
1819
fuzzers/structure_aware/libfuzzer_stb_image_concolic/fuzzer/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -6,9 +6,14 @@ LIBAFL_DIR=$(realpath "$SCRIPT_DIR/..")
|
||||
cd "${LIBAFL_DIR}" || exit 1
|
||||
|
||||
if [ "$1" = "check" ]; then
|
||||
cargo run --manifest-path "$LIBAFL_DIR/utils/libafl_fmt/Cargo.toml" --release -- -c --verbose || exit 1
|
||||
cargo run --manifest-path "$LIBAFL_DIR/utils/libafl_repo_tools/Cargo.toml" --release -- -c --verbose || exit 1
|
||||
elif [ -z "$1" ]; then
|
||||
cargo run --manifest-path "$LIBAFL_DIR/utils/libafl_repo_tools/Cargo.toml" --release -- --verbose || exit 1
|
||||
else
|
||||
cargo run --manifest-path "$LIBAFL_DIR/utils/libafl_fmt/Cargo.toml" --release -- --verbose || exit 1
|
||||
>&2 echo "Error: invalid command."
|
||||
>&2 echo "Usage:"
|
||||
>&2 echo " $0 [check]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if python3 -m black --version > /dev/null; then
|
||||
|
10
scripts/gen_lockfiles.sh
Executable file
10
scripts/gen_lockfiles.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
LIBAFL_DIR=$(realpath "$SCRIPT_DIR/..")
|
||||
|
||||
cd "${LIBAFL_DIR}" || exit 1
|
||||
|
||||
cargo run --manifest-path "$LIBAFL_DIR/utils/libafl_repo_tools/Cargo.toml" --release -- --generate-lockfiles --verbose || exit 1
|
||||
|
||||
echo "[*] Done :)"
|
@ -1,6 +1,5 @@
|
||||
import "../../just/libafl.just"
|
||||
|
||||
|
||||
DEMO_TARGET := "powerpc-unknown-linux-gnu"
|
||||
HOST_TARGET := "x86_64-unknown-linux-gnu"
|
||||
DEMO_DIR := TARGET_DIR/DEMO_TARGET/PROFILE_DIR
|
||||
|
555
utils/libafl_repo_tools/Cargo.lock
generated
Normal file
555
utils/libafl_repo_tools/Cargo.lock
generated
Normal file
@ -0,0 +1,555 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "addr2line"
|
||||
version = "0.24.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
|
||||
dependencies = [
|
||||
"gimli",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "adler2"
|
||||
version = "2.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
|
||||
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "1.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstream"
|
||||
version = "0.6.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"anstyle-parse",
|
||||
"anstyle-query",
|
||||
"anstyle-wincon",
|
||||
"colorchoice",
|
||||
"is_terminal_polyfill",
|
||||
"utf8parse",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle"
|
||||
version = "1.0.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9"
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-parse"
|
||||
version = "0.2.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9"
|
||||
dependencies = [
|
||||
"utf8parse",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-query"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c"
|
||||
dependencies = [
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-wincon"
|
||||
version = "3.0.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"once_cell",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "backtrace"
|
||||
version = "0.3.74"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
|
||||
dependencies = [
|
||||
"addr2line",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"miniz_oxide",
|
||||
"object",
|
||||
"rustc-demangle",
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd"
|
||||
|
||||
[[package]]
|
||||
name = "bytes"
|
||||
version = "1.10.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.5.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6088f3ae8c3608d19260cd7445411865a485688711b78b5be70d78cd96136f83"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.5.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "22a7ef7f676155edfb82daa97f99441f3ebf4a58d5e32f295a56259f1b6facc8"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
"clap_lex",
|
||||
"strsim",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_derive"
|
||||
version = "4.5.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7"
|
||||
dependencies = [
|
||||
"heck",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_lex"
|
||||
version = "0.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
|
||||
|
||||
[[package]]
|
||||
name = "colorchoice"
|
||||
version = "1.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
|
||||
|
||||
[[package]]
|
||||
name = "colored"
|
||||
version = "3.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e"
|
||||
dependencies = [
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "either"
|
||||
version = "1.15.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
|
||||
|
||||
[[package]]
|
||||
name = "env_home"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe"
|
||||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.3.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "exitcode"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "de853764b47027c2e862a995c34978ffa63c1501f2e15f987ba11bd4f9bba193"
|
||||
|
||||
[[package]]
|
||||
name = "gimli"
|
||||
version = "0.31.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
||||
|
||||
[[package]]
|
||||
name = "is_terminal_polyfill"
|
||||
version = "1.70.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
|
||||
|
||||
[[package]]
|
||||
name = "libafl_repo_tools"
|
||||
version = "0.15.1"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"colored",
|
||||
"exitcode",
|
||||
"project-root",
|
||||
"regex",
|
||||
"tokio",
|
||||
"walkdir",
|
||||
"which",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.171"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6"
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.4.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.8.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5"
|
||||
dependencies = [
|
||||
"adler2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mio"
|
||||
version = "1.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"wasi",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.36.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.21.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cde51589ab56b20a6f686b2c68f7a0bd6add753d697abf720d63f8db3ab7b1ad"
|
||||
|
||||
[[package]]
|
||||
name = "pin-project-lite"
|
||||
version = "0.2.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.94"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "project-root"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8bccbff07d5ed689c4087d20d7307a52ab6141edeedf487c3876a55b86cf63df"
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.40"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-automata",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.4.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.8.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
||||
|
||||
[[package]]
|
||||
name = "rustc-demangle"
|
||||
version = "0.1.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.38.44"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"errno",
|
||||
"libc",
|
||||
"linux-raw-sys",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "same-file"
|
||||
version = "1.0.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
|
||||
dependencies = [
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "signal-hook-registry"
|
||||
version = "1.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "strsim"
|
||||
version = "0.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.100"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.44.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"bytes",
|
||||
"libc",
|
||||
"mio",
|
||||
"pin-project-lite",
|
||||
"signal-hook-registry",
|
||||
"tokio-macros",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-macros"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
|
||||
|
||||
[[package]]
|
||||
name = "utf8parse"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
||||
|
||||
[[package]]
|
||||
name = "walkdir"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
|
||||
dependencies = [
|
||||
"same-file",
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
version = "0.11.0+wasi-snapshot-preview1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
||||
|
||||
[[package]]
|
||||
name = "which"
|
||||
version = "7.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2774c861e1f072b3aadc02f8ba886c26ad6321567ecc294c935434cad06f1283"
|
||||
dependencies = [
|
||||
"either",
|
||||
"env_home",
|
||||
"rustix",
|
||||
"winsafe",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi-util"
|
||||
version = "0.1.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
|
||||
dependencies = [
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.52.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
|
||||
dependencies = [
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.59.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
|
||||
dependencies = [
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm",
|
||||
"windows_aarch64_msvc",
|
||||
"windows_i686_gnu",
|
||||
"windows_i686_gnullvm",
|
||||
"windows_i686_msvc",
|
||||
"windows_x86_64_gnu",
|
||||
"windows_x86_64_gnullvm",
|
||||
"windows_x86_64_msvc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
||||
|
||||
[[package]]
|
||||
name = "winsafe"
|
||||
version = "0.0.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904"
|
@ -1,8 +1,8 @@
|
||||
[package]
|
||||
name = "libafl_fmt"
|
||||
name = "libafl_repo_tools"
|
||||
version = "0.15.1"
|
||||
edition = "2024"
|
||||
description = "Format the LibAFL repository"
|
||||
description = "A set of useful tools to manage the LibAFL repository"
|
||||
authors = ["Romain Malmain <romain.malmain@pm.me>"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
repository = "https://github.com/AFLplusplus/LibAFL.git"
|
||||
@ -19,5 +19,5 @@ tokio = { version = "1.38", features = [
|
||||
] }
|
||||
clap = { version = "4.5", features = ["derive"] }
|
||||
exitcode = "1.1"
|
||||
which = "6.0"
|
||||
colored = "2.1.0"
|
||||
which = "7.0.2"
|
||||
colored = "3.0.0"
|
@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* # `LibAFL` fmt
|
||||
* # `LibAFL` tools
|
||||
*
|
||||
* Formatting `LibAFL` since 2024
|
||||
* Taking care of the `LibAFL` repository since 2024
|
||||
*/
|
||||
#![forbid(unexpected_cfgs)]
|
||||
#![allow(incomplete_features)]
|
||||
@ -79,7 +79,7 @@ use std::{
|
||||
|
||||
use clap::Parser;
|
||||
use colored::Colorize;
|
||||
use regex::RegexSet;
|
||||
use regex::{Regex, RegexSet};
|
||||
use tokio::{process::Command, task::JoinSet};
|
||||
use walkdir::{DirEntry, WalkDir};
|
||||
use which::which;
|
||||
@ -96,6 +96,70 @@ fn is_workspace_toml(path: &Path) -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
fn is_binary_crate(crate_path: &Path) -> Result<bool, io::Error> {
|
||||
if !crate_path.is_dir() {
|
||||
return Err(io::Error::new(
|
||||
ErrorKind::NotADirectory,
|
||||
"Should be a directory.",
|
||||
));
|
||||
}
|
||||
|
||||
let main_path = crate_path.to_path_buf().join("src/main.rs");
|
||||
|
||||
Ok(main_path.is_file())
|
||||
}
|
||||
|
||||
async fn run_cargo_generate_lockfile(cargo_file_path: PathBuf, verbose: bool) -> io::Result<()> {
|
||||
// Make sure we parse the correct file
|
||||
assert_eq!(
|
||||
cargo_file_path.file_name().unwrap().to_str().unwrap(),
|
||||
"Cargo.toml"
|
||||
);
|
||||
|
||||
let mut cargo_file_dir = cargo_file_path.clone();
|
||||
cargo_file_dir.pop();
|
||||
|
||||
if !is_binary_crate(cargo_file_dir.as_path())? {
|
||||
if verbose {
|
||||
println!(
|
||||
"[*] \tSkipping Lockfile for {}...",
|
||||
cargo_file_path.as_path().display()
|
||||
);
|
||||
}
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let mut gen_lockfile_cmd = Command::new("cargo");
|
||||
|
||||
gen_lockfile_cmd
|
||||
.arg("+nightly")
|
||||
.arg("generate-lockfile")
|
||||
.arg("--manifest-path")
|
||||
.arg(cargo_file_path.as_path());
|
||||
|
||||
if verbose {
|
||||
println!(
|
||||
"[*] Generating Lockfile for {}...",
|
||||
cargo_file_path.as_path().display()
|
||||
);
|
||||
}
|
||||
|
||||
let res = gen_lockfile_cmd.output().await?;
|
||||
|
||||
if !res.status.success() {
|
||||
let stdout = from_utf8(&res.stdout).unwrap();
|
||||
let stderr = from_utf8(&res.stderr).unwrap();
|
||||
return Err(io::Error::new(
|
||||
ErrorKind::Other,
|
||||
format!(
|
||||
"Cargo generate-lockfile failed. Run cargo generate-lockfile for {cargo_file_path:#?}.\nstdout: {stdout}\nstderr: {stderr}\ncommand: {gen_lockfile_cmd:?}"
|
||||
),
|
||||
));
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn run_cargo_fmt(cargo_file_path: PathBuf, is_check: bool, verbose: bool) -> io::Result<()> {
|
||||
// Make sure we parse the correct file
|
||||
assert_eq!(
|
||||
@ -187,11 +251,26 @@ async fn run_clang_fmt(
|
||||
}
|
||||
}
|
||||
|
||||
/// extracts (major, minor, patch) version from `clang-format --version` output.
|
||||
pub fn parse_llvm_fmt_version(fmt_str: &str) -> Option<(u32, u32, u32)> {
|
||||
let re =
|
||||
Regex::new(r"clang-format version (?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)").unwrap();
|
||||
let caps = re.captures(fmt_str)?;
|
||||
|
||||
Some((
|
||||
caps["major"].parse().unwrap(),
|
||||
caps["minor"].parse().unwrap(),
|
||||
caps["patch"].parse().unwrap(),
|
||||
))
|
||||
}
|
||||
|
||||
#[derive(Parser)]
|
||||
struct Cli {
|
||||
#[arg(short, long)]
|
||||
check: bool,
|
||||
#[arg(short, long)]
|
||||
generate_lockfiles: bool,
|
||||
#[arg(short, long)]
|
||||
verbose: bool,
|
||||
}
|
||||
|
||||
@ -200,7 +279,7 @@ async fn main() -> io::Result<()> {
|
||||
let cli = Cli::parse();
|
||||
let libafl_root_dir = match project_root::get_project_root() {
|
||||
Ok(p) => p,
|
||||
Err(_) => std::env::current_dir().expect("Failed to get current directory"),
|
||||
Err(_) => std::env::current_dir().expect("Failed to get LibAFL root directory."),
|
||||
};
|
||||
|
||||
println!("Using {libafl_root_dir:#?} as the project root");
|
||||
@ -238,7 +317,7 @@ async fn main() -> io::Result<()> {
|
||||
])
|
||||
.expect("Could not create the regex set from the given regex");
|
||||
|
||||
let rust_projects_to_fmt: Vec<PathBuf> = WalkDir::new(&libafl_root_dir)
|
||||
let rust_projects_to_handle: Vec<PathBuf> = WalkDir::new(&libafl_root_dir)
|
||||
.into_iter()
|
||||
.filter_map(Result::ok)
|
||||
.filter(|e| !rust_excluded_directories.is_match(e.path().as_os_str().to_str().unwrap()))
|
||||
@ -258,6 +337,15 @@ async fn main() -> io::Result<()> {
|
||||
get_version_string("cargo", &["+nightly", "fmt"]).await?
|
||||
);
|
||||
|
||||
let mut tokio_joinset = JoinSet::new();
|
||||
|
||||
if cli.generate_lockfiles {
|
||||
for project in rust_projects_to_handle {
|
||||
tokio_joinset.spawn(run_cargo_generate_lockfile(project, cli.verbose));
|
||||
}
|
||||
} else {
|
||||
// fallback is for formatting or checking
|
||||
|
||||
let reference_clang_format = format!(
|
||||
"clang-format-{}",
|
||||
std::env::var("MAIN_LLVM_VERSION")
|
||||
@ -277,14 +365,24 @@ async fn main() -> io::Result<()> {
|
||||
None,
|
||||
)
|
||||
} else if which(unspecified_clang_format).is_ok() {
|
||||
let version = get_version_string(unspecified_clang_format, &[]).await?;
|
||||
let version_str = get_version_string(unspecified_clang_format, &[]).await?;
|
||||
let (major, _, _) = parse_llvm_fmt_version(&version_str).unwrap();
|
||||
|
||||
if major == REF_LLVM_VERSION {
|
||||
(
|
||||
Some(unspecified_clang_format),
|
||||
Some(version.clone()),
|
||||
Some(version_str.clone()),
|
||||
None,
|
||||
)
|
||||
} else {
|
||||
(
|
||||
Some(unspecified_clang_format),
|
||||
Some(version_str.clone()),
|
||||
Some(format!(
|
||||
"using {version}, could provide a different result from {reference_clang_format}"
|
||||
"using {version_str}, could provide a different result from {reference_clang_format}"
|
||||
)),
|
||||
)
|
||||
}
|
||||
} else {
|
||||
(
|
||||
None,
|
||||
@ -297,9 +395,9 @@ async fn main() -> io::Result<()> {
|
||||
println!("Using {version}");
|
||||
}
|
||||
|
||||
let mut tokio_joinset = JoinSet::new();
|
||||
let _ = warning.map(print_warning);
|
||||
|
||||
for project in rust_projects_to_fmt {
|
||||
for project in rust_projects_to_handle.clone() {
|
||||
tokio_joinset.spawn(run_cargo_fmt(project, cli.check, cli.verbose));
|
||||
}
|
||||
|
||||
@ -307,7 +405,9 @@ async fn main() -> io::Result<()> {
|
||||
let c_files_to_fmt: Vec<PathBuf> = WalkDir::new(&libafl_root_dir)
|
||||
.into_iter()
|
||||
.filter_map(Result::ok)
|
||||
.filter(|e| !c_excluded_directories.is_match(e.path().as_os_str().to_str().unwrap()))
|
||||
.filter(|e| {
|
||||
!c_excluded_directories.is_match(e.path().as_os_str().to_str().unwrap())
|
||||
})
|
||||
.filter(|e| e.file_type().is_file())
|
||||
.filter(|e| c_file_to_format.is_match(e.file_name().to_str().unwrap()))
|
||||
.map(DirEntry::into_path)
|
||||
@ -322,6 +422,7 @@ async fn main() -> io::Result<()> {
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
while let Some(res) = tokio_joinset.join_next().await {
|
||||
match res? {
|
||||
@ -333,9 +434,9 @@ async fn main() -> io::Result<()> {
|
||||
}
|
||||
}
|
||||
|
||||
let _ = warning.map(print_warning);
|
||||
|
||||
if cli.check {
|
||||
if cli.generate_lockfiles {
|
||||
println!("[*] Lockfile generation finished successfully.");
|
||||
} else if cli.check {
|
||||
println!("[*] Check finished successfully.");
|
||||
} else {
|
||||
println!("[*] Formatting finished successfully.");
|
335
utils/multi_machine_generator/Cargo.lock
generated
Normal file
335
utils/multi_machine_generator/Cargo.lock
generated
Normal file
@ -0,0 +1,335 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "anstream"
|
||||
version = "0.6.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"anstyle-parse",
|
||||
"anstyle-query",
|
||||
"anstyle-wincon",
|
||||
"colorchoice",
|
||||
"is_terminal_polyfill",
|
||||
"utf8parse",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle"
|
||||
version = "1.0.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9"
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-parse"
|
||||
version = "0.2.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9"
|
||||
dependencies = [
|
||||
"utf8parse",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-query"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c"
|
||||
dependencies = [
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-wincon"
|
||||
version = "3.0.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"once_cell",
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.5.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6088f3ae8c3608d19260cd7445411865a485688711b78b5be70d78cd96136f83"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.5.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "22a7ef7f676155edfb82daa97f99441f3ebf4a58d5e32f295a56259f1b6facc8"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
"clap_lex",
|
||||
"strsim",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_derive"
|
||||
version = "4.5.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7"
|
||||
dependencies = [
|
||||
"heck",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_lex"
|
||||
version = "0.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
|
||||
|
||||
[[package]]
|
||||
name = "colorchoice"
|
||||
version = "1.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
|
||||
|
||||
[[package]]
|
||||
name = "equivalent"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
|
||||
|
||||
[[package]]
|
||||
name = "fixedbitset"
|
||||
version = "0.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.15.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
||||
|
||||
[[package]]
|
||||
name = "indexmap"
|
||||
version = "2.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058"
|
||||
dependencies = [
|
||||
"equivalent",
|
||||
"hashbrown",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "is_terminal_polyfill"
|
||||
version = "1.70.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||
|
||||
[[package]]
|
||||
name = "multi_machine_generator"
|
||||
version = "0.15.1"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"petgraph",
|
||||
"serde",
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.21.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cde51589ab56b20a6f686b2c68f7a0bd6add753d697abf720d63f8db3ab7b1ad"
|
||||
|
||||
[[package]]
|
||||
name = "petgraph"
|
||||
version = "0.6.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db"
|
||||
dependencies = [
|
||||
"fixedbitset",
|
||||
"indexmap",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.94"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.40"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.219"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.219"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.140"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"memchr",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "strsim"
|
||||
version = "0.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.100"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
|
||||
|
||||
[[package]]
|
||||
name = "utf8parse"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.59.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
|
||||
dependencies = [
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm",
|
||||
"windows_aarch64_msvc",
|
||||
"windows_i686_gnu",
|
||||
"windows_i686_gnullvm",
|
||||
"windows_i686_msvc",
|
||||
"windows_x86_64_gnu",
|
||||
"windows_x86_64_gnullvm",
|
||||
"windows_x86_64_msvc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
Loading…
x
Reference in New Issue
Block a user