From a8c755b7c6868ad20091015dc0ab593b419f22de Mon Sep 17 00:00:00 2001 From: nab138 Date: Fri, 7 Nov 2025 18:52:11 -0500 Subject: [PATCH] Botan begone --- .github/workflows/build.yml | 2 +- Cargo.lock | 185 +++++++++++++++++++++--------------- README.md | 2 +- examples/minimal/Cargo.toml | 2 +- isideload/Cargo.toml | 5 +- 5 files changed, 116 insertions(+), 80 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 97c2aa0..7b0be6c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,4 +41,4 @@ jobs: uses: ilammy/msvc-dev-cmd@v1 - name: Build - run: cargo build --features "vendored-openssl vendored-botan" + run: cargo build --features "vendored-openssl" diff --git a/Cargo.lock b/Cargo.lock index 1587bb0..a6b768e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,6 +8,16 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array 0.14.9", +] + [[package]] name = "aes" version = "0.8.4" @@ -19,6 +29,20 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", +] + [[package]] name = "aho-corasick" version = "1.1.4" @@ -74,7 +98,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -133,7 +157,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.109", + "syn", ] [[package]] @@ -166,24 +190,6 @@ dependencies = [ "generic-array 0.14.9", ] -[[package]] -name = "botan" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23e39f9dbdfec8b4b6ba8509c8202a573b5d52fe213349c385d86656c89d7b5" -dependencies = [ - "botan-sys", -] - -[[package]] -name = "botan-sys" -version = "1.20250506.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a68b2bca80766adc60e9d88e99d958bba278a99ed616bf92b9d266c89dd2a9e" -dependencies = [ - "cc", -] - [[package]] name = "bumpalo" version = "3.19.0" @@ -331,9 +337,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.9", + "rand_core 0.6.4", "typenum", ] +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + [[package]] name = "data-encoding" version = "2.9.0" @@ -360,7 +376,7 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -380,7 +396,7 @@ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -402,7 +418,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -564,7 +580,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -640,6 +656,16 @@ dependencies = [ "wasip2", ] +[[package]] +name = "ghash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +dependencies = [ + "opaque-debug", + "polyval", +] + [[package]] name = "glob" version = "0.3.3" @@ -889,9 +915,9 @@ dependencies = [ [[package]] name = "idevice" -version = "0.1.46" +version = "0.1.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5317411040f7c0eca78a0037007853c201b177c28983fda0a665e07eab067977" +checksum = "893625fcbcb100760f15691e634a845e5ec7f5e6eb75acbc3d5d1c5678bd1738" dependencies = [ "async_zip", "base64 0.22.1", @@ -955,7 +981,7 @@ checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "isideload" -version = "0.1.15" +version = "0.1.16" dependencies = [ "hex", "idevice", @@ -1104,11 +1130,13 @@ dependencies = [ [[package]] name = "nab138_icloud_auth" -version = "0.1.4" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2707d665f2ceb5dfc1baf632fd708c6ffba2596f9e63fea054367d1b0e3b7317" dependencies = [ "aes", + "aes-gcm", "base64 0.22.1", - "botan", "cbc", "hmac", "nab138_omnisette", @@ -1130,19 +1158,18 @@ dependencies = [ [[package]] name = "nab138_omnisette" -version = "0.1.2" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "322cfbcadd65524423b56558259aa093287f1d91bba3515a39de0a38b75d3d36" dependencies = [ "anyhow", "async-trait", "base64 0.22.1", "chrono", "futures-util", - "hex", - "libc", "log", "plist", "rand", - "remove-async-await", "reqwest", "serde", "serde_json", @@ -1233,6 +1260,12 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + [[package]] name = "openssl" version = "0.10.75" @@ -1256,7 +1289,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -1339,7 +1372,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -1384,6 +1417,18 @@ dependencies = [ "time", ] +[[package]] +name = "polyval" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + [[package]] name = "potential_utf" version = "0.1.4" @@ -1415,7 +1460,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.109", + "syn", ] [[package]] @@ -1476,6 +1521,9 @@ name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.16", +] [[package]] name = "rand_core" @@ -1515,16 +1563,6 @@ version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" -[[package]] -name = "remove-async-await" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0993102a683d0fb29c6053ad44d7ed7555f69b2fa5fe0fa3bba959a9aa4cd1" -dependencies = [ - "quote", - "syn 1.0.109", -] - [[package]] name = "reqwest" version = "0.11.27" @@ -1759,7 +1797,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -1875,17 +1913,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[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.109" @@ -1911,7 +1938,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -1965,7 +1992,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -2032,7 +2059,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -2067,9 +2094,9 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.28.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857" +checksum = "489a59b6730eda1b0171fcfda8b121f4bee2b35cba8645ca35c5f7ba3eb736c1" dependencies = [ "futures-util", "log", @@ -2120,7 +2147,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -2140,9 +2167,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.28.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" +checksum = "eadc29d668c91fcc564941132e17b28a7ceb2f3ebf0b9dae3e03fd7a6748eb0d" dependencies = [ "bytes", "data-encoding", @@ -2169,6 +2196,16 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + [[package]] name = "untrusted" version = "0.9.0" @@ -2220,7 +2257,7 @@ checksum = "d9384a660318abfbd7f8932c34d67e4d1ec511095f95972ddc01e19d7ba8413f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -2304,7 +2341,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.109", + "syn", "wasm-bindgen-shared", ] @@ -2372,7 +2409,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -2383,7 +2420,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -2684,7 +2721,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", "synstructure", ] @@ -2705,7 +2742,7 @@ checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] @@ -2725,7 +2762,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", "synstructure", ] @@ -2765,7 +2802,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.109", + "syn", ] [[package]] diff --git a/README.md b/README.md index 8786884..37ab98b 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ To use isideload, add the following to your `Cargo.toml`: ```toml [dependencies] # Make sure to use the latest version -isideload = { version = "0.1.8", features = ["vendored-openssl", "vendored-botan" ] } # Optionally, both vendored features can be enabled to avoid needing OpenSSL and Botan installed on your system. +isideload = { version = "0.1.8", features = ["vendored-openssl" ] } # Optionally, both vendored features can be enabled to avoid needing OpenSSL installed on your system. idevice = { version = "0.1.40", features = ["usbmuxd"]} # Used to give isideload an IdeviceProvider. You don't need to use usbmuxd. For more info see https://github.com/jkcoxson/idevice ``` diff --git a/examples/minimal/Cargo.toml b/examples/minimal/Cargo.toml index 46f1fa0..14aae5b 100644 --- a/examples/minimal/Cargo.toml +++ b/examples/minimal/Cargo.toml @@ -5,6 +5,6 @@ edition = "2024" publish = false [dependencies] -isideload = { path = "../../isideload", features = ["vendored-openssl", "vendored-botan"] } +isideload = { path = "../../isideload", features = ["vendored-openssl"] } idevice = { version = "0.1.46", features = ["usbmuxd", "ring"], default-features = false} tokio = { version = "1.43", features = ["macros", "rt-multi-thread"] } diff --git a/isideload/Cargo.toml b/isideload/Cargo.toml index 5ffa8fa..d6e8852 100644 --- a/isideload/Cargo.toml +++ b/isideload/Cargo.toml @@ -3,7 +3,7 @@ name = "isideload" description = "Sideload iOS/iPadOS applications" license = "MPL-2.0" authors = ["Nicholas Sharp "] -version = "0.1.15" +version = "0.1.16" edition = "2024" repository = "https://github.com/nab138/isideload" documentation = "https://docs.rs/isideload" @@ -13,12 +13,11 @@ readme = "../README.md" [features] default = [] vendored-openssl = ["openssl/vendored", "zsign-rust/vendored-openssl"] -vendored-botan = [] [dependencies] serde = { version = "1", features = ["derive"] } plist = { version = "1.7" } -icloud_auth = { version = "0.1.4", package = "nab138_icloud_auth", path = "/home/nicholas/Documents/coding/sidestore-apple-private-apis/icloud-auth" } +icloud_auth = { version = "0.1.5", package = "nab138_icloud_auth" } uuid = { version = "1.17.0", features = ["v4"] } zip = { version = "4.3", default-features = false, features = ["deflate"] } hex = "0.4"