From d5804659db73266de5d90f79589fa91a60d54db0 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Mon, 14 Sep 2015 07:50:54 -0700 Subject: Wrap saving a known host in a transaction --- app/src/main/java/org/connectbot/util/HostDatabase.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'app/src') diff --git a/app/src/main/java/org/connectbot/util/HostDatabase.java b/app/src/main/java/org/connectbot/util/HostDatabase.java index 7c59807..9bf08dc 100644 --- a/app/src/main/java/org/connectbot/util/HostDatabase.java +++ b/app/src/main/java/org/connectbot/util/HostDatabase.java @@ -533,9 +533,15 @@ 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)}); + mDb.beginTransaction(); + try { + 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'", hostname)); } -- cgit v1.2.3 From 19304198ace08d71603e3b0e9ded67d27103f77e Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Mon, 14 Sep 2015 08:16:22 -0700 Subject: Remove hostkey and hostkeyalgo from HostBean These are never touched directly via HostBean, so remove them from the HostBean. This fixes #199, but a change in sshlib around KnownHosts might be a bit better. --- .../main/java/org/connectbot/bean/HostBean.java | 22 ---------------------- 1 file changed, 22 deletions(-) (limited to 'app/src') 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)); -- cgit v1.2.3 From e71ed9aa7b4e8f6a7783086bb02cc66b20c7477c Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Mon, 14 Sep 2015 08:24:39 -0700 Subject: Add a bit more debugging for saving a known host --- app/src/main/java/org/connectbot/util/HostDatabase.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'app/src') diff --git a/app/src/main/java/org/connectbot/util/HostDatabase.java b/app/src/main/java/org/connectbot/util/HostDatabase.java index 9bf08dc..074e081 100644 --- a/app/src/main/java/org/connectbot/util/HostDatabase.java +++ b/app/src/main/java/org/connectbot/util/HostDatabase.java @@ -533,16 +533,18 @@ public class HostDatabase extends RobustSQLiteOpenHelper implements HostStorage, values.put(FIELD_HOST_HOSTKEYALGO, hostkeyalgo); values.put(FIELD_HOST_HOSTKEY, hostkey); + int numUpdated; mDb.beginTransaction(); try { - mDb.update(TABLE_HOSTS, values, + 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'", hostname)); + Log.d(TAG, String.format("Finished saving hostkey information for '%s' (affected %d entries)", + hostname, numUpdated)); } /** @@ -563,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); -- cgit v1.2.3