diff options
| -rw-r--r-- | CHANGELOG.md | 3 | ||||
| -rw-r--r-- | src/com/trilead/ssh2/transport/KexManager.java | 5 | 
2 files changed, 6 insertions, 2 deletions
| diff --git a/CHANGELOG.md b/CHANGELOG.md index 665105b..895d821 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,3 +3,6 @@ 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. diff --git a/src/com/trilead/ssh2/transport/KexManager.java b/src/com/trilead/ssh2/transport/KexManager.java index 2476b76..acf2812 100644 --- a/src/com/trilead/ssh2/transport/KexManager.java +++ b/src/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"); | 
