Commit Graph

514 Commits

Author SHA1 Message Date
Aris Adamantiadis
48f0bfc703 security: fix for vulnerability CVE-2014-0017
When accepting a new connection, a forking server based on libssh forks
and the child process handles the request. The RAND_bytes() function of
openssl doesn't reset its state after the fork, but simply adds the
current process id (getpid) to the PRNG state, which is not guaranteed
to be unique.
This can cause several children to end up with same PRNG state which is
a security issue.

Conflicts:
	src/bind.c
2014-03-04 09:54:25 +01:00
Andreas Schneider
bbdef245a1 Update version number to 0.5.5. 2013-02-12 14:30:22 +01:00
Werner Koch
0e833d75e6 Fix regression in pre-connected socket setting.
* src/socket.c (ssh_socket_pollcallback): Factor some code out to ...
(ssh_socket_set_connecting): New.
* include/libssh/socket.h (ssh_socket_set_connecting): Add prototype.
* src/client.c (ssh_connect): Use new function for a socket set by
SSH_OPTIONS_FD.

Signed-off-by: Werner Koch <wk@gnupg.org>
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2012-09-21 09:41:47 +02:00
rofl0r
558b53a856 session: Cleanup timeout functions and fix packets termination.
It is possible that we get unrelated packets while waiting for
termination, thus waiting indefinitely. As a workaround we have to
check the user-supplied timeout.
Also cleaned up ssh_blocking_flush, which was using the timeout in a
bogus manner (resetting the timeout after each check).
2012-01-02 12:42:47 +01:00
Aris Adamantiadis
0dc57fdcf1 Fixes the ssh_log issue on ssh_bind handles.
(cherry picked from commit da954c2c5e)

Conflicts:

	src/keyfiles.c
2011-09-17 22:01:43 +02:00
Andreas Schneider
e27b31c9c4 build: Increase version number. 2011-09-16 21:56:19 +02:00
Aris Adamantiadis
b0b2fd768c SSH1: handle exit-status message (channels would not close) 2011-09-15 11:25:11 +02:00
Aris Adamantiadis
058bb0f4ea SSH1: fix build
(cherry picked from commit 3eece8ac0b)

Conflicts:

	src/channels.c
	src/channels1.c
2011-09-02 23:02:27 +02:00
Aris Adamantiadis
64b125700e channels: replaced bugged lists with ssh_list
(cherry picked from commit 6d8bb956c5)

Conflicts:

	src/channels.c
	src/session.c
2011-09-02 22:59:44 +02:00
Andreas Schneider
39802b31fe build: Set libssh version to 0.5.1. 2011-08-09 14:47:33 +02:00
Aris Adamantiadis
09b0018b93 Introduced ssh_timeout_elapsed functions
Functions to mesure elapsed time before and after a serie of
calls. Introduces a dependancy to clock_gettime() and librt,
hope this doesn't break anything. Porting to gettimeofday() should
not be too hard.
(cherry picked from commit 59f7647cd9)
2011-05-25 21:59:51 +02:00
milo
bb784ec6be [channels] Added ssh_channel_window_size() and avoided reentrancy in channel_write_common()
(cherry picked from commit 7ba0938846)
2011-05-02 17:35:34 +02:00
Aris Adamantiadis
0eddcb4424 Fix the ssh_message_retrieve problem by anihilation 2011-03-23 08:49:34 +01:00
Aris Adamantiadis
b7f6794e03 Implement ssh_blocking_flush()
Based on code from Jan Willamowius
(cherry picked from commit dff4e4e6d3)
2011-03-23 08:49:26 +01:00
Andreas Schneider
cd9fc88151 doc: Improve the doc of ssh_bind_set_callbacks.
(cherry picked from commit 7daa81f3aa)
2011-03-09 18:33:49 +01:00
Andreas Schneider
fbe0f37e1b doc: Improved documentation for server options.
(cherry picked from commit 6754c34711)
2011-03-09 18:33:42 +01:00
Andreas Schneider
ca639ceb63 legacy: Added missing channel_write_stderr. 2011-02-23 12:39:25 +01:00
Andreas Schneider
4170258595 connect: Use ssh_is_ipaddr instead of regex.
(cherry picked from commit 768fbdd92e)
2011-02-12 19:22:01 +01:00
Andreas Schneider
dacfc41d21 misc: Added ssh_is_ipaddr() function.
(cherry picked from commit b313fa944a)
2011-02-12 19:22:01 +01:00
Andreas Schneider
93a2d79459 session: Added ssh_is_connected(). 2011-02-06 10:50:14 +01:00
Andreas Schneider
5c581f8a4c libsshpp: Removed unused variable. 2011-01-24 15:25:50 +01:00
Andreas Schneider
50a119dd0a misc: Added multiplatform ssh_getpass() fuction. 2011-01-24 13:55:05 +01:00
Aris Adamantiadis
6b52aaff1c ssh_auth_password made nonblocking 2011-01-16 23:42:19 +01:00
Aris Adamantiadis
227764a803 Made ssh_userauth_none nonblocking 2011-01-16 23:42:19 +01:00
Aris Adamantiadis
b945cbca52 Fix double-connect testcase 2011-01-15 22:43:58 +01:00
Aris Adamantiadis
5b6f048197 Use termination functions for event polling 2011-01-12 23:04:43 +01:00
Aris Adamantiadis
9140242cbe Non-blocking mode for ssh_connect
This looks ugly. I'll see if we need to revert or change that patch later.
2011-01-10 18:01:35 +01:00
Aris Adamantiadis
bcea8921ba Change blocking parameter to a flag 2011-01-10 17:39:47 +01:00
Aris Adamantiadis
e57d5a45b9 Fix the missing returns in C++ wrapper 2011-01-05 21:14:27 +01:00
Andreas Schneider
2b6fa19fe5 cmake: Fixed msvc posix warnings and unsecure functions. 2011-01-02 19:35:53 +01:00
Andreas Schneider
f46bf41813 libssh: Don't use the visibility flag on OS/2. 2010-12-31 14:35:06 +01:00
Andreas Schneider
ef91ac4ea0 socket: Fixed ssh_socket_fd_set prototype. 2010-12-30 00:30:44 +01:00
Aris Adamantiadis
4fa2e4dde1 Added compression options and allow "yes/no" setting
SSH_OPTION_COMPRESSION and SSH_OPTION_COMPRESSION_LEVEL options have been added. Now, end-level apps may simply choose to enable compression without knowing the relevant algorithms behind it.
2010-12-27 23:28:39 +01:00
Andreas Schneider
33c41074a7 libsshpp: Fixed return of non-void function. 2010-12-23 08:54:39 +01:00
Andreas Schneider
57d752a1c3 include: Only require LIBSSH_STATIC on Windows. 2010-12-10 20:02:15 +01:00
Andreas Schneider
038c764055 server: Remove channel_write_stderr. 2010-12-08 10:52:15 +01:00
Andreas Schneider
3ea33f9ab6 doc: Some small fixes in server.h. 2010-12-07 21:43:26 +01:00
Andreas Schneider
2a6cbed121 doc: Define a doc group for the callbacks. 2010-12-07 21:25:53 +01:00
Aris Adamantiadis
f58441f474 Moved declarations from auth.h to various headers 2010-10-30 22:38:09 +02:00
Aris Adamantiadis
0e82cdeadc Moved includes from priv.h to bind.h 2010-10-27 23:06:38 +02:00
Aris Adamantiadis
8e2699e161 start of work to have callbackbased ssh_bind 2010-10-19 23:51:32 +02:00
Aris Adamantiadis
3253ece2a2 Oops, libssh.h did not compile anymore 2010-10-15 16:43:38 +02:00
Aris Adamantiadis
4b462449cf Fix OPTIONS_BINDADDR, PROXYCOMMAND constant change 2010-10-14 11:53:30 +02:00
Aris Adamantiadis
4f8907a524 Removed the global poll ctx in fav. of /session ctx 2010-10-12 17:57:15 +02:00
Aris Adamantiadis
0bc032726d Fix prepend bug 2010-10-03 13:01:21 +02:00
Aris Adamantiadis
a9ec8b055f Fix warnings on testcases 2010-10-02 23:27:26 +02:00
milo
524302ca7e Added ssh_channel_write_stderr() for the server 2010-10-02 22:52:06 +02:00
milo
2617024136 Added channel features on the server
- ssh_channel_request_send_exit_status()
- ssh_channel_request_send_exit_signal()

- enhanced these features client-side
2010-10-02 22:51:49 +02:00
milo
26d40b5354 Handle global requests and reverse forwarding 2010-10-02 22:51:35 +02:00
milo
c4356531f7 Add new callbacks in session and channels 2010-10-02 22:51:14 +02:00