diff options
| author | David Lönnhager <david.l@mullvad.net> | 2024-01-29 14:52:28 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2024-01-31 11:02:51 +0100 |
| commit | d42c51875bbdd4eb609a5b25ceb2a2691cc94fab (patch) | |
| tree | 8f5a2c92e37e00dc3c1d4273ced0514c595f2656 /talpid-core/src | |
| parent | 997fb7f6847d915d29e363083b6593cbd7da5ba4 (diff) | |
| download | mullvadvpn-d42c51875bbdd4eb609a5b25ceb2a2691cc94fab.tar.xz mullvadvpn-d42c51875bbdd4eb609a5b25ceb2a2691cc94fab.zip | |
Add tunnel creation error on Windows
Diffstat (limited to 'talpid-core/src')
| -rw-r--r-- | talpid-core/src/tunnel_state_machine/connecting_state.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/talpid-core/src/tunnel_state_machine/connecting_state.rs b/talpid-core/src/tunnel_state_machine/connecting_state.rs index 1a000c6136..3b0afd8abf 100644 --- a/talpid-core/src/tunnel_state_machine/connecting_state.rs +++ b/talpid-core/src/tunnel_state_machine/connecting_state.rs @@ -278,6 +278,14 @@ impl ConnectingState { ), ), ) => ErrorStateCause::InvalidDnsServers(addresses), + #[cfg(target_os = "windows")] + error => match error.get_tunnel_device_error() { + Some(error) => ErrorStateCause::CreateTunnelDevice { + os_error: error.raw_os_error(), + }, + None => ErrorStateCause::StartTunnelError, + }, + #[cfg(not(target_os = "windows"))] _ => ErrorStateCause::StartTunnelError, }; Some(block_reason) @@ -581,8 +589,8 @@ impl ConnectingState { #[cfg_attr(not(target_os = "windows"), allow(unused_variables))] fn should_retry(error: &tunnel::Error, retry_attempt: u32) -> bool { #[cfg(target_os = "windows")] - if error.get_tunnel_device_error().is_some() && retry_attempt < MAX_ATTEMPT_CREATE_TUN { - return true; + if error.get_tunnel_device_error().is_some() { + return retry_attempt < MAX_ATTEMPT_CREATE_TUN; } error.is_recoverable() } |
