aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Nilsson <[email protected]>2016-10-17 12:03:21 +0200
committerHans Nilsson <[email protected]>2016-10-17 13:13:21 +0200
commite875ff334a6d6f8db547868e5d57e71c80ff1859 (patch)
tree0341cb609461b3c69aa71dc085dfb0c158ebe5c3
parentdff506800fe54de928e430ce8e76f4eeb76100fb (diff)
downloadotp-e875ff334a6d6f8db547868e5d57e71c80ff1859.tar.gz
otp-e875ff334a6d6f8db547868e5d57e71c80ff1859.tar.bz2
otp-e875ff334a6d6f8db547868e5d57e71c80ff1859.zip
ssh: fix renegotiation problem
-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}