aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml2
-rw-r--r--src/org/connectbot/PubkeyListActivity.java6
-rw-r--r--src/org/connectbot/service/TerminalManager.java17
-rw-r--r--src/org/connectbot/transport/SSH.java6
4 files changed, 18 insertions, 13 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 803e2a4..4de2157 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.connectbot"
android:versionName="1.7-dev"
- android:versionCode="259">
+ android:versionCode="260">
<application
android:icon="@drawable/icon"
diff --git a/src/org/connectbot/PubkeyListActivity.java b/src/org/connectbot/PubkeyListActivity.java
index b445d18..cd4d255 100644
--- a/src/org/connectbot/PubkeyListActivity.java
+++ b/src/org/connectbot/PubkeyListActivity.java
@@ -292,10 +292,8 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
Log.d(TAG, String.format("Unlocked key '%s'", pubkey.getNickname()));
- // save this key in-memory if option enabled
- if(bound.isSavingKeys()) {
- bound.addKey(pubkey, trileadKey);
- }
+ // save this key in memory
+ bound.addKey(pubkey, trileadKey);
updateHandler.sendEmptyMessage(-1);
}
diff --git a/src/org/connectbot/service/TerminalManager.java b/src/org/connectbot/service/TerminalManager.java
index 1b7b91d..0f302f7 100644
--- a/src/org/connectbot/service/TerminalManager.java
+++ b/src/org/connectbot/service/TerminalManager.java
@@ -110,6 +110,8 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
private boolean resizeAllowed = true;
+ private boolean savingKeys;
+
protected List<WeakReference<TerminalBridge>> mPendingReconnect
= new LinkedList<WeakReference<TerminalBridge>>();
@@ -153,6 +155,12 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
final boolean lockingWifi = prefs.getBoolean(PreferenceConstants.WIFI_LOCK, true);
connectivityManager = new ConnectivityReceiver(this, lockingWifi);
+
+ updateSavingKeys();
+ }
+
+ private void updateSavingKeys() {
+ savingKeys = prefs.getBoolean(PreferenceConstants.MEMKEYS, true);
}
@Override
@@ -251,10 +259,6 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
return scrollback;
}
- public boolean isSavingKeys() {
- return prefs.getBoolean(PreferenceConstants.MEMKEYS, true);
- }
-
public String getKeyMode() {
return prefs.getString(PreferenceConstants.KEYMODE, PreferenceConstants.KEYMODE_RIGHT); // "Use right-side keys"
}
@@ -344,6 +348,9 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
}
public void addKey(PubkeyBean pubkey, Object trileadKey) {
+ if (!savingKeys)
+ return;
+
removeKey(pubkey.getNickname());
byte[] sshPubKey = PubkeyUtils.extractOpenSSHPublic(trileadKey);
@@ -604,6 +611,8 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
} else if (PreferenceConstants.WIFI_LOCK.equals(key)) {
final boolean lockingWifi = prefs.getBoolean(PreferenceConstants.WIFI_LOCK, true);
connectivityManager.setWantWifiLock(lockingWifi);
+ } else if (PreferenceConstants.MEMKEYS.equals(key)) {
+ updateSavingKeys();
}
}
diff --git a/src/org/connectbot/transport/SSH.java b/src/org/connectbot/transport/SSH.java
index 7dfaf0c..b1fcd77 100644
--- a/src/org/connectbot/transport/SSH.java
+++ b/src/org/connectbot/transport/SSH.java
@@ -342,10 +342,8 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
Log.d(TAG, String.format("Unlocked key '%s'", pubkey.getNickname()));
- // save this key in-memory if option enabled
- if(manager.isSavingKeys()) {
- manager.addKey(pubkey, trileadKey);
- }
+ // save this key in memory
+ manager.addKey(pubkey, trileadKey);
}
return tryPublicKey(host.getUsername(), pubkey.getNickname(), trileadKey);