aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2015-09-14 08:39:54 -0700
committerKenny Root <kenny@the-b.org>2015-09-14 08:39:54 -0700
commit087bf8ee32423a8582c6a303f47a28611b83d8c7 (patch)
tree5b1b8f52519ddb1bd386ba900f99145e86d7761c
parent0bed9c91a9088da9eaf3284351aec86e4fc6bde9 (diff)
parente71ed9aa7b4e8f6a7783086bb02cc66b20c7477c (diff)
downloadconnectbot-087bf8ee32423a8582c6a303f47a28611b83d8c7.tar.gz
connectbot-087bf8ee32423a8582c6a303f47a28611b83d8c7.tar.bz2
connectbot-087bf8ee32423a8582c6a303f47a28611b83d8c7.zip
Merge pull request #203 from kruton/known-host-prompting
Fix the known host prompting repeatedly
-rw-r--r--app/src/main/java/org/connectbot/bean/HostBean.java22
-rw-r--r--app/src/main/java/org/connectbot/util/HostDatabase.java20
2 files changed, 14 insertions, 28 deletions
diff --git a/app/src/main/java/org/connectbot/bean/HostBean.java b/app/src/main/java/org/connectbot/bean/HostBean.java
index 7083e6d..93d7716 100644
--- a/app/src/main/java/org/connectbot/bean/HostBean.java
+++ b/app/src/main/java/org/connectbot/bean/HostBean.java
@@ -36,8 +36,6 @@ public class HostBean extends AbstractBean {
private String hostname = null;
private int port = 22;
private String protocol = "ssh";
- private String hostKeyAlgo = null;
- private byte[] hostKey = null;
private long lastConnect = -1;
private String color;
private boolean useKeys = true;
@@ -108,24 +106,6 @@ public class HostBean extends AbstractBean {
return protocol;
}
- public void setHostKeyAlgo(String hostKeyAlgo) {
- this.hostKeyAlgo = hostKeyAlgo;
- }
- public String getHostKeyAlgo() {
- return hostKeyAlgo;
- }
- public void setHostKey(byte[] hostKey) {
- if (hostKey == null)
- this.hostKey = null;
- else
- this.hostKey = hostKey.clone();
- }
- public byte[] getHostKey() {
- if (hostKey == null)
- return null;
- else
- return hostKey.clone();
- }
public void setLastConnect(long lastConnect) {
this.lastConnect = lastConnect;
}
@@ -229,8 +209,6 @@ public class HostBean extends AbstractBean {
values.put(HostDatabase.FIELD_HOST_USERNAME, username);
values.put(HostDatabase.FIELD_HOST_HOSTNAME, hostname);
values.put(HostDatabase.FIELD_HOST_PORT, port);
- values.put(HostDatabase.FIELD_HOST_HOSTKEYALGO, hostKeyAlgo);
- values.put(HostDatabase.FIELD_HOST_HOSTKEY, hostKey);
values.put(HostDatabase.FIELD_HOST_LASTCONNECT, lastConnect);
values.put(HostDatabase.FIELD_HOST_COLOR, color);
values.put(HostDatabase.FIELD_HOST_USEKEYS, Boolean.toString(useKeys));
diff --git a/app/src/main/java/org/connectbot/util/HostDatabase.java b/app/src/main/java/org/connectbot/util/HostDatabase.java
index 7c59807..074e081 100644
--- a/app/src/main/java/org/connectbot/util/HostDatabase.java
+++ b/app/src/main/java/org/connectbot/util/HostDatabase.java
@@ -533,10 +533,18 @@ public class HostDatabase extends RobustSQLiteOpenHelper implements HostStorage,
values.put(FIELD_HOST_HOSTKEYALGO, hostkeyalgo);
values.put(FIELD_HOST_HOSTKEY, hostkey);
- mDb.update(TABLE_HOSTS, values,
- FIELD_HOST_HOSTNAME + " = ? AND " + FIELD_HOST_PORT + " = ?",
- new String[] {hostname, String.valueOf(port)});
- Log.d(TAG, String.format("Finished saving hostkey information for '%s'", hostname));
+ int numUpdated;
+ mDb.beginTransaction();
+ try {
+ numUpdated = mDb.update(TABLE_HOSTS, values,
+ FIELD_HOST_HOSTNAME + " = ? AND " + FIELD_HOST_PORT + " = ?",
+ new String[]{hostname, String.valueOf(port)});
+ mDb.setTransactionSuccessful();
+ } finally {
+ mDb.endTransaction();
+ }
+ Log.d(TAG, String.format("Finished saving hostkey information for '%s' (affected %d entries)",
+ hostname, numUpdated));
}
/**
@@ -557,8 +565,8 @@ public class HostDatabase extends RobustSQLiteOpenHelper implements HostStorage,
COL_HOSTKEY = c.getColumnIndexOrThrow(FIELD_HOST_HOSTKEY);
while (c.moveToNext()) {
- String hostname = c.getString(COL_HOSTNAME),
- hostkeyalgo = c.getString(COL_HOSTKEYALGO);
+ String hostname = c.getString(COL_HOSTNAME);
+ String hostkeyalgo = c.getString(COL_HOSTKEYALGO);
int port = c.getInt(COL_PORT);
byte[] hostkey = c.getBlob(COL_HOSTKEY);