summaryrefslogtreecommitdiffhomepage
path: root/talpid-core/src
diff options
context:
space:
mode:
Diffstat (limited to 'talpid-core/src')
-rw-r--r--talpid-core/src/tunnel_state_machine/connecting_state.rs13
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)
}
}
}