Skip to content

Commit e8ea40c

Browse files
committed
fix(ssurl): enable rustls only for x86, x86_64, aarch64 targets
ref #1287 Rustls (deps by reqwest) doesn't support all platforms, like MIPS.
1 parent e50635c commit e8ea40c

File tree

4 files changed

+86
-15
lines changed

4 files changed

+86
-15
lines changed

Cargo.lock

Lines changed: 31 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "shadowsocks-rust"
3-
version = "1.16.1"
3+
version = "1.16.2"
44
authors = ["Shadowsocks Contributors"]
55
description = "shadowsocks is a fast tunnel proxy that helps you bypass firewalls."
66
repository = "https://github.com/shadowsocks/shadowsocks-rust"
@@ -72,13 +72,17 @@ server = ["shadowsocks-service/server"]
7272
# Enable manager server
7373
manager = ["shadowsocks-service/manager"]
7474
# Enable utility
75-
utility = ["qrcode"]
75+
utility = ["qrcode", "reqwest"]
7676
# Enable service
7777
service = ["local", "server", "manager"]
7878

7979
# Enables trust-dns for replacing tokio's builtin DNS resolver
8080
trust-dns = ["shadowsocks-service/trust-dns"]
8181
dns-over-tls = ["shadowsocks-service/dns-over-tls"]
82+
dns-over-native-tls = ["shadowsocks-service/dns-over-native-tls"]
83+
dns-over-native-tls-vendored = [
84+
"shadowsocks-service/dns-over-native-tls-vendored",
85+
]
8286
dns-over-https = ["shadowsocks-service/dns-over-https"]
8387

8488
# Enable logging output
@@ -95,6 +99,10 @@ local-http-native-tls = [
9599
"local-http",
96100
"shadowsocks-service/local-http-native-tls",
97101
]
102+
local-http-native-tls-vendored = [
103+
"local-http",
104+
"shadowsocks-service/local-http-native-tls-vendored",
105+
]
98106
local-http-rustls = ["local-http", "shadowsocks-service/local-http-rustls"]
99107
# Enable REDIR protocol for sslocal
100108
# (transparent proxy)
@@ -164,11 +172,6 @@ tokio = { version = "1", features = ["rt", "signal"] }
164172
num_cpus = "1.15"
165173

166174
ipnet = { version = "2.7", optional = true }
167-
reqwest = { version = "0.11", features = [
168-
"blocking",
169-
"rustls-tls",
170-
"rustls-tls-native-roots",
171-
], default-features = false }
172175

173176
mimalloc = { version = "0.1", default-features = false, optional = true }
174177
tcmalloc = { version = "0.3", optional = true }
@@ -181,6 +184,19 @@ shadowsocks-service = { version = "1.16.1", path = "./crates/shadowsocks-service
181184
[target.'cfg(unix)'.dependencies]
182185
daemonize = "0.5"
183186

187+
[target.'cfg(any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64"))'.dependencies]
188+
reqwest = { version = "0.11", features = [
189+
"blocking",
190+
"rustls-tls",
191+
"rustls-tls-native-roots",
192+
], default-features = false, optional = true }
193+
194+
[target.'cfg(not(any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64")))'.dependencies]
195+
reqwest = { version = "0.11", features = [
196+
"blocking",
197+
"native-tls-vendored",
198+
], optional = true }
199+
184200
[dev-dependencies]
185201
byteorder = "1.3"
186202
env_logger = "0.10"

Cross.toml

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
11
[build.env]
22
passthrough = ["RUSTFLAGS"]
33

4-
#[target.mips-unknown-linux-musl]
5-
#image = "rustembedded/cross:mips-unknown-linux-musl-0.2.1"
6-
#
7-
#[target.mipsel-unknown-linux-musl]
8-
#image = "rustembedded/cross:mipsel-unknown-linux-musl-0.2.1"
4+
[target.mips-unknown-linux-musl]
5+
# image = "rustembedded/cross:mips-unknown-linux-musl-0.2.1"
6+
# pre-build = [
7+
# "dpkg --add-architecture $CROSS_DEB_ARCH",
8+
# "apt-get update",
9+
# "apt-get install --assume-yes libssl-dev:$CROSS_DEB_ARCH",
10+
# ]
11+
12+
[target.mipsel-unknown-linux-musl]
13+
# image = "rustembedded/cross:mipsel-unknown-linux-musl-0.2.1"
14+
# pre-build = [
15+
# "dpkg --add-architecture $CROSS_DEB_ARCH",
16+
# "apt-get update",
17+
# "apt-get install --assume-yes libssl-dev:$CROSS_DEB_ARCH",
18+
# ]

crates/shadowsocks-service/Cargo.toml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "shadowsocks-service"
3-
version = "1.16.1"
3+
version = "1.16.2"
44
authors = ["Shadowsocks Contributors"]
55
description = "shadowsocks is a fast tunnel proxy that helps you bypass firewalls."
66
repository = "https://github.com/shadowsocks/shadowsocks-rust"
@@ -39,6 +39,17 @@ dns-over-tls = [
3939
"trust-dns-resolver/dns-over-tls",
4040
"trust-dns-resolver/dns-over-rustls",
4141
]
42+
dns-over-native-tls = [
43+
"trust-dns",
44+
"trust-dns-resolver/dns-over-tls",
45+
"trust-dns-resolver/dns-over-native-tls",
46+
]
47+
dns-over-native-tls-vendored = [
48+
"trust-dns",
49+
"trust-dns-resolver/dns-over-tls",
50+
"trust-dns-resolver/dns-over-native-tls",
51+
"native-tls/vendored",
52+
]
4253
dns-over-https = [
4354
"trust-dns",
4455
"trust-dns-resolver/dns-over-https",
@@ -55,6 +66,11 @@ local-flow-stat = ["local"]
5566
# Enable HTTP protocol for sslocal
5667
local-http = ["local", "hyper", "tower"]
5768
local-http-native-tls = ["local-http", "tokio-native-tls", "native-tls"]
69+
local-http-native-tls-vendored = [
70+
"local-http-native-tls",
71+
"tokio-native-tls/vendored",
72+
"native-tls/vendored",
73+
]
5874
local-http-rustls = [
5975
"local-http",
6076
"tokio-rustls",

0 commit comments

Comments
 (0)