Age | Commit message (Collapse) | Author |
|
|
|
* lukas/erts/non-blocking-shell:
Fix io:columns/0 timeout when invoked via user
kernel,ssh: Add synchronous user_drv protocol
erts: Make writing to non-tty fds non-blocking
erts: Make tty driver non-blocking
|
|
Added a put_chars_sync to the protocol that can be used to
talk to user_drv and made group use it. This is needed in order
to guarantee that bytes has been pushed to the tty port when
doing something like this:
io:format("halting\n"),erlang:halt(0).
Before this change the halting message could be lost in the message
queue of the user_drv process, this is no longer possible.
This commit also fixes ssh_cli as that plugs itself in as a user_drv
process.
OTP-12240
|
|
Also address compatibility issue with PuTTY
|
|
is allocated
|
|
thanks to Alexander Demidenko
|
|
A step in fixing the tickets.
|
|
OTP-11296
|
|
Also start adding dialyzer specs and removing dead code
|
|
Dear all,
I've found that ssh_cli.erl does not scan the input received from the
remote for occurrences of <CTRL>+C to signal the user's interrupt
requests to the group_leader of the CLI session. The patch attached to
this e-mail fixes the issue.
Kind regards,
--
Dr. Stefan Zegenhagen
arcutronix GmbH
Garbsener Landstr. 10
30419 Hannover
Germany
Tel: +49 511 277-2734
Fax: +49 511 277-2709
Email: stefan.zegenhagen@arcutronix.com
Web: www.arcutronix.com
*Synchronize the Ethernet*
General Managers: Dipl. Ing. Juergen Schroeder, Dr. Josef Gfrerer -
Legal Form: GmbH, Registered office: Hannover, HRB 202442, Amtsgericht
Hannover; Ust-Id: DE257551767.
Please consider the environment before printing this message.
>From f1d056ed1bf419677098cdc57bc7ce8a327e6b43 Mon Sep 17 00:00:00 2001
From: Stefan Zegenhagen <stefan.zegenhagen@arcutronix.com>
Date: Mon, 6 May 2013 14:29:45 +0200
Subject: [PATCH] [SSH-CLI] properly handle <CTRL>+C as shell interrupt
In ssh_cli.erl, check for the presence of <CTRL>+C in data received from
the remote. If detected, use the established mechanism (send an
'interrupt' exit signal to the group_leader) to signal an interrupt to
the shell.
|
|
|
|
|
|
|
|
This patch fixes a few problems of the SSH shell server that affect the
interoperability with SSH clients in widespread use.
First problem is that, whenever a channel_request message is
received with want_reply=true, the reply ends up being sent to the
servers channel id, not the clients channel id. This causes the client
to terminate the connection. The easiest solution to the problem appears
to be a new function in ssh_connection_manager.erl that translates the
servers channel id before sending the reply (in the same manner as
other functions do it).
Second problem is in ssh_cli.erl. When an SSH client sends a
window_change request between PTY allocation and starting the shell
(which appears to happen with some clients), ssh_cli.erl crashes
because #state.buf is yet 'undefined'. Allocating an empty buffer at PTY
allocation time solves the problem.
Affected SSH clients:
- all clients based on SSH-2.0-TrileadSSH2Java_213 (problem #1)
- SSH Term Pro (problem #2)
|
|
A memory leak has been fixed. I.e. per terminated connection the size of
a pid and the length of a user name string was not cleared.
|
|
|
|
* nick/ssh/fix-process-leak/OTP-8807:
Fix race condition when terminating a connection.
fix process leak in ssh_system_sup (dynamicaly created childs where not cleaned up)
|
|
|
|
OTP-8550 The function ssh:connect/4 was not exported.
OTP-8644 Aligned error message with used version (SSH_FX_FAILURE
vs SSH_FX_NOT_A_DIRECTORY, the latter introduced in version
6).
OTP-8645 Resolved race condition when another connection is started
before a channel is opened in the first connection.
OTP-8535 The configuration parameter ip_v6_disabled is now available,
which makes it possible for the user to alter the IP version
SSH shall use.
OTP-8534 The ssh_connection:send operation now accepts infinity as
timeout.
OTP-8524 The connection handler now include stack traces when a channel
message is not handled correctly.
|
|
|
|
|
|
|
|
|
|
|