aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/src/ssh_connection.erl
AgeCommit message (Collapse)Author
2016-04-29ssh: undocumented, untestesd and experimental tcpip_forward code removedHans Nilsson
2016-04-27ssh: fix dialyzer warnings and errorsHans Nilsson
2016-04-27ssh: Gen_statem rewrite of ssh_connection_handlerHans Nilsson
Including misc fixes in surronding code as well as in test cases.
2015-11-05Fix spelling of ssh 'subsystem'Ben Tyler
This commit does not change any behaviour, since the spelling was internally consistent.
2015-10-08ssh: Option max_channels added.Hans Nilsson
It actually counts the number of subsystem alive. Allocating a channel does not consume any resources (except some cpu cycles), but the subsystem start spawns processes.
2015-06-18Change license text to APLv2Bruce Yinhe
2015-05-12ssh: Fix typoIngela Anderton Andin
Option height was misspelled in the code. Fix code but recognize the mispellt option for backwards compatible reasons.
2015-04-10Merge branch 'maint-17'Zandra Hird
Conflicts: OTP_VERSION
2015-04-07ssh: Option minimal_remote_max_packet_size and test casesHans Nilsson
2015-04-07ssh: fix loop bug for zero maximum_packet_size.Hans Nilsson
A channel could be opened with the 'max packet size' set to 0. The behaviour is not defined in the ssh rfc:s, and openssh does not handle that case in some special way besides looping. The introduced solution just "keep quiet" but removes the eternal loop that caused Erlang to core dump.
2015-04-07ssh: Change send_buf implementation from list to queueIngela Anderton Andin
A queue is the behaviour that we want, so this makes the code easier to understand and more effective.
2014-12-29Merge branch 'lemenkov/use_os_getenv_2'Marcus Arendt
* lemenkov/use_os_getenv_2: fix missing include Start using os:getenv/2 fun Introduce os:getenv/2
2014-12-17ssh: Improve errorhandling in ssh_connection.erlIngela Anderton Andin
If a channel is closed by the peer while using a function with call semantics in ssh_connection.erl return {error, closed}. Document that the functions can return {error, timeout | closed} and not only ssh_request_status()
2014-12-15Start using os:getenv/2 funPeter Lemenkov
See #535 Signed-off-by: Peter Lemenkov <[email protected]>
2014-12-05Revert "ssh: Corrected ret val from ssh_connection:subsystem/4."Marcus Arendt
This reverts commit d086394ebd3595d431835af80709977a6c1c7c89.
2014-10-22ssh: Add ptty_alloc/[2,3]Ingela Anderton Andin
2014-10-09ssh: Corrected ret val from ssh_connection:subsystem/4.Hans Nilsson
2014-07-23Fix SSH CLI when using custom "shell" optionMichael K. Schmidt
Also address compatibility issue with PuTTY
2014-01-21ssh: Adds unicodeHans Nilsson
2013-11-26ssh: Correct close handlingIngela Anderton Andin
Commit 68263a48bfbdac4dc219a91f06af3d535d881850 got close handling slightly wrong, channels did not get their close message. Commit 32102f1e8225dada7526c9bfee6622f9026ba4cd did not work as expected
2013-11-13ssh: Add option to disallow CLIIngela Anderton Andin
OTP-10976
2013-11-13ssh: Merge connection_manager and connection_handler processesIngela Anderton Andin
Also start adding dialyzer specs and removing dead code
2013-11-13ssh: Remove use of process dictionaryIngela Anderton Andin
This is step one in in making ssh process structure less complicated. As an effect I also found other simplifications/clean ups of the code that could be done.
2012-10-05Improve interoperability with SSH clientsStefan Zegenhagen
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)
2012-10-03ssh: Make test case platform independantIngela Anderton Andin
The test case interrupted_send did not work on all platforms. Also ct-ify the test suite
2012-10-03ssh: ssh_connection:channel_data() and send_eof() now return {error, closed} ↵Daniel Goertzen
for closed or invalid channels. ssh_connection:handle_msg(#ssh_msg_channel_close...) will now cause any send() that was in progress to immediately return {error,closed}.
2012-10-03ssh: Ensure that all data is sent before ssh:send returns.Daniel Goertzen
2012-09-24ssh: Will not hang if you attempt to send empty binaryIngela Anderton Andin
2012-08-28ssh: Use the correct channel id when adjusting the channel windowIngela Anderton Andin
2012-05-04The channel id in a channel failure message, sent to the peer, is now in all ↵Ingela Anderton Andin
cases the remote channel id
2012-02-28Prevent client hanging. (OTP-8111)Ingela Anderton Andin
Restored supervisor tree so that error propagation will work as intended, although connection processes are set to temporary, instead of permanent with restart times set to 0, and termination of the connection subtree is initiated by a temporary process spawned by ssh_connection_managers terminate. This is done to avoid unwanted supervisor reports. Pherhaps we need some new supervisor functionality.
2012-02-10Removed no longer needed codeIngela Anderton Andin
2010-05-26Fix race condition when an other connection is started before a channel is ↵Niclas Eklund
opened in the first connection.
2010-04-21Changes after ssh-1.1.8Niclas Eklund
2010-04-21New branch for ssh-2.0 and laterNiclas Eklund
2010-03-22The send operation now accepts infinity as timeoutNiclas Eklund
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP