diff --git a/Cargo.lock b/Cargo.lock index cdd2d8fe2..7b7df8298 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -26,7 +26,7 @@ dependencies = [ "cfg-if", "once_cell", "version_check", - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -738,7 +738,19 @@ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", ] [[package]] @@ -830,7 +842,7 @@ dependencies = [ "idna 0.4.0", "ipnet", "once_cell", - "rand", + "rand 0.8.5", "rustls", "rustls-pemfile", "thiserror 1.0.61", @@ -854,7 +866,7 @@ dependencies = [ "lru-cache", "once_cell", "parking_lot", - "rand", + "rand 0.8.5", "resolv-conf", "rustls", "smallvec", @@ -1082,7 +1094,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.48.0", ] @@ -1310,8 +1322,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.0", + "zerocopy 0.8.14", ] [[package]] @@ -1321,7 +1344,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.0", ] [[package]] @@ -1330,7 +1363,17 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff" +dependencies = [ + "getrandom 0.3.1", + "zerocopy 0.8.14", ] [[package]] @@ -1368,7 +1411,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" dependencies = [ - "getrandom", + "getrandom 0.2.15", "libredox", "thiserror 2.0.11", ] @@ -1420,7 +1463,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin", "untrusted", @@ -1508,7 +1551,7 @@ dependencies = [ "log", "once_cell", "parameterized", - "rand", + "rand 0.9.0", "rlimit", "serde", "serde_derive", @@ -1894,6 +1937,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" version = "0.2.92" @@ -2174,13 +2226,31 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags", +] + [[package]] name = "zerocopy" version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ - "zerocopy-derive", + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a367f292d93d4eab890745e75a778da40909cab4d6ff8173693812f79c4a2468" +dependencies = [ + "zerocopy-derive 0.8.14", ] [[package]] @@ -2193,3 +2263,14 @@ dependencies = [ "quote", "syn", ] + +[[package]] +name = "zerocopy-derive" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3931cb58c62c13adec22e38686b559c86a30565e16ad6e8510a337cedc611e1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/Cargo.toml b/Cargo.toml index df1698be5..17735e801 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,7 +27,7 @@ env_logger = "0.11.6" anstream = "=0.6.18" dirs = "6.0.0" gcd = "2.0.1" -rand = "0.8.5" +rand = "0.9.0" colorful = "0.3.2" ansi_term = "0.12.1" toml = "0.8.19" diff --git a/src/port_strategy/mod.rs b/src/port_strategy/mod.rs index 6f5eadad8..cf989d8cb 100644 --- a/src/port_strategy/mod.rs +++ b/src/port_strategy/mod.rs @@ -1,8 +1,8 @@ //! Provides a means to hold configuration options specifically for port scanning. mod range_iterator; use crate::input::{PortRange, ScanOrder}; +use rand::rng; use rand::seq::SliceRandom; -use rand::thread_rng; use range_iterator::RangeIterator; /// Represents options of port scanning. @@ -35,7 +35,7 @@ impl PortStrategy { } ScanOrder::Serial => PortStrategy::Manual(ports.unwrap()), ScanOrder::Random => { - let mut rng = thread_rng(); + let mut rng = rng(); let mut ports = ports.unwrap(); ports.shuffle(&mut rng); PortStrategy::Manual(ports) diff --git a/src/port_strategy/range_iterator.rs b/src/port_strategy/range_iterator.rs index 84ce97d59..f26c2ab4a 100644 --- a/src/port_strategy/range_iterator.rs +++ b/src/port_strategy/range_iterator.rs @@ -27,8 +27,8 @@ impl RangeIterator { // Randomly choose a number within the range to be the first // and assign it as a pick. - let mut rng = rand::thread_rng(); - let normalized_first_pick = rng.gen_range(0..normalized_end); + let mut rng = rand::rng(); + let normalized_first_pick = rng.random_range(0..normalized_end); Self { active: true, @@ -83,14 +83,14 @@ fn pick_random_coprime(end: u32) -> u32 { let range_boundary = end / 4; let lower_range = range_boundary; let upper_range = end - range_boundary; - let mut rng = rand::thread_rng(); - let mut candidate = rng.gen_range(lower_range..upper_range); + let mut rng = rand::rng(); + let mut candidate = rng.random_range(lower_range..upper_range); for _ in 0..10 { if end.gcd(candidate) == 1 { return candidate; } - candidate = rng.gen_range(lower_range..upper_range); + candidate = rng.random_range(lower_range..upper_range); } end - 1 diff --git a/src/tui.rs b/src/tui.rs index 6f215f590..8162070da 100644 --- a/src/tui.rs +++ b/src/tui.rs @@ -68,7 +68,7 @@ macro_rules! output { macro_rules! funny_opening { // prints a funny quote / opening () => { - use rand::seq::SliceRandom; + use rand::seq::IndexedRandom; let quotes = vec![ "Nmap? More like slowmap.🐢", "🌍HACK THE PLANET🌍", @@ -98,7 +98,7 @@ macro_rules! funny_opening { "TreadStone was here 🚀", "With RustScan, I scan ports so fast, even my firewall gets whiplash 💨", ]; - let random_quote = quotes.choose(&mut rand::thread_rng()).unwrap(); + let random_quote = quotes.choose(&mut rand::rng()).unwrap(); println!("{}\n", random_quote); };