Skip to content

Commit 18ec78b

Browse files
feat: make tmux template work with fish shell (#77)
1 parent a6ef996 commit 18ec78b

11 files changed

Lines changed: 346 additions & 160 deletions

File tree

Cargo.lock

Lines changed: 188 additions & 78 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "afl_runner"
33
authors = ["0x434b <mail@0x434b.dev"]
44
repository = "https://github.com/0xricksanchez/AFL_Runner"
55
description = "Scaling best-practice AFLPlusPlus fuzzing campaigns made easy"
6-
version = "0.6.0"
6+
version = "0.6.1"
77
edition = "2024"
88
keywords = ["afl", "fuzzing", "fuzz-testing", "testing", "fuzzer"]
99
license = "Apache-2.0"
@@ -22,22 +22,22 @@ path = "src/bin/generate_completions.rs"
2222
required-features = ["completion"]
2323

2424
[dependencies]
25-
anyhow = "1.0.97"
26-
clap = { version = "4.5.32", features = ["wrap_help", "string", "derive"] }
27-
rand = "0.9.0"
28-
sysinfo = "0.33.1"
25+
anyhow = "1.0.98"
26+
clap = { version = "4.5.38", features = ["wrap_help", "string", "derive"] }
27+
rand = "0.9.1"
28+
sysinfo = "0.35.1"
2929
upon = "0.9.0"
30-
toml = "0.8.20"
30+
toml = "0.8.22"
3131
serde = { version = "1.0.219", features = ["derive"] }
3232
ratatui = { version = "0.29.0", features = ["crossterm", "all-widgets"] }
33-
crossterm = "0.28.1"
34-
chrono = "0.4.40"
33+
crossterm = "0.29.0"
34+
chrono = "0.4.41"
3535
uuid = { version = "1.16.0", features = ["v4"] }
36-
tempfile = "3.19.0"
37-
once_cell = "1.21.1"
36+
tempfile = "3.20.0"
37+
once_cell = "1.21.3"
3838
rayon = "1.10.0"
3939
glob = "0.3.2"
40-
clap_complete = { version = "4.5.46", optional = true }
40+
clap_complete = { version = "4.5.50", optional = true }
4141

4242
[dev-dependencies]
4343
cargo-make = "0.37.24"

src/afl/cmd_gen.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ impl AFLCmdGenerator {
5555
.collect::<Vec<String>>();
5656
if !gl_afl_env.is_empty() {
5757
println!(
58-
"[!] Warning: Exported AFL++ environment variables found... Check generated commands!"
58+
"[!] Warning: Exported AFL++ environment variables found {gl_afl_env:?}... Check generated commands!",
5959
);
6060
}
6161
gl_afl_env

src/afl/coverage.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use anyhow::{bail, Context, Result};
1+
use anyhow::{Context, Result, bail};
22
use glob::glob;
33
use rayon::prelude::*;
44
use std::{
@@ -520,8 +520,7 @@ impl CoverageCollector {
520520
.par_chunks(1000)
521521
.enumerate()
522522
.map(|(i, chunk)| {
523-
let temp_output = temp_dir.path().join(format!("temp_merged_{i}.profdata"));
524-
523+
let temp_output = temp_dir.path().join(format!("temp_merged_{i}.profdata"));
525524
let output = Command::new("llvm-profdata")
526525
.arg("merge")
527526
.arg("-sparse")

src/afl/env.rs

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -351,9 +351,10 @@ mod tests {
351351
assert_eq!(disable_trim_count, 2); // 60% of 4 rounded down = 2
352352

353353
// Test ImportFirst (should be applied to all since runners < 8)
354-
assert!(envs
355-
.iter()
356-
.all(|env| env.flags.contains(&AFLFlag::ImportFirst)));
354+
assert!(
355+
envs.iter()
356+
.all(|env| env.flags.contains(&AFLFlag::ImportFirst))
357+
);
357358
}
358359

359360
#[test]
@@ -364,10 +365,11 @@ mod tests {
364365

365366
assert!(envs.iter().take(0).all(|env| env.flags.len() == 1));
366367
// Check that the main fuzzer has at least the FINAL_SYNC flag set
367-
assert!(envs
368-
.iter()
369-
.take(0)
370-
.all(|env| env.flags.contains(&AFLFlag::FinalSync)));
368+
assert!(
369+
envs.iter()
370+
.take(0)
371+
.all(|env| env.flags.contains(&AFLFlag::FinalSync))
372+
);
371373
}
372374

373375
#[test]
@@ -376,9 +378,11 @@ mod tests {
376378
let envs = AFLEnv::new(Mode::MultipleCores, 20_u32, None, &mut rng);
377379

378380
// Test that ImportFirst is not applied when runners >= 16
379-
assert!(!envs
380-
.iter()
381-
.any(|env| env.flags.contains(&AFLFlag::ImportFirst)));
381+
assert!(
382+
!envs
383+
.iter()
384+
.any(|env| env.flags.contains(&AFLFlag::ImportFirst))
385+
);
382386
}
383387

384388
#[test]

src/argument_aggregator.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::cli::{AddSeedArgs, ArgMerge, Args, CovArgs, GenArgs, RunArgs};
2-
use anyhow::{bail, Context, Result};
2+
use anyhow::{Context, Result, bail};
33
use std::{env, fs, path::PathBuf};
44

55
static DEFAULT_AFL_CONFIG: &str = "aflr_cfg.toml";

src/commands/render_tui.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
use anyhow::{bail, Context, Result};
1+
use anyhow::{Context, Result, bail};
22
use std::path::Path;
33

44
use crate::{
55
cli::TuiArgs,
66
commands::Command,
7-
tui::{session::CampaignData, Tui},
7+
tui::{Tui, session::CampaignData},
88
};
99

1010
pub struct RenderCommand<'a> {

src/runners/runner.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use anyhow::{anyhow, Context, Result};
1+
use anyhow::{Context, Result, anyhow};
22
use std::fs;
33
use std::io::Write;
44
use std::os::unix::fs::PermissionsExt;
@@ -8,7 +8,7 @@ use std::thread;
88
use std::time::Duration;
99
use tempfile::NamedTempFile;
1010

11-
use crate::tui::{session::CampaignData, Tui};
11+
use crate::tui::{Tui, session::CampaignData};
1212
use crate::utils::system::{get_user_input, mkdir_helper};
1313

1414
/// Template files for different session managers

src/runners/screen.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use std::process::Command;
22

3-
use crate::runners::runner::{templates, Session, SessionManager};
3+
use crate::runners::runner::{Session, SessionManager, templates};
44

55
/// Screen session manager implementation
66
pub struct Screen;

src/runners/tmux.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use anyhow::{Context, Result};
22
use std::process::Command;
33

4-
use crate::runners::runner::{templates, Session, SessionManager};
4+
use crate::runners::runner::{Session, SessionManager, templates};
55

66
/// Tmux session manager implementation
77
pub struct Tmux;

0 commit comments

Comments
 (0)