build: bump Rust crates

This commit is contained in:
zhom committed 2026-10-29 18:24:37 +04:00
1 parent eb7ffd67e0
commit b0333769c8
13 files changed
+171 -238

No files matched your search

+122 -181
View File
@@ -28,17 +28,6 @@ dependencies = [
"inout 0.2.5",
]
[[package]]
name = "aes"
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
dependencies = [
"cfg-if",
"cipher 0.4.4",
"cpufeatures 0.2.17",
]
[[package]]
name = "aes"
version = "0.9.3"
@@ -50,20 +39,6 @@ dependencies = [
"cpufeatures 0.3.1",
]
[[package]]
name = "aes-gcm"
version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1"
dependencies = [
"aead 0.5.2",
"aes 0.8.4",
"cipher 0.4.4",
"ctr 0.9.2",
"ghash 0.5.1",
"subtle",
]
[[package]]
name = "aes-gcm"
version = "0.11.1"
@@ -71,11 +46,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f2b8006a0c83f52b62ba44a97b58bf76fe2f70a329e588f67f89691d93d498f"
dependencies = [
"aead 0.6.1",
"aes 0.9.3",
"aes",
"cipher 0.5.2",
"ctr 0.10.1",
"ctr",
"ctutils",
"ghash 0.6.0",
"ghash",
]
[[package]]
@@ -522,6 +497,30 @@ dependencies = [
"arrayvec",
]
[[package]]
name = "aws-lc-rs"
version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "048006790404103c488e6c5616b3e7e702a71292aadda08e8f7698a9e0d2eb53"
dependencies = [
"aws-lc-sys",
"untrusted 0.7.1",
"zeroize",
]
[[package]]
name = "aws-lc-sys"
version = "0.47.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8bfbe32ac36b3c428696ce315464181bc4029d689fd58e3f2a4e58c252242f52"
dependencies = [
"cc",
"cmake",
"dunce",
"fs_extra",
"pkg-config",
]
[[package]]
name = "axum"
version = "0.8.9"
@@ -755,7 +754,7 @@ dependencies = [
"aead 0.5.2",
"base64 0.22.1",
"blake2 0.10.6",
"chacha20poly1305",
"chacha20poly1305 0.10.1",
"hex",
"hmac 0.12.1",
"ip_network",
@@ -767,7 +766,7 @@ dependencies = [
"rand_core 0.6.4",
"ring",
"tracing",
"untrusted",
"untrusted 0.9.0",
"x25519-dalek",
]
@@ -1057,6 +1056,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06"
dependencies = [
"cfg-if",
"cipher 0.5.2",
"cpufeatures 0.3.1",
"rand_core 0.10.1",
]
@@ -1070,10 +1070,22 @@ dependencies = [
"aead 0.5.2",
"chacha20 0.9.1",
"cipher 0.4.4",
"poly1305",
"poly1305 0.8.0",
"zeroize",
]
[[package]]
name = "chacha20poly1305"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b89e1c441e926b9c82a8d023f6e1b7ae0adcfaa7d621814e4d60789bac751cb"
dependencies = [
"aead 0.6.1",
"chacha20 0.10.2",
"cipher 0.5.2",
"poly1305 0.9.1",
]
[[package]]
name = "chrono"
version = "0.4.45"
@@ -1180,6 +1192,15 @@ dependencies = [
"error-code",
]
[[package]]
name = "cmake"
version = "0.1.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678"
dependencies = [
"cc",
]
[[package]]
name = "cmov"
version = "0.5.4"
@@ -1217,12 +1238,6 @@ dependencies = [
"crossbeam-utils",
]
[[package]]
name = "const-oid"
version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
[[package]]
name = "const-oid"
version = "0.10.2"
@@ -1454,15 +1469,6 @@ version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "914a755b7c2d4af2bdcff7ce1739e2db9a1b81a9b07123d8015786ae03c0980d"
[[package]]
name = "ctr"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
dependencies = [
"cipher 0.4.4",
]
[[package]]
name = "ctr"
version = "0.10.1"
@@ -1613,16 +1619,6 @@ dependencies = [
"thiserror 2.0.21",
]
[[package]]
name = "der"
version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb"
dependencies = [
"const-oid 0.9.6",
"zeroize",
]
[[package]]
name = "deranged"
version = "0.5.9"
@@ -1671,7 +1667,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2"
dependencies = [
"block-buffer 0.12.1",
"const-oid 0.10.2",
"const-oid",
"crypto-common 0.2.2",
"ctutils",
]
@@ -1789,11 +1785,12 @@ dependencies = [
name = "donutbrowser"
version = "0.35.5"
dependencies = [
"aes 0.9.3",
"aes-gcm 0.11.1",
"aes",
"aes-gcm",
"argon2",
"async-socks5",
"async-trait",
"aws-lc-sys",
"axum",
"base64 0.23.1",
"blake3",
@@ -1948,16 +1945,6 @@ dependencies = [
"syn 2.0.119",
]
[[package]]
name = "ed25519"
version = "2.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
dependencies = [
"pkcs8",
"signature",
]
[[package]]
name = "either"
version = "1.19.0"
@@ -2385,6 +2372,12 @@ dependencies = [
"winapi",
]
[[package]]
name = "fs_extra"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
[[package]]
name = "futures"
version = "0.3.34"
@@ -2642,23 +2635,13 @@ dependencies = [
"wasm-bindgen",
]
[[package]]
name = "ghash"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1"
dependencies = [
"opaque-debug",
"polyval 0.6.2",
]
[[package]]
name = "ghash"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2eecf2d5dc9b66b732b97707a0210906b1d30523eb773193ab777c0c84b3e8d5"
dependencies = [
"polyval 0.7.3",
"polyval",
]
[[package]]
@@ -2956,15 +2939,6 @@ version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hkdf"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
dependencies = [
"hmac 0.12.1",
]
[[package]]
name = "hkdf"
version = "0.13.0"
@@ -3829,9 +3803,9 @@ dependencies = [
[[package]]
name = "lzma-rust2"
version = "0.23.0"
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1c46f3fcd2e888afdb01a07efc071cb21300e07c68d32c3e8b01b5c8cb1fcaa"
checksum = "490750560fa7851fbbf5d3ab1a8750f09350ed361ed8aed85b1e1e40587812ee"
dependencies = [
"sha2 0.11.1",
]
@@ -3913,12 +3887,12 @@ dependencies = [
[[package]]
name = "md-5"
version = "0.10.6"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
checksum = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98"
dependencies = [
"cfg-if",
"digest 0.10.7",
"digest 0.11.3",
]
[[package]]
@@ -4922,16 +4896,6 @@ dependencies = [
"futures-io",
]
[[package]]
name = "pkcs8"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
dependencies = [
"der",
"spki",
]
[[package]]
name = "pkg-config"
version = "0.3.34"
@@ -4989,6 +4953,16 @@ dependencies = [
"universal-hash 0.5.1",
]
[[package]]
name = "poly1305"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e2d0073b297041425c7c3df6eb4792d598a15323fe63346852b092eca02904c"
dependencies = [
"cpufeatures 0.3.1",
"universal-hash 0.6.1",
]
[[package]]
name = "polycool"
version = "0.4.0"
@@ -4998,18 +4972,6 @@ dependencies = [
"arrayvec",
]
[[package]]
name = "polyval"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25"
dependencies = [
"cfg-if",
"cpufeatures 0.2.17",
"opaque-debug",
"universal-hash 0.5.1",
]
[[package]]
name = "polyval"
version = "0.7.3"
@@ -5537,9 +5499,9 @@ dependencies = [
[[package]]
name = "resvg"
version = "0.48.1"
version = "0.49.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67e3803f97b999e80cbf7c6ecdd07a8102204d92e1633cf48783720c521196bd"
checksum = "1572844b6727a1bf842190e9947641a68ac44bed83f50afb4bd1407a2564bee8"
dependencies = [
"bytemuck",
"gif",
@@ -5555,9 +5517,9 @@ dependencies = [
[[package]]
name = "rfd"
version = "0.16.1"
version = "0.17.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4fe518b6db89699d59862e4d1e3a0226316090f4e4ec09f7dd686be25634c7c"
checksum = "20dafead71c16a34e1ff357ddefc8afc11e7d51d6d2b9fbd07eaa48e3e540220"
dependencies = [
"block2",
"dispatch2",
@@ -5565,16 +5527,18 @@ dependencies = [
"gobject-sys",
"gtk-sys",
"js-sys",
"libc",
"log",
"objc2",
"objc2-app-kit",
"objc2-core-foundation",
"objc2-foundation",
"percent-encoding",
"raw-window-handle",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
"windows-sys 0.60.2",
"windows-sys 0.61.2",
]
[[package]]
@@ -5596,23 +5560,10 @@ dependencies = [
"cfg-if",
"getrandom 0.2.17",
"libc",
"untrusted",
"untrusted 0.9.0",
"windows-sys 0.52.0",
]
[[package]]
name = "ring-compat"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccce7bae150b815f0811db41b8312fcb74bffa4cab9cee5429ee00f356dd5bd4"
dependencies = [
"aead 0.5.2",
"ed25519",
"generic-array",
"pkcs8",
"ring",
]
[[package]]
name = "roxmltree"
version = "0.20.0"
@@ -5720,7 +5671,7 @@ checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281"
dependencies = [
"ring",
"rustls-pki-types",
"untrusted",
"untrusted 0.9.0",
]
[[package]]
@@ -5827,13 +5778,13 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "sealed"
version = "0.6.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22f968c5ea23d555e670b449c1c5e7b2fc399fdaec1d304a17cd48e288abc107"
checksum = "9b68e2ea526d9fb32f23ca8894fb5da9e743f34c2f41701f0501dc8a25c4b343"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.119",
"syn 3.0.9",
]
[[package]]
@@ -5842,11 +5793,11 @@ version = "5.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5107b24b91445dd2aa449a258a1807b63240942157292354dc5bfdbeb8bc6db8"
dependencies = [
"aes 0.9.3",
"aes",
"cbc",
"futures-util",
"getrandom 0.4.3",
"hkdf 0.13.0",
"hkdf",
"hybrid-array",
"num",
"once_cell",
@@ -6170,11 +6121,11 @@ dependencies = [
[[package]]
name = "shadowsocks"
version = "1.24.0"
version = "1.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "482831bf9d55acf3c98e211b6c852c3dfdf1d1b0d23fdf1d887c5a4b2acad4e4"
checksum = "e2065b026dbe4f47048eca384adf07f693bf901050d80abd3adb7b2422709b2d"
dependencies = [
"base64 0.22.1",
"base64 0.23.1",
"blake3",
"byte_string",
"bytes",
@@ -6203,18 +6154,18 @@ dependencies = [
[[package]]
name = "shadowsocks-crypto"
version = "0.6.2"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d038a3d17586f1c1ab3c1c3b9e4d5ef8fba98fb3890ad740c8487038b2e2ca5"
checksum = "b404a62ebea5003f44b9a2748dee7555c5f9ae39896508e466a2a91ee6fa5df5"
dependencies = [
"aes-gcm 0.10.3",
"aes-gcm",
"aws-lc-rs",
"cfg-if",
"chacha20poly1305",
"hkdf 0.12.4",
"chacha20poly1305 0.11.0",
"hkdf",
"md-5",
"rand 0.9.5",
"ring-compat",
"sha1 0.10.7",
"rand 0.10.3",
"sha1 0.11.0",
]
[[package]]
@@ -6249,12 +6200,6 @@ dependencies = [
"libc",
]
[[package]]
name = "signature"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
[[package]]
name = "simd-adler32"
version = "0.3.10"
@@ -6414,23 +6359,13 @@ dependencies = [
[[package]]
name = "spin"
version = "0.10.1"
version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "023a211cb3138dbc438680b32560ad89f699977624c9f8dbb95a47d5b4c07dd3"
checksum = "0134f9043ed38b087ac4f7d4af44c79e2c9e5094421fe3164f435ce585953b10"
dependencies = [
"lock_api",
]
[[package]]
name = "spki"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
dependencies = [
"base64ct",
"der",
]
[[package]]
name = "sqlite-wasm-rs"
version = "0.6.2"
@@ -6588,9 +6523,9 @@ dependencies = [
[[package]]
name = "sysinfo"
version = "0.39.6"
version = "0.40.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2071df9448915b71c4fe6d25deaf1c22f12bd234f01540b77312bb8e41361e6"
checksum = "110e37d98880fd804cd47509b90a8444f7aaaab655ae625e83cd442a8bc2ebf2"
dependencies = [
"libc",
"memchr",
@@ -6866,9 +6801,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-deep-link"
version = "2.6.1"
version = "2.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ac7a92a46ab5c88f44532ca50906d6e448a948d4ddf8c5376ab125e3260f736"
checksum = "ab551d9bec27bb79d1c7fe5ed38c5cfd1cebb86efa745acc65f5853f345f6e56"
dependencies = [
"dunce",
"plist",
@@ -6887,9 +6822,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-dialog"
version = "2.8.3"
version = "2.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7461aaacf1901915ea7b9f5cd74f8224a351ed96af0a62c07fce934003cb34b"
checksum = "ce0fb9c2b6d34a9720627ed930ebc8af26f61e648695aecaeb03d5c33c5896f5"
dependencies = [
"log",
"raw-window-handle",
@@ -6965,13 +6900,13 @@ dependencies = [
[[package]]
name = "tauri-plugin-notification"
version = "2.7.0"
version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b939d7b19c8af1381a72ef8474b3aba2b56c1ddac2c23f0c8e96abbcf86b198b"
checksum = "5bc6c194a95a535abdfbe3bc1af9a43935b8b9b29c216b8e71af8b59132703cf"
dependencies = [
"log",
"notify-rust",
"rand 0.9.5",
"rand 0.10.3",
"serde",
"serde_json",
"serde_repr",
@@ -7803,6 +7738,12 @@ dependencies = [
"ctutils",
]
[[package]]
name = "untrusted"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
[[package]]
name = "untrusted"
version = "0.9.0"
@@ -7842,9 +7783,9 @@ dependencies = [
[[package]]
name = "usvg"
version = "0.48.1"
version = "0.49.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "977d0a4abdef933f424a99fe09f95576e089b90aebc6f016a3bc813762493e91"
checksum = "d09b73ee83641d390ad7ffd9000f347b16eb128e437675b6ff277ea5c7fcf22c"
dependencies = [
"base64 0.23.1",
"data-url",
+12 -12
View File
@@ -26,19 +26,18 @@ path = "src/bin/proxy_server.rs"
[build-dependencies]
tauri-build = { version = "2", features = [] }
resvg = "0.48"
resvg = "0.49"
[dependencies]
serde_json = "1"
# Runtime as well as build time: the per-profile window badge is rendered at launch.
resvg = "0.48"
resvg = "0.49"
serde = { version = "1", features = ["derive"] }
tauri = { version = "2", features = ["tray-icon", "image-png"] }
tauri-plugin-opener = "2"
tauri-plugin-fs = "2"
tauri-plugin-shell = "2"
# 2.6.2 does not build on Linux: it omits two fields that rust-ini 0.21.3 requires.
tauri-plugin-deep-link = "=2.6.1"
tauri-plugin-deep-link = "2"
tauri-plugin-single-instance = "2"
tauri-plugin-dialog = "2"
tauri-plugin-macos-permissions = "2"
@@ -64,7 +63,7 @@ native-tls = "0.2"
tokio-native-tls = "0.3"
tokio = { version = "1", features = ["full", "sync"] }
tokio-util = "0.7"
sysinfo = "0.39"
sysinfo = "0.40"
# 0.23 turns on `simd-unsafe` by default, decoding via hand-written unsafe
# AVX2/NEON. This crate decodes attacker-influenced input (proxy CONNECT auth,
# extension payloads, os_crypt key blobs), and none of those paths are hot
@@ -77,7 +76,7 @@ zip = { version = "9", default-features = false, features = ["deflate-flate2"] }
tar = "0"
bzip2 = "0"
flate2 = "1"
lzma-rust2 = { version = "0.23", default-features = false, features = ["std", "optimization", "xz"] }
lzma-rust2 = { version = "0.24", default-features = false, features = ["std", "optimization", "xz"] }
msi-extract = "0"
uuid = { version = "1.29", features = ["v4", "serde"] }
@@ -101,11 +100,9 @@ cbc = "0.2"
ring = "0.17"
subtle = "2"
sha2 = "0.11"
# Held below 1.25 on purpose. From 1.25 the `aead-cipher` feature hard-enables the
# aws-lc crypto backend (a C/assembly library needing cmake, and NASM on Windows)
# alongside the `ring` this crate already ships through boringtun. Moving up is a
# build-toolchain decision for every platform, not a routine dependency refresh.
shadowsocks = { version = ">=1.24, <1.25", default-features = false, features = ["aead-cipher"] }
# From 1.25 the `aead-cipher` feature builds the aws-lc crypto backend, next to
# the `ring` that boringtun brings. On Windows it needs `prebuilt-nasm`, below.
shadowsocks = { version = "1.25", default-features = false, features = ["aead-cipher"] }
hyper = { version = "1.12", features = ["full"] }
hyper-util = { version = "0.1", features = ["full"] }
http-body-util = "0.1"
@@ -188,6 +185,9 @@ windows = { version = "0.62", features = [
"Win32_Security_Authorization",
"Win32_System_LibraryLoader",
] }
# aws-lc (through shadowsocks) assembles its Windows code with NASM. The objects
# AWS ships in the crate spare every build machine that tool.
aws-lc-sys = { version = "0.47", features = ["prebuilt-nasm"] }
# WinFsp, for the RAM volume of ephemeral profiles. Donut does not ship the
# driver; the DLL is delay-loaded and used only when it is installed.
winfsp = { version = "0.13", default-features = false }
@@ -206,7 +206,7 @@ tower = "0.5"
tower-http = { version = "0.7", features = ["fs", "trace"] }
futures-util = "0.3"
serial_test = "4"
lzma-rust2 = { version = "0.23", features = ["encoder"] }
lzma-rust2 = { version = "0.24", features = ["encoder"] }
# Integration test configuration
[[test]]
+2 -1
View File
@@ -1013,6 +1013,7 @@ fn mcp_key_display_prefix(key: &str) -> String {
fn mcp_remote_key_label() -> String {
const MAX_LABEL_CHARS: usize = 80;
let host = sysinfo::System::host_name()
.ok()
.map(|h| h.trim().to_string())
.filter(|h| !h.is_empty())
.unwrap_or_else(|| "this computer".to_string());
@@ -2689,7 +2690,7 @@ pub fn run_with_builder(
log::info!(
"Donut started version={} os=\"{}\" arch={} pid={} tz={} portable={} data_dir={}",
env!("BUILD_VERSION"),
sysinfo::System::long_os_version().unwrap_or_else(|| std::env::consts::OS.to_string()),
sysinfo::System::long_os_version().unwrap_or_else(|_| std::env::consts::OS.to_string()),
std::env::consts::ARCH,
std::process::id(),
chrono::Local::now().format("%:z"),
+4 -4
View File
@@ -43,7 +43,7 @@ mod unix_processes {
/// Every process with its command line. Parents come with any refresh.
pub fn snapshot() -> System {
let mut system = System::new();
let mut system = crate::proxy_storage::process_table(sysinfo::RefreshKind::nothing());
system.refresh_processes_specifics(
ProcessesToUpdate::All,
true,
@@ -103,7 +103,7 @@ mod unix_processes {
/// Which of `pids` are still alive, from one refresh of those processes.
pub fn still_alive(pids: &[u32]) -> Vec<u32> {
let wanted: Vec<Pid> = pids.iter().map(|pid| Pid::from_u32(*pid)).collect();
let mut system = System::new();
let mut system = crate::proxy_storage::process_table(sysinfo::RefreshKind::nothing());
system.refresh_processes_specifics(
ProcessesToUpdate::Some(&wanted),
true,
@@ -488,9 +488,9 @@ pub mod windows {
) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
// First try using sysinfo (cross-platform approach), refreshing only this
// process.
use sysinfo::{Pid, ProcessRefreshKind, ProcessesToUpdate, System};
use sysinfo::{Pid, ProcessRefreshKind, ProcessesToUpdate};
let sysinfo_pid = Pid::from_u32(pid);
let mut system = System::new();
let mut system = crate::proxy_storage::process_table(sysinfo::RefreshKind::nothing());
system.refresh_processes_specifics(
ProcessesToUpdate::Some(&[sysinfo_pid]),
true,
+2 -2
View File
@@ -8,7 +8,7 @@ use crate::proxy_manager::PROXY_MANAGER;
use crate::wayfern_manager::WayfernConfig;
use std::fs::{self, create_dir_all};
use std::path::{Path, PathBuf};
use sysinfo::{Pid, ProcessRefreshKind, RefreshKind, System, UpdateKind};
use sysinfo::{Pid, ProcessRefreshKind, RefreshKind, UpdateKind};
use url::Url;
static METADATA_WRITES: std::sync::Mutex<()> = std::sync::Mutex::new(());
@@ -2105,7 +2105,7 @@ impl ProfileManager {
// For non-wayfern browsers, use the existing PID-based logic
let inner_profile = profile.clone();
// Only command lines are read below.
let system = System::new_with_specifics(
let system = crate::proxy_storage::process_table(
RefreshKind::nothing().with_processes(
ProcessRefreshKind::nothing()
.with_cmd(UpdateKind::OnlyIfNotSet)
+2 -2
View File
@@ -686,12 +686,12 @@ fn write_record(dir: &Path, files: Baseline, store: &Path) -> std::io::Result<()
/// included: on Windows the network service still holds the cookie database
/// for a moment after the browser process has exited.
fn processes_using(dir: &Path) -> Vec<u32> {
use sysinfo::{ProcessRefreshKind, RefreshKind, System, UpdateKind};
use sysinfo::{ProcessRefreshKind, RefreshKind, UpdateKind};
let Ok(dir) = dir.canonicalize() else {
return Vec::new();
};
let system = System::new_with_specifics(
let system = crate::proxy_storage::process_table(
RefreshKind::nothing()
.with_processes(ProcessRefreshKind::nothing().with_cmd(UpdateKind::Always)),
);
+2 -2
View File
@@ -106,9 +106,9 @@ pub fn import_into(
/// executable name: the user may well have Chrome open on a *different*
/// profile, which is no reason to block the import.
fn running_source_browser(shape: &layout::SourceShape) -> Option<String> {
use sysinfo::{ProcessRefreshKind, RefreshKind, System};
use sysinfo::{ProcessRefreshKind, RefreshKind};
let system = System::new_with_specifics(
let system = crate::proxy_storage::process_table(
RefreshKind::nothing().with_processes(ProcessRefreshKind::everything()),
);
+2 -2
View File
@@ -369,7 +369,7 @@ pub fn is_launch_placeholder_pid(pid: u32) -> bool {
/// read of the process table. A process that exited but is still listed
/// (a zombie) is not alive.
fn live_process_start_times(pids: &[u32]) -> HashMap<u32, u64> {
use sysinfo::{ProcessRefreshKind, ProcessesToUpdate, System};
use sysinfo::{ProcessRefreshKind, ProcessesToUpdate};
if pids.is_empty() {
return HashMap::new();
}
@@ -377,7 +377,7 @@ fn live_process_start_times(pids: &[u32]) -> HashMap<u32, u64> {
.iter()
.map(|&pid| sysinfo::Pid::from_u32(pid))
.collect();
let mut system = System::new();
let mut system = crate::proxy_storage::process_table(sysinfo::RefreshKind::nothing());
system.refresh_processes_specifics(
ProcessesToUpdate::Some(&pids),
true,
+9 -2
View File
@@ -336,10 +336,17 @@ fn process_has_exited(process: &sysinfo::Process) -> bool {
}
}
/// A process table refreshed as `refreshes` asks. sysinfo refuses only
/// platforms Donut is not built for, so the error cannot happen here.
pub fn process_table(refreshes: sysinfo::RefreshKind) -> sysinfo::System {
sysinfo::System::new_with_specifics(refreshes)
.expect("sysinfo supports every platform Donut is built for")
}
pub fn process_start_time(pid: u32) -> Option<u64> {
use sysinfo::{ProcessRefreshKind, ProcessesToUpdate, System};
use sysinfo::{ProcessRefreshKind, ProcessesToUpdate, RefreshKind};
let pid = sysinfo::Pid::from_u32(pid);
let mut system = System::new();
let mut system = process_table(RefreshKind::nothing());
system.refresh_processes_specifics(
ProcessesToUpdate::Some(&[pid]),
true,
+3 -3
View File
@@ -94,9 +94,9 @@ mod windows_client {
}
fn host_alive(pid: u32) -> bool {
use sysinfo::{ProcessRefreshKind, ProcessesToUpdate, System};
use sysinfo::{ProcessRefreshKind, ProcessesToUpdate};
let pid = sysinfo::Pid::from_u32(pid);
let mut system = System::new();
let mut system = crate::proxy_storage::process_table(sysinfo::RefreshKind::nothing());
system.refresh_processes_specifics(
ProcessesToUpdate::Some(&[pid]),
true,
@@ -160,7 +160,7 @@ mod windows_client {
let started = Instant::now();
let mount = mount_dir();
let capacity = {
let mut system = sysinfo::System::new();
let mut system = crate::proxy_storage::process_table(sysinfo::RefreshKind::nothing());
system.refresh_memory();
volume_capacity(system.total_memory())
};
+1 -1
View File
@@ -910,7 +910,7 @@ impl SynchronizerManager {
// Check leader is not already running
if leader.process_id.is_some() {
let sys = sysinfo::System::new_all();
let sys = crate::proxy_storage::process_table(sysinfo::RefreshKind::everything());
if let Some(pid) = leader.process_id {
if sys.process(sysinfo::Pid::from(pid as usize)).is_some() {
return Err(
+2 -2
View File
@@ -4149,9 +4149,9 @@ impl WayfernManager {
fn find_wayfern_process_by_profile(
target_path: &std::path::Path,
) -> Option<(u32, String, Option<u16>)> {
use sysinfo::{ProcessRefreshKind, RefreshKind, System, UpdateKind};
use sysinfo::{ProcessRefreshKind, RefreshKind, UpdateKind};
let system = System::new_with_specifics(
let system = crate::proxy_storage::process_table(
RefreshKind::nothing().with_processes(
ProcessRefreshKind::nothing()
.with_cmd(UpdateKind::OnlyIfNotSet)
+8 -24
View File
@@ -635,6 +635,14 @@
"name": "avif-serialize",
"license": "BSD-3-Clause"
},
{
"name": "aws-lc-rs",
"license": "ISC AND (Apache-2.0 OR ISC)"
},
{
"name": "aws-lc-sys",
"license": "ISC AND (Apache-2.0 OR ISC) AND Apache-2.0 AND MIT AND BSD-3-Clause AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR ISC OR MIT-0)"
},
{
"name": "axum",
"license": "MIT"
@@ -1091,10 +1099,6 @@
"name": "defmt-parser",
"license": "Apache-2.0 OR MIT"
},
{
"name": "der",
"license": "Apache-2.0 OR MIT"
},
{
"name": "deranged",
"license": "Apache-2.0 OR MIT"
@@ -1191,10 +1195,6 @@
"name": "dynosaur_derive",
"license": "Apache-2.0 OR MIT"
},
{
"name": "ed25519",
"license": "Apache-2.0 OR MIT"
},
{
"name": "either",
"license": "Apache-2.0 OR MIT"
@@ -2283,10 +2283,6 @@
"name": "piper",
"license": "Apache-2.0 OR MIT"
},
{
"name": "pkcs8",
"license": "Apache-2.0 OR MIT"
},
{
"name": "plist",
"license": "MIT"
@@ -2539,10 +2535,6 @@
"name": "ring",
"license": "Apache-2.0 AND ISC"
},
{
"name": "ring-compat",
"license": "Apache-2.0 OR MIT"
},
{
"name": "roxmltree",
"license": "Apache-2.0 OR MIT"
@@ -2731,10 +2723,6 @@
"name": "signal-hook-registry",
"license": "Apache-2.0 OR MIT"
},
{
"name": "signature",
"license": "Apache-2.0 OR MIT"
},
{
"name": "simd-adler32",
"license": "MIT"
@@ -2811,10 +2799,6 @@
"name": "spin",
"license": "MIT"
},
{
"name": "spki",
"license": "Apache-2.0 OR MIT"
},
{
"name": "stable_deref_trait",
"license": "Apache-2.0 OR MIT"