1741 Commits

Author SHA1 Message Date
Jakob Egger
4383a39d83 libssh2_channel_open: more detailed error message
The error message returned by libssh2_channel_open in case of a server side channel open failure is now more detailed and includes the four standard error conditions in RFC 4254.
2015-05-06 11:28:27 +01:00
Hannes Domani
09c5e59933 kex: fix libgcrypt memory leaks of bignum
Fixes #168.
2015-04-03 17:39:15 +01:00
Marc Hoersken
5a88a86fef configure.ac: check for SecureZeroMemory for clear memory feature 2015-04-03 16:44:53 +02:00
Marc Hoersken
0340d4586e Revert "wincng.c: fix clear memory feature compilation with mingw"
This reverts commit 2d2744efdd0497b72b3e1ff6e732aa4c0037fc43.

Autobuilds show that this did not solve the issue.
And it seems like RtlFillMemory is defined to memset,
which would be optimized out by some compilers.
2015-04-03 15:02:39 +02:00
Marc Hoersken
2d2744efdd wincng.c: fix clear memory feature compilation with mingw 2015-04-03 14:48:34 +02:00
LarsNordin-LNdata
e113202098 Enable use of OpenSSL that doesn't have DSA.
Added #if LIBSSH2_DSA for all DSA functions.
2015-04-01 23:04:16 +01:00
LarsNordin-LNdata
983ceafe58 Use correct no-blowfish #define with OpenSSL.
The OpenSSL define is OPENSSL_NO_BF, not OPENSSL_NO_BLOWFISH.
2015-04-01 23:03:28 +01:00
Marc Hoersken
e160ba448e configure: error if explicitly enabled clear-memory is not supported
This takes 22bd8d81d8fab956085e2079bf8c29872455ce59 and
b8289b625e291bbb785ed4add31f4759241067f3 into account,
but still makes it enabled by default if it is supported
and error out in case it is unsupported and was requested.
2015-03-25 22:42:27 +01:00
Daniel Stenberg
b8289b625e configure: make clear-memory default but only WARN if backend unsupported
... instead of previous ERROR.
2015-03-25 09:57:44 +01:00
Marc Hoersken
5f4c249e42 wincng.h: fix warning about computed return value not being used 2015-03-24 21:46:10 +01:00
Marc Hoersken
6f95c2efd3 nonblocking examples: fix warning about unused tvdiff on Mac OS X 2015-03-24 21:42:10 +01:00
Daniel Stenberg
31a5986c6d openssl: fix compiler warnings 2015-03-24 08:40:43 +01:00
Daniel Stenberg
22bd8d81d8 cofigure: fix --disable-clear-memory check 2015-03-24 08:39:04 +01:00
Marc Hoersken
3d3347c062 scp.c: improved command length calculation
Reduced number of calls to strlen, because shell_quotearg already
returns the length of the resulting string (e.q. quoted path)
which we can add to the existing and known cmd_len.
Removed obsolete call to memset again, because we can put a final
NULL-byte at the end of the string using the calculated length.
2015-03-23 23:17:31 +01:00
Marc Hoersken
2d59b41daa scp.c: improved and streamlined formatting 2015-03-23 23:05:41 +01:00
Marc Hoersken
1e7988cb0d scp.c: fix that scp_recv may transmit not initialised memory 2015-03-23 23:04:24 +01:00
Marc Hoersken
b99204f289 scp.c: fix that scp_send may transmit not initialised memory
Fixes ticket 244. Thanks Torsten.
2015-03-23 22:47:46 +01:00
Marc Hoersken
7ca44fbd94 kex: do not ignore failure of libssh2_sha1_init()
Based upon 43b730ce56f010e9d33573fcb020df49798c1ed8.
Fixes ticket 290. Thanks for the suggestion, mstrsn.
2015-03-23 22:25:50 +01:00
Marc Hoersken
41b1cb6751 wincng.h: fix return code of libssh2_md5_init() 2015-03-23 22:23:41 +01:00
Marc Hoersken
84590bc78f openssl.c: fix possible segfault in case EVP_DigestInit fails 2015-03-23 22:07:39 +01:00
Marc Hoersken
864950cf16 wincng.c: fix possible use of uninitialized variables 2015-03-23 21:36:10 +01:00
Marc Hoersken
09a559433e wincng.c: fix unused argument warning if clear memory is not enabled 2015-03-23 21:33:24 +01:00
Marc Hoersken
57dea4df6d wincng: Added explicit clear memory feature to WinCNG backend
This re-introduces the original feature proposed during
the development of the WinCNG crypto backend. It still needs
to be added to libssh2 itself and probably other backends.

Memory is cleared using the function SecureZeroMemory which is
available on Windows systems, just like the WinCNG backend.
2015-03-22 16:52:35 +01:00
Marc Hoersken
77020c7961 wincng.c: fixed mixed line-endings 2015-03-22 16:52:31 +01:00
Marc Hoersken
e52f35d9f4 wincng.c: fixed use of invalid parameter types in a8d14c5dcf 2015-03-22 16:32:50 +01:00
Marc Hoersken
a8d14c5dcf wincng.c: only try to load keys corresponding to the algorithm 2015-03-22 16:29:53 +01:00
Marc Hoersken
0c90b8bd9b wincng.c: moved PEM headers into definitions 2015-03-22 16:22:15 +01:00
Marc Hoersken
3fc17cd69f wincng.h: fixed invalid parameter name 2015-03-22 15:58:22 +01:00
Marc Hoersken
aa4e649d94 wincng: fixed mismatch with declarations in crypto.h 2015-03-22 15:58:00 +01:00
Marc Hoersken
49ea2be885 userauth.c: fixed warning C6001: using uninitialized sig and sig_len 2015-03-22 15:56:48 +01:00
Marc Hoersken
247dfce5fb pem.c: fixed warning C6269: possible incorrect order of operations 2015-03-22 15:54:14 +01:00
Marc Hoersken
71d45d3df1 wincng: add support for authentication keys to be passed in memory
Based upon 18cfec8336e and daa2dfa2db.
2015-03-22 15:41:51 +01:00
Marc Hoersken
daa2dfa2db pem.c: add _libssh2_pem_parse_memory to parse PEM from memory
Requirement to implement 18cfec8336e for Libgcrypt and WinCNG.
2015-03-22 14:39:14 +01:00
Marc Hoersken
1429ad749d pem.c: fix copy and paste mistake from 55d030089b8 2015-03-22 13:58:09 +01:00
Marc Hoersken
4078da8d81 userauth.c: fix another possible dereference of a null pointer 2015-03-22 13:53:42 +01:00
Marc Hoersken
0930928810 userauth.c: fix possible dereference of a null pointer 2015-03-22 13:51:47 +01:00
Marc Hoersken
55d030089b pem.c: reduce number of calls to strlen in readline 2015-03-22 13:38:22 +01:00
Will Cosgrove
260410edf3 Initialise HMAC_CTX in more places.
Missed a couple more places we init ctx to avoid openssl threading crash.
2015-03-17 00:06:51 +00:00
Alexander Lamaison
1de36eb5b4 Build build breakage in WinCNG backend caused when adding libssh2_userauth_publickey_frommemory.
The new feature isn't implemented for the WinCNG backend currently, but the WinCNG backend didn't contain any implementation of the required backend functions - even ones that returns an error.  That caused link errors.

This change fixes the problem by providing an implementation of the backend functions that returns an error.
2015-03-16 23:39:30 +00:00
Alexander Lamaison
aa7f9a85f7 Fix breakage in WinCNG backend caused by introducing libssh2_hmac_ctx_init.
The macro was defined to nothing for the libgcrypt backend, but not for WinCNG.  This brings the latter into line with the former.
2015-03-16 23:15:33 +00:00
Daniel Stenberg
41d22ccf26 userauth_publickey_frommemory.3: add AVAILABILITY
... it will be added in 1.6.0
2015-03-15 12:04:10 +01:00
Daniel Stenberg
56f7c0e2a4 libssh2: next version will be called 1.6.0
... since we just added a new function.
2015-03-15 12:03:40 +01:00
Daniel Stenberg
1329dc5155 docs: add libssh2_userauth_publickey_frommemory.3 to dist
The function and man page were added in commit 18cfec8336e
2015-03-15 11:48:59 +01:00
Jakob Egger
a1e744bb5e direct_tcpip: Fixed channel write
There were 3 bugs in this loop:
1) Started from beginning after partial writes
2) Aborted when 0 bytes were sent
3) Ignored LIBSSH2_ERROR_EAGAIN

See also:
https://trac.libssh2.org/ticket/281
https://trac.libssh2.org/ticket/293
2015-03-15 11:20:17 +01:00
Will Cosgrove
14d9ee01bc Must init HMAC_CTX before using it.
Must init ctx before using it or openssl will reuse the hmac which is not thread safe and causes a crash.
Added libssh2_hmac_ctx_init macro.
2015-03-15 00:16:46 +00:00
Alexander Lamaison
fed47c34e4 Add continuous integration configurations.
Linux-based CI is done by Travis CI.  Windows-based CI is done by Appveyor.
2015-03-15 00:06:15 +00:00
David Calavera
18cfec8336 Allow authentication keys to be passed in memory.
All credits go to Joe Turpin, I'm just reaplying and cleaning his patch:
http://www.libssh2.org/mail/libssh2-devel-archive-2012-01/0015.shtml

* Use an unimplemented error for extracting keys from memory with libgcrypt.
2015-03-14 23:54:49 +00:00
Daniel Stenberg
74624c8ddf docs: include the renamed INSTALL* files in dist 2015-03-14 17:38:21 +01:00
Alexander Lamaison
bbbdf946a7 Prevent collisions between CMake and Autotools in examples/ and tests/. 2015-03-13 07:47:41 +00:00
Alexander Lamaison
042993b8eb Avoid clash between CMake build and Autotools.
Autotools expects a configuration template file at src/libssh2_config.h.in, which buildconf generates.  But the CMake build system has its CMake-specific version of the file at this path.  This means that, if you don't run buildconf, the Autotools build will fail because it configured the wrong header template.

See https://github.com/libssh2/libssh2/pull/8.
2015-03-13 00:21:04 +00:00