aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/src/ssh_connection_handler.erl
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2017-02-01 18:32:33 +0100
committerErlang/OTP <[email protected]>2017-02-01 18:32:33 +0100
commitc25ee54a0ba1a875a714f9f3e52071846c655982 (patch)
tree903de6b13057897af77db039f30bd90f734480f3 /lib/ssh/src/ssh_connection_handler.erl
parentcd545daf6a88ebebef6de1fb631cb47e91b05ca5 (diff)
parent62f9bd09023da0b318e57b6454bd4b346816a27b (diff)
downloadotp-c25ee54a0ba1a875a714f9f3e52071846c655982.tar.gz
otp-c25ee54a0ba1a875a714f9f3e52071846c655982.tar.bz2
otp-c25ee54a0ba1a875a714f9f3e52071846c655982.zip
Merge branch 'hans/ssh/dh_group_exc_optimize/OTP-14169' into maint-18
* hans/ssh/dh_group_exc_optimize/OTP-14169: ssh: optimize kex dh_gex using new crypto functionality crypto: Added optional length to paramlist in generate_key ssh,crypto: prepare for release # Conflicts: # lib/ssh/src/ssh_transport.erl
Diffstat (limited to 'lib/ssh/src/ssh_connection_handler.erl')
-rw-r--r--lib/ssh/src/ssh_connection_handler.erl6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/ssh/src/ssh_connection_handler.erl b/lib/ssh/src/ssh_connection_handler.erl
index b73f8b23d2..8c73bb8946 100644
--- a/lib/ssh/src/ssh_connection_handler.erl
+++ b/lib/ssh/src/ssh_connection_handler.erl
@@ -429,14 +429,16 @@ key_exchange(#ssh_msg_kexdh_reply{} = Msg,
key_exchange(#ssh_msg_kex_dh_gex_request{} = Msg,
#state{ssh_params = #ssh{role = server} = Ssh0} = State) ->
- {ok, GexGroup, Ssh} = ssh_transport:handle_kex_dh_gex_request(Msg, Ssh0),
+ {ok, GexGroup, Ssh1} = ssh_transport:handle_kex_dh_gex_request(Msg, Ssh0),
send_msg(GexGroup, State),
+ Ssh = ssh_transport:parallell_gen_key(Ssh1),
{next_state, key_exchange_dh_gex_init, next_packet(State#state{ssh_params = Ssh})};
key_exchange(#ssh_msg_kex_dh_gex_request_old{} = Msg,
#state{ssh_params = #ssh{role = server} = Ssh0} = State) ->
- {ok, GexGroup, Ssh} = ssh_transport:handle_kex_dh_gex_request(Msg, Ssh0),
+ {ok, GexGroup, Ssh1} = ssh_transport:handle_kex_dh_gex_request(Msg, Ssh0),
send_msg(GexGroup, State),
+ Ssh = ssh_transport:parallell_gen_key(Ssh1),
{next_state, key_exchange_dh_gex_init, next_packet(State#state{ssh_params = Ssh})};
key_exchange(#ssh_msg_kex_dh_gex_group{} = Msg,