diff options
| author | Emīls Piņķis <emils@mullvad.net> | 2019-03-12 12:37:22 +0000 |
|---|---|---|
| committer | Emīls Piņķis <emils@mullvad.net> | 2019-03-12 12:37:22 +0000 |
| commit | 2bf55fd253abf427ed725d6722349a43d9c14eea (patch) | |
| tree | 88a661c4b044fbd48612879bdff54ad55aa59156 | |
| parent | bb3eee4bb2bf85871330b5300cbbae66a6de22e4 (diff) | |
| parent | b23c84b2718871835d01b3d77a0247e99895670a (diff) | |
| download | mullvadvpn-2bf55fd253abf427ed725d6722349a43d9c14eea.tar.xz mullvadvpn-2bf55fd253abf427ed725d6722349a43d9c14eea.zip | |
Merge branch 'wg-remap-ping-error'
| -rw-r--r-- | talpid-core/src/tunnel/mod.rs | 2 | ||||
| -rw-r--r-- | talpid-core/src/tunnel/wireguard/mod.rs | 1 | ||||
| -rw-r--r-- | talpid-core/src/tunnel_state_machine/connecting_state.rs | 14 |
3 files changed, 16 insertions, 1 deletions
diff --git a/talpid-core/src/tunnel/mod.rs b/talpid-core/src/tunnel/mod.rs index d386fd641c..ddfe0139c8 100644 --- a/talpid-core/src/tunnel/mod.rs +++ b/talpid-core/src/tunnel/mod.rs @@ -14,7 +14,7 @@ use talpid_types::net::{openvpn as openvpn_types, GenericTunnelOptions, TunnelPa pub mod openvpn; #[cfg(unix)] -mod wireguard; +pub mod wireguard; const OPENVPN_LOG_FILENAME: &str = "openvpn.log"; const WIREGUARD_LOG_FILENAME: &str = "wireguard.log"; diff --git a/talpid-core/src/tunnel/wireguard/mod.rs b/talpid-core/src/tunnel/wireguard/mod.rs index 23fab152f3..65897d9d23 100644 --- a/talpid-core/src/tunnel/wireguard/mod.rs +++ b/talpid-core/src/tunnel/wireguard/mod.rs @@ -1,3 +1,4 @@ +#![allow(missing_docs)] use self::config::Config; use super::{TunnelEvent, TunnelMetadata}; use crate::routing; diff --git a/talpid-core/src/tunnel_state_machine/connecting_state.rs b/talpid-core/src/tunnel_state_machine/connecting_state.rs index b073ade768..1588648e4e 100644 --- a/talpid-core/src/tunnel_state_machine/connecting_state.rs +++ b/talpid-core/src/tunnel_state_machine/connecting_state.rs @@ -345,6 +345,20 @@ impl TunnelState for ConnectingState { Err(error) => { let block_reason = match *error.kind() { tunnel::ErrorKind::EnableIpv6Error => BlockReason::Ipv6Unavailable, + + #[cfg(unix)] + tunnel::ErrorKind::WirguardTunnelMonitoringError(ref err) => { + match &err { + tunnel::wireguard::ErrorKind::PingTimeoutError => { + if crate::offline::is_offline() { + BlockReason::IsOffline + } else { + BlockReason::StartTunnelError + } + } + _ => BlockReason::StartTunnelError, + } + } _ => BlockReason::StartTunnelError, }; |
