summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2022-11-16 14:07:44 +0100
committerDavid Lönnhager <david.l@mullvad.net>2022-11-16 14:07:44 +0100
commitecb7e29d360810d8492715c8fbc524917b2fd1d1 (patch)
treea54e4215af09fa817b55197b3e8fbd14f682e8df
parente4e1b25c98b261a48ef6e133a7ea45cc52dbf2d7 (diff)
parent025baebce9fc34ed5e6727f53bbacfea50066d8c (diff)
downloadmullvadvpn-ecb7e29d360810d8492715c8fbc524917b2fd1d1.tar.xz
mullvadvpn-ecb7e29d360810d8492715c8fbc524917b2fd1d1.zip
Merge branch 'fix-udp2tcp-timeout'
-rw-r--r--CHANGELOG.md1
-rw-r--r--Cargo.lock2
-rw-r--r--talpid-core/src/tunnel_state_machine/connecting_state.rs2
-rw-r--r--tunnel-obfuscation/Cargo.toml6
-rw-r--r--tunnel-obfuscation/src/udp2tcp.rs1
5 files changed, 6 insertions, 6 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4e108fffec..521a68d3ea 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -33,6 +33,7 @@ Line wrap the file at 100 chars. Th
country level, select those relays anyway.
- Fix regression where WireGuard relays were connected to over OpenVPN after a couple of failed
attempts, when the tunnel type was set to `any`.
+- Fix missing connect timeout when connecting to a WireGuard relay over TCP.
#### macOS
- Fix fish shell completions when installed via Homebrew on Apple Silicon Macs.
diff --git a/Cargo.lock b/Cargo.lock
index 2238ff5948..ade60ce467 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3855,7 +3855,7 @@ checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
[[package]]
name = "udp-over-tcp"
version = "0.2.0"
-source = "git+https://github.com/mullvad/udp-over-tcp?rev=3dae584677ed26aff08ab759f7799a55c0ff1aec#3dae584677ed26aff08ab759f7799a55c0ff1aec"
+source = "git+https://github.com/mullvad/udp-over-tcp?rev=d03e67b1a082982981626b5cbf49b29bb9663d63#d03e67b1a082982981626b5cbf49b29bb9663d63"
dependencies = [
"err-context",
"futures",
diff --git a/talpid-core/src/tunnel_state_machine/connecting_state.rs b/talpid-core/src/tunnel_state_machine/connecting_state.rs
index cdf9029b81..ad91cb184a 100644
--- a/talpid-core/src/tunnel_state_machine/connecting_state.rs
+++ b/talpid-core/src/tunnel_state_machine/connecting_state.rs
@@ -482,6 +482,8 @@ fn should_retry(error: &tunnel::Error, retry_attempt: u32) -> bool {
match error {
tunnel::Error::WireguardTunnelMonitoringError(Error::CreateObfuscatorError(_)) => true,
+ tunnel::Error::WireguardTunnelMonitoringError(Error::ObfuscatorError(_)) => true,
+
tunnel::Error::WireguardTunnelMonitoringError(Error::PskNegotiationError(
talpid_tunnel_config_client::Error::GrpcConnectError(_),
)) => true,
diff --git a/tunnel-obfuscation/Cargo.toml b/tunnel-obfuscation/Cargo.toml
index cca4fca894..2f3388d6ed 100644
--- a/tunnel-obfuscation/Cargo.toml
+++ b/tunnel-obfuscation/Cargo.toml
@@ -12,8 +12,4 @@ async-trait = "0.1"
err-derive = "0.3.0"
futures = "0.3.5"
tokio = { version = "1.8", features = ["rt-multi-thread", "macros", "net", "io-util"] }
-
-[dependencies.udp-over-tcp]
-git = "https://github.com/mullvad/udp-over-tcp"
-rev = "3dae584677ed26aff08ab759f7799a55c0ff1aec"
-version = "0.2"
+udp-over-tcp = { git = "https://github.com/mullvad/udp-over-tcp", rev = "d03e67b1a082982981626b5cbf49b29bb9663d63" }
diff --git a/tunnel-obfuscation/src/udp2tcp.rs b/tunnel-obfuscation/src/udp2tcp.rs
index 8e676d5f0d..7c8e97b3fe 100644
--- a/tunnel-obfuscation/src/udp2tcp.rs
+++ b/tunnel-obfuscation/src/udp2tcp.rs
@@ -47,6 +47,7 @@ impl Udp2Tcp {
listen_addr,
settings.peer,
TcpOptions {
+ lazy_connect: true,
#[cfg(target_os = "linux")]
fwmark: settings.fwmark,
..TcpOptions::default()