diff --git a/Cargo.lock b/Cargo.lock index 57978e6c..5f2edb91 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,76 +20,93 @@ checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" [[package]] name = "accesskit" -version = "0.12.3" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3d3b8f9bae46a948369bc4a03e815d4ed6d616bd00de4051133a5019dc31c5a" + +[[package]] +name = "accesskit_atspi_common" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74a4b14f3d99c1255dcba8f45621ab1a2e7540a0009652d33989005a4d0bfc6b" +checksum = "7c5dd55e6e94949498698daf4d48fb5659e824d7abec0d394089656ceaf99d4f" dependencies = [ - "enumn", + "accesskit", + "accesskit_consumer", + "atspi-common", "serde", + "thiserror 1.0.69", + "zvariant", ] [[package]] name = "accesskit_consumer" -version = "0.16.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c17cca53c09fbd7288667b22a201274b9becaa27f0b91bf52a526db95de45e6" +checksum = "f47983a1084940ba9a39c077a8c63e55c619388be5476ac04c804cfbd1e63459" dependencies = [ "accesskit", + "hashbrown 0.15.2", + "immutable-chunkmap", ] [[package]] name = "accesskit_macos" -version = "0.10.1" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3b6ae1eabbfbced10e840fd3fce8a93ae84f174b3e4ba892ab7bcb42e477a7" +checksum = "7329821f3bd1101e03a7d2e03bd339e3ac0dc64c70b4c9f9ae1949e3ba8dece1" dependencies = [ "accesskit", "accesskit_consumer", - "objc2 0.3.0-beta.3.patch-leaks.3", - "once_cell", + "hashbrown 0.15.2", + "objc2", + "objc2-app-kit", + "objc2-foundation", ] [[package]] name = "accesskit_unix" -version = "0.6.2" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f46c18d99ba61ad7123dd13eeb0c104436ab6af1df6a1cd8c11054ed394a08" +checksum = "fcee751cc20d88678c33edaf9c07e8b693cd02819fe89053776f5313492273f5" dependencies = [ "accesskit", - "accesskit_consumer", + "accesskit_atspi_common", "async-channel 2.3.1", - "async-once-cell", + "async-executor", + "async-task", "atspi", - "futures-lite 1.13.0", - "once_cell", + "futures-lite 2.6.0", + "futures-util", "serde", "zbus", ] [[package]] name = "accesskit_windows" -version = "0.15.1" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcae27ec0974fc7c3b0b318783be89fd1b2e66dd702179fe600166a38ff4a0b" +checksum = "24fcd5d23d70670992b823e735e859374d694a3d12bfd8dd32bd3bd8bedb5d81" dependencies = [ "accesskit", "accesskit_consumer", - "once_cell", + "hashbrown 0.15.2", "paste", "static_assertions", - "windows 0.48.0", + "windows 0.58.0", + "windows-core 0.58.0", ] [[package]] name = "accesskit_winit" -version = "0.16.1" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5284218aca17d9e150164428a0ebc7b955f70e3a9a78b4c20894513aabf98a67" +checksum = "6a6a48dad5530b6deb9fc7a52cc6c3bf72cdd9eb8157ac9d32d69f2427a5e879" dependencies = [ "accesskit", "accesskit_macos", "accesskit_unix", "accesskit_windows", + "raw-window-handle 0.6.2", "winit", ] @@ -127,7 +144,6 @@ dependencies = [ "cfg-if", "getrandom 0.2.15", "once_cell", - "serde", "version_check", "zerocopy 0.7.35", ] @@ -149,12 +165,12 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "android-activity" -version = "0.5.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289" +checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", - "bitflags 2.8.0", + "bitflags 2.9.0", "cc", "cesu8", "jni", @@ -163,7 +179,7 @@ dependencies = [ "log", "ndk", "ndk-context", - "ndk-sys", + "ndk-sys 0.6.0+11769913", "num_enum", "thiserror 1.0.69", ] @@ -188,14 +204,13 @@ checksum = "5ecc8056bf6ab9892dcd53216c83d1597487d7dacac16c8df6b877d127df9937" [[package]] name = "android_logger" -version = "0.13.3" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c494134f746c14dc653a35a4ea5aca24ac368529da5370ecf41fe0341c35772f" +checksum = "05b07e8e73d720a1f2e4b6014766e6039fd2e96a4fa44e2a78d0e1fa2ff49826" dependencies = [ "android_log-sys", - "env_logger", + "env_filter", "log", - "once_cell", ] [[package]] @@ -301,11 +316,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df099ccb16cd014ff054ac1bf392c67feeef57164b05c42f037cd40f5d4357f4" dependencies = [ "clipboard-win", + "core-graphics", + "image", "log", - "objc2 0.5.2", + "objc2", "objc2-app-kit", "objc2-foundation", "parking_lot", + "windows-sys 0.48.0", "x11rb", ] @@ -383,21 +401,11 @@ checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16" [[package]] name = "ash" -version = "0.37.3+1.3.251" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" -dependencies = [ - "libloading 0.7.4", -] - -[[package]] -name = "async-broadcast" -version = "0.5.1" +version = "0.38.0+1.3.281" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" dependencies = [ - "event-listener 2.5.3", - "futures-core", + "libloading 0.8.6", ] [[package]] @@ -623,12 +631,6 @@ dependencies = [ "futures-lite 2.6.0", ] -[[package]] -name = "async-once-cell" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4288f83726785267c6f2ef073a3d83dc3f9b81464e9f99898240cced85fce35a" - [[package]] name = "async-process" version = "1.8.1" @@ -744,9 +746,9 @@ checksum = "628d228f918ac3b82fe590352cc719d30664a0c13ca3a60266fe02c7132d480a" [[package]] name = "atspi" -version = "0.19.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6059f350ab6f593ea00727b334265c4dfc7fd442ee32d264794bd9bdc68e87ca" +checksum = "be534b16650e35237bb1ed189ba2aab86ce65e88cc84c66f4935ba38575cecbf" dependencies = [ "atspi-common", "atspi-connection", @@ -755,39 +757,42 @@ dependencies = [ [[package]] name = "atspi-common" -version = "0.3.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92af95f966d2431f962bc632c2e68eda7777330158bf640c4af4249349b2cdf5" +checksum = "1909ed2dc01d0a17505d89311d192518507e8a056a48148e3598fef5e7bb6ba7" dependencies = [ "enumflags2", "serde", "static_assertions", "zbus", + "zbus-lockstep", + "zbus-lockstep-macros", "zbus_names", "zvariant", ] [[package]] name = "atspi-connection" -version = "0.3.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c65e7d70f86d4c0e3b2d585d9bf3f979f0b19d635a336725a88d279f76b939" +checksum = "430c5960624a4baaa511c9c0fcc2218e3b58f5dbcc47e6190cafee344b873333" dependencies = [ "atspi-common", "atspi-proxies", - "futures-lite 1.13.0", + "futures-lite 2.6.0", "zbus", ] [[package]] name = "atspi-proxies" -version = "0.3.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6495661273703e7a229356dcbe8c8f38223d697aacfaf0e13590a9ac9977bb52" +checksum = "a5e6c5de3e524cf967569722446bcd458d5032348554d9a17d7d72b041ab7496" dependencies = [ "atspi-common", "serde", "zbus", + "zvariant", ] [[package]] @@ -1135,13 +1140,13 @@ dependencies = [ [[package]] name = "axum" -version = "0.7.9" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +checksum = "6d6fd624c75e18b3b4c6b9caf42b1afe24437daaee904069137d8bab077be8b8" dependencies = [ - "async-trait", "axum-core", "bytes", + "form_urlencoded", "futures-util", "http 1.2.0", "http-body 1.0.1", @@ -1169,11 +1174,10 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.4.5" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +checksum = "df1362f362fd16024ae199c1970ce98f9661bf5ef94b9808fee734bc3698b733" dependencies = [ - "async-trait", "bytes", "futures-util", "http 1.2.0", @@ -1273,18 +1277,18 @@ dependencies = [ [[package]] name = "bit-set" -version = "0.5.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ "bit-vec", ] [[package]] name = "bit-vec" -version = "0.6.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitflags" @@ -1294,9 +1298,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" dependencies = [ "serde", ] @@ -1312,9 +1316,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +checksum = "675f87afced0413c9bb02843499dbbd3882a237645883f71a2b59644a6d2f753" dependencies = [ "arrayref", "arrayvec", @@ -1366,51 +1370,13 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-sys" -version = "0.1.0-beta.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" -dependencies = [ - "objc-sys 0.2.0-beta.2", -] - -[[package]] -name = "block-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" -dependencies = [ - "objc-sys 0.3.5", -] - -[[package]] -name = "block2" -version = "0.2.0-alpha.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" -dependencies = [ - "block-sys 0.1.0-beta.1", - "objc2-encode 2.0.0-pre.2", -] - -[[package]] -name = "block2" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68" -dependencies = [ - "block-sys 0.2.1", - "objc2 0.4.1", -] - [[package]] name = "block2" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" dependencies = [ - "objc2 0.5.2", + "objc2", ] [[package]] @@ -1426,6 +1392,15 @@ dependencies = [ "piper", ] +[[package]] +name = "borsh" +version = "1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5430e3be710b68d984d1391c854eb431a9d548640711faa54eecb1df93db91cc" +dependencies = [ + "cfg_aliases", +] + [[package]] name = "bstr" version = "1.11.3" @@ -1495,18 +1470,18 @@ dependencies = [ [[package]] name = "c2rust-bitfields" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b43c3f07ab0ef604fa6f595aa46ec2f8a22172c975e186f6f5bf9829a3b72c41" +checksum = "367e5d1b30f28be590b6b3868da1578361d29d9bfac516d22f497d28ed7c9055" dependencies = [ "c2rust-bitfields-derive", ] [[package]] name = "c2rust-bitfields-derive" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3cbc102e2597c9744c8bd8c15915d554300601c91a079430d309816b0912545" +checksum = "a279db9c50c4024eeca1a763b6e0f033848ce74e83e47454bcf8a8a98f7b0b56" dependencies = [ "proc-macro2", "quote", @@ -1534,7 +1509,7 @@ dependencies = [ "once_cell", "thiserror 1.0.69", "tokio", - "web-time 1.1.0", + "web-time", ] [[package]] @@ -1564,27 +1539,13 @@ dependencies = [ "crossbeam-channel", ] -[[package]] -name = "calloop" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" -dependencies = [ - "bitflags 2.8.0", - "log", - "polling 3.7.4", - "rustix 0.38.44", - "slab", - "thiserror 1.0.69", -] - [[package]] name = "calloop" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "log", "polling 3.7.4", "rustix 0.38.44", @@ -1592,25 +1553,13 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "calloop-wayland-source" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" -dependencies = [ - "calloop 0.12.4", - "rustix 0.38.44", - "wayland-backend", - "wayland-client", -] - [[package]] name = "calloop-wayland-source" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" dependencies = [ - "calloop 0.13.0", + "calloop", "rustix 0.38.44", "wayland-backend", "wayland-client", @@ -1618,9 +1567,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.15" +version = "1.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c736e259eea577f443d5c86c304f9f4ae0295c43f3ba05c21f1d66b5f06001af" +checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" dependencies = [ "jobserver", "libc", @@ -1639,12 +1588,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - [[package]] name = "cfg_aliases" version = "0.2.1" @@ -1686,9 +1629,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.39" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" +checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1696,7 +1639,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -1738,7 +1681,7 @@ version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "syn 2.0.98", @@ -1817,37 +1760,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" -[[package]] -name = "com" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6" -dependencies = [ - "com_macros", -] - -[[package]] -name = "com_macros" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5" -dependencies = [ - "com_macros_support", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "com_macros_support" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "combine" version = "4.6.7" @@ -2270,17 +2182,6 @@ dependencies = [ "serde", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "derive-new" version = "0.5.9" @@ -2355,9 +2256,9 @@ dependencies = [ [[package]] name = "dirs" -version = "5.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" dependencies = [ "dirs-sys", ] @@ -2374,14 +2275,14 @@ dependencies = [ [[package]] name = "dirs-sys" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", - "redox_users", - "windows-sys 0.48.0", + "redox_users 0.5.0", + "windows-sys 0.59.0", ] [[package]] @@ -2391,7 +2292,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", - "redox_users", + "redox_users 0.4.6", "winapi", ] @@ -2442,15 +2343,20 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "dpi" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" + [[package]] name = "ecolor" -version = "0.28.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e6b451ff1143f6de0f33fc7f1b68fecfd2c7de06e104de96c4514de3f5396f8" +checksum = "878e9005799dd739e5d5d89ff7480491c12d0af571d44399bcaefa1ee172dd76" dependencies = [ "bytemuck", "emath", - "serde", ] [[package]] @@ -2493,9 +2399,9 @@ dependencies = [ [[package]] name = "eframe" -version = "0.28.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6490ef800b2e41ee129b1f32f9ac15f713233fe3bc18e241a1afe1e4fb6811e0" +checksum = "eba4c50d905804fe9ec4e159fde06b9d38f9440228617ab64a03d7a2091ece63" dependencies = [ "ahash", "bytemuck", @@ -2510,44 +2416,44 @@ dependencies = [ "image", "js-sys", "log", - "objc2 0.5.2", + "objc2", "objc2-app-kit", "objc2-foundation", "parking_lot", "percent-encoding", - "pollster 0.3.0", - "raw-window-handle 0.5.2", + "profiling", "raw-window-handle 0.6.2", "static_assertions", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "web-time 0.2.4", - "wgpu", + "web-time", "winapi", + "windows-sys 0.59.0", "winit", ] [[package]] name = "egui" -version = "0.28.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c97e70a2768de630f161bb5392cbd3874fcf72868f14df0e002e82e06cb798" +checksum = "7d2768eaa6d5c80a6e2a008da1f0e062dff3c83eb2b28605ea2d0732d46e74d6" dependencies = [ "accesskit", "ahash", + "bitflags 2.9.0", "emath", "epaint", "log", "nohash-hasher", - "serde", + "profiling", ] [[package]] name = "egui-wgpu" -version = "0.28.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47c7a7c707877c3362a321ebb4f32be811c0b91f7aebf345fb162405c0218b4c" +checksum = "6d8151704bcef6271bec1806c51544d70e79ef20e8616e5eac01facfd9c8c54a" dependencies = [ "ahash", "bytemuck", @@ -2555,36 +2461,39 @@ dependencies = [ "egui", "epaint", "log", + "profiling", "thiserror 1.0.69", "type-map", - "web-time 0.2.4", + "web-time", "wgpu", "winit", ] [[package]] name = "egui-winit" -version = "0.28.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fac4e066af341bf92559f60dbdf2020b2a03c963415349af5f3f8d79ff7a4926" +checksum = "ace791b367c1f63e6044aef2f3834904509d1d1a6912fd23ebf3f6a9af92cd84" dependencies = [ "accesskit_winit", "ahash", "arboard", + "bytemuck", "egui", "log", + "profiling", "raw-window-handle 0.6.2", "smithay-clipboard", - "web-time 0.2.4", + "web-time", "webbrowser", "winit", ] [[package]] name = "egui_extras" -version = "0.28.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb783d9fa348f69ed5c340aa25af78b5472043090e8b809040e30960cc2a746" +checksum = "b5b5cf69510eb3d19211fc0c062fb90524f43fe8e2c012967dcf0e2d81cb040f" dependencies = [ "ahash", "egui", @@ -2593,15 +2502,15 @@ dependencies = [ "image", "log", "mime_guess2", + "profiling", "resvg", - "serde", ] [[package]] name = "egui_glow" -version = "0.28.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2bdc8b38cfa17cc712c4ae079e30c71c00cd4c2763c9e16dc7860a02769103" +checksum = "9a53e2374a964c3c793cb0b8ead81bca631f24974bc0b747d1a5622f4e39fdd0" dependencies = [ "ahash", "bytemuck", @@ -2609,6 +2518,7 @@ dependencies = [ "glow", "log", "memoffset 0.9.1", + "profiling", "wasm-bindgen", "web-sys", "winit", @@ -2616,9 +2526,9 @@ dependencies = [ [[package]] name = "egui_plot" -version = "0.28.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7acc4fe778c41b91d57e04c1a2cf5765b3dc977f9f8384d2bb2eb4254855365" +checksum = "1794c66fb727dac28dffed2e4b548e5118d1cccc331d368a35411d68725dde71" dependencies = [ "ahash", "egui", @@ -2664,14 +2574,19 @@ dependencies = [ [[package]] name = "emath" -version = "0.28.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6a21708405ea88f63d8309650b4d77431f4bc28fb9d8e6f77d3963b51249e6" +checksum = "55b7b6be5ad1d247f11738b0e4699d9c20005ed366f2c29f5ec1f8e1de180bc2" dependencies = [ "bytemuck", - "serde", ] +[[package]] +name = "endi" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" + [[package]] name = "enum-map" version = "2.7.3" @@ -2715,46 +2630,52 @@ dependencies = [ ] [[package]] -name = "enumn" -version = "0.1.14" +name = "env_filter" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" +checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", + "log", + "regex", ] [[package]] name = "env_logger" -version = "0.10.2" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" +checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0" dependencies = [ + "anstream", + "anstyle", + "env_filter", "humantime", - "is-terminal", "log", - "regex", - "termcolor", ] [[package]] name = "epaint" -version = "0.28.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f0dcc0a0771e7500e94cd1cb797bd13c9f23b9409bdc3c824e2cbc562b7fa01" +checksum = "275b665a7b9611d8317485187e5458750850f9e64604d3c58434bb3fc1d22915" dependencies = [ "ab_glyph", "ahash", "bytemuck", "ecolor", "emath", + "epaint_default_fonts", "log", "nohash-hasher", "parking_lot", - "serde", + "profiling", ] +[[package]] +name = "epaint_default_fonts" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9343d356d7cac894dacafc161b4654e0881301097bdf32a122ed503d97cb94b6" + [[package]] name = "equivalent" version = "1.0.2" @@ -2978,9 +2899,9 @@ dependencies = [ [[package]] name = "futures-buffered" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "675cc4d9adabdbfe43e69586f418938e5ac343ac6dd41170662761f06d63b8c0" +checksum = "fe940397c8b744b9c2c974791c2c08bca2c3242ce0290393249e98f215a00472" dependencies = [ "cordyceps", "diatomic-waker 0.2.3", @@ -3181,7 +3102,7 @@ dependencies = [ "once_cell", "oneshot", "picomux", - "rand 0.8.5", + "rand 0.9.0", "reqwest", "scopeguard", "serde_json", @@ -3224,8 +3145,8 @@ dependencies = [ "nanorpc-sillad", "once_cell", "oneshot", - "pollster 0.3.0", - "rand 0.8.5", + "pollster 0.4.0", + "rand 0.9.0", "reqwest", "rusty_pool", "serde", @@ -3239,7 +3160,7 @@ dependencies = [ "sqlx", "stdcode", "tap", - "thiserror 1.0.69", + "thiserror 2.0.11", "tokio", "tracing", "tracing-subscriber", @@ -3264,7 +3185,7 @@ dependencies = [ "serde_json", "serde_with 3.12.0", "stdcode", - "thiserror 1.0.69", + "thiserror 2.0.11", "tracing", ] @@ -3275,7 +3196,7 @@ dependencies = [ "anyctx", "anyhow", "arc-writer", - "async-broadcast 0.7.2", + "async-broadcast", "async-compat", "async-dup", "async-event", @@ -3311,7 +3232,7 @@ dependencies = [ "hyper-util", "ipstack-geph", "isocountry", - "itertools 0.13.0", + "itertools 0.14.0", "libc", "mizaru2", "moka", @@ -3335,18 +3256,18 @@ dependencies = [ "sillad-conntest", "sillad-native-tls", "sillad-sosistab3", - "simple-dns 0.7.1", + "simple-dns", "slab", "smol 2.0.2", "smol-timeout2", - "smol_str", + "smol_str 0.3.2", "smolscale", "socksv5", "sqlx", "stdcode", "tachyonix", "tap", - "thiserror 1.0.69", + "thiserror 2.0.11", "tokio", "tower-service", "tracing", @@ -3365,13 +3286,14 @@ dependencies = [ "eframe", "egui", "egui-winit", + "egui_extras", "env_logger", "geph5-client-gui", "jni", "log", "ndk-context", "once_cell", - "pollster 0.2.5", + "pollster 0.4.0", "reqwest", "smolscale", "tracing", @@ -3399,7 +3321,7 @@ dependencies = [ "http 1.2.0", "image", "isocountry", - "itertools 0.13.0", + "itertools 0.14.0", "moka", "nanorpc-sillad", "native-dialog", @@ -3415,7 +3337,7 @@ dependencies = [ "single-instance", "smol 2.0.2", "smol-timeout2", - "smol_str", + "smol_str 0.3.2", "smolscale", "strip-ansi-escapes", "tap", @@ -3475,7 +3397,7 @@ dependencies = [ "sillad-conntest", "sillad-native-tls", "sillad-sosistab3", - "simple-dns 0.9.3", + "simple-dns", "smol 2.0.2", "smol-timeout2", "smolscale", @@ -3484,7 +3406,7 @@ dependencies = [ "sysinfo", "tachyonix", "tap", - "thiserror 1.0.69", + "thiserror 2.0.11", "threadpool", "tikv-jemallocator", "time", @@ -3517,7 +3439,7 @@ dependencies = [ "stdcode", "tachyonix", "tap", - "thiserror 1.0.69", + "thiserror 2.0.11", "x25519-dalek", ] @@ -3551,8 +3473,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.13.3+wasi-0.2.2", + "wasm-bindgen", "windows-targets 0.52.6", ] @@ -3591,9 +3515,9 @@ checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "globset" -version = "0.4.15" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" +checksum = "54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5" dependencies = [ "aho-corasick", "bstr", @@ -3604,9 +3528,9 @@ dependencies = [ [[package]] name = "glow" -version = "0.13.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" +checksum = "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08" dependencies = [ "js-sys", "slotmap", @@ -3616,55 +3540,56 @@ dependencies = [ [[package]] name = "glutin" -version = "0.31.3" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fcd4ae4e86d991ad1300b8f57166e5be0c95ef1f63f3f5b827f8a164548746" +checksum = "03642b8b0cce622392deb0ee3e88511f75df2daac806102597905c3ea1974848" dependencies = [ - "bitflags 2.8.0", - "cfg_aliases 0.1.1", + "bitflags 2.9.0", + "cfg_aliases", "cgl", "core-foundation 0.9.4", "dispatch", "glutin_egl_sys", "glutin_glx_sys", "glutin_wgl_sys", - "icrate", "libloading 0.8.6", - "objc2 0.4.1", + "objc2", + "objc2-app-kit", + "objc2-foundation", "once_cell", - "raw-window-handle 0.5.2", + "raw-window-handle 0.6.2", "wayland-sys", - "windows-sys 0.48.0", + "windows-sys 0.52.0", "x11-dl", ] [[package]] name = "glutin-winit" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ebcdfba24f73b8412c5181e56f092b5eff16671c514ce896b258a0a64bd7735" +checksum = "85edca7075f8fc728f28cb8fbb111a96c3b89e930574369e3e9c27eb75d3788f" dependencies = [ - "cfg_aliases 0.1.1", + "cfg_aliases", "glutin", - "raw-window-handle 0.5.2", + "raw-window-handle 0.6.2", "winit", ] [[package]] name = "glutin_egl_sys" -version = "0.6.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77cc5623f5309ef433c3dd4ca1223195347fe62c413da8e2fdd0eb76db2d9bcd" +checksum = "4c4680ba6195f424febdc3ba46e7a42a0e58743f2edb115297b86d7f8ecc02d2" dependencies = [ "gl_generator", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "glutin_glx_sys" -version = "0.5.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a165fd686c10dcc2d45380b35796e577eacfd43d4660ee741ec8ebe2201b3b4f" +checksum = "8a7bb2938045a88b612499fbcba375a77198e01306f52272e692f8c1f3751185" dependencies = [ "gl_generator", "x11-dl", @@ -3672,31 +3597,34 @@ dependencies = [ [[package]] name = "glutin_wgl_sys" -version = "0.5.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead" +checksum = "2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e" dependencies = [ "gl_generator", ] [[package]] name = "governor" -version = "0.6.3" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" +checksum = "be93b4ec2e4710b04d9264c0c7350cdd62a8c20e5e4ac732552ebb8f0debe8eb" dependencies = [ "cfg-if", - "dashmap 5.5.3", - "futures", + "dashmap 6.1.0", + "futures-sink", "futures-timer", + "futures-util", + "getrandom 0.3.1", "no-std-compat", "nonzero_ext", "parking_lot", "portable-atomic", "quanta", - "rand 0.8.5", + "rand 0.9.0", "smallvec", "spinning_top", + "web-time", ] [[package]] @@ -3705,7 +3633,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "gpu-alloc-types", ] @@ -3715,20 +3643,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.8.0", -] - -[[package]] -name = "gpu-allocator" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" -dependencies = [ - "log", - "presser", - "thiserror 1.0.69", - "winapi", - "windows 0.52.0", + "bitflags 2.9.0", ] [[package]] @@ -3737,7 +3652,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcf29e94d6d243368b7a56caa16bc213e4f9f8ed38c4d9557069527b5d5281ca" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "gpu-descriptor-types", "hashbrown 0.15.2", ] @@ -3748,7 +3663,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -3792,40 +3707,18 @@ version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ + "allocator-api2", + "equivalent", "foldhash", ] [[package]] name = "hashlink" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" -dependencies = [ - "hashbrown 0.14.5", -] - -[[package]] -name = "hassle-rs" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" -dependencies = [ - "bitflags 2.8.0", - "com", - "libc", - "libloading 0.8.6", - "thiserror 1.0.69", - "widestring 1.1.0", - "winapi", -] - -[[package]] -name = "heck" -version = "0.4.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ - "unicode-segmentation", + "hashbrown 0.15.2", ] [[package]] @@ -4098,17 +3991,6 @@ dependencies = [ "cc", ] -[[package]] -name = "icrate" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319" -dependencies = [ - "block2 0.3.0", - "dispatch", - "objc2 0.4.1", -] - [[package]] name = "icu_collections" version = "1.5.0" @@ -4264,8 +4146,20 @@ dependencies = [ "byteorder-lite", "color_quant", "gif", + "image-webp", "num-traits", "png", + "tiff", +] + +[[package]] +name = "image-webp" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b77d01e822461baa8409e156015a1d91735549f0f2c17691bd2d996bef238f7f" +dependencies = [ + "byteorder-lite", + "quick-error", ] [[package]] @@ -4274,6 +4168,15 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284" +[[package]] +name = "immutable-chunkmap" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f97096f508d54f8f8ab8957862eee2ccd628847b6217af1a335e1c44dee578" +dependencies = [ + "arrayvec", +] + [[package]] name = "indexmap" version = "1.9.3" @@ -4325,12 +4228,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "ioctl-sys" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bd11f3a29434026f5ff98c730b668ba74b1033637b8817940b54d040696133c" - [[package]] name = "ipnet" version = "2.11.0" @@ -4361,17 +4258,6 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "is-terminal" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" -dependencies = [ - "hermit-abi 0.4.0", - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -4399,9 +4285,9 @@ dependencies = [ [[package]] name = "itertools" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ "either", ] @@ -4454,6 +4340,12 @@ dependencies = [ "libc", ] +[[package]] +name = "jpeg-decoder" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" + [[package]] name = "js-sys" version = "0.3.77" @@ -4546,16 +4438,16 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "libc", "redox_syscall 0.5.9", ] [[package]] name = "libsqlite3-sys" -version = "0.27.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" dependencies = [ "cc", "pkg-config", @@ -4576,9 +4468,9 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "litemap" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" +checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" [[package]] name = "litrs" @@ -4648,9 +4540,9 @@ dependencies = [ [[package]] name = "matchit" -version = "0.7.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "md-5" @@ -4698,15 +4590,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.1" @@ -4718,11 +4601,11 @@ dependencies = [ [[package]] name = "metal" -version = "0.28.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5637e166ea14be6063a3f8ba5ccb9a4159df7d8f6d61c02fc3d480b1f90dcfcb" +checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "block", "core-graphics-types", "foreign-types 0.5.0", @@ -4812,22 +4695,23 @@ dependencies = [ [[package]] name = "naga" -version = "0.20.0" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e536ae46fcab0876853bd4a632ede5df4b1c2527a58f6c5a4150fe86be858231" +checksum = "e380993072e52eef724eddfcde0ed013b0c023c3f0417336ed041aa9f076994e" dependencies = [ "arrayvec", "bit-set", - "bitflags 2.8.0", + "bitflags 2.9.0", + "cfg_aliases", "codespan-reporting", "hexf-parse", "indexmap 2.7.1", "log", - "num-traits", "rustc-hash 1.1.0", "spirv", + "strum", "termcolor", - "thiserror 1.0.69", + "thiserror 2.0.11", "unicode-xid", ] @@ -4869,7 +4753,7 @@ dependencies = [ "nanorpc", "serde_json", "sillad", - "thiserror 1.0.69", + "thiserror 2.0.11", ] [[package]] @@ -4914,16 +4798,15 @@ dependencies = [ [[package]] name = "ndk" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "jni-sys", "log", - "ndk-sys", + "ndk-sys 0.6.0+11769913", "num_enum", - "raw-window-handle 0.5.2", "raw-window-handle 0.6.2", "thiserror 1.0.69", ] @@ -4944,28 +4827,25 @@ dependencies = [ ] [[package]] -name = "nix" -version = "0.23.2" +name = "ndk-sys" +version = "0.6.0+11769913" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" dependencies = [ - "bitflags 1.3.2", - "cc", - "cfg-if", - "libc", - "memoffset 0.6.5", + "jni-sys", ] [[package]] name = "nix" -version = "0.26.4" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" dependencies = [ "bitflags 1.3.2", + "cc", "cfg-if", "libc", - "memoffset 0.7.1", + "memoffset 0.6.5", ] [[package]] @@ -4974,10 +4854,11 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "cfg-if", - "cfg_aliases 0.2.1", + "cfg_aliases", "libc", + "memoffset 0.9.1", ] [[package]] @@ -5112,7 +4993,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate", "proc-macro2", "quote", "syn 2.0.98", @@ -5147,12 +5028,6 @@ dependencies = [ "objc_id", ] -[[package]] -name = "objc-sys" -version = "0.2.0-beta.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" - [[package]] name = "objc-sys" version = "0.3.5" @@ -5161,49 +5036,52 @@ checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" [[package]] name = "objc2" -version = "0.3.0-beta.3.patch-leaks.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" dependencies = [ - "block2 0.2.0-alpha.6", - "objc-sys 0.2.0-beta.2", - "objc2-encode 2.0.0-pre.2", + "objc-sys", + "objc2-encode", ] [[package]] -name = "objc2" -version = "0.4.1" +name = "objc2-app-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "objc-sys 0.3.5", - "objc2-encode 3.0.0", + "bitflags 2.9.0", + "block2", + "libc", + "objc2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation", + "objc2-quartz-core", ] [[package]] -name = "objc2" -version = "0.5.2" +name = "objc2-cloud-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "objc-sys 0.3.5", - "objc2-encode 4.1.0", + "bitflags 2.9.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", ] [[package]] -name = "objc2-app-kit" +name = "objc2-contacts" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" dependencies = [ - "bitflags 2.8.0", - "block2 0.5.1", - "libc", - "objc2 0.5.2", - "objc2-core-data", - "objc2-core-image", + "block2", + "objc2", "objc2-foundation", - "objc2-quartz-core", ] [[package]] @@ -5212,9 +5090,9 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.8.0", - "block2 0.5.1", - "objc2 0.5.2", + "bitflags 2.9.0", + "block2", + "objc2", "objc2-foundation", ] @@ -5224,27 +5102,24 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" dependencies = [ - "block2 0.5.1", - "objc2 0.5.2", + "block2", + "objc2", "objc2-foundation", "objc2-metal", ] [[package]] -name = "objc2-encode" -version = "2.0.0-pre.2" +name = "objc2-core-location" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" dependencies = [ - "objc-sys 0.2.0-beta.2", + "block2", + "objc2", + "objc2-contacts", + "objc2-foundation", ] -[[package]] -name = "objc2-encode" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" - [[package]] name = "objc2-encode" version = "4.1.0" @@ -5257,10 +5132,23 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.8.0", - "block2 0.5.1", + "bitflags 2.9.0", + "block2", + "dispatch", "libc", - "objc2 0.5.2", + "objc2", +] + +[[package]] +name = "objc2-link-presentation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" +dependencies = [ + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", ] [[package]] @@ -5269,9 +5157,9 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.8.0", - "block2 0.5.1", - "objc2 0.5.2", + "bitflags 2.9.0", + "block2", + "objc2", "objc2-foundation", ] @@ -5281,13 +5169,68 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.8.0", - "block2 0.5.1", - "objc2 0.5.2", + "bitflags 2.9.0", + "block2", + "objc2", "objc2-foundation", "objc2-metal", ] +[[package]] +name = "objc2-symbols" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" +dependencies = [ + "bitflags 2.9.0", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" +dependencies = [ + "bitflags 2.9.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + [[package]] name = "objc_id" version = "0.1.1" @@ -5333,7 +5276,7 @@ version = "0.10.71" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "cfg-if", "foreign-types 0.3.2", "libc", @@ -5396,6 +5339,15 @@ dependencies = [ "libredox", ] +[[package]] +name = "ordered-float" +version = "4.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" +dependencies = [ + "num-traits", +] + [[package]] name = "ordered-stream" version = "0.2.0" @@ -5542,7 +5494,7 @@ dependencies = [ "oneshot", "parking_lot", "pin-project", - "rand 0.8.5", + "rand 0.9.0", "recycle-box", "scopeguard", "serde", @@ -5756,15 +5708,15 @@ dependencies = [ [[package]] name = "pollster" -version = "0.2.5" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5da3b0203fd7ee5720aa0b5e790b591aa5d3f41c3ed2c34a3a393382198af2f7" +checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" [[package]] name = "pollster" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" +checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" [[package]] name = "poly1305" @@ -5798,29 +5750,13 @@ dependencies = [ "zerocopy 0.7.35", ] -[[package]] -name = "presser" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - [[package]] name = "proc-macro-crate" version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit 0.22.24", + "toml_edit", ] [[package]] @@ -5840,9 +5776,9 @@ checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d" [[package]] name = "psl" -version = "2.1.87" +version = "2.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826daf1dbfd289c8b192254afed4820293eb9992f1875f96468ea1d1c4cf3c09" +checksum = "d69a99af0dfed3b5279a24891a8128d536f075bef423b5974d70edd17e1f6c91" dependencies = [ "psl-types", ] @@ -5868,6 +5804,22 @@ dependencies = [ "winapi", ] +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + +[[package]] +name = "quick-xml" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "quick-xml" version = "0.37.2" @@ -5912,7 +5864,7 @@ dependencies = [ "thiserror 2.0.11", "tinyvec", "tracing", - "web-time 1.1.0", + "web-time", ] [[package]] @@ -5921,7 +5873,7 @@ version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944" dependencies = [ - "cfg_aliases 0.2.1", + "cfg_aliases", "libc", "once_cell", "socket2 0.5.8", @@ -5957,7 +5909,7 @@ checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.2", - "zerocopy 0.8.20", + "zerocopy 0.8.21", ] [[package]] @@ -5996,7 +5948,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a509b1a2ffbe92afab0e55c8fd99dea1c280e8171bd2d88682bb20bc41cbc2c" dependencies = [ "getrandom 0.3.1", - "zerocopy 0.8.20", + "zerocopy 0.8.21", ] [[package]] @@ -6005,7 +5957,7 @@ version = "11.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "529468c1335c1c03919960dfefdb1b3648858c20d7ec2d0663e728e4a717efbc" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -6067,9 +6019,9 @@ checksum = "05180b1c0f6183a05d92c22a01db6f289074b9d78ff639b0488cb6be3efdc644" [[package]] name = "redox_syscall" -version = "0.3.5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ "bitflags 1.3.2", ] @@ -6080,7 +6032,7 @@ version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82b568323e98e49e2a0899dcee453dd679fae22d69adf9b11dd508d1549b7e2f" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -6094,6 +6046,17 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "redox_users" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" +dependencies = [ + "getrandom 0.2.15", + "libredox", + "thiserror 2.0.11", +] + [[package]] name = "regex" version = "1.11.1" @@ -6351,7 +6314,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -6421,7 +6384,7 @@ version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ - "web-time 1.1.0", + "web-time", ] [[package]] @@ -6512,14 +6475,14 @@ dependencies = [ [[package]] name = "sctk-adwaita" -version = "0.8.3" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70b31447ca297092c5a9916fc3b955203157b37c19ca8edde4f52e9843e602c7" +checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" dependencies = [ "ab_glyph", "log", "memmap2", - "smithay-client-toolkit 0.18.1", + "smithay-client-toolkit", "tiny-skia", ] @@ -6529,7 +6492,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -6781,7 +6744,7 @@ dependencies = [ "futures-util", "libc", "pin-project", - "rand 0.8.5", + "rand 0.9.0", "smol-timeout2", "tracing", ] @@ -6854,20 +6817,11 @@ checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" [[package]] name = "simple-dns" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c80e565e7dcc4f1ef247e2f395550d4cf7d777746d5988e7e4e3156b71077fc" -dependencies = [ - "bitflags 2.8.0", -] - -[[package]] -name = "simple-dns" -version = "0.9.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a" +checksum = "f5da8dfb6f2a439ebd970a8e66f68333c778e82aaeee37335c49bb8f957eb56d" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -6888,7 +6842,7 @@ dependencies = [ "libc", "nix 0.23.2", "thiserror 1.0.69", - "widestring 0.4.3", + "widestring", "winapi", ] @@ -6921,30 +6875,8 @@ name = "smallvec" version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" - -[[package]] -name = "smithay-client-toolkit" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" dependencies = [ - "bitflags 2.8.0", - "calloop 0.12.4", - "calloop-wayland-source 0.2.0", - "cursor-icon", - "libc", - "log", - "memmap2", - "rustix 0.38.44", - "thiserror 1.0.69", - "wayland-backend", - "wayland-client", - "wayland-csd-frame", - "wayland-cursor", - "wayland-protocols 0.31.2", - "wayland-protocols-wlr 0.2.0", - "wayland-scanner", - "xkeysym", + "serde", ] [[package]] @@ -6953,9 +6885,9 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 2.8.0", - "calloop 0.13.0", - "calloop-wayland-source 0.3.0", + "bitflags 2.9.0", + "calloop", + "calloop-wayland-source", "cursor-icon", "libc", "log", @@ -6966,8 +6898,8 @@ dependencies = [ "wayland-client", "wayland-csd-frame", "wayland-cursor", - "wayland-protocols 0.32.6", - "wayland-protocols-wlr 0.3.6", + "wayland-protocols", + "wayland-protocols-wlr", "wayland-scanner", "xkeysym", ] @@ -6979,7 +6911,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc8216eec463674a0e90f29e0ae41a4db573ec5b56b1c6c1c71615d249b6d846" dependencies = [ "libc", - "smithay-client-toolkit 0.19.2", + "smithay-client-toolkit", "wayland-backend", ] @@ -7046,6 +6978,16 @@ dependencies = [ "serde", ] +[[package]] +name = "smol_str" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9676b89cd56310a87b93dec47b11af744f34d5fc9f367b829474eec0a891350d" +dependencies = [ + "borsh", + "serde", +] + [[package]] name = "smolscale" version = "0.4.15" @@ -7139,7 +7081,7 @@ version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -7162,21 +7104,11 @@ dependencies = [ "der 0.7.9", ] -[[package]] -name = "sqlformat" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790" -dependencies = [ - "nom", - "unicode_categories", -] - [[package]] name = "sqlx" -version = "0.7.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9a2ccff1a000a5a59cd33da541d9f2fdcd9e6e8229cc200565942bff36d0aaa" +checksum = "4410e73b3c0d8442c5f99b425d7a435b5ee0ae4167b3196771dd3f7a01be745f" dependencies = [ "sqlx-core", "sqlx-macros", @@ -7187,69 +7119,63 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.7.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6" +checksum = "6a007b6936676aa9ab40207cde35daab0a04b823be8ae004368c0793b96a61e0" dependencies = [ - "ahash", - "atoi", - "byteorder", "bytes", "chrono", "crc", "crossbeam-queue", "either", - "event-listener 2.5.3", - "futures-channel", + "event-listener 5.4.0", "futures-core", "futures-intrusive", "futures-io", "futures-util", + "hashbrown 0.15.2", "hashlink", - "hex", "indexmap 2.7.1", "log", "memchr", "once_cell", - "paste", "percent-encoding", - "rustls 0.21.12", - "rustls-pemfile 1.0.4", + "rustls 0.23.23", + "rustls-pemfile 2.2.0", "serde", "serde_json", "sha2 0.10.8", "smallvec", - "sqlformat", - "thiserror 1.0.69", + "thiserror 2.0.11", "tokio", "tokio-stream", "tracing", "url", - "webpki-roots 0.25.4", + "webpki-roots 0.26.8", ] [[package]] name = "sqlx-macros" -version = "0.7.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea40e2345eb2faa9e1e5e326db8c34711317d2b5e08d0d5741619048a803127" +checksum = "3112e2ad78643fef903618d78cf0aec1cb3134b019730edb039b69eaf531f310" dependencies = [ "proc-macro2", "quote", "sqlx-core", "sqlx-macros-core", - "syn 1.0.109", + "syn 2.0.98", ] [[package]] name = "sqlx-macros-core" -version = "0.7.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5833ef53aaa16d860e92123292f1f6a3d53c34ba8b1969f152ef1a7bb803f3c8" +checksum = "4e9f90acc5ab146a99bf5061a7eb4976b573f560bc898ef3bf8435448dd5e7ad" dependencies = [ "dotenvy", "either", - "heck 0.4.1", + "heck", "hex", "once_cell", "proc-macro2", @@ -7261,7 +7187,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 1.0.109", + "syn 2.0.98", "tempfile", "tokio", "url", @@ -7269,13 +7195,13 @@ dependencies = [ [[package]] name = "sqlx-mysql" -version = "0.7.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ed31390216d20e538e447a7a9b959e06ed9fc51c37b514b46eb758016ecd418" +checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" dependencies = [ "atoi", - "base64 0.21.7", - "bitflags 2.8.0", + "base64 0.22.1", + "bitflags 2.9.0", "byteorder", "bytes", "chrono", @@ -7305,20 +7231,20 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror 1.0.69", + "thiserror 2.0.11", "tracing", "whoami", ] [[package]] name = "sqlx-postgres" -version = "0.7.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c824eb80b894f926f89a0b9da0c7f435d27cdd35b8c655b114e58223918577e" +checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" dependencies = [ "atoi", - "base64 0.21.7", - "bitflags 2.8.0", + "base64 0.22.1", + "bitflags 2.9.0", "byteorder", "chrono", "crc", @@ -7326,7 +7252,6 @@ dependencies = [ "etcetera", "futures-channel", "futures-core", - "futures-io", "futures-util", "hex", "hkdf", @@ -7344,16 +7269,16 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror 1.0.69", + "thiserror 2.0.11", "tracing", "whoami", ] [[package]] name = "sqlx-sqlite" -version = "0.7.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b244ef0a8414da0bed4bb1910426e890b19e5e9bccc27ada6b797d05c55ae0aa" +checksum = "f85ca71d3a5b24e64e1d08dd8fe36c6c95c339a896cc33068148906784620540" dependencies = [ "atoi", "chrono", @@ -7367,10 +7292,10 @@ dependencies = [ "log", "percent-encoding", "serde", + "serde_urlencoded", "sqlx-core", "tracing", "url", - "urlencoding", ] [[package]] @@ -7449,6 +7374,28 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.98", +] + [[package]] name = "subtle" version = "2.6.1" @@ -7515,17 +7462,16 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.30.13" +version = "0.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" +checksum = "4fc858248ea01b66f19d8e8a6d55f41deaf91e9d495246fd01368d99935c6c01" dependencies = [ - "cfg-if", "core-foundation-sys", "libc", + "memchr", "ntapi", - "once_cell", "rayon", - "windows 0.52.0", + "windows 0.57.0", ] [[package]] @@ -7644,6 +7590,17 @@ dependencies = [ "num_cpus", ] +[[package]] +name = "tiff" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" +dependencies = [ + "flate2", + "jpeg-decoder", + "weezl", +] + [[package]] name = "tikv-jemalloc-sys" version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7" @@ -7847,7 +7804,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.24", + "toml_edit", ] [[package]] @@ -7859,17 +7816,6 @@ dependencies = [ "serde", ] -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.7.1", - "toml_datetime", - "winnow 0.5.40", -] - [[package]] name = "toml_edit" version = "0.22.24" @@ -7880,7 +7826,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "winnow 0.7.3", + "winnow", ] [[package]] @@ -8021,15 +7967,19 @@ checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" [[package]] name = "tun" -version = "0.6.1" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0adb9992bbd5ca76f3847ed579ad4ee8defb2ec2eea918cceef17ccc66fa4fd4" +checksum = "9298ac5c7f0076908d7a168c634bf4867b4a7d5725eb6356863f8640c6c35ef1" dependencies = [ - "ioctl-sys", + "bytes", + "cfg-if", + "ipnet", "libc", "log", - "thiserror 1.0.69", - "wintun", + "nix 0.29.0", + "thiserror 2.0.11", + "windows-sys 0.59.0", + "wintun-bindings", ] [[package]] @@ -8115,12 +8065,6 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" -[[package]] -name = "unicode_categories" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" - [[package]] name = "universal-hash" version = "0.5.1" @@ -8240,9 +8184,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.14.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d59ca99a559661b96bf898d8fce28ed87935fd2bea9f05983c1464dd6c71b1" +checksum = "e0f540e3240398cce6128b64ba83fdbdd86129c16a3aa1a3a252efd66eb3d587" dependencies = [ "getrandom 0.3.1", ] @@ -8427,7 +8371,7 @@ version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2120de3d33638aaef5b9f4472bff75f07c56379cf76ea320bd3a3d65ecaf73f" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "rustix 0.38.44", "wayland-backend", "wayland-scanner", @@ -8439,7 +8383,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "cursor-icon", "wayland-backend", ] @@ -8455,25 +8399,13 @@ dependencies = [ "xcursor", ] -[[package]] -name = "wayland-protocols" -version = "0.31.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" -dependencies = [ - "bitflags 2.8.0", - "wayland-backend", - "wayland-client", - "wayland-scanner", -] - [[package]] name = "wayland-protocols" version = "0.32.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0781cf46869b37e36928f7b432273c0995aa8aed9552c556fb18754420541efc" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -8481,27 +8413,14 @@ dependencies = [ [[package]] name = "wayland-protocols-plasma" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" -dependencies = [ - "bitflags 2.8.0", - "wayland-backend", - "wayland-client", - "wayland-protocols 0.31.2", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols-wlr" -version = "0.2.0" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +checksum = "7ccaacc76703fefd6763022ac565b590fcade92202492381c95b2edfdf7d46b3" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", - "wayland-protocols 0.31.2", + "wayland-protocols", "wayland-scanner", ] @@ -8511,10 +8430,10 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "248a02e6f595aad796561fa82d25601bd2c8c3b145b1c7453fc8f94c1a58f8b2" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", - "wayland-protocols 0.32.6", + "wayland-protocols", "wayland-scanner", ] @@ -8525,7 +8444,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "896fdafd5d28145fce7958917d69f2fd44469b1d4e861cb5961bcbeebc6d1484" dependencies = [ "proc-macro2", - "quick-xml", + "quick-xml 0.37.2", "quote", ] @@ -8551,16 +8470,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "web-time" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - [[package]] name = "web-time" version = "1.1.0" @@ -8577,13 +8486,13 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea9fe1ebb156110ff855242c1101df158b822487e4957b0556d9ffce9db0f535" dependencies = [ - "block2 0.5.1", + "block2", "core-foundation 0.10.0", "home", "jni", "log", "ndk-context", - "objc2 0.5.2", + "objc2", "objc2-foundation", "url", "web-sys", @@ -8622,17 +8531,16 @@ dependencies = [ [[package]] name = "wgpu" -version = "0.20.1" +version = "24.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e37c7b9921b75dfd26dd973fdcbce36f13dfa6e2dc82aece584e0ed48c355c" +checksum = "47f55718f85c2fa756edffa0e7f0e0a60aba463d1362b57e23123c58f035e4b6" dependencies = [ "arrayvec", - "cfg-if", - "cfg_aliases 0.1.1", + "bitflags 2.9.0", + "cfg_aliases", "document-features", "js-sys", "log", - "naga", "parking_lot", "profiling", "raw-window-handle 0.6.2", @@ -8648,15 +8556,14 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.21.1" +version = "24.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50819ab545b867d8a454d1d756b90cd5f15da1f2943334ca314af10583c9d39" +checksum = "671c25545d479b47d3f0a8e373aceb2060b67c6eb841b24ac8c32348151c7a0c" dependencies = [ "arrayvec", "bit-vec", - "bitflags 2.8.0", - "cfg_aliases 0.1.1", - "codespan-reporting", + "bitflags 2.9.0", + "cfg_aliases", "document-features", "indexmap 2.7.1", "log", @@ -8667,31 +8574,28 @@ dependencies = [ "raw-window-handle 0.6.2", "rustc-hash 1.1.0", "smallvec", - "thiserror 1.0.69", - "web-sys", + "thiserror 2.0.11", "wgpu-hal", "wgpu-types", ] [[package]] name = "wgpu-hal" -version = "0.21.1" +version = "24.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "172e490a87295564f3fcc0f165798d87386f6231b04d4548bca458cbbfd63222" +checksum = "4317a17171dc20e6577bf606796794580accae0716a69edbc7388c86a3ec9f23" dependencies = [ "android_system_properties", "arrayvec", "ash", - "bitflags 2.8.0", - "block", - "cfg_aliases 0.1.1", + "bitflags 2.9.0", + "bytemuck", + "cfg_aliases", "core-graphics-types", "glow", "glutin_wgl_sys", "gpu-alloc", - "gpu-allocator", "gpu-descriptor", - "hassle-rs", "js-sys", "khronos-egl", "libc", @@ -8699,30 +8603,32 @@ dependencies = [ "log", "metal", "naga", - "ndk-sys", + "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", + "ordered-float", "parking_lot", "profiling", "raw-window-handle 0.6.2", "renderdoc-sys", "rustc-hash 1.1.0", "smallvec", - "thiserror 1.0.69", + "thiserror 2.0.11", "wasm-bindgen", "web-sys", "wgpu-types", - "winapi", + "windows 0.58.0", ] [[package]] name = "wgpu-types" -version = "0.20.0" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1353d9a46bff7f955a680577f34c69122628cc2076e1d6f3a9be6ef00ae793ef" +checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "js-sys", + "log", "web-sys", ] @@ -8754,12 +8660,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" -[[package]] -name = "widestring" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" - [[package]] name = "winapi" version = "0.3.9" @@ -8797,28 +8697,26 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-implement 0.48.0", - "windows-interface 0.48.0", "windows-targets 0.48.5", ] [[package]] name = "windows" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows-core 0.51.1", - "windows-targets 0.48.5", + "windows-core 0.52.0", + "windows-targets 0.52.6", ] [[package]] name = "windows" -version = "0.52.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" dependencies = [ - "windows-core 0.52.0", + "windows-core 0.57.0", "windows-targets 0.52.6", ] @@ -8834,19 +8732,22 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] name = "windows-core" -version = "0.52.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" dependencies = [ + "windows-implement 0.57.0", + "windows-interface 0.57.0", + "windows-result 0.1.2", "windows-targets 0.52.6", ] @@ -8858,20 +8759,20 @@ checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" dependencies = [ "windows-implement 0.58.0", "windows-interface 0.58.0", - "windows-result", + "windows-result 0.2.0", "windows-strings", "windows-targets 0.52.6", ] [[package]] name = "windows-implement" -version = "0.48.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.98", ] [[package]] @@ -8887,13 +8788,13 @@ dependencies = [ [[package]] name = "windows-interface" -version = "0.48.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.98", ] [[package]] @@ -8907,17 +8808,32 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "windows-link" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" + [[package]] name = "windows-registry" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-strings", "windows-targets 0.52.6", ] +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-result" version = "0.2.0" @@ -8933,7 +8849,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-targets 0.52.6", ] @@ -9153,62 +9069,56 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winit" -version = "0.29.15" +version = "0.30.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" +checksum = "a809eacf18c8eca8b6635091543f02a5a06ddf3dad846398795460e6e0ae3cc0" dependencies = [ "ahash", "android-activity", "atomic-waker", - "bitflags 2.8.0", + "bitflags 2.9.0", + "block2", "bytemuck", - "calloop 0.12.4", - "cfg_aliases 0.1.1", + "calloop", + "cfg_aliases", + "concurrent-queue 2.5.0", "core-foundation 0.9.4", "core-graphics", "cursor-icon", - "icrate", + "dpi", "js-sys", "libc", - "log", "memmap2", "ndk", - "ndk-sys", - "objc2 0.4.1", - "once_cell", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", "orbclient", "percent-encoding", - "raw-window-handle 0.5.2", + "pin-project", "raw-window-handle 0.6.2", - "redox_syscall 0.3.5", + "redox_syscall 0.4.1", "rustix 0.38.44", "sctk-adwaita", - "smithay-client-toolkit 0.18.1", - "smol_str", + "smithay-client-toolkit", + "smol_str 0.2.2", + "tracing", "unicode-segmentation", "wasm-bindgen", "wasm-bindgen-futures", "wayland-backend", "wayland-client", - "wayland-protocols 0.31.2", + "wayland-protocols", "wayland-protocols-plasma", "web-sys", - "web-time 0.2.4", - "windows-sys 0.48.0", + "web-time", + "windows-sys 0.52.0", "x11-dl", "x11rb", "xkbcommon-dl", ] -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - [[package]] name = "winnow" version = "0.7.3" @@ -9220,12 +9130,12 @@ dependencies = [ [[package]] name = "winreg" -version = "0.52.0" +version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" dependencies = [ "cfg-if", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -9239,16 +9149,19 @@ dependencies = [ ] [[package]] -name = "wintun" -version = "0.3.2" +name = "wintun-bindings" +version = "0.7.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29b83b0eca06dd125dbcd48a45327c708a6da8aada3d95a3f06db0ce4b17e0d4" +checksum = "67a02981bed4592bcd271f9bfe154228ddbd2fd69e37a7d358da5d3a1251d696" dependencies = [ + "blocking", "c2rust-bitfields", + "futures", "libloading 0.8.6", "log", - "thiserror 1.0.69", - "windows 0.51.1", + "thiserror 2.0.11", + "windows-sys 0.59.0", + "winreg", ] [[package]] @@ -9257,7 +9170,7 @@ version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -9343,7 +9256,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "dlib", "log", "once_cell", @@ -9409,30 +9322,27 @@ dependencies = [ [[package]] name = "zbus" -version = "3.15.2" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" +checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725" dependencies = [ - "async-broadcast 0.5.1", + "async-broadcast", "async-executor", - "async-fs 1.6.0", - "async-io 1.13.0", - "async-lock 2.8.0", - "async-process 1.8.1", + "async-fs 2.1.2", + "async-io 2.4.0", + "async-lock 3.4.0", + "async-process 2.3.0", "async-recursion", "async-task", "async-trait", "blocking", - "byteorder", - "derivative", "enumflags2", - "event-listener 2.5.3", + "event-listener 5.4.0", "futures-core", "futures-sink", "futures-util", "hex", - "nix 0.26.4", - "once_cell", + "nix 0.29.0", "ordered-stream", "rand 0.8.5", "serde", @@ -9441,38 +9351,74 @@ dependencies = [ "static_assertions", "tracing", "uds_windows", - "winapi", + "windows-sys 0.52.0", "xdg-home", "zbus_macros", "zbus_names", "zvariant", ] +[[package]] +name = "zbus-lockstep" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca2c5dceb099bddaade154055c926bb8ae507a18756ba1d8963fd7b51d8ed1d" +dependencies = [ + "zbus_xml", + "zvariant", +] + +[[package]] +name = "zbus-lockstep-macros" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "709ab20fc57cb22af85be7b360239563209258430bccf38d8b979c5a2ae3ecce" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", + "zbus-lockstep", + "zbus_xml", + "zvariant", +] + [[package]] name = "zbus_macros" -version = "3.15.2" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5" +checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate", "proc-macro2", "quote", - "regex", - "syn 1.0.109", + "syn 2.0.98", "zvariant_utils", ] [[package]] name = "zbus_names" -version = "2.6.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d" +checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" dependencies = [ "serde", "static_assertions", "zvariant", ] +[[package]] +name = "zbus_xml" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab3f374552b954f6abb4bd6ce979e6c9b38fb9d0cd7cc68a7d796e70c9f3a233" +dependencies = [ + "quick-xml 0.30.0", + "serde", + "static_assertions", + "zbus_names", + "zvariant", +] + [[package]] name = "zerocopy" version = "0.7.35" @@ -9485,11 +9431,11 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dde3bb8c68a8f3f1ed4ac9221aad6b10cece3e60a8e2ea54a6a2dec806d0084c" +checksum = "dcf01143b2dd5d134f11f545cf9f1431b13b749695cb33bcce051e7568f99478" dependencies = [ - "zerocopy-derive 0.8.20", + "zerocopy-derive 0.8.21", ] [[package]] @@ -9505,9 +9451,9 @@ dependencies = [ [[package]] name = "zerocopy-derive" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eea57037071898bf96a6da35fd626f4f27e9cee3ead2a6c703cf09d472b2e700" +checksum = "712c8386f4f4299382c9abee219bee7084f78fb939d88b6840fcc1320d5f6da2" dependencies = [ "proc-macro2", "quote", @@ -9516,18 +9462,18 @@ dependencies = [ [[package]] name = "zerofrom" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", @@ -9565,13 +9511,12 @@ dependencies = [ [[package]] name = "zvariant" -version = "3.15.2" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db" +checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe" dependencies = [ - "byteorder", + "endi", "enumflags2", - "libc", "serde", "static_assertions", "zvariant_derive", @@ -9579,24 +9524,24 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "3.15.2" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9" +checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.98", "zvariant_utils", ] [[package]] name = "zvariant_utils" -version = "1.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" +checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.98", ] diff --git a/Cargo.toml b/Cargo.toml index 6681b6f2..c6f1d669 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [workspace] members = ["libraries/*", "binaries/*"] -resolver = "2" +resolver = "3" [workspace.package] version = "0.2.33" diff --git a/binaries/geph5-bridge/Cargo.toml b/binaries/geph5-bridge/Cargo.toml index 3b0258bd..1e4c93cf 100644 --- a/binaries/geph5-bridge/Cargo.toml +++ b/binaries/geph5-bridge/Cargo.toml @@ -1,43 +1,45 @@ [package] name = "geph5-bridge" version = "0.1.0" -edition = "2021" +edition = "2024" license = "MPL-2.0" [dependencies] geph5-misc-rpc = { path = "../../libraries/geph5-misc-rpc" } picomux = { path = "../../libraries/picomux" } -rand = "0.8.5" +rand = "0.9.0" sillad = { path = "../../libraries/sillad" } sillad-sosistab3 = { path = "../../libraries/sillad-sosistab3" } -smolscale = "0.4.7" -tracing = "0.1.40" -tracing-subscriber = "0.3.18" +smolscale = "0.4.15" +tracing = "0.1.41" +tracing-subscriber = "0.3.19" geph5-broker-protocol = { path = "../../libraries/geph5-broker-protocol" } -nanorpc = "0.1.12" +nanorpc = "0.1.13" nanorpc-sillad = { path = "../../libraries/nanorpc-sillad" } -async-trait = "0.1.80" -blake3 = "1.5.1" -async-io = "2.3.3" +async-trait = "0.1.86" +blake3 = "1.6.1" +async-io = "2.4.0" tap = "1.0.1" -reqwest = { version = "0.12.5", default-features = false, features = [ +reqwest = { version = "0.12.12", default-features = false, features = [ "rustls-tls", - "json" + "json", ] } -moka = { version = "0.12.7", features = ["future"] } -anyhow = "1.0.86" +moka = { version = "0.12.10", features = ["future"] } +anyhow = "1.0.96" stdcode = "0.1.14" -smol = "2.0.0" -futures-util = { version = "0.3.30", features = ["io"] } -deadpool = "0.12.1" -once_cell = "1.19.0" -dashmap = "6.0.1" -serde_json = "1.0.120" +smol = "2.0.2" +futures-util = { version = "0.3.31", features = ["io"] } +deadpool = "0.12.2" +once_cell = "1.20.3" +dashmap = "6.1.0" +serde_json = "1.0.139" scopeguard = "1.2.0" smol-timeout2 = "0.6.1" async-channel = "2.3.1" -oneshot = "0.1.8" -async-io-bufpool = "0.1.0" -tikv-jemallocator = { version = "0.6.0", features = ["unprefixed_malloc_on_supported_platforms"] } -flate2 = "1.0.35" +oneshot = "0.1.11" +async-io-bufpool = "0.1.2" +tikv-jemallocator = { version = "0.6.0", features = [ + "unprefixed_malloc_on_supported_platforms", +] } +flate2 = "1.1.0" #jemalloc_pprof = "0.6.0" diff --git a/binaries/geph5-bridge/src/listen_forward.rs b/binaries/geph5-bridge/src/listen_forward.rs index a19c1274..2ffe7e70 100644 --- a/binaries/geph5-bridge/src/listen_forward.rs +++ b/binaries/geph5-bridge/src/listen_forward.rs @@ -2,8 +2,8 @@ use std::{ net::{IpAddr, SocketAddr}, str::FromStr, sync::{ - atomic::{AtomicU64, AtomicUsize, Ordering}, Arc, LazyLock, + atomic::{AtomicU64, AtomicUsize, Ordering}, }, time::Duration, }; @@ -19,7 +19,7 @@ use moka::future::Cache; use once_cell::sync::Lazy; use picomux::{PicoMux, Stream}; use rand::Rng; -use sillad::{dialer::Dialer, listener::Listener, tcp::TcpListener, Pipe}; +use sillad::{Pipe, dialer::Dialer, listener::Listener, tcp::TcpListener}; use smol::future::FutureExt as _; use smol::io::AsyncWriteExt; use smol_timeout2::TimeoutExt; @@ -68,7 +68,7 @@ impl BridgeControlProtocol for State { async fn random_tcp_listener() -> TcpListener { loop { - let rando = rand::thread_rng().gen_range(2048u16..65535); + let rando = rand::rng().random_range(2048u16..65535); match TcpListener::bind(format!("0.0.0.0:{rando}").parse().unwrap()).await { Ok(listener) => return listener, Err(err) => { diff --git a/binaries/geph5-bridge/src/main.rs b/binaries/geph5-bridge/src/main.rs index c86868e5..3e4634bc 100644 --- a/binaries/geph5-bridge/src/main.rs +++ b/binaries/geph5-bridge/src/main.rs @@ -12,17 +12,17 @@ use std::{ use anyhow::Context as _; use asn_count::ASN_BYTES; use geph5_broker_protocol::{BridgeDescriptor, Mac}; -use listen_forward::{listen_forward_loop, BYTE_COUNT}; +use listen_forward::{BYTE_COUNT, listen_forward_loop}; use rand::Rng; use sillad::{ dialer::DialerExt, tcp::{TcpDialer, TcpListener}, }; -use sillad_sosistab3::{listener::SosistabListener, Cookie}; +use sillad_sosistab3::{Cookie, listener::SosistabListener}; use smol::future::FutureExt as _; use smol_timeout2::TimeoutExt; -use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt, EnvFilter}; +use tracing_subscriber::{EnvFilter, layer::SubscriberExt, util::SubscriberInitExt}; #[global_allocator] static ALLOC: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc; @@ -36,7 +36,9 @@ fn main() { if std::env::var("GEPH5_BRIDGE_CHILD").is_err() { for _ in 0..available_parallelism().unwrap().get() { std::thread::spawn(|| { - std::env::set_var("GEPH5_BRIDGE_CHILD", "1"); + unsafe { + std::env::set_var("GEPH5_BRIDGE_CHILD", "1"); + } let current_exe = std::env::current_exe().unwrap(); // Collect the current command-line arguments @@ -83,7 +85,7 @@ fn main() { ) .unwrap(); - let port = rand::thread_rng().gen_range(1024..10000); + let port = rand::rng().random_range(1024..10000); let control_listen = SocketAddr::new(my_ip, port); let control_cookie = format!("bridge-cookie-{}", rand::random::()); diff --git a/binaries/geph5-broker/Cargo.toml b/binaries/geph5-broker/Cargo.toml index 255f5119..5bf79c07 100644 --- a/binaries/geph5-broker/Cargo.toml +++ b/binaries/geph5-broker/Cargo.toml @@ -1,53 +1,58 @@ [package] name = "geph5-broker" version = "0.1.0" -edition = "2021" +edition = "2024" license = "MPL-2.0" [dependencies] -anyhow = "1.0.86" -axum = { version = "0.7.5", features = ["json"] } -futures-util = "0.3.30" -once_cell = { version = "1.19.0", features = ["parking_lot"] } -pollster = "0.3.0" -serde = "1.0.204" -serde_json = "1.0.120" +anyhow = "1.0.96" +axum = { version = "0.8.1", features = ["json"] } +futures-util = "0.3.31" +once_cell = { version = "1.20.3", features = ["parking_lot"] } +pollster = "0.4.0" +serde = "1.0.218" +serde_json = "1.0.139" serde_yaml = "0.9.34" -smolscale = "0.4.7" -sqlx = { version = "0.7", features = [ +smolscale = "0.4.15" +sqlx = { version = "0.8.3", features = [ "runtime-tokio-rustls", "postgres", "chrono", ] } geph5-broker-protocol = { path = "../../libraries/geph5-broker-protocol" } geph5-misc-rpc = { path = "../../libraries/geph5-misc-rpc" } -async-trait = "0.1.80" -nanorpc = "0.1.12" -thiserror = "1.0.61" -tracing = "0.1.40" -rand = "0.8.5" -async-io = "2.3.3" -moka = { version = "0.12.7", features = ["future"] } -blake3 = "1.5.1" +async-trait = "0.1.86" +nanorpc = "0.1.13" +thiserror = "2.0.11" +tracing = "0.1.41" +rand = "0.9.0" +async-io = "2.4.0" +moka = { version = "0.12.10", features = ["future"] } +blake3 = "1.6.1" isocountry = "0.3.2" -ed25519-dalek = {version="2", default-features=false, features=["serde"]} -tokio = { version = "1.38", features = ["full"] } -tracing-subscriber = { version = "0.3.18", features = ["fmt", "env-filter"] } +ed25519-dalek = { version = "2", default-features = false, features = [ + "serde", +] } +tokio = { version = "1.43", features = ["full"] } +tracing-subscriber = { version = "0.3.19", features = ["fmt", "env-filter"] } nanorpc-sillad = { path = "../../libraries/nanorpc-sillad" } sillad = { path = "../../libraries/sillad" } mizaru2 = { path = "../../libraries/mizaru2" } sillad-sosistab3 = { path = "../../libraries/sillad-sosistab3" } -smol-timeout2 = "0.6.0" +smol-timeout2 = "0.6.1" stdcode = "0.1.14" -bytes = { version = "1.6.0", features = ["serde"] } +bytes = { version = "1.10.0", features = ["serde"] } argon2 = "0.5.3" rusty_pool = "0.7.0" -oneshot = "0.1.8" -cadence = "1.4.0" -clap = { version = "4.5.8", features = ["derive"] } -reqwest = { version = "0.12.5", default-features = false, features=["json", "rustls-tls-webpki-roots"] } +oneshot = "0.1.11" +cadence = "1.5.0" +clap = { version = "4.5.31", features = ["derive"] } +reqwest = { version = "0.12.12", default-features = false, features = [ + "json", + "rustls-tls-webpki-roots", +] } hex = "0.4.3" tap = "1.0.1" blocking = "1.6.1" -cached = {version="0.54.0", features=["async"]} +cached = { version = "0.54.0", features = ["async"] } smol = "2.0.2" diff --git a/binaries/geph5-broker/src/auth.rs b/binaries/geph5-broker/src/auth.rs index 9bca4957..75c7af8b 100644 --- a/binaries/geph5-broker/src/auth.rs +++ b/binaries/geph5-broker/src/auth.rs @@ -1,4 +1,4 @@ -use argon2::{password_hash::Encoding, Argon2, PasswordHash, PasswordVerifier}; +use argon2::{Argon2, PasswordHash, PasswordVerifier, password_hash::Encoding}; use cached::proc_macro::cached; use geph5_broker_protocol::{AccountLevel, AuthError, Credential, UserInfo}; @@ -46,7 +46,7 @@ pub async fn register_secret(user_id: Option) -> anyhow::Result { Ok(secret) } else { let secret = (0..23) - .map(|_| rand::thread_rng().gen_range(0..9)) + .map(|_| rand::rng().random_range(0..9)) .fold(String::new(), |a, b| format!("{a}{b}")); let secret = format!("9{secret}"); @@ -124,7 +124,7 @@ pub async fn validate_username_pwd(username: &str, password: &str) -> Result anyhow::Result { let token: String = std::iter::repeat(()) - .map(|()| rand::thread_rng().sample(rand::distributions::Alphanumeric)) + .map(|()| rand::rng().sample(rand::distr::Alphanumeric)) .map(char::from) .take(30) .collect(); diff --git a/binaries/geph5-broker/src/database.rs b/binaries/geph5-broker/src/database.rs index e6fcb0c9..67ebc04f 100644 --- a/binaries/geph5-broker/src/database.rs +++ b/binaries/geph5-broker/src/database.rs @@ -6,10 +6,10 @@ use moka::future::Cache; use rand::Rng; use sqlx::{ + PgPool, pool::PoolOptions, postgres::{PgConnectOptions, PgSslMode}, prelude::FromRow, - PgPool, }; use crate::CONFIG_FILE; @@ -39,7 +39,7 @@ pub static POSTGRES: LazyLock = LazyLock::new(|| { pub async fn database_gc_loop() -> anyhow::Result<()> { tracing::info!("starting the database GC loop"); loop { - let sleep_time = Duration::from_secs_f64(rand::thread_rng().gen_range(60.0..120.0)); + let sleep_time = Duration::from_secs_f64(rand::rng().random_range(60.0..120.0)); tracing::debug!("sleeping {:?}", sleep_time); Timer::after(sleep_time).await; let res = sqlx::query("delete from exits_new where expiry < extract(epoch from now())") diff --git a/binaries/geph5-broker/src/main.rs b/binaries/geph5-broker/src/main.rs index 87788f2a..5bdb2fdd 100644 --- a/binaries/geph5-broker/src/main.rs +++ b/binaries/geph5-broker/src/main.rs @@ -1,5 +1,5 @@ use anyhow::Context; -use axum::{routing::post, Json, Router}; +use axum::{Json, Router, routing::post}; use clap::Parser; use database::database_gc_loop; use ed25519_dalek::SigningKey; @@ -12,7 +12,7 @@ use self_stat::self_stat_loop; use serde::Deserialize; use smolscale::immortal::{Immortal, RespawnStrategy}; use std::{fmt::Debug, fs, net::SocketAddr, path::PathBuf, sync::LazyLock}; -use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt, EnvFilter}; +use tracing_subscriber::{EnvFilter, layer::SubscriberExt, util::SubscriberInitExt}; mod auth; mod database; diff --git a/binaries/geph5-broker/src/news.rs b/binaries/geph5-broker/src/news.rs index c3a6dd6e..4ea98ccd 100644 --- a/binaries/geph5-broker/src/news.rs +++ b/binaries/geph5-broker/src/news.rs @@ -1,4 +1,3 @@ -use std::sync::Arc; use std::time::{Duration, SystemTime}; use anyhow::Context; diff --git a/binaries/geph5-broker/src/payments.rs b/binaries/geph5-broker/src/payments.rs index a1dca4f0..b1190a4a 100644 --- a/binaries/geph5-broker/src/payments.rs +++ b/binaries/geph5-broker/src/payments.rs @@ -1,7 +1,7 @@ use std::time::Duration; -use axum::async_trait; -use nanorpc::{nanorpc_derive, JrpcRequest, JrpcResponse, RpcTransport}; +use async_trait::async_trait; +use nanorpc::{JrpcRequest, JrpcResponse, RpcTransport, nanorpc_derive}; use serde::{Deserialize, Serialize}; use crate::CONFIG_FILE; diff --git a/binaries/geph5-broker/src/puzzle.rs b/binaries/geph5-broker/src/puzzle.rs index 81c25cdf..50169d03 100644 --- a/binaries/geph5-broker/src/puzzle.rs +++ b/binaries/geph5-broker/src/puzzle.rs @@ -1,10 +1,10 @@ use rand::RngCore; -use crate::{database::POSTGRES, CONFIG_FILE}; +use crate::{CONFIG_FILE, database::POSTGRES}; pub async fn new_puzzle() -> String { let mut bts = [0u8; 20]; - rand::thread_rng().fill_bytes(&mut bts); + rand::rng().fill_bytes(&mut bts); hex::encode(bts) } diff --git a/binaries/geph5-broker/src/routes.rs b/binaries/geph5-broker/src/routes.rs index 349ce44a..d397b508 100644 --- a/binaries/geph5-broker/src/routes.rs +++ b/binaries/geph5-broker/src/routes.rs @@ -8,7 +8,7 @@ use nanorpc_sillad::DialerTransport; use rand::RngCore; use sillad::tcp::TcpDialer; -use sillad_sosistab3::{dialer::SosistabDialer, Cookie}; +use sillad_sosistab3::{Cookie, dialer::SosistabDialer}; use smol_timeout2::TimeoutExt; use std::{ net::SocketAddr, @@ -86,7 +86,7 @@ pub async fn bridge_to_leaf_route( fn gencookie() -> String { let mut b = [0u8; 16]; - rand::thread_rng().fill_bytes(&mut b); + rand::rng().fill_bytes(&mut b); hex::encode(b) } diff --git a/binaries/geph5-broker/src/rpc_impl.rs b/binaries/geph5-broker/src/rpc_impl.rs index 75fe13d4..38bd9d58 100644 --- a/binaries/geph5-broker/src/rpc_impl.rs +++ b/binaries/geph5-broker/src/rpc_impl.rs @@ -3,11 +3,11 @@ use bytes::Bytes; use cadence::prelude::*; use cadence::{StatsdClient, UdpMetricSink}; use ed25519_dalek::VerifyingKey; -use futures_util::{future::join_all, TryFutureExt}; +use futures_util::{TryFutureExt, future::join_all}; use geph5_broker_protocol::{ AccountLevel, AuthError, AvailabilityData, BridgeDescriptor, BrokerProtocol, BrokerService, - Credential, ExitDescriptor, ExitList, GenericError, Mac, NewsItem, RouteDescriptor, Signed, - UserInfo, DOMAIN_EXIT_DESCRIPTOR, + Credential, DOMAIN_EXIT_DESCRIPTOR, ExitDescriptor, ExitList, GenericError, Mac, NewsItem, + RouteDescriptor, Signed, UserInfo, }; use isocountry::CountryCode; use mizaru2::{BlindedClientToken, BlindedSignature, ClientToken, UnblindedSignature}; @@ -22,18 +22,18 @@ use std::{ }; use crate::{ - auth::{get_subscription_expiry, get_user_info, register_secret, validate_credential}, + CONFIG_FILE, FREE_MIZARU_SK, MASTER_SECRET, PLUS_MIZARU_SK, + auth::{new_auth_token, valid_auth_token}, + database::{ExitRow, POSTGRES, insert_exit, query_bridges}, + routes::bridge_to_leaf_route, +}; +use crate::{ + auth::{get_user_info, register_secret, validate_credential}, log_error, news::fetch_news, - payments::{payment_sessid, PaymentClient, PaymentTransport, StartStripeArgs}, + payments::{PaymentClient, PaymentTransport, StartStripeArgs, payment_sessid}, puzzle::{new_puzzle, verify_puzzle_solution}, }; -use crate::{ - auth::{new_auth_token, valid_auth_token, validate_username_pwd}, - database::{insert_exit, query_bridges, ExitRow, POSTGRES}, - routes::bridge_to_leaf_route, - CONFIG_FILE, FREE_MIZARU_SK, MASTER_SECRET, PLUS_MIZARU_SK, -}; pub struct WrappedBrokerService(BrokerService); diff --git a/binaries/geph5-client-android/Cargo.lock b/binaries/geph5-client-android/Cargo.lock deleted file mode 100644 index 8eb134c0..00000000 --- a/binaries/geph5-client-android/Cargo.lock +++ /dev/null @@ -1,2112 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "ab_glyph" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5110f1c78cf582855d895ecd0746b653db010cec6d9f5575293f27934d980a39" -dependencies = [ - "ab_glyph_rasterizer", - "owned_ttf_parser", -] - -[[package]] -name = "ab_glyph_rasterizer" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" - -[[package]] -name = "addr2line" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - -[[package]] -name = "ahash" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", -] - -[[package]] -name = "aho-corasick" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" -dependencies = [ - "memchr", -] - -[[package]] -name = "android-activity" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c77a0045eda8b888c76ea473c2b0515ba6f471d318f8927c5c72240937035a6" -dependencies = [ - "android-properties", - "bitflags 1.3.2", - "cc", - "jni-sys", - "libc", - "log", - "ndk", - "ndk-context", - "ndk-sys", - "num_enum", -] - -[[package]] -name = "android-properties" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" - -[[package]] -name = "android_log-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27f0fc03f560e1aebde41c2398b691cb98b5ea5996a6184a7a67bbbb77448969" - -[[package]] -name = "android_logger" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fa490e751f3878eb9accb9f18988eca52c2337ce000a8bf31ef50d4c723ca9e" -dependencies = [ - "android_log-sys", - "env_logger", - "log", - "once_cell", -] - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "arrayref" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" - -[[package]] -name = "arrayvec" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" - -[[package]] -name = "ash" -version = "0.37.3+1.3.251" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" -dependencies = [ - "libloading 0.7.4", -] - -[[package]] -name = "atomic_refcell" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79d6dc922a2792b006573f60b2648076355daeae5ce9cb59507e5908c9625d31" - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "backtrace" -version = "0.3.67" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide 0.6.2", - "object", - "rustc-demangle", -] - -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6776fc96284a0bb647b615056fc496d1fe1644a7ab01829818a6d91cae888b84" - -[[package]] -name = "block" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" - -[[package]] -name = "block-sys" -version = "0.1.0-beta.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" -dependencies = [ - "objc-sys", -] - -[[package]] -name = "block2" -version = "0.2.0-alpha.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" -dependencies = [ - "block-sys", - "objc2-encode", -] - -[[package]] -name = "bumpalo" -version = "3.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" - -[[package]] -name = "bytemuck" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" -dependencies = [ - "bytemuck_derive", -] - -[[package]] -name = "bytemuck_derive" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "bytes" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" - -[[package]] -name = "calloop" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a59225be45a478d772ce015d9743e49e92798ece9e34eda9a6aa2a6a7f40192" -dependencies = [ - "log", - "nix 0.25.1", - "slotmap", - "thiserror", - "vec_map", -] - -[[package]] -name = "cc" -version = "1.0.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" -dependencies = [ - "jobserver", -] - -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - -[[package]] -name = "com-rs" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642" - -[[package]] -name = "combine" -version = "4.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" -dependencies = [ - "bytes", - "memchr", -] - -[[package]] -name = "core-foundation" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" - -[[package]] -name = "core-graphics" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-graphics-types", - "foreign-types", - "libc", -] - -[[package]] -name = "core-graphics-types" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "foreign-types", - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "d3d12" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8f0de2f5a8e7bd4a9eec0e3c781992a4ce1724f68aec7d7a3715344de8b39da" -dependencies = [ - "bitflags 1.3.2", - "libloading 0.7.4", - "winapi", -] - -[[package]] -name = "dispatch" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" - -[[package]] -name = "dlib" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794" -dependencies = [ - "libloading 0.7.4", -] - -[[package]] -name = "downcast-rs" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" - -[[package]] -name = "ecolor" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e479a7fa3f23d4e794f8b2f8b3568dd4e47886ad1b12c9c095e141cb591eb63" -dependencies = [ - "bytemuck", -] - -[[package]] -name = "egui" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3aef8ec3ae1b772f340170c65bf27d5b8c28f543a0116c844d2ac08d01123e7" -dependencies = [ - "ahash 0.8.3", - "epaint", - "log", - "nohash-hasher", -] - -[[package]] -name = "egui-wgpu" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33caaedd8283779c787298af23d8754a7e88421ff32e89ad0040c855fc0b0224" -dependencies = [ - "bytemuck", - "epaint", - "log", - "thiserror", - "type-map", - "wgpu", - "winit", -] - -[[package]] -name = "egui-winit" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a49155fd4a0a4fb21224407a91de0030847972ef90fc64edb63621caea61cb2" -dependencies = [ - "egui", - "instant", - "log", - "raw-window-handle", - "winit", -] - -[[package]] -name = "egui_demo_lib" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "807f2eaee012c4f10d541db010845340fcdebf0b97b82b88a13e5ca1d6c84385" -dependencies = [ - "egui", - "egui_extras", - "enum-map", - "log", - "unicode_names2", -] - -[[package]] -name = "egui_extras" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9278f4337b526f0d57e5375e5a7340a311fa6ee8f9fcc75721ac50af13face02" -dependencies = [ - "egui", - "serde", -] - -[[package]] -name = "emath" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3857d743a6e0741cdd60b622a74c7a36ea75f5f8f11b793b41d905d2c9721a4b" -dependencies = [ - "bytemuck", -] - -[[package]] -name = "enum-map" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "988f0d17a0fa38291e5f41f71ea8d46a5d5497b9054d5a759fae2cbb819f2356" -dependencies = [ - "enum-map-derive", - "serde", -] - -[[package]] -name = "enum-map-derive" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a4da76b3b6116d758c7ba93f7ec6a35d2e2cf24feda76c6e38a375f4d5c59f2" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "env_logger" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" -dependencies = [ - "humantime", - "is-terminal", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "epaint" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09333964d4d57f40a85338ba3ca5ed4716070ab184dcfed966b35491c5c64f3b" -dependencies = [ - "ab_glyph", - "ahash 0.8.3", - "atomic_refcell", - "bytemuck", - "ecolor", - "emath", - "log", - "nohash-hasher", - "parking_lot", -] - -[[package]] -name = "errno" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" -dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "fdeflate" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10" -dependencies = [ - "simd-adler32", -] - -[[package]] -name = "flate2" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" -dependencies = [ - "crc32fast", - "miniz_oxide 0.7.1", -] - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "getrandom" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "gimli" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "glow" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "807edf58b70c0b5b2181dd39fe1839dbdb3ba02645630dc5f753e23da307f762" -dependencies = [ - "js-sys", - "slotmap", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "gpu-alloc" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22beaafc29b38204457ea030f6fb7a84c9e4dd1b86e311ba0542533453d87f62" -dependencies = [ - "bitflags 1.3.2", - "gpu-alloc-types", -] - -[[package]] -name = "gpu-alloc-types" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54804d0d6bc9d7f26db4eaec1ad10def69b599315f487d32c334a80d1efe67a5" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "gpu-allocator" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce95f9e2e11c2c6fadfce42b5af60005db06576f231f5c92550fdded43c423e8" -dependencies = [ - "backtrace", - "log", - "thiserror", - "winapi", - "windows", -] - -[[package]] -name = "gpu-descriptor" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b0c02e1ba0bdb14e965058ca34e09c020f8e507a760df1121728e0aef68d57a" -dependencies = [ - "bitflags 1.3.2", - "gpu-descriptor-types", - "hashbrown", -] - -[[package]] -name = "gpu-descriptor-types" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "363e3677e55ad168fef68cf9de3a4a310b53124c5e784c53a1d70e92d23f2126" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.6", -] - -[[package]] -name = "hassle-rs" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0" -dependencies = [ - "bitflags 1.3.2", - "com-rs", - "libc", - "libloading 0.7.4", - "thiserror", - "widestring", - "winapi", -] - -[[package]] -name = "hermit-abi" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" - -[[package]] -name = "hexf-parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "is-terminal" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" -dependencies = [ - "hermit-abi", - "io-lifetimes", - "rustix", - "windows-sys 0.48.0", -] - -[[package]] -name = "java-locator" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2abecabd9961c5e01405a6426687fcf1bd94a269927137e4c3cc1a7419b93fd" -dependencies = [ - "glob", - "lazy_static", -] - -[[package]] -name = "jni" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" -dependencies = [ - "cesu8", - "cfg-if", - "combine", - "java-locator", - "jni-sys", - "libloading 0.7.4", - "log", - "thiserror", - "walkdir", - "windows-sys 0.45.0", -] - -[[package]] -name = "jni-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" - -[[package]] -name = "jobserver" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "khronos-egl" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c2352bd1d0bceb871cb9d40f24360c8133c11d7486b68b5381c1dd1a32015e3" -dependencies = [ - "libc", - "libloading 0.7.4", - "pkg-config", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.145" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc86cde3ff845662b8f4ef6cb50ea0e20c524eb3d29ae048287e06a1b3fa6a81" - -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] - -[[package]] -name = "libloading" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d580318f95776505201b28cf98eb1fa5e4be3b689633ba6a3e6cd880ff22d8cb" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "linux-raw-sys" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" - -[[package]] -name = "lock_api" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de" - -[[package]] -name = "malloc_buf" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" -dependencies = [ - "libc", -] - -[[package]] -name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "memmap2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - -[[package]] -name = "metal" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060" -dependencies = [ - "bitflags 1.3.2", - "block", - "core-graphics-types", - "foreign-types", - "log", - "objc", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" -dependencies = [ - "adler", -] - -[[package]] -name = "miniz_oxide" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" -dependencies = [ - "adler", - "simd-adler32", -] - -[[package]] -name = "mio" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.48.0", -] - -[[package]] -name = "na-egui" -version = "0.1.0" -dependencies = [ - "android_logger", - "egui", - "egui-wgpu", - "egui-winit", - "egui_demo_lib", - "env_logger", - "jni", - "log", - "once_cell", - "pollster", -] - -[[package]] -name = "naga" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80cd00bd6180a8790f1c020ed258a46b8d73dd5bd6af104a238c9d71f806938e" -dependencies = [ - "bit-set", - "bitflags 1.3.2", - "codespan-reporting", - "hexf-parse", - "indexmap", - "log", - "num-traits", - "rustc-hash", - "spirv", - "termcolor", - "thiserror", - "unicode-xid", -] - -[[package]] -name = "ndk" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" -dependencies = [ - "bitflags 1.3.2", - "jni-sys", - "ndk-sys", - "num_enum", - "raw-window-handle", - "thiserror", -] - -[[package]] -name = "ndk-context" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" - -[[package]] -name = "ndk-sys" -version = "0.4.1+23.1.7779620" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" -dependencies = [ - "jni-sys", -] - -[[package]] -name = "nix" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset", -] - -[[package]] -name = "nix" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" -dependencies = [ - "autocfg", - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset", -] - -[[package]] -name = "nohash-hasher" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "num-traits" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "objc" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" -dependencies = [ - "malloc_buf", - "objc_exception", -] - -[[package]] -name = "objc-sys" -version = "0.2.0-beta.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" - -[[package]] -name = "objc2" -version = "0.3.0-beta.3.patch-leaks.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468" -dependencies = [ - "block2", - "objc-sys", - "objc2-encode", -] - -[[package]] -name = "objc2-encode" -version = "2.0.0-pre.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" -dependencies = [ - "objc-sys", -] - -[[package]] -name = "objc_exception" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" -dependencies = [ - "cc", -] - -[[package]] -name = "object" -version = "0.30.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "orbclient" -version = "0.3.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "221d488cd70617f1bd599ed8ceb659df2147d9393717954d82a0f5e8032a6ab1" -dependencies = [ - "redox_syscall 0.3.5", -] - -[[package]] -name = "owned_ttf_parser" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "706de7e2214113d63a8238d1910463cfce781129a6f263d13fdb09ff64355ba4" -dependencies = [ - "ttf-parser", -] - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "windows-sys 0.45.0", -] - -[[package]] -name = "percent-encoding" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" - -[[package]] -name = "pkg-config" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" - -[[package]] -name = "png" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaeebc51f9e7d2c150d3f3bfeb667f2aa985db5ef1e3d212847bdedb488beeaa" -dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide 0.7.1", -] - -[[package]] -name = "pollster" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5da3b0203fd7ee5720aa0b5e790b591aa5d3f41c3ed2c34a3a393382198af2f7" - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit", -] - -[[package]] -name = "proc-macro2" -version = "1.0.59" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "profiling" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "332cd62e95873ea4f41f3dfd6bbbfc5b52aec892d7e8d534197c4720a0bbbab2" - -[[package]] -name = "quote" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "range-alloc" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" - -[[package]] -name = "raw-window-handle" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "regex" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81ca098a9821bd52d6b24fd8b10bd081f47d39c22778cafaa75a2857a62c6390" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" - -[[package]] -name = "renderdoc-sys" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b" - -[[package]] -name = "rustc-demangle" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustix" -version = "0.37.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys", - "windows-sys 0.48.0", -] - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "sctk-adwaita" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda4e97be1fd174ccc2aae81c8b694e803fa99b34e8fd0f057a9d70698e3ed09" -dependencies = [ - "ab_glyph", - "log", - "memmap2", - "smithay-client-toolkit", - "tiny-skia", -] - -[[package]] -name = "serde" -version = "1.0.163" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.163" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "simd-adler32" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f" - -[[package]] -name = "slotmap" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" -dependencies = [ - "version_check", -] - -[[package]] -name = "smallvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" - -[[package]] -name = "smithay-client-toolkit" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f307c47d32d2715eb2e0ece5589057820e0e5e70d07c247d1063e844e107f454" -dependencies = [ - "bitflags 1.3.2", - "calloop", - "dlib", - "lazy_static", - "log", - "memmap2", - "nix 0.24.3", - "pkg-config", - "wayland-client", - "wayland-cursor", - "wayland-protocols", -] - -[[package]] -name = "spirv" -version = "0.2.0+1.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830" -dependencies = [ - "bitflags 1.3.2", - "num-traits", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strict-num" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "termcolor" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "thiserror" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", -] - -[[package]] -name = "tiny-skia" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67" -dependencies = [ - "arrayref", - "arrayvec", - "bytemuck", - "cfg-if", - "png", - "tiny-skia-path", -] - -[[package]] -name = "tiny-skia-path" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c" -dependencies = [ - "arrayref", - "bytemuck", - "strict-num", -] - -[[package]] -name = "toml_datetime" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f" - -[[package]] -name = "toml_edit" -version = "0.19.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739" -dependencies = [ - "indexmap", - "toml_datetime", - "winnow", -] - -[[package]] -name = "ttf-parser" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44dcf002ae3b32cd25400d6df128c5babec3927cd1eb7ce813cfff20eb6c3746" - -[[package]] -name = "type-map" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb68604048ff8fa93347f02441e4487594adc20bb8a084f9e564d2b827a0a9f" -dependencies = [ - "rustc-hash", -] - -[[package]] -name = "unicode-ident" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" - -[[package]] -name = "unicode-width" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" - -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - -[[package]] -name = "unicode_names2" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446c96c6dd42604779487f0a981060717156648c1706aa1f464677f03c6cc059" - -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.18", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.18", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93" - -[[package]] -name = "wayland-client" -version = "0.29.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715" -dependencies = [ - "bitflags 1.3.2", - "downcast-rs", - "libc", - "nix 0.24.3", - "scoped-tls", - "wayland-commons", - "wayland-scanner", - "wayland-sys", -] - -[[package]] -name = "wayland-commons" -version = "0.29.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902" -dependencies = [ - "nix 0.24.3", - "once_cell", - "smallvec", - "wayland-sys", -] - -[[package]] -name = "wayland-cursor" -version = "0.29.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661" -dependencies = [ - "nix 0.24.3", - "wayland-client", - "xcursor", -] - -[[package]] -name = "wayland-protocols" -version = "0.29.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6" -dependencies = [ - "bitflags 1.3.2", - "wayland-client", - "wayland-commons", - "wayland-scanner", -] - -[[package]] -name = "wayland-scanner" -version = "0.29.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" -dependencies = [ - "proc-macro2", - "quote", - "xml-rs", -] - -[[package]] -name = "wayland-sys" -version = "0.29.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4" -dependencies = [ - "dlib", - "lazy_static", - "pkg-config", -] - -[[package]] -name = "web-sys" -version = "0.3.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "wgpu" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3059ea4ddec41ca14f356833e2af65e7e38c0a8f91273867ed526fb9bafcca95" -dependencies = [ - "arrayvec", - "cfg-if", - "js-sys", - "log", - "naga", - "parking_lot", - "profiling", - "raw-window-handle", - "smallvec", - "static_assertions", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "wgpu-core", - "wgpu-hal", - "wgpu-types", -] - -[[package]] -name = "wgpu-core" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f478237b4bf0d5b70a39898a66fa67ca3a007d79f2520485b8b0c3dfc46f8c2" -dependencies = [ - "arrayvec", - "bit-vec", - "bitflags 2.3.1", - "codespan-reporting", - "log", - "naga", - "parking_lot", - "profiling", - "raw-window-handle", - "rustc-hash", - "smallvec", - "thiserror", - "web-sys", - "wgpu-hal", - "wgpu-types", -] - -[[package]] -name = "wgpu-hal" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74851c2c8e5d97652e74c241d41b0656b31c924a45dcdecde83975717362cfa4" -dependencies = [ - "android_system_properties", - "arrayvec", - "ash", - "bit-set", - "bitflags 2.3.1", - "block", - "core-graphics-types", - "d3d12", - "foreign-types", - "glow", - "gpu-alloc", - "gpu-allocator", - "gpu-descriptor", - "hassle-rs", - "js-sys", - "khronos-egl", - "libc", - "libloading 0.8.0", - "log", - "metal", - "naga", - "objc", - "parking_lot", - "profiling", - "range-alloc", - "raw-window-handle", - "renderdoc-sys", - "rustc-hash", - "smallvec", - "thiserror", - "wasm-bindgen", - "web-sys", - "wgpu-types", - "winapi", -] - -[[package]] -name = "wgpu-types" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bd33a976130f03dcdcd39b3810c0c3fc05daf86f0aaf867db14bfb7c4a9a32b" -dependencies = [ - "bitflags 2.3.1", - "js-sys", - "web-sys", -] - -[[package]] -name = "widestring" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows" -version = "0.44.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" -dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" - -[[package]] -name = "winit" -version = "0.28.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "866db3f712fffba75d31bf0cdecf357c8aeafd158c5b7ab51dba2a2b2d47f196" -dependencies = [ - "android-activity", - "bitflags 1.3.2", - "cfg_aliases", - "core-foundation", - "core-graphics", - "dispatch", - "instant", - "libc", - "log", - "mio", - "ndk", - "objc2", - "once_cell", - "orbclient", - "percent-encoding", - "raw-window-handle", - "redox_syscall 0.3.5", - "sctk-adwaita", - "smithay-client-toolkit", - "wasm-bindgen", - "wayland-client", - "wayland-commons", - "wayland-protocols", - "wayland-scanner", - "web-sys", - "windows-sys 0.45.0", - "x11-dl", -] - -[[package]] -name = "winnow" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699" -dependencies = [ - "memchr", -] - -[[package]] -name = "x11-dl" -version = "2.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" -dependencies = [ - "libc", - "once_cell", - "pkg-config", -] - -[[package]] -name = "xcursor" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7" -dependencies = [ - "nom", -] - -[[package]] -name = "xml-rs" -version = "0.8.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52839dc911083a8ef63efa4d039d1f58b5e409f923e44c80828f206f66e5541c" diff --git a/binaries/geph5-client-android/Cargo.toml b/binaries/geph5-client-android/Cargo.toml index 5438fd9d..a4dc41dd 100644 --- a/binaries/geph5-client-android/Cargo.toml +++ b/binaries/geph5-client-android/Cargo.toml @@ -1,52 +1,41 @@ [package] name = "geph5-client-android" version = "0.1.0" -edition = "2021" -resolver = "2" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - +edition = "2024" [dependencies] log = "0.4" -pollster = "0.2" -# winit = { git = "https://github.com/xorgy/winit", branch = "basic-keyboard-show-hide" } +pollster = "0.4" # For some reason logging within the egui crate isn't working, even with # the log feature. Maybe the android_logger crate is broken? -egui = "0.28" -egui-winit = { version = "0.28", default-features = false, features = [ - "android-native-activity", -] } -# egui_demo_lib = "0.22" +egui = "0.31" +egui-winit = { version = "0.31", features = ["android-native-activity"] } +egui_extras = { version = "0.31.0", features = ["image"] } jni = { version = "0.21.1", features = ["invocation"] } -once_cell = "1.19.0" -reqwest = { version = "0.12.5", default-features = false, features = [ - "rustls-tls-webpki-roots", +once_cell = "1.20.3" +reqwest = { version = "0.12.12", default-features = false, features = [ + "rustls-tls-webpki-roots", ] } geph5-client-gui = { path = "../geph5-client-gui" } -smolscale = "0.4.7" -tracing = "0.1.40" +smolscale = "0.4.15" +tracing = "0.1.41" ndk-context = "0.1.1" -anyhow = "1.0.86" -eframe = { version = "0.28.1", features = [ - "android-native-activity", - "wgpu", -], default-features = false } +anyhow = "1.0.96" +eframe = { version = "0.31", features = ["android-native-activity"] } [target.'cfg(not(target_os = "android"))'.dependencies] -env_logger = "0.10" +env_logger = "0.11.6" [target.'cfg(target_os = "android")'.dependencies] -android_logger = "0.13.0" +android_logger = "0.14.1" [features] default = [] desktop = [] [lib] -name = "na_egui" -crate_type = ["cdylib"] +crate-type = ["cdylib"] [[bin]] path = "src/lib.rs" diff --git a/binaries/geph5-client-android/app/src/main/AndroidManifest.xml b/binaries/geph5-client-android/app/src/main/AndroidManifest.xml index 80d10fd6..8dd32e1c 100644 --- a/binaries/geph5-client-android/app/src/main/AndroidManifest.xml +++ b/binaries/geph5-client-android/app/src/main/AndroidManifest.xml @@ -26,8 +26,8 @@ + android:value="geph5_client_android" /> - \ No newline at end of file + diff --git a/binaries/geph5-client-android/manifest.yaml b/binaries/geph5-client-android/manifest.yaml new file mode 100644 index 00000000..25ba7084 --- /dev/null +++ b/binaries/geph5-client-android/manifest.yaml @@ -0,0 +1,7 @@ +icon: "../geph5-client-gui/icon.png" + +android: + manifest: + application: + label: "Geph 5" + uses_permission: [{ name: "android.permission.INTERNET" }, { name: "android.permission.ACCESS_NETWORK_STATE" }] diff --git a/binaries/geph5-client-android/src/lib.rs b/binaries/geph5-client-android/src/lib.rs index b958617f..846bd1f8 100644 --- a/binaries/geph5-client-android/src/lib.rs +++ b/binaries/geph5-client-android/src/lib.rs @@ -3,7 +3,7 @@ mod keyboard; #[allow(dead_code)] #[cfg(target_os = "android")] -#[no_mangle] +#[unsafe(no_mangle)] fn android_main(app: egui_winit::winit::platform::android::activity::AndroidApp) { use egui_winit::winit::platform::android::EventLoopBuilderExtAndroid; android_logger::init_once( @@ -30,9 +30,7 @@ fn android_main(app: egui_winit::winit::platform::android::activity::AndroidApp) eframe::run_simple_native( "geph", eframe::NativeOptions { - event_loop_builder: Some(Box::new(|builder| { - builder.with_android_app(app); - })), + android_app: Some(app), ..Default::default() }, move |ctx, _frame| { diff --git a/binaries/geph5-client-gui/Cargo.toml b/binaries/geph5-client-gui/Cargo.toml index 1842387f..9f5abd41 100644 --- a/binaries/geph5-client-gui/Cargo.toml +++ b/binaries/geph5-client-gui/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "geph5-client-gui" version = "0.1.0" -edition = "2021" +edition = "2024" build = "build.rs" description = "GUI client for Geph" @@ -11,47 +11,47 @@ identifier = "io.geph.geph5" icon = ["icon.png"] [dependencies] -anyhow = "1.0.86" -csv = "1.3.0" +anyhow = "1.0.96" +csv = "1.3.1" # dirs = "5.0.1" -eframe = { version = "0.28.1" } -egui = "0.28.1" -moka = { version = "0.12.7", features = ["sync"] } +eframe = { version = "0.31.0" } +egui = "0.31.0" +moka = { version = "0.12.10", features = ["sync"] } arc-writer = { path = "../../libraries/arc-writer" } serde = { version = "1", features = ["derive"] } -once_cell = "1.19.0" -smol_str = { version = "0.2.2", features = ["serde"] } +once_cell = "1.20.3" +smol_str = { version = "0.3.2", features = ["serde"] } tap = "1.0.1" geph5-client = { path = "../geph5-client", features = ["windivert"] } poll-promise = "0.3.0" -smolscale = "0.4.7" -futures-util = "0.3.30" -smol = "2.0.0" +smolscale = "0.4.15" +futures-util = "0.3.31" +smol = "2.0.2" geph5-broker-protocol = { path = "../../libraries/geph5-broker-protocol" } serde_yaml = "0.9.34" -smol-timeout2 = "0.6.0" -tracing = "0.1.40" -tracing-subscriber = {version="0.3.18", features=["json"]} -serde_json = "1.0.120" -oneshot = "0.1.8" -chrono = "0.4.38" -http = "1.1.0" +smol-timeout2 = "0.6.1" +tracing = "0.1.41" +tracing-subscriber = { version = "0.3.19", features = ["json"] } +serde_json = "1.0.139" +oneshot = "0.1.11" +chrono = "0.4.40" +http = "1.2.0" isocountry = "0.3.2" -image = { version = "0.25.1", default-features = false, features = ["ico"] } -itertools = "0.13.0" +image = { version = "0.25.5", default-features = false, features = ["ico"] } +itertools = "0.14.0" elevated-command = "1.1.2" -egui_plot = "0.28.1" +egui_plot = "0.31.0" runas = "1.2.0" -egui_extras = { version = "0.28.1", features = ["all_loaders"] } -base32 = "0.5.0" -rlimit = "0.10.1" +egui_extras = { version = "0.31.0", features = ["all_loaders"] } +base32 = "0.5.1" +rlimit = "0.10.2" binary-search = "0.1.2" nanorpc-sillad = { path = "../../libraries/nanorpc-sillad" } sillad = { path = "../../libraries/sillad" } app_dirs2 = "2.5.5" -strip-ansi-escapes = "0.2.0" +strip-ansi-escapes = "0.2.1" [build-dependencies] winresource = "0.1" @@ -61,5 +61,5 @@ single-instance = "0.3.3" native-dialog = "0.7.0" [target.'cfg(windows)'.dependencies] -winreg = "0.52.0" +winreg = "0.55.0" winapi = { version = "0.3.9", features = ["wininet"] } diff --git a/binaries/geph5-client-gui/src/lib.rs b/binaries/geph5-client-gui/src/lib.rs index 9243c78c..56f6fbbf 100644 --- a/binaries/geph5-client-gui/src/lib.rs +++ b/binaries/geph5-client-gui/src/lib.rs @@ -55,11 +55,11 @@ impl App { let mut fonts = FontDefinitions::default(); fonts.font_data.insert( "normal".into(), - FontData::from_static(include_bytes!("assets/normal.otf")), + FontData::from_static(include_bytes!("assets/normal.otf")).into(), ); fonts.font_data.insert( "chinese".into(), - FontData::from_static(include_bytes!("assets/chinese.ttf")), + FontData::from_static(include_bytes!("assets/chinese.ttf")).into(), ); { @@ -87,6 +87,74 @@ impl App { } } +impl eframe::App for App { + fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) { + ctx.set_zoom_factor(1.1); + ctx.request_repaint_after(Duration::from_millis(200)); + + { + let count = self + .total_bytes + .get_or_refresh(Duration::from_millis(200), || { + smol::future::block_on( + DAEMON_HANDLE + .control_client() + .stat_num("total_rx_bytes".to_string()), + ) + .unwrap_or_default() + + smol::future::block_on( + DAEMON_HANDLE + .control_client() + .stat_num("total_tx_bytes".to_string()), + ) + .unwrap_or_default() + }) + .copied() + .unwrap_or_default(); + TOTAL_BYTES_TIMESERIES.record(count); + } + + if USERNAME.get().is_empty() { + egui::CentralPanel::default().show(ctx, |ui| { + self.login.render(ui).unwrap(); + }); + + return; + } + + egui::TopBottomPanel::top("top").show(ctx, |ui| { + ui.horizontal(|ui| { + ui.selectable_value( + &mut self.selected_tab, + TabName::Dashboard, + l10n("dashboard"), + ); + ui.selectable_value(&mut self.selected_tab, TabName::Logs, l10n("logs")); + ui.selectable_value(&mut self.selected_tab, TabName::Settings, l10n("settings")); + }); + }); + + let result = egui::CentralPanel::default().show(ctx, |ui| match self.selected_tab { + TabName::Dashboard => self.dashboard.render(ui), + TabName::Logs => self.logs.render(ui), + TabName::Settings => self.settings.render(ui), + }); + + #[cfg(not(target_os = "android"))] + if let Err(err) = result.inner { + use native_dialog::MessageType; + let _ = native_dialog::MessageDialog::new() + .set_title("Fatal error") + .set_text(&format!( + "Unfortunately, a fatal error occurred:\n\n{:?}", + err + )) + .set_type(MessageType::Error) + .show_alert(); + } + } +} + impl App { pub fn render(&mut self, ctx: &egui::Context) { ctx.set_zoom_factor(1.1); diff --git a/binaries/geph5-client-gui/src/main.rs b/binaries/geph5-client-gui/src/main.rs index 28b8d04a..2b29d967 100644 --- a/binaries/geph5-client-gui/src/main.rs +++ b/binaries/geph5-client-gui/src/main.rs @@ -8,7 +8,7 @@ use native_dialog::MessageType; use geph5_client_gui::pac::unset_http_proxy; -use tracing_subscriber::{layer::SubscriberExt as _, util::SubscriberInitExt, EnvFilter}; +use tracing_subscriber::{EnvFilter, layer::SubscriberExt as _, util::SubscriberInitExt}; // 0123456789 diff --git a/binaries/geph5-client-gui/src/tabs/login.rs b/binaries/geph5-client-gui/src/tabs/login.rs index 2d636446..3a02a5fe 100644 --- a/binaries/geph5-client-gui/src/tabs/login.rs +++ b/binaries/geph5-client-gui/src/tabs/login.rs @@ -1,10 +1,10 @@ -use egui::{Align, Image, Key, Layout, TextBuffer, TextEdit, Widget}; +use egui::{Align, Image, Key, Layout, TextBuffer, TextEdit, UiBuilder, Widget}; use geph5_broker_protocol::{BrokerClient, Credential}; use poll_promise::Promise; use crate::{ l10n::l10n, - settings::{get_config, PASSWORD, USERNAME}, + settings::{PASSWORD, USERNAME, get_config}, show_keyboard, }; @@ -61,7 +61,7 @@ impl Login { } else { let (rect, _) = ui.allocate_exact_size(ui.available_size(), egui::Sense::click()); let rect = rect.shrink2(egui::vec2(40., 0.)); - ui.allocate_ui_at_rect(rect, |ui| { + ui.allocate_new_ui(UiBuilder::new().max_rect(rect), |ui| { ui.with_layout(Layout::top_down_justified(Align::Center), |ui| { ui.add_space(10.); Image::new(egui::include_image!("../../icon.png")) diff --git a/binaries/geph5-client-gui/src/tabs/settings.rs b/binaries/geph5-client-gui/src/tabs/settings.rs index 278a82ee..bf08e5db 100644 --- a/binaries/geph5-client-gui/src/tabs/settings.rs +++ b/binaries/geph5-client-gui/src/tabs/settings.rs @@ -11,8 +11,8 @@ use crate::{ l10n::{l10n, l10n_country}, refresh_cell::RefreshCell, settings::{ - get_config, BRIDGE_MODE, HTTP_PROXY_PORT, LANG_CODE, PASSTHROUGH_CHINA, PASSWORD, - PROXY_AUTOCONF, SELECTED_CITY, SELECTED_COUNTRY, SOCKS5_PORT, USERNAME, VPN_MODE, + BRIDGE_MODE, HTTP_PROXY_PORT, LANG_CODE, PASSTHROUGH_CHINA, PASSWORD, PROXY_AUTOCONF, + SELECTED_CITY, SELECTED_COUNTRY, SOCKS5_PORT, USERNAME, VPN_MODE, get_config, }, }; @@ -132,7 +132,7 @@ impl Settings { }); columns[1].vertical(|ui| { - egui::ComboBox::from_id_source("country") + egui::ComboBox::from_id_salt("country") .selected_text( SELECTED_COUNTRY .get() @@ -163,7 +163,7 @@ impl Settings { } }); if let Some(country) = SELECTED_COUNTRY.get() { - egui::ComboBox::from_id_source("city") + egui::ComboBox::from_id_salt("city") .selected_text( SELECTED_CITY .get() @@ -205,7 +205,7 @@ impl Settings { ui.horizontal(|ui| { ui.label("Bridge mode"); - egui::ComboBox::from_id_source("bridge") + egui::ComboBox::from_id_salt("bridge") .selected_text(mode_label(*bridge_mode)) .show_ui(ui, |ui| { for this_mode in [ @@ -246,7 +246,7 @@ impl Settings { pub fn render_language_settings(ui: &mut egui::Ui) -> anyhow::Result<()> { LANG_CODE.modify(|lang_code| { - egui::ComboBox::from_id_source("lcmbx") + egui::ComboBox::from_id_salt("lcmbx") .selected_text(match lang_code.as_str() { "en" => "English", "zh" => "中文", diff --git a/binaries/geph5-client/Cargo.toml b/binaries/geph5-client/Cargo.toml index 4db62741..fb64d605 100644 --- a/binaries/geph5-client/Cargo.toml +++ b/binaries/geph5-client/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "geph5-client" -edition = "2021" +edition = "2024" license = "MPL-2.0" description = "Geph5 client" -version= "0.2.37" +version = "0.2.37" repository.workspace = true [features] @@ -11,86 +11,94 @@ windivert = [] [dependencies] anyctx = "0.1.0" -anyhow = "1.0.86" +anyhow = "1.0.96" arc-writer = { version = "0.2.1-alpha.1", path = "../../libraries/arc-writer" } -async-broadcast = "0.7.1" +async-broadcast = "0.7.2" async-compat = "0.2.4" async-dup = "1.2.4" async-event = "0.2.1" async-native-tls = "0.5.0" -async-trait = "0.1.80" -atomic_float = "1.0.0" -aws-config = "1.5.4" -aws-sdk-lambda = { version = "1.35.0", features = ["rustls"] } +async-trait = "0.1.86" +atomic_float = "1.1.0" +aws-config = "1.5.17" +aws-sdk-lambda = { version = "1.70.0", features = ["rustls"] } aws-smithy-runtime = "1" -blake3 = "1.5.1" +blake3 = "1.6.1" blind-rsa-signatures = "0.15.1" -bytes = "1.6.0" -chrono = "0.4.38" -clap = { version = "4.5.8", features = ["derive"] } +bytes = "1.10.0" +chrono = "0.4.40" +clap = { version = "4.5.31", features = ["derive"] } clone-macro = "0.1.0" -crossbeam-queue = "0.3.11" -ctrlc = {version="3.4.5", features=["termination"]} -dashmap = "6.0.1" -dirs = "5.0.1" -ed25519-dalek = {version="2", default-features=false, features=["serde"]} +crossbeam-queue = "0.3.12" +ctrlc = { version = "3.4.5", features = ["termination"] } +dashmap = "6.1.0" +dirs = "6.0.0" +ed25519-dalek = { version = "2", default-features = false, features = [ + "serde", +] } elevated-command = "1.1.2" -event-listener = "5.3.1" -futures-concurrency = "7.6.1" +event-listener = "5.4.0" +futures-concurrency = "7.6.3" futures-intrusive = "0.5.0" -futures-util = "0.3.30" +futures-util = "0.3.31" geph5-broker-protocol = { version = "0.2", path = "../../libraries/geph5-broker-protocol" } geph5-misc-rpc = { version = "0.2", path = "../../libraries/geph5-misc-rpc" } hex = "0.4.3" -http = "1.1.0" +http = "1.2.0" http-body-util = "0.1.2" -hyper = { version = "1.4.0", features = ["http1", "client", "server"] } +hyper = { version = "1.6.0", features = ["http1", "client", "server"] } hyper-rustls = { version = "0.24.2", features = ["webpki-roots"] } -hyper-util = { version = "0.1.6" } -ipstack-geph = "0.2.0" +hyper-util = { version = "0.1.10" } +ipstack-geph = "0.2.8" isocountry = "0.3.2" -itertools = "0.13.0" -libc = "0.2.155" -mizaru2 = { version= "0.2.7", path = "../../libraries/mizaru2" } -moka = { version = "0.12.7", features = ["future", "sync"] } -nanorpc = "0.1.12" +itertools = "0.14.0" +libc = "0.2.170" +mizaru2 = { version = "0.2.7", path = "../../libraries/mizaru2" } +moka = { version = "0.12.10", features = ["future", "sync"] } +nanorpc = "0.1.13" nanorpc-sillad = { version = "0.1", path = "../../libraries/nanorpc-sillad" } nursery_macro = "0.1.0" -once_cell = "1.19.0" -oneshot = "0.1.8" +once_cell = "1.20.3" +oneshot = "0.1.11" parking_lot = "0.12.3" picomux = { version = "0.1.11", path = "../../libraries/picomux" } -pin-project = "1.1.5" +pin-project = "1.1.9" pnet_packet = "0.35.0" -psl = "2.1.55" +psl = "2.1.89" rand = "0.8.5" -reqwest = { version = "0.12.5", default-features = false, features = ["rustls-tls-webpki-roots"] } +reqwest = { version = "0.12.12", default-features = false, features = [ + "rustls-tls-webpki-roots", +] } scopeguard = "1.2.0" serde = { version = "1", features = ["derive"] } -serde_json = "1.0.120" +serde_json = "1.0.139" serde_yaml = "0.9.34" -sillad = { version= "0.2.5", path = "../../libraries/sillad" } +sillad = { version = "0.2.5", path = "../../libraries/sillad" } sillad-conntest = { version = "0.2", path = "../../libraries/sillad-conntest" } -sillad-native-tls = {version="0.2", path="../../libraries/sillad-native-tls"} +sillad-native-tls = { version = "0.2", path = "../../libraries/sillad-native-tls" } sillad-sosistab3 = { version = "0.2.7", path = "../../libraries/sillad-sosistab3" } -simple-dns = "0.7.0" +simple-dns = "0.10.0" slab = "0.4.9" -smol = "2.0.0" -smol-timeout2 = "0.6.0" -smol_str = { version = "0.2.2", features = ["serde"] } -smolscale = "0.4.7" +smol = "2.0.2" +smol-timeout2 = "0.6.1" +smol_str = { version = "0.3.2", features = ["serde"] } +smolscale = "0.4.15" socksv5 = "0.3.1" -sqlx = { version = "0.7.4", features = ["sqlite", "runtime-tokio"] } +sqlx = { version = "0.8.3", features = ["sqlite", "runtime-tokio"] } stdcode = "0.1.14" -tachyonix = "0.3.0" +tachyonix = "0.3.1" tap = "1.0.1" -thiserror = "1.0.61" -tokio = { version = "1.38.0", features = ["rt", "net", "io-util"] } -tower-service = "0.3.2" -tracing = "0.1.40" -tracing-subscriber = {version="0.3.18", features=["json"]} -tun = "0.6.1" -x25519-dalek = {version="2", default-features=false, features=["serde"]} +thiserror = "2.0.11" +tokio = { version = "1.43.0", features = ["rt", "net", "io-util"] } +tower-service = "0.3.3" +tracing = "0.1.41" +tracing-subscriber = { version = "0.3.19", features = ["json"] } +tun = "0.7.13" +x25519-dalek = { version = "2", default-features = false, features = ["serde"] } [target.'cfg(windows)'.dependencies] -winapi = { version = "0.3.9", features = ["minwindef", "mmsystem", "timeapi", "std"] } - +winapi = { version = "0.3.9", features = [ + "minwindef", + "mmsystem", + "timeapi", + "std", +] } diff --git a/binaries/geph5-client/src/client.rs b/binaries/geph5-client/src/client.rs index 50c62705..80aa96ba 100644 --- a/binaries/geph5-client/src/client.rs +++ b/binaries/geph5-client/src/client.rs @@ -100,10 +100,12 @@ pub struct Client { impl Client { /// Starts the client logic in the loop, returning the handle. pub fn start(cfg: Config) -> Self { - std::env::remove_var("http_proxy"); - std::env::remove_var("https_proxy"); - std::env::remove_var("HTTP_PROXY"); - std::env::remove_var("HTTPS_PROXY"); + unsafe { + std::env::remove_var("http_proxy"); + std::env::remove_var("https_proxy"); + std::env::remove_var("HTTP_PROXY"); + std::env::remove_var("HTTPS_PROXY"); + } let ctx = AnyCtx::new(cfg); let task = smolscale::spawn(client_main(ctx.clone()).map_err(Arc::new)); Client { diff --git a/binaries/geph5-client/src/lib.rs b/binaries/geph5-client/src/lib.rs index 73895f3a..2f6e318f 100644 --- a/binaries/geph5-client/src/lib.rs +++ b/binaries/geph5-client/src/lib.rs @@ -1,5 +1,5 @@ -pub use broker::broker_client; pub use broker::BrokerSource; +pub use broker::broker_client; pub use client::Client; pub use client::{BridgeMode, BrokerKeys, Config}; pub use control_prot::{ConnInfo, ControlClient}; diff --git a/binaries/geph5-client/src/route.rs b/binaries/geph5-client/src/route.rs index 644debd9..72ea0891 100644 --- a/binaries/geph5-client/src/route.rs +++ b/binaries/geph5-client/src/route.rs @@ -7,7 +7,7 @@ use async_native_tls::TlsConnector; use ed25519_dalek::VerifyingKey; use geph5_broker_protocol::{ - AccountLevel, ExitDescriptor, RouteDescriptor, DOMAIN_EXIT_DESCRIPTOR, + AccountLevel, DOMAIN_EXIT_DESCRIPTOR, ExitDescriptor, RouteDescriptor, }; use isocountry::CountryCode; use rand::seq::SliceRandom; @@ -17,7 +17,7 @@ use sillad::{ tcp::TcpDialer, }; use sillad_conntest::ConnTestDialer; -use sillad_sosistab3::{dialer::SosistabDialer, Cookie}; +use sillad_sosistab3::{Cookie, dialer::SosistabDialer}; use smol_timeout2::TimeoutExt as _; diff --git a/binaries/geph5-client/src/vpn/linux.rs b/binaries/geph5-client/src/vpn/linux.rs index e1a60610..ce5c138f 100644 --- a/binaries/geph5-client/src/vpn/linux.rs +++ b/binaries/geph5-client/src/vpn/linux.rs @@ -17,7 +17,7 @@ use std::{ sync::LazyLock, }; -use crate::{client_inner::open_conn, spoof_dns::fake_dns_respond, Config}; +use crate::{Config, client_inner::open_conn, spoof_dns::fake_dns_respond}; const FAKE_LOCAL_ADDR: IpAddr = IpAddr::V4(Ipv4Addr::new(100, 64, 89, 64)); @@ -49,7 +49,9 @@ extern "C" fn teardown_routing() { "!!!!!!!!!!!!!!!!!!!!!!! teardown_routing starting !!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ); WHITELIST.clear(); - std::env::set_var("GEPH_DNS", GEPH_DNS.lock().clone()); + unsafe { + std::env::set_var("GEPH_DNS", GEPH_DNS.lock().clone()); + } let cmd = include_str!("linux_routing_teardown.sh"); let mut child = Command::new("sh").arg("-c").arg(cmd).spawn().unwrap(); child.wait().expect("iptables was not set up properly"); @@ -63,8 +65,9 @@ pub(super) async fn packet_shuffle( ) -> anyhow::Result<()> { let dns_proxy = UdpSocket::bind("127.0.0.1:0").await?; *GEPH_DNS.lock() = dns_proxy.local_addr()?.to_string(); - std::env::set_var("GEPH_DNS", GEPH_DNS.lock().clone()); - + unsafe { + std::env::set_var("GEPH_DNS", GEPH_DNS.lock().clone()); + } tracing::info!( addr = display(dns_proxy.local_addr().unwrap()), "start DNS proxy" @@ -130,10 +133,10 @@ pub(super) async fn packet_shuffle( } #[cfg(target_os = "linux")] -fn configure_tun_device() -> tun::platform::Device { - let device = tun::platform::Device::new( +fn configure_tun_device() -> tun::Device { + let device = tun::Device::new( tun::Configuration::default() - .name("tun-geph") + .tun_name("tun-geph") .address(FAKE_LOCAL_ADDR) .netmask("255.255.255.0") .destination("100.64.0.1") diff --git a/binaries/geph5-exit/Cargo.toml b/binaries/geph5-exit/Cargo.toml index 28947a7f..55c2ed46 100644 --- a/binaries/geph5-exit/Cargo.toml +++ b/binaries/geph5-exit/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "geph5-exit" version = "0.1.0" -edition = "2021" +edition = "2024" license = "MPL-2.0" [dependencies] @@ -11,61 +11,63 @@ sillad-sosistab3 = { path = "../../libraries/sillad-sosistab3" } sillad-conntest = { path = "../../libraries/sillad-conntest" } sillad-native-tls = { path = "../../libraries/sillad-native-tls" } picomux = { path = "../../libraries/picomux" } -async-trait = "0.1.80" -nanorpc = "0.1.12" -thiserror = "1.0.61" -smolscale = "0.4.13" -futures-util = "0.3.30" -async-io = "2.3.3" -once_cell = "1.19.0" -serde = "1.0.204" -serde_json = "1.0.120" +async-trait = "0.1.86" +nanorpc = "0.1.13" +thiserror = "2.0.11" +smolscale = "0.4.15" +futures-util = "0.3.31" +async-io = "2.4.0" +once_cell = "1.20.3" +serde = "1.0.218" +serde_json = "1.0.139" serde_yaml = "0.9.34" -anyhow = "1.0.86" -tracing = "0.1.40" -smol = "2.0.0" +anyhow = "1.0.96" +tracing = "0.1.41" +smol = "2.0.2" rand = "0.8.5" -reqwest = { version = "0.12.5", default-features = false, features = [ +reqwest = { version = "0.12.12", default-features = false, features = [ "rustls-tls", ] } isocountry = "0.3.2" -ed25519-dalek = {version="2", default-features=false, features=["serde"]} -blake3 = "1.5.1" -tracing-subscriber = "0.3.18" +ed25519-dalek = { version = "2", default-features = false, features = [ + "serde", +] } +blake3 = "1.6.1" +tracing-subscriber = "0.3.19" tap = "1.0.1" geph5-misc-rpc = { path = "../../libraries/geph5-misc-rpc" } stdcode = "0.1.14" -x25519-dalek = {version="2", default-features=false, features=["serde"]} +x25519-dalek = { version = "2", default-features = false, features = ["serde"] } hex = "0.4.3" nursery_macro = "0.1.0" -moka = { version = "0.12.7", features = ["future"] } +moka = { version = "0.12.10", features = ["future"] } mizaru2 = { path = "../../libraries/mizaru2" } -governor = "0.6.3" -quanta = "0.12.3" -sysinfo = "0.30.12" -atomic_float = "1.0.0" -fastrand = "2.1.0" -tachyonix = "0.3.0" -clap = { version = "4.5.8", features = ["derive"] } +governor = "0.8.1" +quanta = "0.12.5" +sysinfo = "0.33.1" +atomic_float = "1.1.0" +fastrand = "2.3.0" +tachyonix = "0.3.1" +clap = { version = "4.5.31", features = ["derive"] } smol-timeout2 = "0.6.1" -flate2 = "1.0.33" -async-io-bufpool = "0.1.0" +flate2 = "1.1.0" +async-io-bufpool = "0.1.2" tikv-jemallocator = "0.6" threadpool = "1.8.1" -oneshot = "0.1.8" -bytes = "1.8.0" -simple-dns = "0.9.0" +oneshot = "0.1.11" +bytes = "1.10.0" +simple-dns = "0.10.0" dashmap = "6.1.0" -globset = "0.4.15" +globset = "0.4.16" crossbeam-queue = "0.3.12" scopeguard = "1.2.0" async-event = "0.2.1" -ipnet = "2.10.1" +ipnet = "2.11.0" socket2 = "0.5.8" serde_with = "3.12.0" -futures-concurrency = "7.6.2" +futures-concurrency = "7.6.3" async-native-tls = "0.5.0" rcgen = "0.13.2" time = "0.3.37" -native-tls = "0.2.13" +native-tls = "0.2.14" diff --git a/binaries/geph5-exit/src/listen.rs b/binaries/geph5-exit/src/listen.rs index 334518dd..ac91414f 100644 --- a/binaries/geph5-exit/src/listen.rs +++ b/binaries/geph5-exit/src/listen.rs @@ -11,7 +11,7 @@ use mizaru2::{ClientToken, UnblindedSignature}; use moka::future::Cache; use picomux::{LivenessConfig, PicoMux}; -use sillad::{listener::Listener, tcp::TcpListener, EitherPipe, Pipe}; +use sillad::{EitherPipe, Pipe, listener::Listener, tcp::TcpListener}; use smol::future::FutureExt as _; use std::{net::SocketAddr, sync::Arc, time::Duration}; use stdcode::StdcodeSerializeExt; @@ -22,14 +22,14 @@ mod b2e_process; mod tls; use crate::{ + CONFIG_FILE, SIGNING_SECRET, asn::ip_to_asn_country, auth::verify_user, - broker::{broker_loop, ACCEPT_FREE}, - ipv6::{configure_ipv6_routing, EyeballDialer}, + broker::{ACCEPT_FREE, broker_loop}, + ipv6::{EyeballDialer, configure_ipv6_routing}, proxy::proxy_stream, - ratelimit::{get_ratelimiter, RateLimiter}, + ratelimit::{RateLimiter, get_ratelimiter}, tasklimit::new_task_until_death, - CONFIG_FILE, SIGNING_SECRET, }; pub async fn listen_main() -> anyhow::Result<()> { diff --git a/binaries/geph5-exit/src/main.rs b/binaries/geph5-exit/src/main.rs index 3766ab32..f685a702 100644 --- a/binaries/geph5-exit/src/main.rs +++ b/binaries/geph5-exit/src/main.rs @@ -13,7 +13,7 @@ use listen::listen_main; use once_cell::sync::{Lazy, OnceCell}; use rand::Rng; use serde::Deserialize; -use serde_with::{serde_as, DisplayFromStr}; +use serde_with::{DisplayFromStr, serde_as}; use std::{ net::{IpAddr, SocketAddr}, path::PathBuf, @@ -114,7 +114,7 @@ static SIGNING_SECRET: Lazy = Lazy::new(|| { } _ => { // Generate a new SigningKey if there's an error or the length is not 32 bytes. - let new_key = SigningKey::from_bytes(&rand::thread_rng().gen()); + let new_key = SigningKey::from_bytes(&rand::thread_rng().r#gen()); let key_bytes = new_key.to_bytes(); std::fs::write(&config_file.signing_secret, key_bytes).unwrap(); new_key diff --git a/libraries/arc-writer/Cargo.toml b/libraries/arc-writer/Cargo.toml index e4491ffd..e7d30d02 100644 --- a/libraries/arc-writer/Cargo.toml +++ b/libraries/arc-writer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "arc-writer" -edition = "2021" +edition = "2024" description = "Arc writer" version = "0.2.1-alpha.1" repository.workspace = true diff --git a/libraries/geph5-broker-protocol/Cargo.toml b/libraries/geph5-broker-protocol/Cargo.toml index 10e7a6cf..6222625f 100644 --- a/libraries/geph5-broker-protocol/Cargo.toml +++ b/libraries/geph5-broker-protocol/Cargo.toml @@ -1,26 +1,28 @@ [package] name = "geph5-broker-protocol" -edition = "2021" +edition = "2024" description = "Broker protocol for Geph5" version.workspace = true repository.workspace = true license.workspace = true [dependencies] -anyhow = "1.0.86" -async-trait = "0.1.80" -nanorpc = "0.1.12" -serde_json = "1.0.120" -thiserror = "1.0.61" -serde = { version = "1.0.204", features = ["derive"] } -bytes = { version = "1.6.0", features = ["serde"] } -ed25519-dalek = {version="2", default-features=false, features=["serde"]} +anyhow = "1.0.96" +async-trait = "0.1.86" +nanorpc = "0.1.13" +serde_json = "1.0.139" +thiserror = "2.0.11" +serde = { version = "1.0.218", features = ["derive"] } +bytes = { version = "1.10.0", features = ["serde"] } +ed25519-dalek = { version = "2", default-features = false, features = [ + "serde", +] } stdcode = "0.1.14" -blake3 = { version = "=1.5.1", features = ["serde"] } +blake3 = { version = "1.6.1", features = ["serde"] } isocountry = "0.3.2" language-tags = { version = "0.3.2", features = ["serde"] } -serde_with = { version = "3.8.3", features = ["hex"] } -mizaru2 = {version = "0.2.7", path = "../mizaru2" } -tracing = "0.1.40" -melpow = "0.1.1" +serde_with = { version = "3.12.0", features = ["hex"] } +mizaru2 = { version = "0.2.7", path = "../mizaru2" } +tracing = "0.1.41" +melpow = "0.1.2" base64 = "0.22.1" diff --git a/libraries/geph5-misc-rpc/Cargo.toml b/libraries/geph5-misc-rpc/Cargo.toml index 22b5c5e2..88927ff8 100644 --- a/libraries/geph5-misc-rpc/Cargo.toml +++ b/libraries/geph5-misc-rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "geph5-misc-rpc" -edition = "2021" +edition = "2024" description = "Geph5 misc RPC protocols" version.workspace = true repository.workspace = true @@ -8,25 +8,27 @@ license.workspace = true [dependencies] -serde = { version = "1.0.204", features = ["derive"] } +serde = { version = "1.0.218", features = ["derive"] } stdcode = "0.1.14" -futures-util = { version = "0.3.30", features = ["io"] } -async-trait = "0.1.80" -nanorpc = "0.1.12" -serde_json = "1.0.120" -thiserror = "1.0.61" -anyhow = "1.0.86" -bytes = { version = "1.6.0", features = ["serde"] } -ed25519-dalek = {version="2", default-features=false, features=["serde"]} -x25519-dalek = {version="2", default-features=false, features=["serde"]} -blake3 = { version = "1.5.1", features = ["serde"] } -sillad = { version="0.2", path = "../sillad" } +futures-util = { version = "0.3.31", features = ["io"] } +async-trait = "0.1.86" +nanorpc = "0.1.13" +serde_json = "1.0.139" +thiserror = "2.0.11" +anyhow = "1.0.96" +bytes = { version = "1.10.0", features = ["serde"] } +ed25519-dalek = { version = "2", default-features = false, features = [ + "serde", +] } +x25519-dalek = { version = "2", default-features = false, features = ["serde"] } +blake3 = { version = "1.6.1", features = ["serde"] } +sillad = { version = "0.2", path = "../sillad" } chacha20poly1305 = "0.10.1" -smallvec = "1.13.2" -smolscale = "0.4.7" +smallvec = "1.14.0" +smolscale = "0.4.15" async-task = "4.7.1" -bipe = "0.2.2" +bipe = "0.2.8" tap = "1.0.1" -pin-project = "1.1.5" +pin-project = "1.1.9" socksv5 = "0.3" -tachyonix = "0.3.0" +tachyonix = "0.3.1" diff --git a/libraries/mizaru2/Cargo.toml b/libraries/mizaru2/Cargo.toml index 72b189f1..15f49bfe 100644 --- a/libraries/mizaru2/Cargo.toml +++ b/libraries/mizaru2/Cargo.toml @@ -1,17 +1,17 @@ [package] name = "mizaru2" -edition = "2021" +edition = "2024" description = "Mizaru2" version = "0.2.12" repository.workspace = true license.workspace = true [dependencies] -blake3 = { version = "1.5.1", features = ["serde"] } +blake3 = { version = "1.6.1", features = ["serde"] } blind-rsa-signatures = "0.15.1" rand = "0.8.5" stdcode = "0.1.14" -serde = { version = "1.0.204", features = ["derive", "rc"] } -anyhow = "1.0.86" +serde = { version = "1.0.218", features = ["derive", "rc"] } +anyhow = "1.0.96" rayon = "1.10.0" hex = "0.4.3" diff --git a/libraries/mizaru2/src/lib.rs b/libraries/mizaru2/src/lib.rs index 7eea0a62..8c529870 100644 --- a/libraries/mizaru2/src/lib.rs +++ b/libraries/mizaru2/src/lib.rs @@ -4,8 +4,8 @@ use rayon::prelude::*; use serde::{Deserialize, Serialize}; use std::{ sync::{ - atomic::{AtomicUsize, Ordering}, Arc, + atomic::{AtomicUsize, Ordering}, }, time::SystemTime, }; diff --git a/libraries/nanorpc-sillad/Cargo.toml b/libraries/nanorpc-sillad/Cargo.toml index d7a61c69..a7c2a87e 100644 --- a/libraries/nanorpc-sillad/Cargo.toml +++ b/libraries/nanorpc-sillad/Cargo.toml @@ -1,17 +1,17 @@ [package] name = "nanorpc-sillad" version = "0.1.2" -edition = "2021" +edition = "2024" description = "nanorpc transport over sillad pipes" repository.workspace = true license.workspace = true [dependencies] sillad = { version = "0.2", path = "../sillad" } -async-trait = "0.1.80" -nanorpc = "0.1.12" -serde_json = "1.0.120" -thiserror = "1.0.61" -anyhow = "1.0.86" -futures-util = { version = "0.3.30", features = ["io"] } -async-executor = "1.12.0" +async-trait = "0.1.86" +nanorpc = "0.1.13" +serde_json = "1.0.139" +thiserror = "2.0.11" +anyhow = "1.0.96" +futures-util = { version = "0.3.31", features = ["io"] } +async-executor = "1.13.1" diff --git a/libraries/picomux/Cargo.toml b/libraries/picomux/Cargo.toml index 7cba7778..e43a4fa8 100644 --- a/libraries/picomux/Cargo.toml +++ b/libraries/picomux/Cargo.toml @@ -1,45 +1,45 @@ [package] name = "picomux" version = "0.1.11" -edition = "2021" +edition = "2024" repository = "https://github.com/geph-official/geph5" license = "ISC" description = "A protocol to multiplex multiple AsyncRead/Write streams over a single one, inspired by smux and http2" [dependencies] ahash = "0.8.11" -anyhow = "1.0.86" +anyhow = "1.0.96" async-dup = "1.2.4" async-task = "4.7.1" async_io_stream = "0.3.3" bipe = "0.2" -bytemuck = { version = "1.16.1", features = ["derive", "min_const_generics"] } -bytes = "1.6.0" -dashmap = "6.0.1" -futures-lite = "2.3.0" -futures-util = { version = "0.3.30", features = ["io"] } -oneshot = "0.1.8" +bytemuck = { version = "1.21.0", features = ["derive", "min_const_generics"] } +bytes = "1.10.0" +dashmap = "6.1.0" +futures-lite = "2.6.0" +futures-util = { version = "0.3.31", features = ["io"] } +oneshot = "0.1.11" parking_lot = "0.12.3" -rand = "0.8.5" +rand = "0.9.0" recycle-box = "0.2.0" scopeguard = "1.2.0" -smol-timeout2 = "0.6.0" -smolscale = "0.4.7" -tracing = "0.1.40" +smol-timeout2 = "0.6.1" +smolscale = "0.4.15" +tracing = "0.1.41" tracing-test = "0.2.5" -fastrand = "2.1.0" +fastrand = "2.3.0" tap = "1.0.1" -serde = { version = "1.0.204", features = ["derive"] } -serde_json = "1.0.120" -async-io = "2.3.3" +serde = { version = "1.0.218", features = ["derive"] } +serde_json = "1.0.139" +async-io = "2.4.0" sillad = { version = "0.2", path = "../sillad" } futures-intrusive = "0.5.0" async-channel = "2.3.1" -pin-project = "1.1.5" -tachyonix = "0.3.0" +pin-project = "1.1.9" +tachyonix = "0.3.1" async-event = "0.2.1" async-lock = "3.4.0" -crossbeam-queue = "0.3.11" +crossbeam-queue = "0.3.12" async-io-bufpool = "0.1.2" atomic_float = "1.1.0" @@ -48,5 +48,5 @@ smol = "2" socksv5 = "0.3" sillad-sosistab3 = { path = "../sillad-sosistab3" } tracing-subscriber = "0.3" -clap = { version = "4.5.8", features = ["derive"] } +clap = { version = "4.5.31", features = ["derive"] } argh = "0.1" diff --git a/libraries/picomux/examples/picomux-test/client.rs b/libraries/picomux/examples/picomux-test/client.rs index 4b6a791d..9937b5d6 100644 --- a/libraries/picomux/examples/picomux-test/client.rs +++ b/libraries/picomux/examples/picomux-test/client.rs @@ -4,17 +4,16 @@ use std::{ time::{Duration, Instant}, }; -use futures_lite::{AsyncWriteExt, FutureExt as _}; +use futures_lite::FutureExt; use futures_util::AsyncReadExt; use picomux::{LivenessConfig, PicoMux}; -use rand::RngCore; use sillad::dialer::{Dialer, DialerExt}; use crate::command::Command; pub async fn client_main(connect: SocketAddr, sosistab3: Option) -> anyhow::Result<()> { let start = Instant::now(); - let mut wire = if let Some(sosistab3) = sosistab3 { + let wire = if let Some(sosistab3) = sosistab3 { sillad_sosistab3::dialer::SosistabDialer { inner: sillad::tcp::TcpDialer { dest_addr: connect }, cookie: sillad_sosistab3::Cookie::new(&sosistab3), diff --git a/libraries/picomux/examples/picomux-test/server.rs b/libraries/picomux/examples/picomux-test/server.rs index 2a1eb88c..440ee314 100644 --- a/libraries/picomux/examples/picomux-test/server.rs +++ b/libraries/picomux/examples/picomux-test/server.rs @@ -4,7 +4,7 @@ use futures_util::{AsyncReadExt, AsyncWriteExt, TryFutureExt}; use picomux::{PicoMux, Stream}; use rand::RngCore; -use sillad::{listener::Listener, Pipe}; +use sillad::{Pipe, listener::Listener}; use crate::command::Command; @@ -29,7 +29,7 @@ pub async fn server_main(listen: SocketAddr, sosistab3: Option) -> anyho } } -async fn once_wire(mut wire: impl Pipe) -> anyhow::Result<()> { +async fn once_wire(wire: impl Pipe) -> anyhow::Result<()> { static COUNTER: AtomicU64 = AtomicU64::new(0); let wire_count = COUNTER.fetch_add(1, std::sync::atomic::Ordering::Relaxed); eprintln!("accepted wire {wire_count} from {:?}", wire.remote_addr()); @@ -62,7 +62,7 @@ async fn once_stream(wire_count: u64, stream_count: u64, mut stream: Stream) -> while len > 0 { let n = len.min(65536); let mut buff = vec![0u8; n]; - rand::thread_rng().fill_bytes(&mut buff); + rand::rng().fill_bytes(&mut buff); stream.write_all(&buff).await?; len = len.saturating_sub(n); } diff --git a/libraries/picomux/src/lib.rs b/libraries/picomux/src/lib.rs index 99c1b643..99aabb46 100644 --- a/libraries/picomux/src/lib.rs +++ b/libraries/picomux/src/lib.rs @@ -10,8 +10,8 @@ use std::{ ops::Deref, pin::Pin, sync::{ - atomic::{AtomicU64, Ordering}, Arc, + atomic::{AtomicU64, Ordering}, }, task::Poll, time::{Duration, Instant}, @@ -25,10 +25,10 @@ use atomic_float::AtomicF64; use bdp::BwEstimate; use buffer_table::BufferTable; use bytes::Bytes; -use frame::{Frame, CMD_FIN, CMD_MORE, CMD_NOP, CMD_PING, CMD_PONG, CMD_PSH, CMD_SYN}; +use frame::{CMD_FIN, CMD_MORE, CMD_NOP, CMD_PING, CMD_PONG, CMD_PSH, CMD_SYN, Frame}; use futures_lite::{Future, FutureExt as LiteExt}; use futures_util::{ - future::Shared, io::BufReader, AsyncRead, AsyncWrite, AsyncWriteExt, FutureExt, + AsyncRead, AsyncWrite, AsyncWriteExt, FutureExt, future::Shared, io::BufReader, }; use async_io::Timer; @@ -353,8 +353,8 @@ async fn picomux_inner( std::io::Error::new(ErrorKind::BrokenPipe, "open request channel died") })?; let stream_id = { - let mut rng = rand::thread_rng(); - std::iter::repeat_with(|| rng.gen()) + let mut rng = rand::rng(); + std::iter::repeat_with(|| rng.random()) .find(|key| !buffer_table.contains_id(*key)) .unwrap() }; @@ -442,7 +442,7 @@ async fn picomux_inner( return Err(std::io::Error::new( ErrorKind::NotConnected, "dead", - )) + )); } } } diff --git a/libraries/sillad-conntest/Cargo.toml b/libraries/sillad-conntest/Cargo.toml index a24231f5..e32fbba1 100644 --- a/libraries/sillad-conntest/Cargo.toml +++ b/libraries/sillad-conntest/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sillad-conntest" -edition = "2021" +edition = "2024" description = "A connection-testing protocol within the sillad framework" version = "0.2.0" repository.workspace = true @@ -16,6 +16,6 @@ futures-lite = "2.6.0" futures-util = "0.3.31" rand = "0.9.0" sillad = { version = "0.2", path = "../sillad" } -smolscale = "0.4.11" +smolscale = "0.4.15" tachyonix = "0.3.1" tracing = "0.1.41" diff --git a/libraries/sillad-native-tls/Cargo.toml b/libraries/sillad-native-tls/Cargo.toml index 2a0bbe6f..7ca3d925 100644 --- a/libraries/sillad-native-tls/Cargo.toml +++ b/libraries/sillad-native-tls/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sillad-native-tls" -edition = "2021" +edition = "2024" version = "0.2.11" description = "A native-tls wrapper within the sillad framework" repository.workspace = true @@ -8,11 +8,11 @@ license.workspace = true [dependencies] async-native-tls = "0.5.0" -async-trait = "0.1.84" -futures-lite = "2.5.0" +async-trait = "0.1.86" +futures-lite = "2.6.0" sillad = { version = "0.2", path = "../sillad" } -native-tls={version="0.2", features=["vendored"]} +native-tls = { version = "0.2", features = ["vendored"] } tracing = "0.1.41" tachyonix = "0.3.1" -smolscale = "0.4.11" +smolscale = "0.4.15" async-task = "4.7.1" diff --git a/libraries/sillad-sosistab3/Cargo.toml b/libraries/sillad-sosistab3/Cargo.toml index dc65002c..953e9a88 100644 --- a/libraries/sillad-sosistab3/Cargo.toml +++ b/libraries/sillad-sosistab3/Cargo.toml @@ -1,32 +1,32 @@ [package] name = "sillad-sosistab3" -edition = "2021" +edition = "2024" description = "A scramblesuit-like obfuscation protocol within the sillad framework" version = "0.2.11" repository.workspace = true license.workspace = true [dependencies] -arrayref = "0.3.7" -blake3 = "1.5.1" +arrayref = "0.3.9" +blake3 = "1.6.1" chacha20poly1305 = "0.10.1" -rand = "0.8.5" -x25519-dalek = {version="2", default-features=false, features=["serde"]} +rand = "0.8.5" +x25519-dalek = { version = "2", default-features = false, features = ["serde"] } sillad = { version = "0.2", path = "../sillad" } -futures-util = { version = "0.3.30", features = ["io"] } -pin-project = "1.1.5" -smallvec = "1.13.2" -async-trait = "0.1.80" +futures-util = { version = "0.3.31", features = ["io"] } +pin-project = "1.1.9" +smallvec = "1.14.0" +async-trait = "0.1.86" tap = "1.0.1" -tracing = "0.1.40" -smolscale = "0.4.7" +tracing = "0.1.41" +smolscale = "0.4.15" async-task = "4.7.1" -async-executor = "1.12.0" -serde = { version = "1.0.204", features = ["derive"] } +async-executor = "1.13.1" +serde = { version = "1.0.218", features = ["derive"] } hex = "0.4.3" -async-io = "2.3.3" -anyhow = "1.0.86" -tachyonix = "0.3.0" -once_cell = "1.19.0" -serde_json = "1.0.122" +async-io = "2.4.0" +anyhow = "1.0.96" +tachyonix = "0.3.1" +once_cell = "1.20.3" +serde_json = "1.0.139" bipe = "0.2.8" diff --git a/libraries/sillad/Cargo.toml b/libraries/sillad/Cargo.toml index 4c269dde..7a51a922 100644 --- a/libraries/sillad/Cargo.toml +++ b/libraries/sillad/Cargo.toml @@ -1,20 +1,20 @@ [package] name = "sillad" -edition = "2021" +edition = "2024" description = "A framework for talking about TCP-like dialers and listeners, within the futures-io ecosystem" version = "0.2.5" repository.workspace = true license.workspace = true [dependencies] -anyhow = "1.0.86" -async-io = "2.3.3" -async-trait = "0.1.80" -futures-concurrency = "7.6.1" -futures-lite = "2.3.0" -futures-util = { version = "0.3.30", features = ["io"] } -libc = "0.2.155" -pin-project = "1.1.5" -rand = "0.8.5" -smol-timeout2 = "0.6.0" -tracing = "0.1.40" +anyhow = "1.0.96" +async-io = "2.4.0" +async-trait = "0.1.86" +futures-concurrency = "7.6.3" +futures-lite = "2.6.0" +futures-util = { version = "0.3.31", features = ["io"] } +libc = "0.2.170" +pin-project = "1.1.9" +rand = "0.9.0" +smol-timeout2 = "0.6.1" +tracing = "0.1.41" diff --git a/libraries/sillad/src/lib.rs b/libraries/sillad/src/lib.rs index 66c591bd..27e7faf3 100644 --- a/libraries/sillad/src/lib.rs +++ b/libraries/sillad/src/lib.rs @@ -1,4 +1,4 @@ -use std::pin::{pin, Pin}; +use std::pin::{Pin, pin}; use futures_util::{AsyncRead, AsyncWrite}; use pin_project::pin_project; diff --git a/libraries/sillad/src/tcp.rs b/libraries/sillad/src/tcp.rs index 135f68f6..0fc41e77 100644 --- a/libraries/sillad/src/tcp.rs +++ b/libraries/sillad/src/tcp.rs @@ -11,9 +11,9 @@ use pin_project::pin_project; use rand::Rng as _; use crate::{ + Pipe, dialer::{Dialer, DialerExt}, listener::Listener, - Pipe, }; /// A TcpListener is a listener for TCP endpoints. @@ -63,7 +63,7 @@ impl Listener for TcpListener { delay_secs, "backing off and retrying accept" ); - delay_secs = rand::thread_rng().gen_range(delay_secs..delay_secs * 2.0); + delay_secs = rand::rng().random_range(delay_secs..delay_secs * 2.0); err = Some(e); async_io::Timer::after(Duration::from_secs_f64(delay_secs)).await; }