forked from OpenBubbles/rustpush
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
99 lines (93 loc) · 3.75 KB
/
Copy pathCargo.toml
File metadata and controls
99 lines (93 loc) · 3.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
[package]
name = "rustpush"
version = "0.1.0"
edition = "2021"
[features]
remote-anisette-v3 = ["omnisette/remote-anisette-v3", "icloud_auth/remote-anisette-v3"]
remote-clearadi = ["omnisette/remote-clearadi", "icloud_auth/remote-clearadi"]
macos-validation-data = ["dep:open-absinthe"]
default = ["macos-validation-data"]
[dependencies]
plist = "1.7.0"
tokio = { version = "1", features = ["full"] }
reqwest = { version = "0.11", features = ["json", "rustls-tls", "gzip", "stream", "rustls-tls-webpki-roots", "native-tls-vendored"] }
serde = { version = "1.0", features = ["derive"] }
openssl = { version = "0.10.56", features = ["vendored"] }
uuid = { version = "1.4.1", features = ["v4"] }
base64 = "0.21.2"
regex = "1.9.3"
# ring, NOT aws-lc-rs. rustls 0.23 and tokio-rustls 0.26 both default to the
# aws-lc-rs crypto provider, which drags in `aws-lc-sys` — a large C/asm library
# built via cmake. Two reasons that's wrong for the Android build:
# 1. Size. It lands in the armeabi-v7a `libsmarttxt_ffi.so` shipped inside the
# launcher APK, on a phone where every MB of download counts.
# 2. Cross-compilation. aws-lc-sys wants cmake + bindgen configured for the NDK;
# ring cross-compiles to armv7-android out of the box.
# Nothing depends on aws-lc: smarttxt-ffi installs the ring provider process-wide
# (`rustls::crypto::ring::default_provider().install_default()`) and
# ClientConfig::builder() uses whatever provider is installed. Feature lists below
# are the upstream defaults minus the provider. Keep in sync with smarttxt-ffi's
# rustls dep — cargo features are additive, so if EITHER crate leaves defaults on,
# aws-lc-rs comes back for the whole graph.
tokio-rustls = { version = "0.26.4", default-features = false, features = ["logging", "tls12", "ring"] }
rustls = { version = "0.23.38", default-features = false, features = ["logging", "std", "tls12", "ring"] }
rustls-pemfile = "1.0.3"
rand = { version = "0.8.5", features = ["min_const_gen"] }
libflate = "2.0.0"
thiserror = "1.0.47"
async-recursion = "1.0.4"
html-escape = "0.2.13"
xml-rs = "0.8.17"
prost = "0.12.0"
log = "0.4.20"
pretty_env_logger = "0.5.0"
async-trait = "0.1.73"
flume = "0.11.0"
icloud_auth = { path = "./third_party/apple-private-apis/icloud-auth", default-features = false }
srp = { path = "./third_party/apple-private-apis/icloud-auth/rustcrypto-srp" }
omnisette = { path = "./third_party/apple-private-apis/omnisette" }
open-absinthe = { path = "./open-absinthe", optional = true, features = ["serde"] }
deku = "0.19.0"
zip = { version = "2.1.5", default-features = false, features = ["deflate-zlib"] }
rasn = "0.16.0"
backon = "0.4.4"
futures = "0.3.30"
serde_json = "1.0.133"
notify = "7.0.0"
num-bigint = "0.4.6"
ctr = "0.9.2"
aes = "0.8.4"
sha2 = "0.10.8"
hkdf = "0.12.4"
aes-gcm = "0.10.3"
h3 = "0.0.8"
h3-quinn = "0.0.10"
http = "1"
cloudkit-proto = { path = "./cloudkit-proto" }
cloudkit-derive = { path = "./cloudkit-derive" }
keystore = { path = "./keystore" }
aes-siv = "0.7.0"
chrono = "0.4.41"
bitflags = "2.9.1"
x509-cert = "0.2.5"
quinn = { path = "./third_party/quinn/quinn" }
rtc-media = { path = "./third_party/rtc/rtc-media" }
rtc-rtp = { path = "./third_party/rtc/rtc-rtp" }
rtc-rtcp = { path = "./third_party/rtc/rtc-rtcp" }
rtc-shared = { path = "./third_party/rtc/rtc-shared" }
rtc-srtp = { path = "./third_party/rtc/rtc-srtp" }
rtc-stun = { path = "./third_party/rtc/rtc-stun" }
rustls_psk = { package = "rustls", path = "./third_party/rustls/rustls" }
mio = { version = "1.2.2", features = ["os-poll", "net"] }
sansio = "1.0.1"
[patch.crates-io]
quinn = { path = "./third_party/quinn/quinn" }
[build-dependencies]
prost-build = { version = "0.12.0" }
[[bin]]
name = "rustpush-test"
required-features = ["macos-validation-data"]
path = "src/test.rs"
[lib]
name = "rustpush"
path = "src/lib.rs"