diff options
author | Kenny Root <kenny@the-b.org> | 2015-04-05 16:04:46 -0700 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2015-04-05 16:04:46 -0700 |
commit | 9689224a9e0c26b64fdbf7515a4dc9ae20454f3b (patch) | |
tree | 75cb603a0b28d831a361cb4a5de0bb173025cd10 | |
parent | c3dc0d11c3b84f45fd609b602f6fceec452923f7 (diff) | |
parent | be562fe3c5c6f47d78724de8221974acec389a4f (diff) | |
download | connectbot-9689224a9e0c26b64fdbf7515a4dc9ae20454f3b.tar.gz connectbot-9689224a9e0c26b64fdbf7515a4dc9ae20454f3b.tar.bz2 connectbot-9689224a9e0c26b64fdbf7515a4dc9ae20454f3b.zip |
Merge branch 'master' into gradle-conversion
-rw-r--r-- | CHANGELOG.md | 12 | ||||
-rw-r--r-- | app/src/main/java/com/trilead/ssh2/transport/KexManager.java | 5 | ||||
-rw-r--r-- | app/src/main/java/org/connectbot/transport/SSH.java | 6 |
3 files changed, 20 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..ddfccf0 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,12 @@ +# Change Log +All notable changes to this project will be documented in this file. +This project adheres to [Semantic Versioning](http://semver.org/). + +## [Unreleased][unreleased] +### Fixed +- Key exchange and host key algorithm preference order was not being + respected. + +### Added +- More context is given for failures to connect via SSH which should + reveal why a host might be incompatible with ConnectBot. diff --git a/app/src/main/java/com/trilead/ssh2/transport/KexManager.java b/app/src/main/java/com/trilead/ssh2/transport/KexManager.java index 2476b76..acf2812 100644 --- a/app/src/main/java/com/trilead/ssh2/transport/KexManager.java +++ b/app/src/main/java/com/trilead/ssh2/transport/KexManager.java @@ -8,6 +8,7 @@ import java.security.SecureRandom; import java.security.interfaces.DSAPublicKey; import java.security.interfaces.ECPublicKey; import java.security.interfaces.RSAPublicKey; +import java.util.LinkedHashSet; import java.util.Set; import java.util.TreeSet; @@ -61,7 +62,7 @@ public class KexManager supportsEc = keyFact != null; } - private static final Set<String> HOSTKEY_ALGS = new TreeSet<String>(); + private static final Set<String> HOSTKEY_ALGS = new LinkedHashSet<String>(); static { if (supportsEc) { HOSTKEY_ALGS.add("ecdsa-sha2-nistp256"); @@ -72,7 +73,7 @@ public class KexManager HOSTKEY_ALGS.add("ssh-dsa"); } - private static final Set<String> KEX_ALGS = new TreeSet<String>(); + private static final Set<String> KEX_ALGS = new LinkedHashSet<String>(); static { if (supportsEc) { KEX_ALGS.add("ecdh-sha2-nistp256"); diff --git a/app/src/main/java/org/connectbot/transport/SSH.java b/app/src/main/java/org/connectbot/transport/SSH.java index 37f2e08..2a552a4 100644 --- a/app/src/main/java/org/connectbot/transport/SSH.java +++ b/app/src/main/java/org/connectbot/transport/SSH.java @@ -454,7 +454,11 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC Log.e(TAG, "Problem in SSH connection thread during authentication", e); // Display the reason in the text. - bridge.outputLine(e.getCause().getMessage()); + Throwable t = e.getCause(); + do { + bridge.outputLine(t.getMessage()); + t = t.getCause(); + } while (t != null); close(); onDisconnect(); |