aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/src/ssh_connection_handler.erl
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2016-10-17 14:20:00 +0200
committerErlang/OTP <[email protected]>2016-10-17 14:20:00 +0200
commit8b11cc9cbd8491303a8725e69cc27b185f78dbdf (patch)
tree0341cb609461b3c69aa71dc085dfb0c158ebe5c3 /lib/ssh/src/ssh_connection_handler.erl
parentc1c2149818396bdefe9eff995184f8864f18fca3 (diff)
parente875ff334a6d6f8db547868e5d57e71c80ff1859 (diff)
downloadotp-8b11cc9cbd8491303a8725e69cc27b185f78dbdf.tar.gz
otp-8b11cc9cbd8491303a8725e69cc27b185f78dbdf.tar.bz2
otp-8b11cc9cbd8491303a8725e69cc27b185f78dbdf.zip
Merge branch 'hans/ssh/rekey_problem/OTP-13972' into maint-19
* hans/ssh/rekey_problem/OTP-13972: ssh: fix renegotiation problem ssh: test case for renegotiation with openssh client
Diffstat (limited to 'lib/ssh/src/ssh_connection_handler.erl')
-rw-r--r--lib/ssh/src/ssh_connection_handler.erl5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/ssh/src/ssh_connection_handler.erl b/lib/ssh/src/ssh_connection_handler.erl
index ced049f0d0..dd414894d4 100644
--- a/lib/ssh/src/ssh_connection_handler.erl
+++ b/lib/ssh/src/ssh_connection_handler.erl
@@ -671,8 +671,9 @@ handle_event(_, #ssh_msg_newkeys{} = Msg, {new_keys,Role,init}, D) ->
{next_state, {service_request,Role}, D#data{ssh_params=Ssh}};
%% Subsequent key exchange rounds (renegotiation):
-handle_event(_, #ssh_msg_newkeys{}, {new_keys,Role,renegotiate}, D) ->
- {next_state, {connected,Role}, D};
+handle_event(_, #ssh_msg_newkeys{} = Msg, {new_keys,Role,renegotiate}, D) ->
+ {ok, Ssh} = ssh_transport:handle_new_keys(Msg, D#data.ssh_params),
+ {next_state, {connected,Role}, D#data{ssh_params=Ssh}};
%%% ######## {service_request, client|server}