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
|
[package]
name = "talpid-core"
version = "0.1.0"
authors = ["Mullvad VPN"]
description = "Privacy preserving and secure VPN client library"
license = "GPL-3.0"
edition = "2021"
publish = false
[dependencies]
bitflags = "1.2"
async-trait = "0.1"
atty = "0.2"
cfg-if = "1.0"
duct = "0.13"
err-derive = "0.3.0"
futures = "0.3.15"
hex = "0.4"
ipnetwork = "0.16"
lazy_static = "1.0"
libc = "0.2"
log = "0.4"
os_pipe = "0.9"
parking_lot = "0.11"
regex = "1.1.0"
shell-escape = "0.1"
talpid-types = { path = "../talpid-types" }
uuid = { version = "0.8", features = ["v4"] }
zeroize = "1"
chrono = "0.4"
tokio = { version = "1.8", features = [ "process", "rt-multi-thread", "fs" ] }
tokio-stream = { version = "0.1", features = [ "io-util" ] }
rand = "0.7"
udp-over-tcp = { git = "https://github.com/mullvad/udp-over-tcp", rev = "1e27324362ed123b61fa2062b1599e5f9d569796" }
socket2 = { version = "0.4.2", features = [ "all" ] }
[target.'cfg(not(target_os="android"))'.dependencies]
parity-tokio-ipc = "0.9"
triggered = "0.1.1"
tonic = "0.5"
prost = "0.8"
[target.'cfg(unix)'.dependencies]
nix = "0.22.2"
[target.'cfg(target_os = "android")'.dependencies]
jnix = { version = "0.4", features = ["derive"] }
[target.'cfg(target_os = "linux")'.dependencies]
notify = "4.0"
resolv-conf = "0.7"
rtnetlink = "0.8"
netlink-packet-core = "0.2"
netlink-packet-utils = "0.4"
netlink-packet-route = "0.8"
netlink-proto = "0.7"
netlink-sys = "0.7"
byteorder = "1"
nftnl = { version = "0.6", features = ["nftnl-1-1-0"] }
mnl = { version = "0.2.0", features = ["mnl-1-0-4"] }
which = { version = "4.0", default-features = false }
tun = "0.5.1"
talpid-dbus = { path = "../talpid-dbus" }
internet-checksum = "0.2"
[target.'cfg(target_os = "macos")'.dependencies]
either = "1"
pfctl = "0.4.4"
system-configuration = "0.4"
trust-dns-server = { git = "https://github.com/mullvad/trust-dns", rev = "c782de0645335d1893a854337b965dd07790c068", features = [ "trust-dns-resolver" ] }
tun = "0.5.1"
subslice = "0.2"
[target.'cfg(windows)'.dependencies]
byteorder = "1"
internet-checksum = "0.2"
widestring = "0.5"
winreg = { version = "0.7", features = ["transactions"] }
winapi = { version = "0.3.6", features = ["combaseapi", "handleapi", "ifdef", "libloaderapi", "netioapi", "psapi", "stringapiset", "synchapi", "tlhelp32", "winbase", "winioctl", "winuser"] }
talpid-platform-metadata = { path = "../talpid-platform-metadata" }
memoffset = "0.6"
[build-dependencies]
tonic-build = { version = "0.5", default-features = false, features = ["transport", "prost"] }
[dev-dependencies]
tempfile = "3.0"
quickcheck = "1.0"
quickcheck_macros = "1.0"
|