aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/org/connectbot/GeneratePubkeyActivity.java6
-rw-r--r--src/org/connectbot/bean/HostBean.java10
-rw-r--r--src/org/connectbot/bean/PubkeyBean.java20
3 files changed, 30 insertions, 6 deletions
diff --git a/src/org/connectbot/GeneratePubkeyActivity.java b/src/org/connectbot/GeneratePubkeyActivity.java
index 22b9bc3..5d5a4de 100644
--- a/src/org/connectbot/GeneratePubkeyActivity.java
+++ b/src/org/connectbot/GeneratePubkeyActivity.java
@@ -204,6 +204,12 @@ public class GeneratePubkeyActivity extends Activity implements OnEntropyGathere
}
public void onEntropyGathered(byte[] entropy) {
+ // For some reason the entropy dialog was aborted, exit activity
+ if (entropy == null) {
+ finish();
+ return;
+ }
+
this.entropy = entropy.clone();
Log.d(TAG, "entropy gathered; attemping to generate key...");
diff --git a/src/org/connectbot/bean/HostBean.java b/src/org/connectbot/bean/HostBean.java
index f501aa5..bd8f424 100644
--- a/src/org/connectbot/bean/HostBean.java
+++ b/src/org/connectbot/bean/HostBean.java
@@ -97,10 +97,16 @@ public class HostBean extends AbstractBean {
return hostKeyAlgo;
}
public void setHostKey(byte[] hostKey) {
- this.hostKey = hostKey.clone();
+ if (hostKey == null)
+ this.hostKey = null;
+ else
+ this.hostKey = hostKey.clone();
}
public byte[] getHostKey() {
- return hostKey.clone();
+ if (hostKey == null)
+ return null;
+ else
+ return hostKey.clone();
}
public void setLastConnect(long lastConnect) {
this.lastConnect = lastConnect;
diff --git a/src/org/connectbot/bean/PubkeyBean.java b/src/org/connectbot/bean/PubkeyBean.java
index ceeb6f3..c103a07 100644
--- a/src/org/connectbot/bean/PubkeyBean.java
+++ b/src/org/connectbot/bean/PubkeyBean.java
@@ -73,19 +73,31 @@ public class PubkeyBean extends AbstractBean {
}
public void setPrivateKey(byte[] privateKey) {
- this.privateKey = privateKey.clone();
+ if (privateKey == null)
+ this.privateKey = null;
+ else
+ this.privateKey = privateKey.clone();
}
public byte[] getPrivateKey() {
- return privateKey.clone();
+ if (privateKey == null)
+ return null;
+ else
+ return privateKey.clone();
}
public void setPublicKey(byte[] publicKey) {
- this.publicKey = publicKey.clone();
+ if (publicKey == null)
+ this.publicKey = null;
+ else
+ this.publicKey = publicKey.clone();
}
public byte[] getPublicKey() {
- return publicKey.clone();
+ if (publicKey == null)
+ return null;
+ else
+ return publicKey.clone();
}
public void setEncrypted(boolean encrypted) {