summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock222
-rw-r--r--Cargo.toml3
-rw-r--r--ios/MullvadTransport/shadowsocks-proxy/Cargo.toml4
-rw-r--r--ios/MullvadTransport/shadowsocks-proxy/src/lib.rs4
-rw-r--r--mullvad-api/Cargo.toml2
-rw-r--r--talpid-openvpn/Cargo.toml2
-rw-r--r--talpid-openvpn/src/proxy/shadowsocks.rs4
7 files changed, 153 insertions, 88 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 5b577fc177..513b81e700 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -213,7 +213,7 @@ checksum = "f4af7447fc1214c1f3a1ace861d0216a6c8bb13965b64bbad9650f375b67689a"
dependencies = [
"async-trait",
"axum-core",
- "bitflags",
+ "bitflags 1.3.2",
"bytes",
"futures-util",
"http",
@@ -296,10 +296,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
+name = "bitflags"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+
+[[package]]
name = "blake3"
-version = "1.3.3"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef"
+checksum = "199c42ab6972d92c9f8995f086273d25c42fc0f7b2a1fcefba465c1352d25ba5"
dependencies = [
"arrayref",
"arrayvec",
@@ -472,7 +478,7 @@ checksum = "914c8c79fb560f238ef6429439a30023c862f7a28e688c58f7203f12b29970bd"
dependencies = [
"anstream",
"anstyle",
- "bitflags",
+ "bitflags 1.3.2",
"clap_lex",
"once_cell",
"strsim 0.10.0",
@@ -561,9 +567,9 @@ checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913"
[[package]]
name = "constant_time_eq"
-version = "0.2.5"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13418e745008f7349ec7e449155f419a61b92b58a99cc3616942b926825ec76b"
+checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
[[package]]
name = "core-foundation"
@@ -946,6 +952,18 @@ dependencies = [
]
[[package]]
+name = "enum-as-inner"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.15",
+]
+
+[[package]]
name = "env_logger"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1063,13 +1081,13 @@ checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
[[package]]
name = "filetime"
-version = "0.2.21"
+version = "0.2.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
+checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.2.10",
+ "redox_syscall 0.3.5",
"windows-sys 0.48.0",
]
@@ -1087,9 +1105,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "form_urlencoded"
-version = "1.1.0"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
dependencies = [
"percent-encoding",
]
@@ -1468,9 +1486,9 @@ dependencies = [
[[package]]
name = "idna"
-version = "0.3.0"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
dependencies = [
"unicode-bidi",
"unicode-normalization",
@@ -1492,7 +1510,7 @@ version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"inotify-sys",
"libc",
]
@@ -1503,7 +1521,7 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abf888f9575c290197b2c948dc9e9ff10bd1a39ad1ea8585f734585fa6b9d3f9"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"futures-core",
"inotify-sys",
"libc",
@@ -1715,7 +1733,7 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"libc",
]
@@ -1772,12 +1790,9 @@ dependencies = [
[[package]]
name = "log"
-version = "0.4.14"
+version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
-dependencies = [
- "cfg-if",
-]
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]]
name = "log-panics"
@@ -1826,9 +1841,9 @@ checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
[[package]]
name = "matches"
-version = "0.1.9"
+version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
+checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
[[package]]
name = "matchit"
@@ -2212,7 +2227,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5dee5ed749373c298237fe694eb0a51887f4cc1a27370c8464bac4382348f1a"
dependencies = [
"anyhow",
- "bitflags",
+ "bitflags 1.3.2",
"byteorder",
"libc",
"netlink-packet-core",
@@ -2265,7 +2280,7 @@ version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9201688bd0bc571dfa4c21ce0a525480c8b782776cf88e12571fa89108dd920"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"err-derive",
"log",
"nftnl-sys",
@@ -2297,7 +2312,7 @@ version = "0.23.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"cc",
"cfg-if",
"libc",
@@ -2310,7 +2325,7 @@ version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"cfg-if",
"libc",
]
@@ -2320,7 +2335,7 @@ name = "nix"
version = "0.26.1"
source = "git+https://github.com/nix-rust/nix?rev=b13b7d18e0d2f4a8c05e41576c7ebf26d6dbfb28#b13b7d18e0d2f4a8c05e41576c7ebf26d6dbfb28"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"cfg-if",
"libc",
"memoffset 0.8.0",
@@ -2334,7 +2349,7 @@ version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"cfg-if",
"libc",
"memoffset 0.7.1",
@@ -2344,20 +2359,21 @@ dependencies = [
[[package]]
name = "notify"
-version = "5.2.0"
+version = "6.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "729f63e1ca555a43fe3efa4f3efdf4801c479da85b432242a7b726f353c88486"
+checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d"
dependencies = [
- "bitflags",
+ "bitflags 2.4.0",
"crossbeam-channel",
"filetime",
"fsevent-sys",
"inotify 0.9.6",
"kqueue",
"libc",
+ "log",
"mio",
"walkdir",
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -2409,9 +2425,9 @@ dependencies = [
[[package]]
name = "once_cell"
-version = "1.17.1"
+version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]]
name = "opaque-debug"
@@ -2528,9 +2544,9 @@ checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
[[package]]
name = "percent-encoding"
-version = "2.2.0"
+version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
[[package]]
name = "pest"
@@ -2639,22 +2655,22 @@ dependencies = [
[[package]]
name = "pin-project"
-version = "1.0.11"
+version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78203e83c48cffbe01e4a2d35d566ca4de445d79a85372fc64e378bfc812a260"
+checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
-version = "1.0.11"
+version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "710faf75e1b33345361201d36d04e98ac1ed8909151a017ed384700836104c74"
+checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.100",
+ "syn 2.0.15",
]
[[package]]
@@ -2958,7 +2974,7 @@ version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
]
[[package]]
@@ -2967,7 +2983,7 @@ version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
]
[[package]]
@@ -3083,7 +3099,7 @@ version = "0.37.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62b24138615de35e32031d041a09032ef3487a616d901ca4db224e7d557efae2"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"errno 0.3.1",
"io-lifetimes",
"libc",
@@ -3196,22 +3212,22 @@ dependencies = [
[[package]]
name = "serde"
-version = "1.0.130"
+version = "1.0.164"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913"
+checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.130"
+version = "1.0.164"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b"
+checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.100",
+ "syn 2.0.15",
]
[[package]]
@@ -3272,8 +3288,9 @@ dependencies = [
[[package]]
name = "shadowsocks"
-version = "1.15.3"
-source = "git+https://github.com/mullvad/shadowsocks-rust?rev=c45980bb22d0d50ac888813c59a1edf0cff14a36#c45980bb22d0d50ac888813c59a1edf0cff14a36"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5d4aadc3b1b38e760533d4060a1aa53a2d754f073389f5aafe6bf7b579c4f97"
dependencies = [
"arc-swap",
"async-trait",
@@ -3294,14 +3311,14 @@ dependencies = [
"serde_json",
"serde_urlencoded",
"shadowsocks-crypto",
- "socket2 0.4.9",
+ "socket2 0.5.3",
"spin 0.9.2",
"thiserror",
"tokio",
"tokio-tfo",
- "trust-dns-resolver",
+ "trust-dns-resolver 0.23.0",
"url",
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -3336,8 +3353,9 @@ dependencies = [
[[package]]
name = "shadowsocks-service"
-version = "1.15.3"
-source = "git+https://github.com/mullvad/shadowsocks-rust?rev=c45980bb22d0d50ac888813c59a1edf0cff14a36#c45980bb22d0d50ac888813c59a1edf0cff14a36"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "332082c574078caeba5effb328557b0f313f9a4e675138e6466823eb75070d6d"
dependencies = [
"arc-swap",
"async-trait",
@@ -3347,7 +3365,7 @@ dependencies = [
"cfg-if",
"futures",
"hyper",
- "idna 0.3.0",
+ "idna 0.4.0",
"ipnet",
"iprange",
"json5",
@@ -3361,12 +3379,12 @@ dependencies = [
"regex",
"serde",
"shadowsocks",
- "socket2 0.4.9",
+ "socket2 0.5.3",
"spin 0.9.2",
"thiserror",
"tokio",
"tower",
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -3555,7 +3573,7 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"core-foundation",
"system-configuration-sys",
]
@@ -3575,7 +3593,7 @@ name = "talpid-core"
version = "0.0.0"
dependencies = [
"async-trait",
- "bitflags",
+ "bitflags 1.3.2",
"chrono",
"duct",
"err-derive",
@@ -3695,7 +3713,7 @@ dependencies = [
name = "talpid-routing"
version = "0.0.0"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"err-derive",
"futures",
"ipnetwork",
@@ -3789,7 +3807,7 @@ dependencies = [
name = "talpid-wireguard"
version = "0.0.0"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"byteorder",
"chrono",
"duct",
@@ -4062,7 +4080,7 @@ version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c530c8675c1dbf98facee631536fa116b5fb6382d7dd6dc1b118d970eafe3ba"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"bytes",
"futures-core",
"futures-util",
@@ -4165,7 +4183,7 @@ dependencies = [
"time",
"tokio",
"tracing",
- "trust-dns-proto",
+ "trust-dns-proto 0.22.0",
]
[[package]]
@@ -4177,7 +4195,7 @@ dependencies = [
"async-trait",
"cfg-if",
"data-encoding",
- "enum-as-inner",
+ "enum-as-inner 0.5.1",
"futures-channel",
"futures-io",
"futures-util",
@@ -4195,6 +4213,31 @@ dependencies = [
]
[[package]]
+name = "trust-dns-proto"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0dc775440033cb114085f6f2437682b194fa7546466024b1037e82a48a052a69"
+dependencies = [
+ "async-trait",
+ "cfg-if",
+ "data-encoding",
+ "enum-as-inner 0.6.0",
+ "futures-channel",
+ "futures-io",
+ "futures-util",
+ "idna 0.4.0",
+ "ipnet",
+ "once_cell",
+ "rand 0.8.5",
+ "smallvec",
+ "thiserror",
+ "tinyvec",
+ "tokio",
+ "tracing",
+ "url",
+]
+
+[[package]]
name = "trust-dns-resolver"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4212,7 +4255,28 @@ dependencies = [
"thiserror",
"tokio",
"tracing",
- "trust-dns-proto",
+ "trust-dns-proto 0.22.0",
+]
+
+[[package]]
+name = "trust-dns-resolver"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dff7aed33ef3e8bf2c9966fccdfed93f93d46f432282ea875cd66faabc6ef2f"
+dependencies = [
+ "cfg-if",
+ "futures-util",
+ "ipconfig",
+ "lru-cache",
+ "once_cell",
+ "parking_lot",
+ "rand 0.8.5",
+ "resolv-conf",
+ "smallvec",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "trust-dns-proto 0.23.0",
]
[[package]]
@@ -4224,7 +4288,7 @@ dependencies = [
"async-trait",
"bytes",
"cfg-if",
- "enum-as-inner",
+ "enum-as-inner 0.5.1",
"futures-executor",
"futures-util",
"serde",
@@ -4234,8 +4298,8 @@ dependencies = [
"toml",
"tracing",
"trust-dns-client",
- "trust-dns-proto",
- "trust-dns-resolver",
+ "trust-dns-proto 0.22.0",
+ "trust-dns-resolver 0.22.0",
]
[[package]]
@@ -4303,9 +4367,9 @@ dependencies = [
[[package]]
name = "unicode-bidi"
-version = "0.3.7"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f"
+checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
[[package]]
name = "unicode-ident"
@@ -4315,9 +4379,9 @@ checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd"
[[package]]
name = "unicode-normalization"
-version = "0.1.19"
+version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
dependencies = [
"tinyvec",
]
@@ -4352,12 +4416,12 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
[[package]]
name = "url"
-version = "2.3.1"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
dependencies = [
"form_urlencoded",
- "idna 0.3.0",
+ "idna 0.4.0",
"percent-encoding",
"serde",
]
@@ -4550,7 +4614,7 @@ version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd9db37ecb5b13762d95468a2fc6009d4b2c62801243223aabd44fca13ad13c8"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"widestring",
"windows-sys 0.45.0",
]
diff --git a/Cargo.toml b/Cargo.toml
index 2672f82321..f4cde6a1ab 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -49,6 +49,9 @@ tower = "0.4"
prost = "0.11"
prost-types = "0.11"
+shadowsocks = { version = "1.16" }
+shadowsocks-service = { version = "1.16" }
+
windows-sys = "0.48.0"
chrono = { version = "0.4.26", default-features = false}
diff --git a/ios/MullvadTransport/shadowsocks-proxy/Cargo.toml b/ios/MullvadTransport/shadowsocks-proxy/Cargo.toml
index 46162c7c78..d4f4623c8b 100644
--- a/ios/MullvadTransport/shadowsocks-proxy/Cargo.toml
+++ b/ios/MullvadTransport/shadowsocks-proxy/Cargo.toml
@@ -12,9 +12,7 @@ crate-type = [ "rlib", "staticlib" ]
bench = false
[dependencies]
-shadowsocks-service.git = "https://github.com/mullvad/shadowsocks-rust"
-shadowsocks-service.rev = "c45980bb22d0d50ac888813c59a1edf0cff14a36"
-shadowsocks-service.features = [ "local", "stream-cipher", "local-http", "local-tunnel" ]
+shadowsocks-service = { workspace = true, features = [ "local", "stream-cipher", "local-http", "local-tunnel" ] }
tokio = { workspace = true }
log = "0.4"
diff --git a/ios/MullvadTransport/shadowsocks-proxy/src/lib.rs b/ios/MullvadTransport/shadowsocks-proxy/src/lib.rs
index 3388280782..5b32627d5c 100644
--- a/ios/MullvadTransport/shadowsocks-proxy/src/lib.rs
+++ b/ios/MullvadTransport/shadowsocks-proxy/src/lib.rs
@@ -108,10 +108,10 @@ impl ShadowsocksRuntime {
std::thread::spawn(move || {
runtime.spawn(async move {
- match Server::create(config).await {
+ match Server::new(config).await {
Ok(server) => {
let _ = startup_done_tx.send(Ok(()));
- let _ = server.wait_until_exit().await;
+ let _ = server.run().await;
}
Err(err) => {
let _ = startup_done_tx.send(Err(err));
diff --git a/mullvad-api/Cargo.toml b/mullvad-api/Cargo.toml
index 8247f5c238..b819892a30 100644
--- a/mullvad-api/Cargo.toml
+++ b/mullvad-api/Cargo.toml
@@ -32,4 +32,4 @@ mullvad-types = { path = "../mullvad-types" }
talpid-types = { path = "../talpid-types" }
talpid-time = { path = "../talpid-time" }
-shadowsocks = { git = "https://github.com/mullvad/shadowsocks-rust", rev = "c45980bb22d0d50ac888813c59a1edf0cff14a36", features = [ "stream-cipher" ] }
+shadowsocks = { workspace = true, features = [ "stream-cipher" ] }
diff --git a/talpid-openvpn/Cargo.toml b/talpid-openvpn/Cargo.toml
index 18c8eecd78..dfe8402379 100644
--- a/talpid-openvpn/Cargo.toml
+++ b/talpid-openvpn/Cargo.toml
@@ -25,7 +25,7 @@ talpid-tunnel = { path = "../talpid-tunnel" }
talpid-types = { path = "../talpid-types" }
uuid = { version = "1.4.1", features = ["v4"] }
tokio = { workspace = true, features = ["process", "rt-multi-thread", "fs"] }
-shadowsocks-service = { git = "https://github.com/mullvad/shadowsocks-rust", rev = "c45980bb22d0d50ac888813c59a1edf0cff14a36", features = [ "local", "stream-cipher" ] }
+shadowsocks-service = { workspace = true, features = [ "local", "stream-cipher" ] }
[target.'cfg(not(target_os="android"))'.dependencies]
socket2 = { version = "0.5.3" }
diff --git a/talpid-openvpn/src/proxy/shadowsocks.rs b/talpid-openvpn/src/proxy/shadowsocks.rs
index f677394255..231af7b660 100644
--- a/talpid-openvpn/src/proxy/shadowsocks.rs
+++ b/talpid-openvpn/src/proxy/shadowsocks.rs
@@ -82,11 +82,11 @@ impl ShadowsocksProxyMonitor {
config.outbound_fwmark = settings.fwmark;
}
- let srv = local::create(config).await?;
+ let srv = local::Server::new(config).await?;
let (fut, server_abort_handle) = abortable(async move {
let _ = sock;
- let result = srv.wait_until_exit().await;
+ let result = srv.run().await;
if let Err(error) = &result {
log::error!(
"{}",