aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/src/ssh_connection_handler.erl
AgeCommit message (Collapse)Author
2015-08-29ssh: Elliptic Curve Diffie-Hellman (ECDH)Hans Nilsson
Adds ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp512 and OTP-12938 hmac-sha2-512
2015-08-25ssh: add extra random length padding in packetsHans Nilsson
A new experimental option 'max_random_length_padding', not documented so it might change...
2015-08-03ssh: Repair/add experimental diffie-hellman-group-exchange-sha1 supportHans Nilsson
DO NOT USE IN PRODUCTION!!! This is a bug fixing of the previously partly impelmented kex algorithm. There are more things to do, for example genrate/select better g,p pair obeying the min||n||max request. It is not enabled by default, but may be enabled with the option {preferred_algorithms, [{kex, ['diffie-hellman-group-exchange-sha1']}]}
2015-06-18Change license text to APLv2Bruce Yinhe
2015-06-10Merge branch 'hans/ssh/unknown_msgfun/OTP-12813'Hans Nilsson
* hans/ssh/unknown_msgfun/OTP-12813: ssh: Option unexpectedfun for ssh:daemon and ssh:connect
2015-06-09ssh: Option unexpectedfun for ssh:daemon and ssh:connectHans Nilsson
This option has a fun as value. The fun will be called when an unexpected message arrives. The fun returns either 'skip' or 'report' to guide the connection_handler what to do. One usage is to filter out messages that are not wanted in the error logger as info reports. An example of such a message is the 'etimedout' tcp error message that will be received if a connection has keep_alive and the peer is restarted.
2015-06-09ssh save keybard-interactive data in #ssh{}Hans Nilsson
2015-06-09ssh: make server check auth_methods when rec requestHans Nilsson
2015-06-04ssh: make disconnectfun work for both server&clientHans
2015-06-02Merge branch 'maint'Henrik Nord
Conflicts: OTP_VERSION lib/inets/test/httpd_SUITE.erl lib/inets/vsn.mk lib/ssh/src/ssh.erl lib/ssh/vsn.mk lib/ssl/src/ssl.appup.src lib/ssl/vsn.mk
2015-06-01Merge branch 'hans/ssh/codenomicon_degradation/OTP-12784' into maint-17Erlang/OTP
* hans/ssh/codenomicon_degradation/OTP-12784: ssh: update ssh version ssh: Plain text message returned for invalid version exchange ssh: Implement keyboard_interactive on server side ssh: Check e and f parameters in kexdh ssh: Set max num algoritms in msg_kexinit negotiation
2015-05-29ssh: Plain text message returned for invalid version exchangeHans
This is how OpenSSH does. The bytes returned will be put on the user's tty, so it is better with text than a ssh_msg_disconnect
2015-05-29ssh: Implement keyboard_interactive on server sideHans
2015-05-29ssh: handle that inet:getopts(Socket, [recbuf]) may return {ok, []}Ingela Anderton Andin
If something bad happens and the socket is closed the call inet:getopts(Socket, [recbuf]) may return {ok, []}. We want to treat this as a fatal error and terminate gracefully. The same goes for the case that inet:getopts returns {error, Reason} that was not handled either.
2015-05-26ssh: New option 'preferred_algorithms'Hans Nilsson
This option enables the user to define which algorithms that are to be used as well as their precedences in the negotiation between server and client.
2015-05-21Fix protocol violations during rekeyingSimon Cornish
In RFC 4253, sections 7.1 & 9 describe rekeying with special attention to the protocol messages that may be received and may not be sent during rekeying. This patch fixes a number of problems during rekeying caused by data & requests received from the network, and/or data & requests sent by the user.
2015-05-21Fix rekeying according to RFC 4253Simon Cornish
When in the connected state, an received KEXINIT message MUST be responded to with KEXINIT. After that, the client may continue with KEXDH_INIT (or similar). See the first paragraph on RFC 4253 sec. 9.
2015-05-18Merge branch 'maint'Zandra Hird
Conflicts: OTP_VERSION lib/ssh/doc/src/ssh.xml lib/ssh/vsn.mk
2015-05-13ssh: option for handling the SSH_MSG_DEBUG message's printoutsHans Nilsson
A fun could be given in the options that will be called whenever the SSH_MSG_DEBUG message arrives. This enables the user to format the printout or just discard it. The default is changed to not print the message. In RFC4253 printing is a SHOULD, but our new default is to protect logs from dos attacs.
2015-04-30ssh: Fix bug causing rekeying once per minute after 1st Gbyte Thanks SimonHans Nilsson
The port stats are not accumulated so that once rekey_limit bytes (by default, 1GB) have been transmitted the connection will be rekeyed every minute, not after the next 1GB.
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.
2015-04-07ssh: Remove error reportIngela Anderton Andin
The error report was assumed to only happen if our code was wrongly implemented "internal error". However it would also occur when bad input was recived from the peer, and could hence cause extensive logging on DoS attacks.
2015-02-05Fix ssh:connect erroneus error msg at timeoutHans Nilsson
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-11-18ssh: Gracefully handle bad inputIngela Anderton Andin
2014-10-30ssh: Correct typo of renegotiate that could cause rekeying to failIngela Anderton Andin
2014-10-22ssh: remove supervisors for crashed connection workerHans Nilsson
2014-10-21ssh: simple info function (ssh_info:print/0).Hans Nilsson
2014-10-17ssh: Gracefully handle bad handshake messagesIngela Anderton Andin
2014-10-17ssh: reduce amount of printoutsHans Nilsson
2014-10-16ssh: Fix port scanner problemsHans Nilsson
2014-09-29Merge branch 'ia/ssh/version-handling-gracefull/OTP-12157' into maint-17Erlang/OTP
* ia/ssh/version-handling-gracefull/OTP-12157: ssh: Add format_status/2 so sensitive data will not be present in logs ssh: Gracefully handle incorrect versions
2014-09-25ssh: Fixed parallel_login bug that made all logins serialHans Nilsson
2014-09-24ssh: Add format_status/2 so sensitive data will not be present in logsIngela Anderton Andin
2014-09-24ssh: Gracefully handle incorrect versionsIngela Anderton Andin
Conflicts: lib/ssh/test/ssh_connection_SUITE.erl
2014-08-11ssh: negotiation_timeout bug fixedHans Nilsson
2014-04-24ssh: remove confusing info in some reportsHans Nilsson
2014-03-26ssh: added daemon option 'parallel_login', default falseHans Nilsson
2014-03-25ssh: Fix dialyzer warning for arg Data in ssh_connection_handler:send/4Hans Nilsson
2014-01-27ssh: Fix dialyzer type specs and documentationJohannes Weißl
Similar to d9ebfb8. The wrong specs were leading to dialyzer warnings like this in our application since R16B03: The pattern 'ok' can never match the type {'error',_}. The pattern {'error', {'already_started', 'ssh'}} can never match the type 'ok'. The pattern {'error', _} can never match the type {'open_error',_,string(),string()}.
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: Logging fun and document enhancementIngela Anderton Andin
2013-11-13ssh: Simplify handling of connection attributes (e.i. user and sockname)Ingela Anderton Andin
OTP-11296
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.
2013-10-28ssh: Add ssh:sockname/1 incl doc and testsHans Nilsson
OTP-11345, sto575, tsk374
2013-08-21Merge branch 'lpg/openssh_zlib/OTP-11256' into maintFredrik Gustafsson
* lpg/openssh_zlib/OTP-11256: ssh: added basic connection testcase for openssh zlib Add openssh_zlib compression type to ssh_transport
2013-07-01Merge branch 'maint-r15' into maint-r16Fredrik Gustafsson
Conflicts: lib/inets/doc/src/notes.xml lib/inets/src/inets_app/inets.appup.src lib/inets/vsn.mk lib/ssh/doc/src/notes.xml lib/ssh/src/ssh.appup.src lib/ssh/src/ssh_connection_handler.erl lib/ssh/vsn.mk
2013-06-27ssh: fixed bad match failure when disconnect msgFredrik Gustafsson
2013-06-20Add openssh_zlib compression type to ssh_transportLouis-Philippe Gauthier
http://www.openssh.org/txt/draft-miller-secsh-compression-delayed-00.txt