diff options
author | Erlang/OTP <[email protected]> | 2017-02-01 18:32:33 +0100 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2017-02-01 18:32:33 +0100 |
commit | c25ee54a0ba1a875a714f9f3e52071846c655982 (patch) | |
tree | 903de6b13057897af77db039f30bd90f734480f3 /lib/ssh/src/ssh_connection_handler.erl | |
parent | cd545daf6a88ebebef6de1fb631cb47e91b05ca5 (diff) | |
parent | 62f9bd09023da0b318e57b6454bd4b346816a27b (diff) | |
download | otp-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.erl | 6 |
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, |