diff --git a/Cargo.lock b/Cargo.lock index 70983895e..01be7a69c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,7 +27,7 @@ dependencies = [ "getrandom 0.2.15", "once_cell", "version_check", - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -172,7 +172,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -194,7 +194,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -205,7 +205,7 @@ checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -276,7 +276,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -342,9 +342,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "bytemuck" @@ -455,9 +455,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.10" +version = "1.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229" +checksum = "755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2" dependencies = [ "shlex", ] @@ -554,9 +554,9 @@ checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "cmake" -version = "0.1.52" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c682c223677e0e5b6b7f63a64b9351844c3f1b1678a68b7ee617e30fb082620e" +checksum = "e24a03c8b52922d68a1589ad61032f2c1aa5a8158d2aa0d93c6e9534944bbad6" dependencies = [ "cc", ] @@ -684,7 +684,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -695,7 +695,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -740,7 +740,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -894,7 +894,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1020,7 +1020,7 @@ dependencies = [ "itoa", "log", "quinn", - "rand", + "rand 0.9.0", "serde_json", "slog", "tokio", @@ -1297,7 +1297,7 @@ dependencies = [ "humanize-rs", "idna", "ip_network", - "rand", + "rand 0.9.0", "regex", "rustls-pki-types", "serde_json", @@ -1554,7 +1554,7 @@ dependencies = [ "percent-encoding", "quinn", "radix_trie", - "rand", + "rand 0.9.0", "regex", "rustc-hash", "rustls", @@ -1610,7 +1610,7 @@ dependencies = [ "humanize-rs", "idna", "ip_network", - "rand", + "rand 0.9.0", "regex", "rustls-pki-types", "url", @@ -1867,7 +1867,7 @@ dependencies = [ "pyo3", "quinn", "radix_trie", - "rand", + "rand 0.9.0", "redis", "rmpv", "rustc-hash", @@ -2055,7 +2055,7 @@ dependencies = [ "nonzero_ext", "parking_lot", "portable-atomic", - "rand", + "rand 0.8.5", "smallvec", "spinning_top", ] @@ -2178,7 +2178,7 @@ dependencies = [ "hickory-proto", "once_cell", "radix_trie", - "rand", + "rand 0.8.5", "thiserror", "tokio", "tracing", @@ -2201,7 +2201,7 @@ dependencies = [ "idna", "ipnet", "once_cell", - "rand", + "rand 0.8.5", "thiserror", "tinyvec", "tokio", @@ -2370,7 +2370,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2569,9 +2569,9 @@ checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "lru" -version = "0.12.5" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" [[package]] name = "mach2" @@ -2651,9 +2651,9 @@ dependencies = [ [[package]] name = "mlua-sys" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63a11d485edf0f3f04a508615d36c7d50d299cf61a7ee6d3e2530651e0a31771" +checksum = "1901c1a635a22fe9250ffcc4fcc937c16b47c2e9e71adba8784af8bca1f69594" dependencies = [ "cc", "cfg-if", @@ -2757,14 +2757,14 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-src" @@ -2855,7 +2855,7 @@ version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" dependencies = [ - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -2865,7 +2865,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" dependencies = [ "proc-macro2", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2939,7 +2939,7 @@ checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", "getrandom 0.2.15", - "rand", + "rand 0.8.5", "ring", "rustc-hash", "rustls", @@ -2991,8 +2991,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.16", ] [[package]] @@ -3002,7 +3013,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]] @@ -3014,6 +3035,16 @@ dependencies = [ "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.16", +] + [[package]] name = "redis" version = "0.28.2" @@ -3183,9 +3214,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ "web-time", ] @@ -3274,7 +3305,7 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3408,9 +3439,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.96" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -3425,7 +3456,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3464,7 +3495,7 @@ checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3517,7 +3548,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3592,9 +3623,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.22" +version = "0.22.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +checksum = "02a8b472d1a3d7c18e2d61a489aee3453fd9031c33e4f55bd533f4a7adca1bee" dependencies = [ "indexmap", "serde", @@ -3631,7 +3662,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3645,9 +3676,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-width" @@ -3692,9 +3723,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d026a9ffd5fc7a7d88090ee3e480521e6af932f0d2a4eafb63da0c3927060" +checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" dependencies = [ "atomic", "getrandom 0.3.1", @@ -3785,7 +3816,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-shared", ] @@ -3807,7 +3838,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3933,9 +3964,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.24" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a" +checksum = "86e376c75f4f43f44db463cf729e0d3acbf954d13e22c51e26e4c264b4ab545f" dependencies = [ "memchr", ] @@ -3992,7 +4023,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -4003,7 +4034,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "byteorder", - "zerocopy-derive", + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b8c07a70861ce02bad1607b5753ecb2501f67847b9f9ada7c160fff0ec6300c" +dependencies = [ + "zerocopy-derive 0.8.16", ] [[package]] @@ -4014,7 +4054,18 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5226bc9a9a9836e7428936cde76bb6b22feea1a8bfdbc0d241136e4d13417e25" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", ] [[package]] @@ -4034,7 +4085,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -4063,7 +4114,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 8c30c1b01..bf8c681c9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -83,7 +83,7 @@ edition = "2021" # anyhow = "1.0" thiserror = "2.0" -rand = "0.8" +rand = { version = "0.9", default-features = false, features = ["thread_rng"] } fastrand = "2.3" memchr = "2.4" constant_time_eq = "0.3" @@ -114,7 +114,7 @@ ip_network_table = "0.2" radix_trie = "0.2" fixedbitset = "0.5" bitflags = "2.8" -lru = { version = "0.12", default-features = false } +lru = { version = "0.13", default-features = false } # blake3 = { version = "1.5", default-features = false } hex = "0.4.2" diff --git a/g3bench/src/main.rs b/g3bench/src/main.rs index e2cd4b5d5..d9072804e 100644 --- a/g3bench/src/main.rs +++ b/g3bench/src/main.rs @@ -49,7 +49,9 @@ fn build_cli_args() -> Command { fn main() -> anyhow::Result<()> { #[cfg(feature = "openssl-probe")] - openssl_probe::init_ssl_cert_env_vars(); + unsafe { + openssl_probe::init_openssl_env_vars(); + } openssl::init(); #[cfg(feature = "rustls-ring")] diff --git a/g3keymess/src/main.rs b/g3keymess/src/main.rs index 427974274..b7ed8dea1 100644 --- a/g3keymess/src/main.rs +++ b/g3keymess/src/main.rs @@ -23,7 +23,9 @@ use g3keymess::opts::ProcArgs; fn main() -> anyhow::Result<()> { #[cfg(feature = "openssl-probe")] - openssl_probe::init_ssl_cert_env_vars(); + unsafe { + openssl_probe::init_openssl_env_vars(); + } openssl::init(); let Some(proc_args) = diff --git a/g3mkcert/src/main.rs b/g3mkcert/src/main.rs index cc8ff8cd6..87e2f9a54 100644 --- a/g3mkcert/src/main.rs +++ b/g3mkcert/src/main.rs @@ -79,7 +79,9 @@ const ARG_GROUP_ALGORITHM: &str = "algorithm"; fn main() -> anyhow::Result<()> { #[cfg(feature = "openssl-probe")] - openssl_probe::init_ssl_cert_env_vars(); + unsafe { + openssl_probe::init_openssl_env_vars(); + } openssl::init(); let args = build_cli_args().get_matches(); diff --git a/g3proxy/src/audit/handle.rs b/g3proxy/src/audit/handle.rs index 74d1e808f..bad69698a 100644 --- a/g3proxy/src/audit/handle.rs +++ b/g3proxy/src/audit/handle.rs @@ -152,9 +152,9 @@ impl AuditHandle { } pub(crate) fn do_task_audit(&self) -> bool { - use rand::distributions::Distribution; + use rand::distr::Distribution; - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); self.auditor_config.task_audit_ratio.sample(&mut rng) } } diff --git a/g3proxy/src/config/audit/auditor.rs b/g3proxy/src/config/audit/auditor.rs index b9c3bf5d4..46772c030 100644 --- a/g3proxy/src/config/audit/auditor.rs +++ b/g3proxy/src/config/audit/auditor.rs @@ -17,7 +17,7 @@ use std::sync::Arc; use anyhow::{anyhow, Context}; -use rand::distributions::Bernoulli; +use rand::distr::Bernoulli; use yaml_rust::{yaml, Yaml}; use g3_cert_agent::CertAgentConfig; diff --git a/g3proxy/src/config/auth/audit/mod.rs b/g3proxy/src/config/auth/audit/mod.rs index e564c2590..b9622c296 100644 --- a/g3proxy/src/config/auth/audit/mod.rs +++ b/g3proxy/src/config/auth/audit/mod.rs @@ -14,7 +14,7 @@ * limitations under the License. */ -use rand::distributions::{Bernoulli, Distribution}; +use rand::distr::{Bernoulli, Distribution}; mod json; mod yaml; @@ -41,7 +41,7 @@ impl Default for UserAuditConfig { impl UserAuditConfig { pub(crate) fn do_task_audit(&self) -> Option { if let Some(ratio) = &self.task_audit_ratio { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); Some(ratio.sample(&mut rng)) } else { None diff --git a/g3proxy/src/config/escaper/direct_float/bind/mod.rs b/g3proxy/src/config/escaper/direct_float/bind/mod.rs index 0d6f68764..edcd842b6 100644 --- a/g3proxy/src/config/escaper/direct_float/bind/mod.rs +++ b/g3proxy/src/config/escaper/direct_float/bind/mod.rs @@ -108,7 +108,7 @@ impl BindSet { self.unnamed .iter() .chain(self.named.values()) - .choose(&mut rand::thread_rng()) + .choose(&mut rand::rng()) .cloned() } diff --git a/g3proxy/src/escape/proxy_float/peer/mod.rs b/g3proxy/src/escape/proxy_float/peer/mod.rs index 0f8e48a71..089851908 100644 --- a/g3proxy/src/escape/proxy_float/peer/mod.rs +++ b/g3proxy/src/escape/proxy_float/peer/mod.rs @@ -203,7 +203,7 @@ impl PeerSet { .iter() .chain(self.named.values()) .filter(|p| !p.is_expired()) - .choose(&mut rand::thread_rng()) + .choose(&mut rand::rng()) .cloned() } diff --git a/g3proxy/src/escape/trick_float/mod.rs b/g3proxy/src/escape/trick_float/mod.rs index 67c4b5809..a64646f05 100644 --- a/g3proxy/src/escape/trick_float/mod.rs +++ b/g3proxy/src/escape/trick_float/mod.rs @@ -19,7 +19,7 @@ use std::sync::Arc; use anyhow::anyhow; use async_trait::async_trait; -use rand::seq::SliceRandom; +use rand::seq::IndexedRandom; use g3_daemon::stat::remote::ArcTcpConnectionTaskRemoteStats; use g3_types::metrics::NodeName; @@ -90,7 +90,7 @@ impl TrickFloatEscaper { } fn random_next(&self) -> anyhow::Result { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let escaper = self .next_nodes .choose_weighted(&mut rng, |escaper| escaper._trick_float_weight()) diff --git a/g3proxy/src/main.rs b/g3proxy/src/main.rs index 945bd47d4..42765c60c 100644 --- a/g3proxy/src/main.rs +++ b/g3proxy/src/main.rs @@ -23,7 +23,9 @@ use g3proxy::opts::ProcArgs; fn main() -> anyhow::Result<()> { #[cfg(feature = "openssl-probe")] - openssl_probe::init_ssl_cert_env_vars(); + unsafe { + openssl_probe::init_openssl_env_vars(); + } openssl::init(); #[cfg(feature = "rustls-ring")] diff --git a/g3tiles/src/main.rs b/g3tiles/src/main.rs index 01d4ac199..15e230097 100644 --- a/g3tiles/src/main.rs +++ b/g3tiles/src/main.rs @@ -23,7 +23,9 @@ use g3tiles::opts::ProcArgs; fn main() -> anyhow::Result<()> { #[cfg(feature = "openssl-probe")] - openssl_probe::init_ssl_cert_env_vars(); + unsafe { + openssl_probe::init_openssl_env_vars(); + } openssl::init(); #[cfg(feature = "rustls-ring")] diff --git a/lib/g3-daemon/src/server/task.rs b/lib/g3-daemon/src/server/task.rs index 86f3763f8..23558a392 100644 --- a/lib/g3-daemon/src/server/task.rs +++ b/lib/g3-daemon/src/server/task.rs @@ -17,23 +17,16 @@ use std::sync::OnceLock; use chrono::{DateTime, Utc}; -use rand::rngs::OsRng; use uuid::{v1::Context, Timestamp, Uuid}; static UUID_CONTEXT: OnceLock = OnceLock::new(); static UUID_NODE_ID: OnceLock<[u8; 6]> = OnceLock::new(); pub fn generate_uuid(time: &DateTime) -> Uuid { - let context = UUID_CONTEXT.get_or_init(|| { - use rand::Rng; - - Context::new(OsRng.gen()) - }); + let context = UUID_CONTEXT.get_or_init(|| Context::new(rand::random())); let node_id = UUID_NODE_ID.get_or_init(|| { - use rand::RngCore; - let mut bytes = [0u8; 6]; - OsRng.fill_bytes(&mut bytes); + rand::fill(&mut bytes); bytes }); diff --git a/lib/g3-json/src/value/random.rs b/lib/g3-json/src/value/random.rs index ce29d3b9e..6e970bbfc 100644 --- a/lib/g3-json/src/value/random.rs +++ b/lib/g3-json/src/value/random.rs @@ -17,7 +17,7 @@ use std::str::FromStr; use anyhow::anyhow; -use rand::distributions::Bernoulli; +use rand::distr::Bernoulli; use serde_json::Value; pub fn as_random_ratio(value: &Value) -> anyhow::Result { diff --git a/lib/g3-types/src/collection/selective_vec.rs b/lib/g3-types/src/collection/selective_vec.rs index c58fe6add..4bb2cf3ce 100644 --- a/lib/g3-types/src/collection/selective_vec.rs +++ b/lib/g3-types/src/collection/selective_vec.rs @@ -20,7 +20,7 @@ use std::str::FromStr; use std::sync::atomic; use metrohash::MetroHash64; -use rand::seq::SliceRandom; +use rand::seq::IndexedRandom; use smallvec::SmallVec; #[derive(Clone, Copy, Debug, Eq, PartialEq)] @@ -166,7 +166,7 @@ impl SelectiveVec { 0 => panic_on_empty!(), 1 => &self.inner[0], _ => { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); if self.weighted { self.inner .choose_weighted(&mut rng, |v| v.weight()) @@ -185,7 +185,7 @@ impl SelectiveVec { _ => { let len = self.inner.len().min(n); - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); if self.weighted { self.inner .choose_multiple_weighted(&mut rng, len, |v| v.weight()) diff --git a/lib/g3-yaml/src/value/random.rs b/lib/g3-yaml/src/value/random.rs index 3ffedb871..67747d3df 100644 --- a/lib/g3-yaml/src/value/random.rs +++ b/lib/g3-yaml/src/value/random.rs @@ -17,7 +17,7 @@ use std::str::FromStr; use anyhow::anyhow; -use rand::distributions::Bernoulli; +use rand::distr::Bernoulli; use yaml_rust::Yaml; pub fn as_random_ratio(value: &Yaml) -> anyhow::Result {