diff --git a/Cargo.lock b/Cargo.lock index 0df02cf..1c447cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -221,7 +221,7 @@ dependencies = [ "bytes", "fastrand", "hex", - "http 1.4.1", + "http 1.4.2", "ring", "time", "tokio", @@ -283,7 +283,7 @@ dependencies = [ "bytes", "fastrand", "http 0.2.12", - "http 1.4.1", + "http 1.4.2", "http-body 0.4.6", "http-body 1.0.1", "percent-encoding", @@ -317,7 +317,7 @@ dependencies = [ "hex", "hmac 0.12.1", "http 0.2.12", - "http 1.4.1", + "http 1.4.2", "http-body 1.0.1", "lru 0.16.4", "percent-encoding", @@ -346,7 +346,7 @@ dependencies = [ "bytes", "fastrand", "http 0.2.12", - "http 1.4.1", + "http 1.4.2", "regex-lite", "tracing", ] @@ -370,7 +370,7 @@ dependencies = [ "bytes", "fastrand", "http 0.2.12", - "http 1.4.1", + "http 1.4.2", "regex-lite", "tracing", ] @@ -395,7 +395,7 @@ dependencies = [ "aws-types", "fastrand", "http 0.2.12", - "http 1.4.1", + "http 1.4.2", "regex-lite", "tracing", ] @@ -417,7 +417,7 @@ dependencies = [ "hex", "hmac 0.12.1", "http 0.2.12", - "http 1.4.1", + "http 1.4.2", "p256 0.11.1", "percent-encoding", "ring", @@ -450,10 +450,10 @@ dependencies = [ "bytes", "crc-fast", "hex", - "http 1.4.1", + "http 1.4.2", "http-body 1.0.1", "http-body-util", - "md-5", + "md-5 0.10.6", "pin-project-lite", "sha1 0.10.6", "sha2 0.10.9", @@ -484,7 +484,7 @@ dependencies = [ "bytes-utils", "futures-core", "futures-util", - "http 1.4.1", + "http 1.4.2", "http-body 1.0.1", "http-body-util", "percent-encoding", @@ -505,7 +505,7 @@ dependencies = [ "h2 0.3.27", "h2 0.4.14", "http 0.2.12", - "http 1.4.1", + "http 1.4.2", "http-body 0.4.6", "hyper 0.14.32", "hyper 1.10.1", @@ -566,7 +566,7 @@ dependencies = [ "bytes", "fastrand", "http 0.2.12", - "http 1.4.1", + "http 1.4.2", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", @@ -586,7 +586,7 @@ dependencies = [ "aws-smithy-types", "bytes", "http 0.2.12", - "http 1.4.1", + "http 1.4.2", "pin-project-lite", "tokio", "tracing", @@ -604,7 +604,7 @@ dependencies = [ "bytes-utils", "futures-core", "http 0.2.12", - "http 1.4.1", + "http 1.4.2", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", @@ -800,6 +800,31 @@ dependencies = [ "cipher 0.5.2", ] +[[package]] +name = "bon" +version = "3.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f47dbe92550676ee653353c310dfb9cf6ba17ee70396e1f7cf0a2020ad49b2fe" +dependencies = [ + "bon-macros", + "rustversion", +] + +[[package]] +name = "bon-macros" +version = "3.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "519bd3116aeeb42d5372c29d982d16d0170d3d4a5ed85fc7dd91642ffff3c67c" +dependencies = [ + "darling", + "ident_case", + "prettyplease", + "proc-macro2", + "quote", + "rustversion", + "syn", +] + [[package]] name = "bumpalo" version = "3.20.3" @@ -849,39 +874,6 @@ dependencies = [ "bytes", ] -[[package]] -name = "camino" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" -dependencies = [ - "serde_core", -] - -[[package]] -name = "cargo-platform" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87a0c0e6148f11f01f32650a2ea02d532b2ad4e81d8bd41e6e565b5adc5e6082" -dependencies = [ - "serde", - "serde_core", -] - -[[package]] -name = "cargo_metadata" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef987d17b0a113becdd19d3d0022d04d7ef41f9efe4f3fb63ac44ba61df3ade9" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror 2.0.18", -] - [[package]] name = "castaway" version = "0.2.4" @@ -1354,38 +1346,14 @@ dependencies = [ "syn", ] -[[package]] -name = "darling" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" -dependencies = [ - "darling_core 0.20.11", - "darling_macro 0.20.11", -] - [[package]] name = "darling" version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" dependencies = [ - "darling_core 0.23.0", - "darling_macro 0.23.0", -] - -[[package]] -name = "darling_core" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn", + "darling_core", + "darling_macro", ] [[package]] @@ -1401,24 +1369,13 @@ dependencies = [ "syn", ] -[[package]] -name = "darling_macro" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" -dependencies = [ - "darling_core 0.20.11", - "quote", - "syn", -] - [[package]] name = "darling_macro" version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ - "darling_core 0.23.0", + "darling_core", "quote", "syn", ] @@ -1528,37 +1485,6 @@ dependencies = [ "syn", ] -[[package]] -name = "derive_builder" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" -dependencies = [ - "derive_builder_macro", -] - -[[package]] -name = "derive_builder_core" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" -dependencies = [ - "darling 0.20.11", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "derive_builder_macro" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" -dependencies = [ - "derive_builder_core", - "syn", -] - [[package]] name = "derive_more" version = "2.1.1" @@ -2236,6 +2162,18 @@ dependencies = [ "url", ] +[[package]] +name = "git2" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddddbf932745a6be37109b6112d3ee09696106f848449069d3a57bba937ab82e" +dependencies = [ + "bitflags 2.13.0", + "libc", + "libgit2-sys", + "log", +] + [[package]] name = "glob" version = "0.3.3" @@ -2317,7 +2255,7 @@ dependencies = [ "fnv", "futures-core", "futures-sink", - "http 1.4.1", + "http 1.4.2", "indexmap", "slab", "tokio", @@ -2371,7 +2309,7 @@ dependencies = [ "base64 0.22.1", "bytes", "headers-core", - "http 1.4.1", + "http 1.4.2", "httpdate", "mime", "sha1 0.10.6", @@ -2383,7 +2321,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" dependencies = [ - "http 1.4.1", + "http 1.4.2", ] [[package]] @@ -2462,9 +2400,9 @@ dependencies = [ [[package]] name = "http" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be7462df143984c4598a256ef469b251d7d7f9e271135073e78fc535414f3d0" +checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425" dependencies = [ "bytes", "itoa", @@ -2488,7 +2426,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.4.1", + "http 1.4.2", ] [[package]] @@ -2499,7 +2437,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http 1.4.1", + "http 1.4.2", "http-body 1.0.1", "pin-project-lite", ] @@ -2563,7 +2501,7 @@ dependencies = [ "futures-channel", "futures-core", "h2 0.4.14", - "http 1.4.1", + "http 1.4.2", "http-body 1.0.1", "httparse", "itoa", @@ -2582,7 +2520,7 @@ dependencies = [ "bytes", "futures-util", "headers", - "http 1.4.1", + "http 1.4.2", "hyper 1.10.1", "hyper-rustls 0.27.9", "hyper-util", @@ -2614,7 +2552,7 @@ version = "0.27.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" dependencies = [ - "http 1.4.1", + "http 1.4.2", "hyper 1.10.1", "hyper-util", "log", @@ -2662,7 +2600,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.4.1", + "http 1.4.2", "http-body 1.0.1", "hyper 1.10.1", "ipnet", @@ -2894,7 +2832,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5eb2d60ef19920a3a9193c3e371f726ec1dafc045dac788d0fb3704272458971" dependencies = [ - "darling 0.23.0", + "darling", "indoc", "proc-macro2", "quote", @@ -3093,7 +3031,7 @@ dependencies = [ "either", "futures", "home", - "http 1.4.1", + "http 1.4.2", "http-body 1.0.1", "http-body-util", "hyper 1.10.1", @@ -3129,7 +3067,7 @@ checksum = "40fb9bd8141cbc0fe6b0d9112d371679b4cb607b45c31dd68d92e40864a12975" dependencies = [ "chrono", "form_urlencoded", - "http 1.4.1", + "http 1.4.2", "k8s-openapi", "serde", "serde_json", @@ -3339,6 +3277,16 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "md-5" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98" +dependencies = [ + "cfg-if", + "digest 0.11.3", +] + [[package]] name = "md5" version = "0.7.0" @@ -3641,6 +3589,17 @@ dependencies = [ "objc2-core-foundation", ] +[[package]] +name = "objc2-open-directory" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb82bed227edf5201dfedf072bba4015a33d3d4a98519837295a90f0a23f676d" +dependencies = [ + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + [[package]] name = "objc2-system-configuration" version = "0.3.2" @@ -3973,7 +3932,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30b8c63418f1e7dfbb786268ae0927537b87d90b1211216c1ba50ce25d8d9495" dependencies = [ "cc", - "git2", + "git2 0.20.4", "glob", ] @@ -4745,9 +4704,9 @@ dependencies = [ [[package]] name = "remotefs-ssh" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73c3eee1ec0e33cafe7a3809bae0652f2b764049e73b1ef9df4f768a31aa9dd8" +checksum = "7fa1336153fb7e11d6cf013b279aae115a8454d9f496afb7bccaab1466085253" dependencies = [ "chrono", "lazy-regex", @@ -4769,7 +4728,7 @@ checksum = "5d2b34f3ac2069b106c65b2d0c91b9b4b24a0b5fe9585b49f50fff4135f2cff8" dependencies = [ "bytes", "bytestring", - "http 1.4.1", + "http 1.4.2", "httpdate", "indexmap", "log", @@ -4834,7 +4793,7 @@ dependencies = [ "futures-core", "futures-util", "h2 0.4.14", - "http 1.4.1", + "http 1.4.2", "http-body 1.0.1", "http-body-util", "hyper 1.10.1", @@ -5533,10 +5492,6 @@ name = "semver" version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" -dependencies = [ - "serde", - "serde_core", -] [[package]] name = "serde" @@ -6019,7 +5974,7 @@ dependencies = [ "anyhow", "bitflags 2.13.0", "dirs", - "git2", + "git2 0.20.4", "glob", "log", "thiserror 2.0.18", @@ -6073,9 +6028,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "suppaftp" -version = "8.0.3" +version = "8.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4275c142b5be3af2eeadd70dd368caf3b65546c8af1035839372dd7a1436127d" +checksum = "4cf00e4d8418c477a8cb3c13ae5396a68d31658e760c74280bdbd34926e3b94b" dependencies = [ "chrono", "futures-lite", @@ -6124,16 +6079,17 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.37.2" +version = "0.39.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f" +checksum = "21d0d938c10fcda3e897e28aaddf4ab462375d411f4378cd63b1c945f69aba96" dependencies = [ "libc", "memchr", "ntapi", "objc2-core-foundation", "objc2-io-kit", - "windows 0.61.3", + "objc2-open-directory", + "windows 0.62.2", ] [[package]] @@ -6206,13 +6162,13 @@ dependencies = [ name = "termscp" version = "1.0.0" dependencies = [ - "aes 0.8.4", + "aes 0.9.1", "aes-gcm 0.10.3", "argh", "base64 0.22.1", "bitflags 2.13.0", "bytesize", - "cbc 0.1.2", + "cbc 0.2.1", "cfg_aliases", "chrono", "content_inspector", @@ -6222,13 +6178,13 @@ dependencies = [ "keyring", "lazy-regex", "log", - "md-5", + "md-5 0.11.0", "notify", "notify-rust", "nucleo", "open", "pretty_assertions", - "rand 0.9.4", + "rand 0.10.1", "regex", "remotefs", "remotefs-aws-s3", @@ -6543,7 +6499,7 @@ dependencies = [ "base64 0.21.7", "bitflags 2.13.0", "bytes", - "http 1.4.1", + "http 1.4.2", "http-body 1.0.1", "http-body-util", "mime", @@ -6562,7 +6518,7 @@ dependencies = [ "bitflags 2.13.0", "bytes", "futures-util", - "http 1.4.1", + "http 1.4.2", "http-body 1.0.1", "pin-project-lite", "tower 0.5.3", @@ -6678,7 +6634,7 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http 1.4.1", + "http 1.4.2", "httparse", "log", "rand 0.8.6", @@ -6836,14 +6792,12 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "vergen" -version = "9.1.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b849a1f6d8639e8de261e81ee0fc881e3e3620db1af9f2e0da015d4382ceaf75" +checksum = "7bdf18a54cf91b4d98a8e8b67f6321606539fbcdcac02536286ad1de37b53fd2" dependencies = [ "anyhow", - "cargo_metadata", - "derive_builder", - "regex", + "bon", "rustc_version", "rustversion", "sysinfo", @@ -6853,13 +6807,13 @@ dependencies = [ [[package]] name = "vergen-git2" -version = "9.1.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51ab55ddf1188c8d679f349775362b0fa9e90bd7a4ac69838b2a087623f0d57" +checksum = "b6e1ddb3075d894c0796fa8e592b778b1a6c034cb95d254372e5c2270adbfbfe" dependencies = [ "anyhow", - "derive_builder", - "git2", + "bon", + "git2 0.21.0", "rustversion", "time", "vergen", @@ -6868,12 +6822,12 @@ dependencies = [ [[package]] name = "vergen-lib" -version = "9.1.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b34a29ba7e9c59e62f229ae1932fb1b8fb8a6fdcc99215a641913f5f5a59a569" +checksum = "910e8471e27130bbc019e9bfa6bda16dfc4c6dd7c5d0793da70a9256caeae984" dependencies = [ "anyhow", - "derive_builder", + "bon", "rustversion", ] diff --git a/Cargo.toml b/Cargo.toml index 2118e06..42b0e29 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,13 +36,13 @@ smb = ["dep:remotefs-smb"] smb-vendored = ["remotefs-smb/vendored"] [dependencies] -aes = "0.8" +aes = "0.9" aes-gcm = "0.10" argh = "0.1" base64 = "0.22" bitflags = "2" bytesize = "2" -cbc = { version = "0.1", features = ["alloc"] } +cbc = { version = "0.2", features = ["alloc"] } chrono = "0.4" content_inspector = "0.2" dirs = "6" @@ -56,12 +56,12 @@ keyring = { version = "3", features = [ ] } lazy-regex = "3" log = "0.4" -md-5 = "0.10" +md-5 = "0.11" notify = "8" notify-rust = { version = "4", default-features = false, features = ["d"] } nucleo = "0.5" open = "5" -rand = "0.9" +rand = "0.10" regex = "1" remotefs = "0.3" remotefs-aws-s3 = "0.4" @@ -111,7 +111,7 @@ serial_test = "3" [build-dependencies] cfg_aliases = "0.2" -vergen-git2 = { version = "9", features = ["build", "cargo", "rustc", "si"] } +vergen-git2 = { version = "10", features = ["build", "cargo", "rustc", "si"] } [[bin]] name = "termscp" diff --git a/build.rs b/build.rs index d05b0b3..fd9aba3 100644 --- a/build.rs +++ b/build.rs @@ -1,5 +1,5 @@ use cfg_aliases::cfg_aliases; -use vergen_git2::{BuildBuilder, CargoBuilder, Emitter, Git2Builder, RustcBuilder, SysinfoBuilder}; +use vergen_git2::{Build, Cargo, Emitter, Git2, Rustc, Sysinfo}; fn main() -> Result<(), Box> { // Setup cfg aliases @@ -15,11 +15,11 @@ fn main() -> Result<(), Box> { smb_windows: { all(windows, feature = "smb") } } - let build = BuildBuilder::all_build()?; - let cargo = CargoBuilder::all_cargo()?; - let git2 = Git2Builder::all_git()?; - let rustc = RustcBuilder::all_rustc()?; - let si = SysinfoBuilder::all_sysinfo()?; + let build = Build::all_build(); + let cargo = Cargo::all_cargo(); + let git2 = Git2::all_git(); + let rustc = Rustc::all_rustc(); + let si = Sysinfo::all_sysinfo(); Emitter::default() .add_instructions(&build)? diff --git a/src/utils/crypto.rs b/src/utils/crypto.rs index 3662777..c206d75 100644 --- a/src/utils/crypto.rs +++ b/src/utils/crypto.rs @@ -5,7 +5,7 @@ //! and a zero IV) is transparently decrypted via a fallback path. use aes::cipher::block_padding::Pkcs7; -use aes::cipher::{BlockDecryptMut, KeyIvInit}; +use aes::cipher::{BlockModeDecrypt, KeyIvInit}; use aes_gcm::aead::{Aead, AeadCore}; use aes_gcm::{Aes128Gcm, KeyInit, Nonce}; use base64::Engine; @@ -70,7 +70,7 @@ fn decrypt_legacy_cbc(key: &str, secret: &str) -> Result { let raw = B64.decode(secret)?; let decryptor = CbcDec::new(&key_bytes.into(), &iv.into()); let plaintext = decryptor - .decrypt_padded_vec_mut::(&raw) + .decrypt_padded_vec::(&raw) .map_err(|_| CryptoError::InvalidData)?; String::from_utf8(plaintext).map_err(|_| CryptoError::InvalidData) } diff --git a/src/utils/random.rs b/src/utils/random.rs index 0447303..05fc51e 100644 --- a/src/utils/random.rs +++ b/src/utils/random.rs @@ -5,7 +5,7 @@ // Ext use rand::distr::Alphanumeric; -use rand::{Rng as _, rng}; +use rand::{RngExt as _, rng}; /// Generate a random alphanumeric string with provided length pub fn random_alphanumeric_with_len(len: usize) -> String {