diff options
author | Ingela Anderton Andin <[email protected]> | 2012-08-29 09:46:08 +0200 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2012-08-29 09:46:08 +0200 |
commit | d6853735d2f853cc9186a48c6e7964a5bee9a68d (patch) | |
tree | afe69020e8c72e50cec362dfe93cd09dd27984c4 | |
parent | e8687711820561ed1c069ae7c66c2c3efd3b477b (diff) | |
parent | 93700ec7358a2da83c13aca2ce04fe8cd5672af8 (diff) | |
download | otp-d6853735d2f853cc9186a48c6e7964a5bee9a68d.tar.gz otp-d6853735d2f853cc9186a48c6e7964a5bee9a68d.tar.bz2 otp-d6853735d2f853cc9186a48c6e7964a5bee9a68d.zip |
Merge branch 'ia/ssh/adjust-window-remote-id/OTP-10232' into maint
* ia/ssh/adjust-window-remote-id/OTP-10232:
ssh: Use the correct channel id when adjusting the channel window
-rw-r--r-- | lib/ssh/src/ssh_connection.erl | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/ssh/src/ssh_connection.erl b/lib/ssh/src/ssh_connection.erl index c46f799b6d..c2a7c63cbe 100644 --- a/lib/ssh/src/ssh_connection.erl +++ b/lib/ssh/src/ssh_connection.erl @@ -436,32 +436,32 @@ handle_msg(#ssh_msg_channel_window_adjust{recipient_channel = ChannelId, #connection{channel_cache = Cache} = Connection, ConnectionPid, _) -> - #channel{send_window_size = Size} = + #channel{send_window_size = Size, remote_id = RemoteId} = Channel0 = ssh_channel:cache_lookup(Cache, ChannelId), - + {SendList, Channel} = %% TODO: Datatype 0 ? update_send_window(Channel0#channel{send_window_size = Size + Add}, 0, <<>>, Connection), Replies = lists:map(fun({Type, Data}) -> {connection_reply, ConnectionPid, - channel_data_msg(ChannelId, Type, Data)} + channel_data_msg(RemoteId, Type, Data)} end, SendList), FlowCtrlMsgs = flow_control(Channel, Cache), {{replies, Replies ++ FlowCtrlMsgs}, Connection}; handle_msg(#ssh_msg_channel_open{channel_type = "session" = Type, - sender_channel = ChannelId, + sender_channel = RemoteId, initial_window_size = WindowSz, maximum_packet_size = PacketSz}, Connection0, ConnectionPid, server) -> - try setup_session(Connection0, ConnectionPid, ChannelId, + try setup_session(Connection0, ConnectionPid, RemoteId, Type, WindowSz, PacketSz) of Result -> Result catch _:_ -> - FailMsg = channel_open_failure_msg(ChannelId, + FailMsg = channel_open_failure_msg(RemoteId, ?SSH_OPEN_CONNECT_FAILED, "Connection refused", "en"), {{replies, [{connection_reply, ConnectionPid, FailMsg}]}, @@ -532,9 +532,9 @@ handle_msg(#ssh_msg_channel_open{channel_type = "forwarded-tcpip", {{replies, [{connection_reply, ConnectionPid, FailMsg}]}, Connection}; -handle_msg(#ssh_msg_channel_open{sender_channel = ChannelId}, Connection, +handle_msg(#ssh_msg_channel_open{sender_channel = RemoteId}, Connection, ConnectionPid, _) -> - FailMsg = channel_open_failure_msg(ChannelId, + FailMsg = channel_open_failure_msg(RemoteId, ?SSH_OPEN_ADMINISTRATIVELY_PROHIBITED, "Not allowed", "en"), {{replies, [{connection_reply, ConnectionPid, FailMsg}]}, Connection}; |