792 строки
29 KiB
Plaintext
792 строки
29 KiB
Plaintext
This release includes the following changes:
|
||
|
||
o Added libssh2_free(). By Simon Josefsson.
|
||
o Added libssh2_channel_get_exit_signal(). By Tommy Lindgren.
|
||
|
||
libssh2 1.2.7 (August 17, 2010)
|
||
|
||
This release includes the following changes:
|
||
|
||
o Added Watcom makefile
|
||
|
||
This release includes the following bugfixes:
|
||
|
||
o Better handling of invalid key files
|
||
o inputchecks: make lots of API functions check for NULL pointers
|
||
o libssh2_session_callback_set: extended the man page
|
||
o SFTP: limit write() to not produce overly large packets
|
||
o agent: make libssh2_agent_userauth() work blocking properly
|
||
o _libssh2_userauth_publickey: reject method names longer than the data
|
||
o channel_free: ignore problems with channel_close()
|
||
o typedef: make ssize_t get typedef without LIBSSH2_WIN32
|
||
o _libssh2_wait_socket: poll needs milliseconds
|
||
o libssh2_wait_socket: reset error code to "leak" EAGAIN less
|
||
o Added include for sys/select.h to get fd.set on some platforms
|
||
o session_free: free more data to avoid memory leaks
|
||
o openssl: make use of the EVP interface
|
||
o Fix underscore typo for 64-bit printf format specifiers on Windows
|
||
o Make libssh2_debug() create a correctly terminated string
|
||
o userauth_hostbased_fromfile: packet length too short
|
||
o handshake: Compression enabled at the wrong time
|
||
o Don't overflow MD5 server hostkey
|
||
|
||
libssh2 1.2.6 (June 10, 2010)
|
||
|
||
This release includes the following changes:
|
||
|
||
o Added libssh2_sftp_statvfs() and libssh2_sftp_fstatvfs()
|
||
o Added libssh2_knownhost_checkp()
|
||
o Added libssh2_scp_send64()
|
||
|
||
This release includes the following bugfixes:
|
||
|
||
o wait_socket: make c89 compliant and use two fd_sets for select()
|
||
o OpenSSL AES-128-CTR detection
|
||
o proper keyboard-interactive user dialog in the sftp.c example
|
||
o build procedure for VMS
|
||
o fixed libssh2.dsw to use the generated libssh2.dsp
|
||
o several Windows-related build fixes
|
||
o fail to init SFTP if session isn't already authenticated
|
||
o many tiny fixes that address clang-analyzer warnings
|
||
o sftp_open: deal with short channel_write calls
|
||
o libssh2_publickey_init: fixed to work better non-blocking
|
||
o sftp_close_handle: add precation to not access NULL pointer
|
||
o sftp_readdir: simplified and bugfixed
|
||
o channel_write: if data has been sent, don't return EAGAIN
|
||
|
||
Version 1.2.5 (April 13, 2010)
|
||
|
||
This release includes the following changes:
|
||
|
||
o Added Add keep-alive support: libssh2_keepalive_config() and
|
||
libssh2_keepalive_send()
|
||
o Added libssh2_knownhost_addc(), libssh2_init() and libssh2_exit()
|
||
o Added LIBSSH2_SFTP_S_IS***() macros
|
||
|
||
This release includes the following bugfixes:
|
||
|
||
o fix memory leak in libssh2_session_startup()
|
||
o added missing error codes - shown as hangs in blocking mode
|
||
o fix memory leak in userauth_keyboard_interactive()
|
||
o libssh2_knownhost_del: fix write to freed memory
|
||
o Send and receive channel EOF before sending SSH_MSG_CHANNEL_CLOSE
|
||
o Use AES-CTR from OpenSSL when available
|
||
o Fixed gettimeofday to compile with Visual C++ 6
|
||
o NULL dereference when window adjusting a non-existing channel
|
||
o avoid using poll on interix and mac os x systems
|
||
o fix scp memory leak
|
||
o Correctly clear blocking flag after sending multipart packet
|
||
o Reduce used window sizes by factor 10
|
||
o libssh2_userauth_publickey_fromfile_ex() handles a NULL password
|
||
o sftp_init() deal with _libssh2_channel_write() short returns
|
||
|
||
o Use poll instead of select when available. By Paul Querna.
|
||
|
||
o Add APIs to have libssh2 automatically send keep-alive requests.
|
||
The APIs are libssh2_keepalive_config, and libssh2_keepalive_send.
|
||
By Simon Josefsson.
|
||
|
||
o Add global init/exit points, to do crypto initialization in one place.
|
||
The APIs are libssh2_init and libssh2_exit. By Lars Nordin.
|
||
|
||
* (February 15 2010) Daniel Stenberg:
|
||
- Added 46 new man pages for public convenience macros. The man pages are
|
||
just short redirects to the actual underlying function. The were all
|
||
initially created by a script.
|
||
|
||
- Committed the patch by Yoichi Iwaki in bug #2929647, which fixed a memory
|
||
leak when an 'outbuf' was still allocated when a session was freed.
|
||
|
||
Version 1.2.4 (February 13, 2010)
|
||
|
||
o Resolve compile issues on Solaris x64 and UltraSPARC
|
||
o Allow compiling with OpenSSL when AES isn't available
|
||
o Fix Tru64 socklen_t compile issue with example/direct_tcpip.c
|
||
|
||
Version 1.2.3 (February 3, 2010)
|
||
|
||
o Added libssh2_trace_sethandler()
|
||
o Added the direct_tcpip.c example
|
||
o Fixed memory leak in userauth_publickey
|
||
o Added support for authentication via SSH-Agent. By Daiki Ueno.
|
||
|
||
o Respond to unknown SSH_MSG_GLOBAL_REQUEST/SSH_MSG_CHANNEL_REQUEST
|
||
with SSH_MSG_REQUEST_FAILURE/SSH_MSG_CHANNEL_FAILURE in order to
|
||
make (at least) OpenSSH server keepalive work. Before OpenSSH
|
||
servers (configured with a positive ClientAliveInterval) would
|
||
terminate connections against libssh2 clients because libssh2 did
|
||
not respond properly to the request. By Simon Josefsson.
|
||
|
||
Version 1.2.2 (November 16, 2009)
|
||
|
||
* This release includes the following changes:
|
||
|
||
o Fix crash when server sends an invalid SSH_MSG_IGNORE message.
|
||
Reported by Bob Alexander <balexander@expressor-software.com> in
|
||
<http://thread.gmane.org/gmane.network.ssh.libssh2.devel/2530>.
|
||
By Simon Josefsson.
|
||
|
||
o Support for the "aes128-ctr", "aes192-ctr", "aes256-ctr" ciphers
|
||
as per RFC 4344 for libgcrypt and OpenSSL. They are now the
|
||
preferred ciphers. By Simon Josefsson.
|
||
|
||
o Support for the "arcfour128" cipher as per RFC 4345 for libgcrypt
|
||
and OpenSSL. It is preferred over the normal "arcfour" cipher
|
||
which is somewhat broken. By Simon Josefsson.
|
||
|
||
o Add support for GCC visibility features. By Cristian Rodr<64>guez.
|
||
|
||
o Fix libssh2_channel_forward_accept. By Juzna.
|
||
|
||
o Generate Win32 files correctly. By Peter Stuge.
|
||
|
||
o Fix permission issue in ssh2 self test. By Dan Fandrich.
|
||
|
||
o Use memmove instead of memcpy in one place which copies
|
||
overlapping memory areas.
|
||
|
||
o Cleanup hard coding of cipher modes in libgcrypt backend. By Simon.
|
||
|
||
o Added man page for libssh2_knownhost_free. By Daniel.
|
||
|
||
Version 1.2.1 (September 28, 2009)
|
||
|
||
* This release includes the following changes:
|
||
|
||
o generate and install libssh2.pc
|
||
|
||
... and the following bugfixes:
|
||
|
||
o proper return codes returned from several functions
|
||
o return EAGAIN internal cleanup
|
||
o added knownhost.c to windows makefiles
|
||
o pass private-key to OpenSSL as a filename with BIO_new_file().
|
||
o make libssh2_scp_send/recv do blocking mode correctly
|
||
o libssh2_channel_wait_closed() could hang
|
||
o libssh2_channel_read_ex() must return 0 when closed
|
||
o added gettimeofday() function for win32 for the debug trace outputs
|
||
o transport layer bug causing invalid -39 (LIBSSH2_ERROR_BAD_USE) errors
|
||
o scp examples now loop correctly over libssh2_channel_write()
|
||
|
||
* (August 29 2009) Daniel Stenberg:
|
||
|
||
- I fixed all code to use the recently added dedicated linked list functions
|
||
instead of doing the same stuff spread out all over.
|
||
|
||
- I also fixed a few cases where local variables where used to keep memory
|
||
but was used to keep state for re-invokes due to non-blocking situations
|
||
which would lead to segfaults.
|
||
|
||
Version 1.2 (August 10, 2009)
|
||
-----------------------------
|
||
|
||
* (August 02 2009) Alexander Lamaison:
|
||
|
||
- changed _libssh2_rsa_new_private and _libssh2_rsa_new_private so that they
|
||
no longer use the OpenSSL functions that take a FILE* argument. Passing
|
||
CRT-created objects across a DLL boundary causes crashes on Windows of the
|
||
DLL and the client aren't linked to the exact same verison of the CRT. Now
|
||
we pass the keys as strings to avoid this issue.
|
||
|
||
* (May 29 2009) Daniel Stenberg:
|
||
|
||
- Updated the knownhost API and there are now 9 functions, and all of them
|
||
have man pages. The libssh2.h now defines HAVE_LIBSSH2_KNOWNHOST_API to
|
||
ease things for applications to check for the correct release before trying
|
||
to use it.
|
||
|
||
* (May 23 2009) Daniel Stenberg:
|
||
|
||
- Anonymous bug report #2795816 revealed that doing subsequent
|
||
libssh2_sftp_init() calls on the same session failed.
|
||
|
||
* (May 20 2009) Daniel Stenberg:
|
||
|
||
- made libssh2_sftp_write() properly deal with huge/any sized input buffers.
|
||
|
||
- fixed libssh2_channel_write_ex() to return the correct return code, and
|
||
deal with sending off huge buffers better
|
||
|
||
* (May 7 2009) Daniel Stenberg:
|
||
|
||
- linked list code. I got a bit tired of the fact that we don't have any
|
||
generic linked-list functions within libssh2 so I wrote up the first embryo
|
||
for one that I use for this new functionality. The plan would then be to
|
||
move all existing code that uses linked lists to use this new set.
|
||
|
||
- base64 encode. I had to add a base64 encoding function which was missing
|
||
in the code base so it helps to "bloat" my patch.
|
||
|
||
- The knownhost API is currently:
|
||
|
||
_init() - init a bundle of known hosts
|
||
_add() - add a known host
|
||
_del() - delete a known host
|
||
_free() - free an entire bundle of known hosts
|
||
_check() - check if a host+key is present in the bundle
|
||
|
||
The convenience function:
|
||
|
||
_parsefile() - reads a ~/.ssh/known_hosts file and add all entries to the
|
||
given bundle
|
||
|
||
- there's no docs other than some comments in the code/headers yet
|
||
|
||
- the patch includes changes to example/simple/ssh2_exec.c that makes use of
|
||
a few of these functions. Using that I've verified that the functions in
|
||
fact can verify my localhost's key agains my ~/.ssh/known_hosts file
|
||
|
||
* (Apr 30 2009) Daniel Stenberg:
|
||
|
||
Markus posted a bug report about a bad 0-return from libssh2_channel_read:
|
||
http://libssh2.haxx.se/mail/libssh2-devel-archive-2009-04/0076.shtml
|
||
|
||
And it was indeed a bad loop that terminated too early due to a receveived
|
||
close packet.
|
||
|
||
* (Apr 14 2009) Daniel Stenberg:
|
||
|
||
libssh2_poll() and libssh2_poll_channel_read() are now considered and
|
||
documented deprecated and they will be removed at next soname bump. It also
|
||
saves us from fixing some rather quirky bugs in libssh2_poll()...
|
||
|
||
|
||
Version 1.1 (April 2, 2009)
|
||
---------------------------
|
||
|
||
- (Mar 28 2009) Daniel Stenberg:
|
||
|
||
Jean-Louis Charton found a memory leak in
|
||
libssh2_userauth_hostbased_fromfile_ex()
|
||
|
||
- (Mar 25 2009) Daniel Stenberg:
|
||
|
||
* Renamed the functions in src/transport.c to be _libssh2_transport_ prefixed
|
||
and introduced a transport.h header.
|
||
|
||
* Fixed the blocking mode to only change behavior not the actual underlying
|
||
socket mode so we now always work with non-blocking sockets. This also
|
||
introduces a new rule of thumb in libssh2 code: we don't call the
|
||
external function calls internally. We use the internal (non-blocking)
|
||
ones!
|
||
|
||
* libssh2_channel_receive_window_adjust2 was added and
|
||
libssh2_channel_receive_window_adjust is now deprecated
|
||
|
||
* Introduced "local" header files with prototypes etc for different parts
|
||
instead of cramming everything into libssh2_priv.h. channel.h is the
|
||
first.
|
||
|
||
- (Mar 19 2009) Daniel Stenberg: based on a patch by "E L" we now use errno
|
||
properly after recv() and send() calls (that internally are now known as
|
||
_libssh2_recv() and _libssh2_send()) so that the API and more works fine on
|
||
windows too!
|
||
|
||
- (Mar 17 2009) Simon Josefsson:
|
||
|
||
Added a Libtool -export-symbols-regex flag to reduce the number of
|
||
exported symbols in shared libraries. Reported by Mikhail Gusarov.
|
||
|
||
- (Mar 16 2009) Daniel Stenberg:
|
||
|
||
I renamed a few man pages to match the exact name of the functions they
|
||
describe. I also added template versions for the 13 functions that
|
||
previously lacked man pages. While these don't contain any docs just yet, it
|
||
will now be easier to add the info as the foundation is there!
|
||
|
||
- (Mar 15 2009) Daniel Stenberg:
|
||
|
||
* libssh2_channel_read_ex() was simplified and enhanced. It now adjusts the
|
||
window less frequent and uses much larger window that now allows MUCH
|
||
faster transfers.
|
||
|
||
* SCP send/recv now allow file names with whitespaces etc, thanks to a patch
|
||
by Heiner Steven
|
||
|
||
- (Mar 13 2009) Daniel Stenberg: Cleanups, that do seem to have boosted SFTP
|
||
download performance up to 300% in some tests:
|
||
|
||
* cut off "_ex" from several internal function names
|
||
|
||
* corrected some log outputs
|
||
|
||
* simplified libssh2_channel_read_ex() and made it much faster in the process
|
||
|
||
* cut out {{{ and }}} comments that were incorrect anyway
|
||
|
||
* fixed sftp_packet_ask() to return the correct packet by using memcmp() and
|
||
not strncmp()
|
||
|
||
* fixed mkdir()'s wait for packet to use the correct request_id - it
|
||
semi-worked previously because strncmp() in sftp_packet_ask() made it
|
||
match far too easily.
|
||
|
||
* took away the polling functionality from sftp_packet_ask() since it wasn't
|
||
used
|
||
|
||
- (Mar 7 2009) Olivier Hervieu pointed out a flaw in the
|
||
libssh2_channel_x11_req_ex() function that made it produce a crappy random
|
||
chunk of data. Peter Stuge improved the fix to not do out-of-boundary
|
||
writes. I (Daniel Stenberg) replaced the snprintf() with a plain sprintf()
|
||
since the size argument wasn't adding anything anyway.
|
||
|
||
- (Feb 23 2009) Added libssh2_version()
|
||
|
||
- (Feb 20 2009) libssh2_channel_direct_tcpip_ex() bug #1902169 fixed, which
|
||
caused it to fail when called a second time.
|
||
|
||
- (Feb 12 2009) Romain Bondue extended Markus Moeller fix from Feb 8, based on
|
||
a previous (uncommitted) patch by Erik Brossler. It improves
|
||
libssh2_channel_write_ex in blocking situations when the socket is set non-
|
||
blocking.
|
||
|
||
- (Feb 8 2009) Markus Moeller fixed a flaw in libssh2_channel_write_ex() that
|
||
would occur on EAGAIN situations.
|
||
|
||
Version 1.0 (December 26 2008)
|
||
------------------------------
|
||
|
||
- (Dec 20 2008) Based on Alexander Lamaison's patch, there's now a new
|
||
function called libssh2_sftp_tell64() that returns the 64 bit file offset,
|
||
as the existing libssh2_sftp_tell() only returns a size_t.
|
||
|
||
- (Dec 18 2008) Markus Moeller fixed the issue also reported by Alexander
|
||
Lamaison which caused SFTP reads with large buffers to fail.
|
||
|
||
- Several flaws were fixed that prevented at least SFTP to work reliably
|
||
|
||
- Vlad Grachov brought the new function called
|
||
libssh2_session_block_directions() which returns a bitmask for what
|
||
directions the connection blocks. It is to be used applications that use
|
||
non-blocking sockets and when a libssh2 function returns
|
||
LIBSSH2_ERROR_EAGAIN this function can be used to figure out in which
|
||
direction the socket would block and thus it can wait for the socket to
|
||
again be ready for communication in that direction before it calls libssh2
|
||
again.
|
||
|
||
- Vincent Jaulin brought the new libssh2_channel_request_pty_size_ex()
|
||
function.
|
||
|
||
- Carlo Bramini fixed the build for msys+mingw. Bug #1943976.
|
||
|
||
- Neil Gierman provided improved Visual Studio 2008 code in bug #1946268
|
||
|
||
- Bug #1862727 fixed libssh2_poll() to work on windows (by defining
|
||
HAVE_SELECT).
|
||
|
||
- Based on bug #1815692, we introduce libssh2_sftp_seek64() that allows
|
||
seeking beyond the 2GB margin even on 32bit machines.
|
||
|
||
- Based on a patch in bug #1878059 by Steven Ayre libssh2 now parses >2GB file
|
||
sizes when downloading SCP files.
|
||
|
||
- Bug #2064371 pointed out that the SSH2 banner may not use dash
|
||
('-'). Reported by Bjorn Stenborg.
|
||
|
||
- Sean Peterson fixed a key re-exchange bug:
|
||
http://daniel.haxx.se/projects/libssh2/mail/libssh2-devel-archive-2008-06/0002.shtml
|
||
|
||
- Mike Protts filed the bug report #1908724 that identified and fixed a problem
|
||
with SFTP stat on files >4GB in size. Previously it used 32bit math only.
|
||
|
||
- Removed a stderr debug message that was accidentally left in (bug #1863153)
|
||
|
||
- OpenSSL and libz detection changed to make cross-compiling to Mingw
|
||
work. See README for parameters to use if the auto-detection does
|
||
not work for you. From Simon Josefsson.
|
||
|
||
- Simon Josefsson added a self-test that uses libssh2 to connect to a
|
||
local sshd (only enabled if if OpenSSH is installed).
|
||
|
||
Version 0.18 (November 11 2007)
|
||
-------------------------------
|
||
|
||
- Various changes that improve non-blocking operations and prevent stalls.
|
||
Especially noticable on Windows since libssh2 just didn't work properly
|
||
non-blocking on Windows before.
|
||
|
||
- Peter O'Gorman reported how a SCP transfer would hang for him, and it was
|
||
fairly easy reproducable. One bug was in the transport layer, ignoring to
|
||
read more data while there was data left even though it couldn't decrypt the
|
||
data that was left due to it being too little... The other bug was in the
|
||
channel layer, where the libssh2_channel_receive_window_adjust() function
|
||
missed to set the state variables at times and thus this function would
|
||
misbehave on repeated invokes.
|
||
|
||
- Changed the signature of libssh2_channel_setenv_ex to add const to the
|
||
"varname" parameter (Dan Fandrich)
|
||
|
||
- Satish Mittal and David J Sullivan fixed an infinit recv() loop in
|
||
libssh2_banner_receive()
|
||
|
||
Version 0.17 (August 6 2007)
|
||
----------------------------
|
||
Changes since previous version include:
|
||
|
||
o Re-indented the source code with this GNU indent setup:
|
||
|
||
--braces-on-if-line
|
||
--braces-after-struct-decl-line
|
||
--space-after-cast
|
||
--line-length 79
|
||
--comment-line-length 79
|
||
--cuddle-else
|
||
--no-tabs
|
||
--tab-size 8
|
||
--indent-level 4
|
||
--no-space-after-for
|
||
--space-after-if
|
||
--space-after-while
|
||
--no-space-after-function-call-names
|
||
|
||
Version 0.16 (August 6 2007)
|
||
----------------------------
|
||
Changes since previous version include:
|
||
|
||
o CRLF stripping fix for PEM reading
|
||
o libssh2_scp_recv() error message fix
|
||
o added HACKING as an initial attempt to describe our source code format
|
||
o new public defines in include/libssh2.h to allow applictions to figure out
|
||
version number etc
|
||
o new script (maketgz) to build releases with
|
||
o updated files for building with MSVC and mingw
|
||
o keyboard-interactive would always fail due to claimed memory problem
|
||
o a few minor memory leaks fixed
|
||
o libssh2_poll() no longer relies on C99 features
|
||
o AIX 4 and 5 now supports non-blocking sockets
|
||
o large file magic checks in configure
|
||
o LIBSSH2_APINO was removed from the public header file
|
||
|
||
This release would not have been possible without these friendly contributors:
|
||
|
||
James Housley, Simon Josefsson, Dan Fandrich, Guenter Knauf and I too did
|
||
some poking. (Sorry if I forgot anyone I should've mentioned here.)
|
||
|
||
Of course we would have nothing without the great work by Sara Golemon that
|
||
we're extending and building upon.
|
||
|
||
Version 0.15 (June 15 2007)
|
||
---------------------------
|
||
Added libssh2_sftp_readdir_ex() and updated LIBSSH2_APINO to
|
||
200706151200 (James Housley)
|
||
|
||
Converted all of the libssh2 code to be able to work in non-blocking
|
||
mode. This included some public API changes, listed below (James Housley)
|
||
Changed function return values:
|
||
int libssh2_session_free()
|
||
int libssh2_publickey_shutdown()
|
||
ssize_t libssh2_channel_read_ex()
|
||
ssize_t libssh2_channel_write_ex()
|
||
|
||
Added functions:
|
||
libssh2_session_last_errno(), libssh2_channel_handle_extended_data2(),
|
||
libssh2_channel_wait_closed(), libssh2_channel_wait_eof(),
|
||
libssh2_session_set_blocking()
|
||
|
||
Removed functions:
|
||
libssh2_channel_readnb_ex(), libssh2_channel_writenb_ex(),
|
||
libssh2_sftp_readnb(), libssh2_sftp_writenb(),
|
||
libssh2_sftp_mkdirnb_ex()
|
||
|
||
Added the following functions for non-blocking operations: (Daniel Stenberg)
|
||
libssh2_channel_readnb_ex()
|
||
libssh2_channel_writenb_ex()
|
||
libssh2_sftp_readnb()
|
||
libssh2_sftp_writenb()
|
||
|
||
Size parameter changed from 'int' to 'unsigned int' in several
|
||
public APIs.
|
||
|
||
Added (a few) man pages in docs/. (Daniel Stenberg)
|
||
|
||
Maximum SSH packet size is now some 35000 bytes.
|
||
|
||
Private include files are now in src/ and only public headers are in
|
||
include/. (Daniel Stenberg)
|
||
|
||
Automake and libtool are being used (increased portability). (Daniel
|
||
Stenberg)
|
||
|
||
Fixed OpenSSL detection using pkg-config. (Daniel Stenberg)
|
||
|
||
Simple self test added to tests/. (Simon Josefsson)
|
||
|
||
Libgcrypt can now be used instead of OpenSSL if you specify
|
||
--with-libgcrypt. (Simon Josefsson)
|
||
|
||
Fixed a memory leak in the packet handling, and better handle out of
|
||
memory situations. (Dan Fandrich)
|
||
|
||
Made libssh2 build with OpenSSL 0.9.6. (Dan Fandrich)
|
||
|
||
Improved portability to Solaris related to -lsocket and
|
||
-lnsl. (Simon Josefsson)
|
||
|
||
Clean up of README, INSTALL, NEWS, added ChangeLog. (Simon
|
||
Josefsson)
|
||
|
||
Improve debugging code. Avoids many #ifdef's.
|
||
|
||
Improved session closing to avoid potentially truncated files on
|
||
OpenSSH servers (Dan Fandrich)
|
||
|
||
Made some function parameters in the API const (Dan Fandrich)
|
||
|
||
Version 0.14
|
||
------------
|
||
|
||
Plug leaks in EVP cipher init/shutdown. (Selcuk Gueney)
|
||
|
||
Allow socket_fd == 0 in libssh2_session_startup(). (puudeli)
|
||
|
||
Swap ordering of packet_add/packet-inspection to avoid inspect after
|
||
free. (Selcuk)
|
||
|
||
Swap KEX_INIT ordering, send our KEX_INIT first.
|
||
|
||
Add check for oportunistic KEX_INIT packets. Burn bad guess if necessary.
|
||
|
||
Fix OpenSSL detection using pkg-config. (Dan Casey)
|
||
|
||
Version 0.13
|
||
------------
|
||
|
||
Fixed channel not being marked closed when CHANNEL_CLOSE package cannot be
|
||
sent. (David Robins)
|
||
|
||
Fixed payload packet allocation bug when invalid packet length
|
||
received. (David Robins)
|
||
|
||
Fixed `make install' target for MacOSX.
|
||
|
||
Add terminating NULL character to readlink()/realpath() results.
|
||
|
||
BugFix#1436593: Apply build options for HPUX targets.
|
||
|
||
Version 0.12
|
||
------------
|
||
|
||
Added support for publickey subsytem (not the same as publickey auth).
|
||
|
||
Fix x11_req. Multiple packet_len issues and error handling logic.
|
||
(Thanks Simon Hart)
|
||
|
||
Fix generation of 'e' portion of Diffie-Hellman keyset.
|
||
|
||
Use appropriate order for BN_rand() rather than fixed group1-specific value.
|
||
|
||
Re-fixed libssh2_sftp_rename_ex()
|
||
|
||
Transport had right packet_len, but sftp layer still had extra 4 bytes.
|
||
|
||
Fixed build with newer OpenSSL headers.
|
||
|
||
Added extern "C" declarations to libssh2_sftp.h for C++ compatability.
|
||
|
||
Version 0.11
|
||
------------
|
||
|
||
Added libssh2_chnnale_get_exit_status() -- Mikhail
|
||
|
||
Added libssh2_channel_wait_closed() -- Mikhail
|
||
|
||
Added libssh2_userauth_keyboard_interactive_ex() -- Mikhail
|
||
|
||
Added libssh2_channel_receive_window_adjust() to be able to increase the
|
||
size of the receive window.
|
||
|
||
Added queueing for small window_adjust packets to avoid unnecessary packet
|
||
conversation.
|
||
|
||
Fixed libssh2_sftp_rename_ex() to only send flags parameter if version >= 5
|
||
negotiated (not currently possible, but will be and might as well keep the
|
||
API consistent).
|
||
|
||
Version 0.10
|
||
------------
|
||
|
||
Added developer debugging hooks. See --enable-debug-* options to ./configure
|
||
|
||
Ignore extended data in the SFTP layer. With no other mechanism to deal
|
||
with that data it'd just fill up and get stuck.
|
||
|
||
(Re)Fixed channel_write() to provide an opportunity for window space to
|
||
become available again.
|
||
|
||
(Re)Fixed SFTP INIT to send the correct SFTP packet length.
|
||
|
||
Fixed segfault when client and host can't agree on a hostkey/crypt/mac/comp
|
||
method. (Thanks puudeli)
|
||
|
||
Fixed major issue with sftp packet buffering mechanism. Using wrong
|
||
blocking semantics. (No puudeli, YOU the man)
|
||
|
||
Reduced busy-looping of libssh2_sftp_packet_requirev.
|
||
|
||
Version 0.9
|
||
-----------
|
||
|
||
Changed blocking_read to only block as much as necessary and not an
|
||
arbitrary length of time. (Thanks Felix)
|
||
|
||
Fixed SFTP INIT/VERSION to exclude request_id and send correct maximum
|
||
version number.
|
||
|
||
Fixed SFTP to be properly BC with version 1 and 2 servers.
|
||
|
||
Fixed libssh2_poll() to recognized closed sessions/channels.
|
||
|
||
Fixed libssh2_channel_write_ex() to fully block when set to blocking mode.
|
||
Return actual bytes written as well. (Thanks deadem)
|
||
|
||
Added tests for -lm and -lsocket and add them when necessary.
|
||
|
||
Added libssh2_channel_window_read_ex() and libssh2_channel_window_write_ex()
|
||
for examining the ssh transport windowing states.
|
||
|
||
Version 0.8
|
||
-----------
|
||
|
||
Fix potential segfault in compression/decompression.
|
||
|
||
Fix compatability with older versions of OpenSSL
|
||
|
||
Swapped order of none,zlib compression modes to prefer no compression by
|
||
default.
|
||
|
||
Added sys/uio.h for platforms (FBSD) which need it in order to define struct
|
||
iovec.
|
||
|
||
Added libssh2_poll() to check status of sockets/channels/listeners.
|
||
|
||
Removed unnecessary inclusion of stdio.h (holdover from debugging)
|
||
|
||
Version 0.7
|
||
-----------
|
||
|
||
Added libssh2_userauth_hostbased_fromfile_ex() for authenticating from hostkey.
|
||
|
||
Added configure recognition for MacOSX (Darwin) (Thanks Gabe)
|
||
|
||
Fixed extended data identification in libssh2_channel_read().
|
||
|
||
Fixed window adjust code. Hadn't acknowledged adjustments correctly.
|
||
|
||
Removed initial_window_size requirement for sending window adjust packet.
|
||
|
||
|
||
Version 0.6
|
||
-----------
|
||
|
||
Added LIBSSH2_FLAG_SIGPIPE to enable/disable SIGPIPE generated by
|
||
send()/recv() calls. Default off.
|
||
|
||
Added libssh2_session_flag() to set optional session flags.
|
||
|
||
Collapsed exchanging_keys/newkeys/authenticated flags into single state
|
||
attribute.
|
||
|
||
Fix zlib compression issue when internal buffer state misses partial sync.
|
||
|
||
Fix segfault when libssh2_session_methods() is called prior to
|
||
session_startup().
|
||
|
||
Fixed client to server channel windowing. Pervent send queue overruns.
|
||
|
||
Swapped banner send/receive order (send first, then wait for response).
|
||
|
||
Version 0.5
|
||
-----------
|
||
|
||
*** BC Break ***
|
||
Reimplemented libssh2_session_methods() to match
|
||
libssh2_session_method_pref() style
|
||
|
||
Fixed libssh2_attr2bin() (effects any setstat style call).
|
||
|
||
Fixed authenticating with encrypted private key.
|
||
|
||
Fixed authenticating via ssh-dss public key.
|
||
|
||
Fixed KEX_INIT cookie and packet padding to use actual random data
|
||
|
||
Added DESTDIR support to makefiles (Adam Go<47><6F>biowski -- I hope that
|
||
character set translates right)
|
||
|
||
Added libssh2_channel_forward_listen_ex(), libssh2_channel_forward_cancel(),
|
||
and libssh2_channel_forward_accept().
|
||
|
||
Added ./configure option '--disable-gex-new' to allow using the older
|
||
group-exchange format
|
||
|
||
Added MAC methods hmac-md5 and hmac-md5-96.
|
||
|
||
Version 0.4
|
||
-----------
|
||
|
||
Fixed crash when trying to free sftp_dirhandle data from a filehandle struct.
|
||
|
||
Fixed leak in sftp_open_ex(), handle->handle not freed in handle_close().
|
||
|
||
Fixed leak in sftp_symlink_ex(), result for READLINK and REALPATH not freed unless there was an error.
|
||
|
||
Added libssh2_banner_set(), specify an arbitrary banner to send on introduction.
|
||
|
||
Version 0.3
|
||
-----------
|
||
|
||
Fixed libssh2_channel_read_ex(). Packet loop initialized BEFORE transport polled for new packets (should have been after).
|
||
|
||
Fixed blocking issues in scp_send()/scp_recv().
|
||
|
||
Fixed degree of indirection in macerror callback.
|
||
|
||
Changed packet read mechanism to use a fixed buffer and avoid unnecessary alloc/free calls. (especially while non-block looping)
|
||
|
||
Added channel close callback.
|
||
|
||
Added SFTP support (Using its own header file: libssh2_sftp.h)
|
||
|
||
Version 0.2
|
||
-----------
|
||
|
||
Changed extended data ignorance mechanism:
|
||
libssh2_channel_ignore_extended_data() changed to libssh2_channel_handle_extended_data()
|
||
Macro introduced for backward compatability during beta phase.
|
||
*** THE LIBSSH2_CHANNEL_IGNORE_EXTENDED_DATA() MACRO WILL BE REMOVED PRIOR TO 1.0 RELEASE ***
|
||
libssh2_channel_handle_extended_data() may be passed one of three "ignore_mode" constants
|
||
LIBSSH2_CHANNEL_EXTENDED_DATA_NONE Default behavior, queue ED packets and return them with read_ex
|
||
LIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE Equivalent to libssh2_channel_ignore_extended_data()
|
||
IGNORE will implicitly flush the extended data stream(s)
|
||
LIBSSH2_CHANNEL_EXTENDED_DATA_MERGE Calls to channel_read() will check both the standard data stream
|
||
and the extended data stream(s) for the first available packet
|
||
|
||
Changed libssh2_session_disconnect_ex() to return an error code when alloc fails
|
||
|
||
Added libssh2_channel_flush_ex() and basic macros: ..._flush() ..._flush_stderr()
|
||
flush_ex accepts either the streamid (0 for standard data, 1 for stderr) or one of the two following constants:
|
||
LIBSSH2_CHANNEL_FLUSH_ALL Flush all streams
|
||
LIBSSH2_CHANNEL_FLUSH_EXTENDED_DATA Flush all streams EXCEPT the standard data stream
|
||
|
||
Added libssh2_session_callback_set() for setting ignore/debug/disconnect/macerror callbacks
|
||
|
||
Added libssh2_session_method_pref() to selectively set methods and method preferences.
|
||
|
||
Added libssh2_session_methods() to determine what methods were negotiated.
|
||
|
||
Added libssh2_session_abstract() for retreiving &session->abstract
|
||
|
||
Added libssh2_session_last_error() for retreiving error codes/messages
|
||
|
||
Version 0.1
|
||
-----------
|
||
|
||
Initial Release:
|
||
KEX methods: diffie-hellman-group14-sha1, diffie-hellman-group-exchange-sha1, diffie-hellman-group1-sha1
|
||
Hostkey methods: ssh-rsa, ssh-dss
|
||
Cipher methods: aes256-cbc, rijndael-cbc@lysator.liu.se, aes192-cbc, aes128-cbc, blowfish-cbc, arcfour, cast128-cbc, 3des-cbc, none*
|
||
Compression methods: zlib, none
|
||
MAC methods: hmac-sha1, hmac-sha1-96, hmac-ripemd160, hmac-ripemd160@openssh.com none*
|
||
*Cipher/MAC "none" is disabled by default for security purposes,
|
||
Use --enable-crypt-none and/or --enable-mac-none with ./configure to enable
|