aboutsummaryrefslogtreecommitdiffstats
path: root/src/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/org')
-rw-r--r--src/org/connectbot/transport/SSH.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/org/connectbot/transport/SSH.java b/src/org/connectbot/transport/SSH.java
index aa41202..7ddbe7c 100644
--- a/src/org/connectbot/transport/SSH.java
+++ b/src/org/connectbot/transport/SSH.java
@@ -94,7 +94,7 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
}
private boolean compression = false;
-// private volatile boolean authenticated = false;
+ private volatile boolean authenticated = false;
private volatile boolean connected = false;
private volatile boolean sessionOpen = false;
@@ -341,6 +341,8 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
* authentication. If called before authenticated, it will just fail.
*/
private void finishConnection() {
+ authenticated = true;
+
for (PortForwardBean portForward : portForwards) {
try {
enablePortForward(portForward);
@@ -567,6 +569,9 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
return false;
}
+ if (!authenticated)
+ return false;
+
if (HostDatabase.PORTFORWARD_LOCAL.equals(portForward.getType())) {
LocalPortForwarder lpf = null;
try {
@@ -623,6 +628,9 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
return false;
}
+ if (!authenticated)
+ return false;
+
if (HostDatabase.PORTFORWARD_LOCAL.equals(portForward.getType())) {
LocalPortForwarder lpf = null;
lpf = (LocalPortForwarder)portForward.getIdentifier();