summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-26 20:10:30 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-29 18:11:18 +0000
commitcde46120bc520de3d1065bb96d32670afc5ffd1b (patch)
tree6174d1d1ce57a6624a730e4dec3955fa9f224163
parent5d7795a6e27d58b110ea2acf9524501f5895cacf (diff)
downloadmullvadvpn-cde46120bc520de3d1065bb96d32670afc5ffd1b.tar.xz
mullvadvpn-cde46120bc520de3d1065bb96d32670afc5ffd1b.zip
Retry connection on specific Wireguard error
-rw-r--r--talpid-core/src/tunnel_state_machine/connecting_state.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/talpid-core/src/tunnel_state_machine/connecting_state.rs b/talpid-core/src/tunnel_state_machine/connecting_state.rs
index 8c4e7578dd..dd4cc492ac 100644
--- a/talpid-core/src/tunnel_state_machine/connecting_state.rs
+++ b/talpid-core/src/tunnel_state_machine/connecting_state.rs
@@ -344,6 +344,18 @@ impl TunnelState for ConnectingState {
TunnelStateTransition::Connecting(params.get_tunnel_endpoint()),
)
}
+ #[cfg(not(windows))]
+ Err(tunnel::Error::WireguardTunnelMonitoringError(
+ tunnel::wireguard::Error::StartWireguardError { status: -2 },
+ )) => {
+ log::warn!(
+ "Retrying to connect after failing to start Wireguard tunnel"
+ );
+ DisconnectingState::enter(
+ shared_values,
+ (None, None, AfterDisconnect::Reconnect(retry_attempt + 1)),
+ )
+ }
Err(error) => {
log::error!("Failed to start tunnel: {}", error);
let block_reason = match error {