summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Nilsson <hans@erlang.org>2016-11-21 17:52:06 +0100
committerHans Nilsson <hans@erlang.org>2016-11-21 17:52:06 +0100
commit3a519b7b74ae07f4d66989313a0c065c96bcad8c (patch)
tree61b9b0d4bb208e07223c83e1b8f1ab9deb2cfec0
parenta6e7c2ac6c0da6521fbe8595ac684a4e0b3e69d3 (diff)
downloaderlang-3a519b7b74ae07f4d66989313a0c065c96bcad8c.tar.gz
ssh: fix error when large client packet size and small on server
-rw-r--r--lib/ssh/src/ssh_connection.erl3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/ssh/src/ssh_connection.erl b/lib/ssh/src/ssh_connection.erl
index d0f2d54c06..1153095135 100644
--- a/lib/ssh/src/ssh_connection.erl
+++ b/lib/ssh/src/ssh_connection.erl
@@ -287,6 +287,9 @@ handle_msg(#ssh_msg_channel_open_confirmation{recipient_channel = ChannelId,
ssh_channel:cache_update(Cache, Channel#channel{
remote_id = RemoteId,
+ recv_packet_size = max(32768, % rfc4254/5.2
+ min(PacketSz, Channel#channel.recv_packet_size)
+ ),
send_window_size = WindowSz,
send_packet_size = PacketSz}),
{Reply, Connection} = reply_msg(Channel, Connection0, {open, ChannelId}),