aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/src/ssh_transport.erl
diff options
context:
space:
mode:
authorHenrik Nord <[email protected]>2015-06-02 09:09:10 +0200
committerHenrik Nord <[email protected]>2015-06-02 09:09:10 +0200
commitb37c4e256dfd827cdfcb92078c1217a13aa2e656 (patch)
tree7c53916cfa4b16db12fe0b8492755caa5b50c2f7 /lib/ssh/src/ssh_transport.erl
parente0e2a98d63f73121a56ae199cbfeba42b3a67fa6 (diff)
parent21b8941d83516e381000387c47758bc7f040ae8b (diff)
downloadotp-b37c4e256dfd827cdfcb92078c1217a13aa2e656.tar.gz
otp-b37c4e256dfd827cdfcb92078c1217a13aa2e656.tar.bz2
otp-b37c4e256dfd827cdfcb92078c1217a13aa2e656.zip
Merge branch 'maint'
Conflicts: OTP_VERSION lib/inets/test/httpd_SUITE.erl lib/inets/vsn.mk lib/ssh/src/ssh.erl lib/ssh/vsn.mk lib/ssl/src/ssl.appup.src lib/ssl/vsn.mk
Diffstat (limited to 'lib/ssh/src/ssh_transport.erl')
-rw-r--r--lib/ssh/src/ssh_transport.erl9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/ssh/src/ssh_transport.erl b/lib/ssh/src/ssh_transport.erl
index 7162d18b19..ea9bca2390 100644
--- a/lib/ssh/src/ssh_transport.erl
+++ b/lib/ssh/src/ssh_transport.erl
@@ -585,10 +585,15 @@ alg_final(SSH0) ->
{ok,SSH6} = decompress_final(SSH5),
SSH6.
-select_all(CL, SL) ->
+select_all(CL, SL) when length(CL) + length(SL) < 50 ->
A = CL -- SL, %% algortihms only used by client
%% algorithms used by client and server (client pref)
- lists:map(fun(ALG) -> list_to_atom(ALG) end, (CL -- A)).
+ lists:map(fun(ALG) -> list_to_atom(ALG) end, (CL -- A));
+select_all(_CL, _SL) ->
+ throw(#ssh_msg_disconnect{code = ?SSH_DISCONNECT_PROTOCOL_ERROR,
+ description = "Too many algorithms",
+ language = "en"}).
+
select([], []) ->
none;