diff options
Diffstat (limited to 'talpid-core/src')
| -rw-r--r-- | talpid-core/src/tunnel_state_machine/connecting_state.rs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/talpid-core/src/tunnel_state_machine/connecting_state.rs b/talpid-core/src/tunnel_state_machine/connecting_state.rs index 8aee60fd69..41031faa34 100644 --- a/talpid-core/src/tunnel_state_machine/connecting_state.rs +++ b/talpid-core/src/tunnel_state_machine/connecting_state.rs @@ -10,11 +10,12 @@ use futures::sync::{mpsc, oneshot}; use futures::{Async, Future, Sink, Stream}; use talpid_types::net::{TunnelEndpoint, TunnelEndpointData}; +use talpid_types::tunnel::BlockReason; use super::{ - AfterDisconnect, ConnectedState, ConnectedStateBootstrap, DisconnectedState, - DisconnectingState, EventConsequence, Result, ResultExt, SharedTunnelStateValues, - TunnelCommand, TunnelParameters, TunnelState, TunnelStateTransition, TunnelStateWrapper, + AfterDisconnect, BlockedState, ConnectedState, ConnectedStateBootstrap, DisconnectingState, + EventConsequence, Result, ResultExt, SharedTunnelStateValues, TunnelCommand, TunnelParameters, + TunnelState, TunnelStateTransition, TunnelStateWrapper, }; use logging; use security::{NetworkSecurity, SecurityPolicy}; @@ -278,8 +279,10 @@ impl TunnelState for ConnectingState { TunnelStateTransition::Connecting, ), Err(error) => { - error!("{}", error.chain_err(|| "Failed to start tunnel")); - DisconnectedState::enter(shared_values, ()) + let chained_error = error.chain_err(|| "Failed to start tunnel"); + error!("{}", chained_error.display_chain()); + + BlockedState::enter(shared_values, BlockReason::StartTunnelError) } } } |
