diff options
author | Hans Nilsson <[email protected]> | 2015-10-07 12:15:08 +0200 |
---|---|---|
committer | Hans Nilsson <[email protected]> | 2015-10-07 12:52:14 +0200 |
commit | ca0aef835dba5ef2c4185289092ed0fc2f1bb2ba (patch) | |
tree | 2d496c35b5c8e31a03973eeb22d73ab69cd77693 /lib/ssh/src/ssh_transport.erl | |
parent | f8f1bf3326e98bff7dbfed6f284b136b799c0be4 (diff) | |
download | otp-ca0aef835dba5ef2c4185289092ed0fc2f1bb2ba.tar.gz otp-ca0aef835dba5ef2c4185289092ed0fc2f1bb2ba.tar.bz2 otp-ca0aef835dba5ef2c4185289092ed0fc2f1bb2ba.zip |
ssh: added dh_gex tests
Diffstat (limited to 'lib/ssh/src/ssh_transport.erl')
-rw-r--r-- | lib/ssh/src/ssh_transport.erl | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/ssh/src/ssh_transport.erl b/lib/ssh/src/ssh_transport.erl index 840564e246..3ba5e4d297 100644 --- a/lib/ssh/src/ssh_transport.erl +++ b/lib/ssh/src/ssh_transport.erl @@ -336,11 +336,12 @@ key_exchange_first_msg(Kex, Ssh0) when Kex == 'diffie-hellman-group1-sha1' ; {ok, SshPacket, Ssh1#ssh{keyex_key = {{Private, Public}, {G, P}}}}; -key_exchange_first_msg(Kex, Ssh0) when Kex == 'diffie-hellman-group-exchange-sha1' ; - Kex == 'diffie-hellman-group-exchange-sha256' -> - Min = ?DEFAULT_DH_GROUP_MIN, - NBits = ?DEFAULT_DH_GROUP_NBITS, - Max = ?DEFAULT_DH_GROUP_MAX, +key_exchange_first_msg(Kex, Ssh0=#ssh{opts=Opts}) when Kex == 'diffie-hellman-group-exchange-sha1' ; + Kex == 'diffie-hellman-group-exchange-sha256' -> + {Min,NBits,Max} = + proplists:get_value(dh_gex_limits, Opts, {?DEFAULT_DH_GROUP_MIN, + ?DEFAULT_DH_GROUP_NBITS, + ?DEFAULT_DH_GROUP_MAX}), {SshPacket, Ssh1} = ssh_packet(#ssh_msg_kex_dh_gex_request{min = Min, n = NBits, @@ -1387,7 +1388,7 @@ dh_gex_group(Min, N, Max, undefined) -> dh_gex_group(Min, N, Max, dh_gex_default_groups()); dh_gex_group(Min, N, Max, Groups) -> %% First try to find an exact match. If not an exact match, select the largest possible. - {_,Group} = + {_Size,Group} = lists:foldl( fun(_, {I,G}) when I==N -> %% If we have an exact match already: use that one |