diff --git a/example/ios/Flutter/AppFrameworkInfo.plist b/example/ios/Flutter/AppFrameworkInfo.plist index 9625e10..1dc6cf7 100644 --- a/example/ios/Flutter/AppFrameworkInfo.plist +++ b/example/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 11.0 + 13.0 diff --git a/example/ios/Podfile b/example/ios/Podfile index fdcc671..e51a31d 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '11.0' +# platform :ios, '13.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/example/ios/Runner/AppDelegate.swift b/example/ios/Runner/AppDelegate.swift index 89aaf87..9cf38c0 100644 --- a/example/ios/Runner/AppDelegate.swift +++ b/example/ios/Runner/AppDelegate.swift @@ -5,7 +5,7 @@ import UIKit import Flutter -@UIApplicationMain +@main @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, diff --git a/example/pubspec.lock b/example/pubspec.lock index 38efa0c..5fbe5ae 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -278,7 +278,7 @@ packages: path: ".." relative: true source: path - version: "0.0.9" + version: "0.1.0" vector_math: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index c0e0674..c94eaf9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ name: tor description: A multi-platform Flutter plugin for managing a Tor proxy. Based on arti. -version: 0.0.9 +version: 0.1.0 homepage: https://github.com/Foundation-Devices/tor platforms: diff --git a/rust/Cargo.lock b/rust/Cargo.lock index a74f43a..91cae59 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -29,18 +29,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ahash" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.3" @@ -109,6 +97,12 @@ dependencies = [ "libc", ] +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + [[package]] name = "anstream" version = "0.6.18" @@ -173,9 +167,9 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "arti" -version = "1.4.3" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde42828a0e7682ec223fd6c953dc5272ef75d99caaea2a178c723e7aceb71ce" +checksum = "a41651beedef0cb154d40e3f38322695526e3def77a78863542415cfeea001e3" dependencies = [ "anyhow", "arti-client", @@ -187,25 +181,29 @@ dependencies = [ "hickory-proto", "humantime", "humantime-serde", - "itertools", + "itertools 0.14.0", "libc", "notify", "paste", + "pin-project", "postage", "rlimit", "safelog", "secmem-proc", "serde", + "serde_json", "thiserror 2.0.12", "time", "tokio", "tokio-util", - "toml 0.8.22", + "toml 0.9.8", "tor-async-utils", "tor-basic-utils", "tor-config", "tor-config-path", "tor-error", + "tor-key-forge", + "tor-keymgr", "tor-rtcompat", "tor-socksproto", "tracing", @@ -217,14 +215,14 @@ dependencies = [ [[package]] name = "arti-client" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9600759b9461ddc620a657ddb0c60ad30ba2774c35063d65c8463c292c20bca4" +checksum = "1632996ef3f2cfee3b9103d61cf6756384be65240422c968358caa7c22deef73" dependencies = [ "anyhow", "async-trait", "cfg-if", - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "derive_builder_fork_arti", "derive_more", "educe", @@ -247,6 +245,7 @@ dependencies = [ "tor-circmgr", "tor-config", "tor-config-path", + "tor-dircommon", "tor-dirmgr", "tor-error", "tor-guardmgr", @@ -445,9 +444,19 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.7.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" + +[[package]] +name = "bincode" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740" +dependencies = [ + "serde", + "unty", +] [[package]] name = "bitflags" @@ -493,12 +502,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "bounded-vec-deque" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2225b558afc76c596898f5f1b3fc35cfce0eb1b13635cbd7d1b2a7177dc10ccd" - [[package]] name = "bstr" version = "1.12.0" @@ -506,7 +509,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" dependencies = [ "memchr", - "regex-automata 0.4.9", + "regex-automata", "serde", ] @@ -542,9 +545,15 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "caret" -version = "0.5.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5440e59387a6f8291f2696a875656873e9d51e9fb7b38af81a25772a5f81b33" +checksum = "a9f34f4a9f1f2992a090b4998583bfe7783ecd6e8bb496d13beb89b1e194181f" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cbindgen" @@ -595,6 +604,33 @@ dependencies = [ "windows-link", ] +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + [[package]] name = "cipher" version = "0.4.4" @@ -755,6 +791,55 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "criterion" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1c047a62b0cc3e145fa84415a3191f628e980b194c2755aa12300a4e6cbd928" +dependencies = [ + "anes", + "cast", + "ciborium", + "clap 4.5.38", + "criterion-plot", + "itertools 0.13.0", + "num-traits", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-cycles-per-byte" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f82e634fea1e2312dc41e6c0ca7444c5d6e7a1ccf3cf4b8de559831c3dcc271" +dependencies = [ + "cfg-if", + "criterion", +] + +[[package]] +name = "criterion-plot" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b1bcc0dc7dfae599d84ad0b1a55f80cde8af3725da8313b528da95ef783e338" +dependencies = [ + "cast", + "itertools 0.13.0", +] + +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + [[package]] name = "crossbeam-channel" version = "0.5.15" @@ -764,6 +849,25 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-queue" version = "0.3.12" @@ -779,6 +883,12 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + [[package]] name = "crypto-bigint" version = "0.5.5" @@ -960,11 +1070,11 @@ dependencies = [ [[package]] name = "derive-deftly" -version = "1.0.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0015cb20a284ec944852820598af3aef6309ea8dc317a0304441272ed620f196" +checksum = "7d308ebe4b10924331bd079044b418da7b227d724d3e2408567a47ad7c3da2a0" dependencies = [ - "derive-deftly-macros 1.0.1", + "derive-deftly-macros 1.3.0", "heck 0.5.0", ] @@ -975,8 +1085,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357422a457ccb850dc8f1c1680e0670079560feaad6c2e247e3f345c4fab8a3f" dependencies = [ "heck 0.5.0", - "indexmap 2.9.0", - "itertools", + "indexmap 1.9.3", + "itertools 0.14.0", "proc-macro-crate", "proc-macro2", "quote", @@ -988,13 +1098,13 @@ dependencies = [ [[package]] name = "derive-deftly-macros" -version = "1.0.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b48e8e38a4aa565da767322b5ca55fb0f8347983c5bc7f7647db069405420479" +checksum = "dd5f2b7218a51c827a11d22d1439b598121fac94bf9b99452e4afffe512d78c9" dependencies = [ "heck 0.5.0", - "indexmap 2.9.0", - "itertools", + "indexmap 1.9.3", + "itertools 0.14.0", "proc-macro-crate", "proc-macro2", "quote", @@ -1148,9 +1258,9 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" dependencies = [ "curve25519-dalek", "ed25519", @@ -1224,6 +1334,18 @@ dependencies = [ "syn 2.0.101", ] +[[package]] +name = "enum_dispatch" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -1332,6 +1454,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + [[package]] name = "foreign-types" version = "0.3.2" @@ -1358,14 +1486,13 @@ dependencies = [ [[package]] name = "fs-mistrust" -version = "0.9.2" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28515c41c52a8a46080eaea6270371028a588ccf910c60f0f34edecfd4a891bc" +checksum = "6a262f9a5bd9bb57bfb07b8ea78834a43ae4931f17e9fdd157327636143b33c9" dependencies = [ "derive_builder_fork_arti", "dirs", "libc", - "once_cell", "pwd-grp", "serde", "thiserror 2.0.12", @@ -1511,6 +1638,18 @@ dependencies = [ "wasi 0.14.2+wasi-0.2.4", ] +[[package]] +name = "getset" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf0fc11e47561d47397154977bc219f4cf809b2974facc3ccb3b89e2436f912" +dependencies = [ + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "gimli" version = "0.31.1" @@ -1534,6 +1673,17 @@ dependencies = [ "subtle", ] +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1542,26 +1692,26 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.5" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" dependencies = [ - "ahash", + "foldhash", ] [[package]] name = "hashbrown" -version = "0.15.3" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" [[package]] name = "hashlink" -version = "0.9.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.3", ] [[package]] @@ -1593,9 +1743,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hickory-proto" -version = "0.24.4" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92652067c9ce6f66ce53cc38d1169daa36e6e7eb7dd3b63b5103bd9d97117248" +checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" dependencies = [ "async-trait", "cfg-if", @@ -1607,8 +1757,9 @@ dependencies = [ "idna", "ipnet", "once_cell", - "rand 0.8.5", - "thiserror 1.0.69", + "rand 0.9.1", + "ring", + "thiserror 2.0.12", "tinyvec", "tokio", "tracing", @@ -1828,13 +1979,14 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.9.0" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" dependencies = [ "equivalent", - "hashbrown 0.15.3", + "hashbrown 0.16.1", "serde", + "serde_core", ] [[package]] @@ -1887,6 +2039,15 @@ version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.14.0" @@ -1962,9 +2123,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.172" +version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "liblzma" @@ -2005,9 +2166,9 @@ dependencies = [ [[package]] name = "libsqlite3-sys" -version = "0.30.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f" dependencies = [ "cc", "pkg-config", @@ -2044,11 +2205,11 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "matchers" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "regex-automata 0.1.10", + "regex-automata", ] [[package]] @@ -2132,6 +2293,12 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nonany" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6b8866ec53810a9a4b3d434a29801e78c707430a9ae11c2db4b8b62bb9675a0" + [[package]] name = "notify" version = "8.0.0" @@ -2157,15 +2324,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d" [[package]] -name = "nu-ansi-term" -version = "0.46.0" +name = "ntapi" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" dependencies = [ - "overload", "winapi", ] +[[package]] +name = "nu-ansi-term" +version = "0.50.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +dependencies = [ + "windows-sys 0.59.0", +] + [[package]] name = "num-bigint" version = "0.4.6" @@ -2250,6 +2425,25 @@ dependencies = [ "syn 2.0.101", ] +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "objc2-io-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" +dependencies = [ + "libc", + "objc2-core-foundation", +] + [[package]] name = "object" version = "0.36.7" @@ -2264,16 +2458,26 @@ name = "once_cell" version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +dependencies = [ + "critical-section", + "portable-atomic", +] [[package]] name = "oneshot-fused-workaround" -version = "0.2.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2f833c92b3bb159ddee62e27d611e056cd89373b4ba7ba6df8bcd00acdf1b5" +checksum = "925a1fbb5c18b95071ee8efb0cc6d3b0727206e4ba17fa422e9ea3cf3d1aa3d7" dependencies = [ "futures", ] +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + [[package]] name = "openssl" version = "0.10.72" @@ -2352,12 +2556,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "p256" version = "0.13.2" @@ -2448,29 +2646,30 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "phf" -version = "0.11.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" dependencies = [ "phf_macros", "phf_shared", + "serde", ] [[package]] name = "phf_generator" -version = "0.11.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" dependencies = [ + "fastrand", "phf_shared", - "rand 0.8.5", ] [[package]] name = "phf_macros" -version = "0.11.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" +checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" dependencies = [ "phf_generator", "phf_shared", @@ -2481,9 +2680,9 @@ dependencies = [ [[package]] name = "phf_shared" -version = "0.11.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" dependencies = [ "siphasher", ] @@ -2547,6 +2746,40 @@ version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +[[package]] +name = "plotters" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" +dependencies = [ + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" + +[[package]] +name = "plotters-svg" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" +dependencies = [ + "plotters-backend", +] + +[[package]] +name = "portable-atomic" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" + [[package]] name = "postage" version = "0.5.0" @@ -2603,7 +2836,7 @@ checksum = "ef08705fa1589a1a59aa924ad77d14722cb0cd97b67dd5004ed5f4a4873fce8d" dependencies = [ "autocfg", "equivalent", - "indexmap 2.9.0", + "indexmap 2.12.1", ] [[package]] @@ -2615,6 +2848,28 @@ dependencies = [ "toml_edit", ] +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "proc-macro2" version = "1.0.95" @@ -2663,7 +2918,6 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "libc", "rand_chacha 0.3.1", "rand_core 0.6.4", ] @@ -2727,6 +2981,26 @@ dependencies = [ "winapi", ] +[[package]] +name = "rayon" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + [[package]] name = "rdrand" version = "0.8.3" @@ -2764,17 +3038,8 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", + "regex-automata", + "regex-syntax", ] [[package]] @@ -2785,15 +3050,9 @@ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax", ] -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - [[package]] name = "regex-syntax" version = "0.8.5" @@ -2802,9 +3061,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "retry-error" -version = "0.6.3" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cd5db9deeb62617010191df02a0887c96cc15d91514d32c208d6b8f76b9f20e" +checksum = "061ea3484f50bb17b7adfbf69c8a2d97ccdbcf4981375a50f291d3e4cce6f130" [[package]] name = "rfc6979" @@ -2816,6 +3075,20 @@ dependencies = [ "subtle", ] +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.16", + "libc", + "untrusted", + "windows-sys 0.52.0", +] + [[package]] name = "rlimit" version = "0.10.2" @@ -2848,9 +3121,9 @@ dependencies = [ [[package]] name = "rusqlite" -version = "0.32.1" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7753b721174eb8ff87a9a0e799e2d7bc3749323e773db92e0984debb00019d6e" +checksum = "165ca6e57b20e1351573e3729b958bc62f0e48025386970b6e4d29e7a7e71f3f" dependencies = [ "bitflags 2.9.1", "fallible-iterator", @@ -2922,9 +3195,9 @@ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "safelog" -version = "0.4.5" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fba05ad561772e139a16a49088b2d332f659ef49953d56e09cf0f726784e5fdd" +checksum = "255eb326931273b167f0cc4454c4dfb7f6d40d45ee881f5d07f7605b01782afc" dependencies = [ "derive_more", "educe", @@ -3026,10 +3299,11 @@ checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] @@ -3043,11 +3317,20 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -3084,6 +3367,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" +dependencies = [ + "serde_core", +] + [[package]] name = "serde_with" version = "3.12.0" @@ -3094,7 +3386,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.9.0", + "indexmap 2.12.1", "serde", "serde_derive", "serde_json", @@ -3218,9 +3510,9 @@ dependencies = [ [[package]] name = "slotmap-careful" -version = "0.2.3" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186e34c0f5a636bb33bf53ca356933c525a7758ddddb8d93f98eff866db966d5" +checksum = "ddae85319fec607619afa689795c2ed3e549313355d4f5df7a3f4344707b28d3" dependencies = [ "paste", "serde", @@ -3288,6 +3580,7 @@ version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b86f5297f0f04d08cabaa0f6bff7cb6aec4d9c3b49d87990d63da9d9156a8c3" dependencies = [ + "num-bigint-dig", "p256", "p384", "p521", @@ -3376,6 +3669,12 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" + [[package]] name = "synstructure" version = "0.13.2" @@ -3387,6 +3686,20 @@ dependencies = [ "syn 2.0.101", ] +[[package]] +name = "sysinfo" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252800745060e7b9ffb7b2badbd8b31cfa4aa2e61af879d0a3bf2a317c20217d" +dependencies = [ + "libc", + "memchr", + "ntapi", + "objc2-core-foundation", + "objc2-io-kit", + "windows", +] + [[package]] name = "tap" version = "1.0.1" @@ -3522,6 +3835,16 @@ dependencies = [ "zerovec", ] +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + [[package]] name = "tinyvec" version = "1.9.0" @@ -3596,11 +3919,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" dependencies = [ "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.8", + "toml_datetime 0.6.9", "toml_edit", ] +[[package]] +name = "toml" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" +dependencies = [ + "indexmap 2.12.1", + "serde_core", + "serde_spanned 1.0.3", + "toml_datetime 0.7.3", + "toml_parser", + "toml_writer", + "winnow", +] + [[package]] name = "toml_datetime" version = "0.6.9" @@ -3610,26 +3948,50 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" +dependencies = [ + "serde_core", +] + [[package]] name = "toml_edit" version = "0.22.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.12.1", "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.8", + "toml_datetime 0.6.9", "toml_write", "winnow", ] +[[package]] +name = "toml_parser" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" +dependencies = [ + "winnow", +] + [[package]] name = "toml_write" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" +[[package]] +name = "toml_writer" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" + [[package]] name = "tor" version = "0.0.9" @@ -3649,11 +4011,11 @@ dependencies = [ [[package]] name = "tor-async-utils" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae472e9363f0a6996f7fd52f795b942c895d807e63799b5c5712524d832b4ac4" +checksum = "cc3f87f4001ae1ebc5f764d35f935f246aad88f8c15c5041bffdf620e3611253" dependencies = [ - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "educe", "futures", "oneshot-fused-workaround", @@ -3665,13 +4027,13 @@ dependencies = [ [[package]] name = "tor-basic-utils" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e34a3106b61f70d1e92072859ea63bbcd1abea928bb2518314b1ead229c876b3" +checksum = "ee4b6b2e03252208a22392d337f14d8b6a77804030f040e1b5e083361c16fff3" dependencies = [ "derive_more", "hex", - "itertools", + "itertools 0.14.0", "libc", "paste", "rand 0.9.1", @@ -3684,12 +4046,12 @@ dependencies = [ [[package]] name = "tor-bytes" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "679fd4574ccd514cecec56593c262703c9ff550addf0b68a857629d8878e721c" +checksum = "5add5ccd3510b76e2ad7892bf3d26f16eb6d972c59127a45f334de40b2014bbe" dependencies = [ "bytes", - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "digest", "educe", "getrandom 0.3.3", @@ -3702,17 +4064,18 @@ dependencies = [ [[package]] name = "tor-cell" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e70fd32db0340b839bd7eefd7692e7ebf5213951e6fb5d55584226d6a1d1230" +checksum = "184fe895e0d3ab49097797d32b41aee69444880c4c59cdf4773fb2c22609896c" dependencies = [ "amplify", "bitflags 2.9.1", "bytes", "caret", - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "derive_more", "educe", + "itertools 0.14.0", "paste", "rand 0.9.1", "smallvec", @@ -3725,15 +4088,16 @@ dependencies = [ "tor-linkspec", "tor-llcrypto", "tor-memquota", + "tor-protover", "tor-units", "void", ] [[package]] name = "tor-cert" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919f2405bc098fb37f2fee6dfaf90e9a39e7fbe353ff5b209464bb7cb7be107e" +checksum = "f432fc373821a2876af160924bb77959773e26392331350c6bc63cf0a02e9f5a" dependencies = [ "caret", "derive_builder_fork_arti", @@ -3742,14 +4106,15 @@ dependencies = [ "thiserror 2.0.12", "tor-bytes", "tor-checkable", + "tor-error", "tor-llcrypto", ] [[package]] name = "tor-chanmgr" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d72cf71c97fbb8ab50ee3453f4c6cfac9e6cec66d3e0f4b392b1065ad47142ea" +checksum = "23bc76ee8b7a535f5e67c67ebd3ac61e7644bd0e374fbaa70d32690139ad1b81" dependencies = [ "async-trait", "caret", @@ -3768,6 +4133,7 @@ dependencies = [ "tor-cell", "tor-config", "tor-error", + "tor-keymgr", "tor-linkspec", "tor-llcrypto", "tor-memquota", @@ -3782,9 +4148,9 @@ dependencies = [ [[package]] name = "tor-checkable" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00a4328f9a14ab9b3b21ae84d96c6fa0b45731f071bebe0a5bba7d66753b8654" +checksum = "67b9b1f259c4fd31e8713f4e41be1352dad11fce81dd2a3e19367325e86a3299" dependencies = [ "humantime", "signature", @@ -3794,14 +4160,14 @@ dependencies = [ [[package]] name = "tor-circmgr" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1086a2d9bf0182b61a26eaef5a44d5e201df0716faac6450cd0aafe97876ef63" +checksum = "59fa4fbbdc57671950b54c32f17491d1fcef90c154b7f1b0282cb6c3240c0d93" dependencies = [ "amplify", "async-trait", - "bounded-vec-deque", "cfg-if", + "derive-deftly 1.3.0", "derive_builder_fork_arti", "derive_more", "downcast-rs", @@ -3809,7 +4175,7 @@ dependencies = [ "educe", "futures", "humantime-serde", - "itertools", + "itertools 0.14.0", "once_cell", "oneshot-fused-workaround", "pin-project", @@ -3817,12 +4183,13 @@ dependencies = [ "retry-error", "safelog", "serde", - "static_assertions", "thiserror 2.0.12", "tor-async-utils", "tor-basic-utils", + "tor-cell", "tor-chanmgr", "tor-config", + "tor-dircommon", "tor-error", "tor-guardmgr", "tor-linkspec", @@ -3842,22 +4209,21 @@ dependencies = [ [[package]] name = "tor-config" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a0099cd04bbe4f15c7a7ff2cbe296e8483080fdc9f29445d046e43ad43238d" +checksum = "44ce8080195ea5306745aea780d55bd4eb9b59e0eebcbf87d90cd1713c922433" dependencies = [ "amplify", "cfg-if", - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "derive_builder_fork_arti", "educe", "either", "figment", "fs-mistrust", "futures", - "itertools", + "itertools 0.14.0", "notify", - "once_cell", "paste", "postage", "regex", @@ -3866,7 +4232,7 @@ dependencies = [ "serde_ignored", "strum", "thiserror 2.0.12", - "toml 0.8.22", + "toml 0.9.8", "tor-basic-utils", "tor-error", "tor-rtcompat", @@ -3876,12 +4242,11 @@ dependencies = [ [[package]] name = "tor-config-path" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96df671c199202597bf631156f922ed4c7fc5e9d964fb4df4fcf9d7dc2b9e6b1" +checksum = "ab30f665bac21d69284ba2ad7757c841108d71b3e1caf58c2b08837c632e6d41" dependencies = [ "directories", - "once_cell", "serde", "shellexpand", "thiserror 2.0.12", @@ -3891,9 +4256,9 @@ dependencies = [ [[package]] name = "tor-consdiff" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dcb72a74052dccc2e7d4db82ffb079c5b2de66619767475d99939c440ea0771" +checksum = "9559f344fd552d6a980a64c341e4ebdbb29b3c9b53d2d534ceef2b0e0f398546" dependencies = [ "digest", "hex", @@ -3903,9 +4268,9 @@ dependencies = [ [[package]] name = "tor-dirclient" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4cc3ccae0106893784a50291c9f2bc9a60478dc77dec97606962066de51add" +checksum = "3bc4eebe1f560386dbba42c5d21907c2a0a547b46b2891ade20516824380db12" dependencies = [ "async-compression", "base64ct", @@ -3915,7 +4280,7 @@ dependencies = [ "http", "httparse", "httpdate", - "itertools", + "itertools 0.14.0", "memchr", "thiserror 2.0.12", "tor-circmgr", @@ -3929,11 +4294,32 @@ dependencies = [ "tracing", ] +[[package]] +name = "tor-dircommon" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "029a1dc08d75f410f6df91559c981614bbdec3d82fce9dfb9795c7cb640062c7" +dependencies = [ + "base64ct", + "derive_builder_fork_arti", + "getset", + "humantime", + "humantime-serde", + "serde", + "tor-basic-utils", + "tor-checkable", + "tor-config", + "tor-linkspec", + "tor-llcrypto", + "tor-netdoc", + "tracing", +] + [[package]] name = "tor-dirmgr" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4047aa930f52dc037d12cf12a757817ee7fed2d55ac39733bd84039f7018c7" +checksum = "efc4fc87f1d078fe6fda258012242c3612b9874b90212b776b836a20c46e86ef" dependencies = [ "async-trait", "base64ct", @@ -3948,9 +4334,8 @@ dependencies = [ "hex", "humantime", "humantime-serde", - "itertools", + "itertools 0.14.0", "memmap2", - "once_cell", "oneshot-fused-workaround", "paste", "postage", @@ -3972,6 +4357,7 @@ dependencies = [ "tor-config", "tor-consdiff", "tor-dirclient", + "tor-dircommon", "tor-error", "tor-guardmgr", "tor-llcrypto", @@ -3986,13 +4372,12 @@ dependencies = [ [[package]] name = "tor-error" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb86e4066361d17a99c3ff499473814fed182fca25cb8c53e350f23f6f6fe86" +checksum = "0c2f67b386f2720f444f4ed496edd21fab25f2b2d64ede97a0b8108708dc34e1" dependencies = [ "derive_more", "futures", - "once_cell", "paste", "retry-error", "static_assertions", @@ -4004,9 +4389,9 @@ dependencies = [ [[package]] name = "tor-general-addr" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc30ae918d31b5463a21ee5a2970e3670795276fbd1c565aa0c6170c0b3dcb3f" +checksum = "5b5f5b77ced1e4e471dd385eef97b07dbd2d1a8c2a19371dc4fe1682c0784e9d" dependencies = [ "derive_more", "thiserror 2.0.12", @@ -4015,13 +4400,13 @@ dependencies = [ [[package]] name = "tor-guardmgr" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f11db35299ec505a09a6e52c1f6da10450e25f9966043980a04b6cdbbc9aec5f" +checksum = "db90b95acb45529b0e8b65080fa159d4e570cec0df2479d98b9d976c6ee5bd50" dependencies = [ "amplify", "base64ct", - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "derive_builder_fork_arti", "derive_more", "dyn-clone", @@ -4029,7 +4414,7 @@ dependencies = [ "futures", "humantime", "humantime-serde", - "itertools", + "itertools 0.14.0", "num_enum", "oneshot-fused-workaround", "pin-project", @@ -4042,6 +4427,7 @@ dependencies = [ "tor-async-utils", "tor-basic-utils", "tor-config", + "tor-dircommon", "tor-error", "tor-linkspec", "tor-llcrypto", @@ -4058,17 +4444,17 @@ dependencies = [ [[package]] name = "tor-hsclient" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5c5969746e551b55a770bee1614c5a5f6f5e31b24222530a32eef8705d65ec6" +checksum = "a31fd84c843d9f2b87d59bcc217d5b8e3d1807e70962c28980459f32cc7129c1" dependencies = [ "async-trait", - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "derive_more", "educe", "either", "futures", - "itertools", + "itertools 0.14.0", "oneshot-fused-workaround", "postage", "rand 0.9.1", @@ -4102,19 +4488,21 @@ dependencies = [ [[package]] name = "tor-hscrypto" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c9a27cb49e849891e582aaa50e8a0ea69313c07459602b9b329b261e63dc59a" +checksum = "bc80ec427050e10f16cb45ae81fe7d8b9f2117009f454182cbcef0ebced181ea" dependencies = [ "data-encoding", - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "derive_more", "digest", + "hex", "humantime", - "itertools", + "itertools 0.14.0", "paste", "rand 0.9.1", "safelog", + "serde", "signature", "subtle", "thiserror 2.0.12", @@ -4130,15 +4518,16 @@ dependencies = [ [[package]] name = "tor-key-forge" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48b1c658d4f88ca59bc3b384ca3de908eebe5000c243283b2e458adf932a1d2d" +checksum = "39cfa70accbc5f5f7a963d4407fe0843833194104eb08ad729f7ff5d7fa6df64" dependencies = [ - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "derive_more", "downcast-rs", "paste", "rand 0.9.1", + "rsa", "signature", "ssh-key", "thiserror 2.0.12", @@ -4151,14 +4540,14 @@ dependencies = [ [[package]] name = "tor-keymgr" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bcb6b882b635aba303dc718330bcfc6287d3756b5e7c1870259f92ac795432c" +checksum = "351a4bf2c1c547b7bd860fee3011d4147f110d2feaee5ca654f648f588a194fe" dependencies = [ "amplify", "arrayvec", "cfg-if", - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "derive_builder_fork_arti", "derive_more", "downcast-rs", @@ -4167,8 +4556,9 @@ dependencies = [ "glob-match", "humantime", "inventory", - "itertools", + "itertools 0.14.0", "rand 0.9.1", + "safelog", "serde", "signature", "ssh-key", @@ -4183,24 +4573,25 @@ dependencies = [ "tor-llcrypto", "tor-persist", "tracing", + "visibility", "walkdir", "zeroize", ] [[package]] name = "tor-linkspec" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c24b7652c8130efc619e4ffe24886b169e5b3664a3756a869d1e69206ce67a39" +checksum = "fce2c1ecedf3872d443de313a70f3a0ab2edb5c1120cb6b24ff64e45841ab792" dependencies = [ "base64ct", "by_address", "caret", - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "derive_builder_fork_arti", "derive_more", "hex", - "itertools", + "itertools 0.14.0", "safelog", "serde", "serde_with", @@ -4216,23 +4607,22 @@ dependencies = [ [[package]] name = "tor-llcrypto" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85f10a68746bbf0fad32abcd38f1a9fa905c9e60c92a99cae35e96ee617075a3" +checksum = "3e662718a0897b682babb6c3af726e81098ddca3a92682550cacdf5e4e1b50a2" dependencies = [ "aes", "base64ct", "ctr", "curve25519-dalek", "der-parser", - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "derive_more", "digest", "ed25519-dalek", "educe", "getrandom 0.3.3", "hex", - "once_cell", "rand 0.9.1", "rand_chacha 0.9.0", "rand_core 0.6.4", @@ -4248,6 +4638,7 @@ dependencies = [ "signature", "subtle", "thiserror 2.0.12", + "tor-error", "tor-memquota", "visibility", "x25519-dalek", @@ -4256,13 +4647,12 @@ dependencies = [ [[package]] name = "tor-log-ratelim" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe3c68920a78eeb81eef3fe50fcffa3f65e4f2394c2132e8849b6ac6d244413" +checksum = "b9176d6856a655a404ab6bdfe139642267b8c82960820d8b33571406ba4dc0a5" dependencies = [ "futures", "humantime", - "once_cell", "thiserror 2.0.12", "tor-error", "tor-rtcompat", @@ -4272,21 +4662,23 @@ dependencies = [ [[package]] name = "tor-memquota" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e0391e1c8377c1511a11707aef7e850427fe3448de8e8794b016e9216d5b4c" +checksum = "04c37a939977421d6903b48aca0c43481283b4cd31ee0811dd6de5cfae6c4847" dependencies = [ - "derive-deftly 1.0.1", + "cfg-if", + "derive-deftly 1.3.0", "derive_more", "dyn-clone", "educe", "futures", - "itertools", + "itertools 0.14.0", "paste", "pin-project", "serde", "slotmap-careful", "static_assertions", + "sysinfo", "thiserror 2.0.12", "tor-async-utils", "tor-basic-utils", @@ -4300,9 +4692,9 @@ dependencies = [ [[package]] name = "tor-netdir" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e0e2fd36ffa1f815ee68ada149e89dde17472e10c8ad2ea27798f32916e020" +checksum = "22a13fe31e618a5b3fd1a7cc860d8d30a62bd13212ff4a7eb61ac7dafa4480df" dependencies = [ "async-trait", "bitflags 2.9.1", @@ -4311,11 +4703,10 @@ dependencies = [ "futures", "hex", "humantime", - "itertools", + "itertools 0.14.0", "num_enum", "rand 0.9.1", "serde", - "static_assertions", "strum", "thiserror 2.0.12", "time", @@ -4333,29 +4724,31 @@ dependencies = [ [[package]] name = "tor-netdoc" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f85d89993af320afe9139850939a7450884610e66908dfe17bc2b427902296b" +checksum = "e3281c8d403db88c409244651186d0b3551aea407f91a0b54a5bff5637711744" dependencies = [ "amplify", "base64ct", "bitflags 2.9.1", "cipher", + "derive-deftly 1.3.0", "derive_builder_fork_arti", "derive_more", "digest", "educe", "hex", "humantime", - "itertools", + "itertools 0.14.0", "memchr", - "once_cell", + "paste", "phf", "rand 0.9.1", "serde", "serde_with", "signature", "smallvec", + "strum", "subtle", "thiserror 2.0.12", "time", @@ -4378,17 +4771,17 @@ dependencies = [ [[package]] name = "tor-persist" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4880170f467e6b44547e258880cd3dcdbeff643881e7aefc7155a59ef30615" +checksum = "601e932ea7d99f832944af706535dc8d4c7295a9e9ce08b4e37963febae6989f" dependencies = [ - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "derive_more", "filetime", "fs-mistrust", "fslock", "futures", - "itertools", + "itertools 0.14.0", "oneshot-fused-workaround", "paste", "sanitize-filename", @@ -4405,9 +4798,9 @@ dependencies = [ [[package]] name = "tor-proto" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4548ddde59a82813db633b9599fc251516ac61c951f3e27e4ec86b0dacb9b56b" +checksum = "8d7944ec99f7498974862dffabeaf8a2d7b8d035ae622f8012906ed541f78034" dependencies = [ "amplify", "asynchronous-codec", @@ -4417,23 +4810,30 @@ dependencies = [ "cfg-if", "cipher", "coarsetime", - "derive-deftly 1.0.1", + "criterion-cycles-per-byte", + "derive-deftly 1.3.0", "derive_builder_fork_arti", "derive_more", "digest", "educe", + "enum_dispatch", "futures", "futures-util", "hkdf", "hmac", + "itertools 0.14.0", + "nonany", "oneshot-fused-workaround", "pin-project", + "postage", "rand 0.9.1", "rand_core 0.9.3", "safelog", "slotmap-careful", + "smallvec", "static_assertions", "subtle", + "sync_wrapper", "thiserror 2.0.12", "tokio", "tokio-util", @@ -4451,6 +4851,7 @@ dependencies = [ "tor-log-ratelim", "tor-memquota", "tor-protover", + "tor-relay-crypto", "tor-rtcompat", "tor-rtmock", "tor-units", @@ -4463,28 +4864,29 @@ dependencies = [ [[package]] name = "tor-protover" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6ca1c73814a234e2d39f3aa168d867999c82ced075bef5a96c31648fa0aab36" +checksum = "09c917ef73767f43dedb75936b10877d681808e60b89983dda3fa1581a87846f" dependencies = [ "caret", "paste", "serde_with", "thiserror 2.0.12", + "tor-bytes", ] [[package]] name = "tor-ptmgr" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e07dd68f072c9f9cf61d1f8c88ab21243115fcf983d50fd04448c126a55b71be" +checksum = "8787d3252aa4be8a5adda10700dc8d62ee1374a15a6b4a8372f18907b4a685e9" dependencies = [ "async-trait", "cfg-if", "derive_builder_fork_arti", "fs-mistrust", "futures", - "itertools", + "itertools 0.14.0", "oneshot-fused-workaround", "serde", "thiserror 2.0.12", @@ -4500,11 +4902,29 @@ dependencies = [ "tracing", ] +[[package]] +name = "tor-relay-crypto" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff96b2ad43c3c45610b5d3a4b65397a3d24e3e908b990f795395982856652da0" +dependencies = [ + "derive-deftly 1.3.0", + "derive_more", + "humantime", + "tor-cert", + "tor-checkable", + "tor-error", + "tor-key-forge", + "tor-keymgr", + "tor-llcrypto", + "tor-persist", +] + [[package]] name = "tor-relay-selection" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9db156435a2859b71ec17ef4ca04b0cfc6ecd6a68e401375d79f155baed99ad2" +checksum = "87b51cbd2efbbe4e0e8d96fc28c3b8ce1593b4fc6633dcaeae8f98e7d0731f92" dependencies = [ "rand 0.9.1", "serde", @@ -4516,9 +4936,9 @@ dependencies = [ [[package]] name = "tor-rtcompat" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edda713133a1abf729ecc24af2616aa0ee4631098fc0e3617eeb704a647c8ed1" +checksum = "463257970cb94ae8769680b33f8554f4d5444ebf7ae4028998ac7ffc9c09dfa3" dependencies = [ "async-native-tls", "async-trait", @@ -4545,19 +4965,19 @@ dependencies = [ [[package]] name = "tor-rtmock" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99076aa2a63a6f3aa2de8d2f2b96d306d5efc5f9b48aa187205081dab34b2778" +checksum = "4670e049c51f7a6515929556021db84b121038524c868aed306ad51a86de1432" dependencies = [ "amplify", "assert_matches", "async-trait", - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "derive_more", "educe", "futures", "humantime", - "itertools", + "itertools 0.14.0", "oneshot-fused-workaround", "pin-project", "priority-queue", @@ -4574,13 +4994,13 @@ dependencies = [ [[package]] name = "tor-socksproto" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cc359b08eb4c85ff4a33e32e0c0794beedd81b7f2f0b10c0c17300e3af57085" +checksum = "9a46cf79489bd3caefcae649e89a9690b744e3ae0ff7499bdb90149fb08175bc" dependencies = [ "amplify", "caret", - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "educe", "safelog", "subtle", @@ -4591,12 +5011,13 @@ dependencies = [ [[package]] name = "tor-units" -version = "0.30.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0282fefcdc3dd57699fa6a6a6db6fbc3d70824146472cffdf97503032aa51e3d" +checksum = "af54287a06b0b6d28d6f1ef68772c7669dcf182451f7e9440ebb5733eb6cc0e5" dependencies = [ - "derive-deftly 1.0.1", + "derive-deftly 1.3.0", "derive_more", + "serde", "thiserror 2.0.12", "tor-memquota", ] @@ -4658,14 +5079,14 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.19" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" dependencies = [ "matchers", "nu-ansi-term", "once_cell", - "regex", + "regex-automata", "sharded-slab", "smallvec", "thread_local", @@ -4697,9 +5118,13 @@ dependencies = [ [[package]] name = "typed-index-collections" -version = "3.1.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "183496e014253d15abbe6235677b1392dba2d40524c88938991226baa38ac7c4" +checksum = "3fd393dbd1e7b23e0cab7396570309b4068aa504e9dac2cd41d827583b4e9ab7" +dependencies = [ + "bincode", + "serde", +] [[package]] name = "typenum" @@ -4734,6 +5159,18 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "unty" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" + [[package]] name = "url" version = "2.5.4" @@ -4890,6 +5327,16 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "323f4da9523e9a669e1eaf9c6e763892769b1d38c623913647bfdc1532fe4549" +[[package]] +name = "web-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "winapi" version = "0.3.9" @@ -5116,9 +5563,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.7.10" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" dependencies = [ "memchr", ] @@ -5185,18 +5632,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.25" +version = "0.8.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +checksum = "4ea879c944afe8a2b25fef16bb4ba234f47c694565e97383b36f3a878219065c" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.25" +version = "0.8.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +checksum = "cf955aa904d6040f70dc8e9384444cb1030aed272ba3cb09bbc4ab9e7c1f34f5" dependencies = [ "proc-macro2", "quote", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index c6007cf..88bc959 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -14,10 +14,10 @@ crate-type = ["cdylib", "staticlib"] [dependencies] lazy_static = "1.4" tokio = { version = "1", features = ["full"] } -arti-client = { version = "0.30.0", features = ["static", "onion-service-client"] } -arti = { version = "1.4.3", features = ["experimental-api", "static"] } -tor-rtcompat = { version = "0.30.0", features = ["static"] } -tor-config = "0.30.0" +arti-client = { version = "0.36.0", features = ["static", "onion-service-client"] } +arti = { version = "1.7.0", features = ["experimental-api", "static"] } +tor-rtcompat = { version = "0.36.0", features = ["static"] } +tor-config = "0.36.0" log = "0.4.20" #android_log-sys = "0.3.1" rlimit = "0.10.1" diff --git a/rust/src/lib.rs b/rust/src/lib.rs index 65837ee..3aafe2e 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -4,7 +4,7 @@ // SPDX-License-Identifier: MIT use crate::error::update_last_error; -use arti::socks; +use arti::proxy; use arti_client::config::CfgPath; use arti_client::{DormantMode, TorClient, TorClientConfig}; use lazy_static::lazy_static; @@ -123,7 +123,7 @@ fn start_proxy( ) -> JoinHandle> { println!("Starting proxy!"); let rt = RUNTIME.as_ref().unwrap(); - rt.spawn(socks::run_socks_proxy( + rt.spawn(proxy::run_proxy( client.runtime().clone(), client.clone(), Listen::new_localhost(port),