[erlang-patches] yet another ssh bug
Ingela Anderton Andin
ingela@REDACTED
Wed Jan 9 09:57:26 CET 2008
Well, we can not have it this way now can we ;) Thank you for the patch.
We will fix this.
Regards Ingela -OTP team
Claes Wikstrom wrote:
> This fatso bug is also triggered by the putty 0.60 client
>
> Whenever recv_msg() returns an actual error, we loop
> indefinitely. Tcp_closed is never received, since it is already
> received when we were in passive mode.
>
> It basically means that all all OTP ssh systems out there
> that expose ssh outwards can be easily brought out of
> service simply by trying to connect with putty 0.60 to them
> and then exit putty.
>
>
>
> Index: ssh_transport.erl
> ===================================================================
> --- ssh_transport.erl (revision 14365)
> +++ ssh_transport.erl (working copy)
> @@ -733,9 +733,17 @@
> inet:setopts(S, [{active, once}]),
> ssh_main(S, User, SSH);
> {error, _Other} ->
> - inet:setopts(S, [{active, once}]),
> - %% send disconnect!
> - ssh_main(S, User, SSH)
> + %% socket may or may not be closed, regardless
> + %% we close again
> + %% discon msg may be sent.
> + User ! {
> + ssh_msg, self(),
> + #ssh_msg_disconnect {
> + code=?SSH_DISCONNECT_CONNECTION_LOST,
> + description = "Connection closed",
> + language = "" }},
> + gen_tcp:close(S),
> + ok
> end;
>
>
>
> /klacke
>
>
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-patches
>
>
More information about the erlang-patches
mailing list