ChangeLog ========== version 0.5.0 (released xxxx-xx-xx) * Added ssh_ prefix to all functions * Improved server support. version 0.4.6 (released 2010-09-03) * Added a cleanup function to free the ws2_32 library. * Fixed build with gcc 3.4. * Fixed the Windows build on Vista and newer. * Fixed the usage of WSAPoll() on Windows. * Fixed "@deprecated" in doxygen * Fixed some mingw warnings. * Fixed handling of opened channels. * Fixed keepalive problem on older openssh servers. * Fixed testing for big endian on Windows. * Fixed the Windows preprocessor macros and defines. version 0.4.5 (released 2010-07-13) * Added option to bind a client to an ip address. * Fixed the ssh socket polling function. * Fixed Windows related bugs in bsd_poll(). * Fixed serveral build warnings. version 0.4.4 (released 2010-06-01) * Fixed a bug in the expand function for escape sequences. * Fixed a bug in the tilde expand function. * Fixed a bug in setting the options. version 0.4.3 (released 2010-05-18) * Added global/keepalive responses. * Added runtime detection of WSAPoll(). * Added a select(2) based poll-emulation if poll(2) is not available. * Added a function to expand an escaped string. * Added a function to expand the tilde from a path. * Added a proxycommand support. * Added ssh_privatekey_type public function * Added the possibility to define _OPENSSL_DIR and _ZLIB_DIR. * Fixed sftp_chown. * Fixed sftp_rename on protocol version 3. * Fixed a blocking bug in channel_poll. * Fixed config parsing wich has overwritten user specified values. * Fixed hashed [host]:port format in knownhosts * Fixed Windows build. * Fixed doublefree happening after a negociation error. * Fixed aes*-ctr with <= OpenSSL 0.9.7b. * Fixed some documentation. * Fixed exec example which has broken read usage. * Fixed broken algorithm choice for server. * Fixed a typo that we don't export all symbols. * Removed the unneeded dependency to doxygen. * Build examples only on the Linux plattform. version 0.4.2 (released 2010-03-15) * Added owner and group information in sftp attributes. * Added missing SSH_OPTIONS_FD option. * Added printout of owner and group in the sftp example. * Added a prepend function for ssh_list. * Added send back replies to openssh's keepalives. * Fixed documentation in scp code * Fixed longname parsing, this only workings with readdir. * Fixed and added support for several identity files. * Fixed sftp_parse_longname() on Windows. * Fixed a race condition bug in ssh_scp_close() * Remove config support for SSHv1 Cipher variable. * Rename ssh_list_add to ssh_list_append. * Rename ssh_list_get_head to ssh_list_pop_head version 0.4.1 (released 2010-02-13) * Added support for aes128-ctr, aes192-ctr and aes256-ctr encryption. * Added an example for exec. * Added private key type detection feature in privatekey_from_file(). * Fixed zlib compression fallback. * Fixed kex bug that client preference should be prioritary * Fixed known_hosts file set by the user. * Fixed a memleak in channel_accept(). * Fixed underflow when leave_function() are unbalanced * Fixed memory corruption in handle_channel_request_open(). * Fixed closing of a file handle case of errors in privatekey_from_file(). * Fixed ssh_get_user_home_dir() to be thread safe. * Fixed the doxygen documentation. version 0.4.0 (released 2009-12-10) * Added scp support. * Added support for sending signals (RFC 4254, section 6.9). * Added MSVC support. * Added support for ~/.ssh/config. * Added sftp extension support. * Added X11 forwarding support for client. * Added forward listening. * Added support for openssh extensions (statvfs, fstatvfs). * Added a cleaned up interface for setting options. * Added a generic way to handle sockets asynchronously. * Added logging of the sftp flags used to open a file. * Added full poll() support and poll-emulation for win32. * Added missing 64bit functions in sftp. * Added support for ~/ and SSH_DIR/ in filenames instead of %s/. * Fixed Fix channel_get_exit_status bug. * Fixed calltrace logging to make it optional. * Fixed compilation on Solaris. * Fixed resolving of ip addresses. * Fixed libssh compilation without server support. * Fixed possible memory corruptions (ticket #14). version 0.3.4 (released 2009-09-14) * Added ssh_basename and ssh_dirname. * Added a portable ssh_mkdir function. * Added a sftp_tell64() function. * Added missing NULL pointer checks to crypt_set_algorithms_server. * Fixed ssh_write_knownhost if ~/.ssh doesn't exist. * Fixed a possible integer overflow in buffer_get_data(). * Fixed possible security bug in packet_decrypt(). * Fixed a possible stack overflow in agent code. version 0.3.3 (released 2009-08-18) * Fixed double free pointer crash in dsa_public_to_string. * Fixed channel_get_exit_status bug. * Fixed ssh_finalize which didn't clear the flag. * Fixed memory leak introduced by previous bugfix. * Fixed channel_poll broken when delayed EOF recvd. * Fixed stupid "can't parse known host key" bug. * Fixed possible memory corruption (ticket #14). version 0.3.2 (released 2009-08-05) * Added ssh_init() function. * Added sftp_readlink() function. * Added sftp_symlink() function. * Fixed ssh_write_knownhost(). * Fixed compilation on Solaris. * Fixed SSHv1 compilation. version 0.3.1 (released 2009-07-14) * Added return code SSH_SERVER_FILE_NOT_FOUND. * Fixed compilation of SSHv1. * Fixed several memory leaks. * Fixed possible infinite loops. * Fixed a possible crash bug. * Fixed build warnings. * Fixed cmake on BSD. version 0.3.1 (released 2009-07-14) * Added return code SSH_SERVER_FILE_NOT_FOUND. * Fixed compilation of SSHv1. * Fixed several memory leaks. * Fixed possible infinite loops. * Fixed a possible crash bug. * Fixed build warnings. * Fixed cmake on BSD. version 0.3 (released 2009-05-21) * Added support for ssh-agent authentication. * Added POSIX like sftp implementation. * Added error checking to all functions. * Added const to arguments where it was needed. * Added a channel_get_exit_status() function. * Added a channel_read_buffer() function, channel_read() is now a POSIX like function. * Added a more generic auth callback function. * Added printf attribute checking for log and error functions. * Added runtime function tracer support. * Added NSIS build support with CPack. * Added openssh hashed host support. * Added API documentation for all public functions. * Added asynchronous SFTP read function. * Added a ssh_bind_set_fd() function. * Fixed known_hosts parsing. * Fixed a lot of build warnings. * Fixed the Windows build. * Fixed a lot of memory leaks. * Fixed a double free corruption in the server support. * Fixed the "ssh_accept:" bug in server support. * Fixed important channel bugs. * Refactored the socket handling. * Switched to CMake build system. * Improved performance. version 0.2 (released 2007-11-29) * General cleanup * More comprehensive API * Up-to-date Doxygen documentation of each public function * Basic server-based support * Libgcrypt support (alternative to openssl and its license) * SSH1 support (disabled by default) * Added 3des-cbc * A lot of bugfixes version 0.11-dev * Server implementation development. * Small bug corrected when connecting to sun ssh servers. * Channel wierdness corrected (writing huge data packets) * Channel_read_nonblocking added * Channel bug where stderr wasn't correctly read fixed. * Added sftp_file_set_nonblocking(), which is nonblocking SFTP IO * Connect_status callback. * Priv.h contains the internal functions, libssh.h the public interface * Options_set_timeout (thx marcelo) really working. * Tcp tunneling through channel_open_forward. * Channel_request_exec() * Channel_request_env() * Ssh_get_pubkey_hash() * Ssh_is_server_known() * Ssh_write_known_host() * Options_set_ssh_dir * How could this happen ! there weren't any channel_close ! * Nasty channel_free bug resolved. * Removed the unsigned long all around the code. use only u8,u32 & u64. * It now compiles and runs under amd64 ! * Channel_request_pty_size * Channel_change_pty_size * Options_copy() * Ported the doc to an HTML file. * Small bugfix in packet.c * Prefixed error constants with SSH_ * Sftp_stat, sftp_lstat, sftp_fstat. thanks Michel Bardiaux for the patch. * Again channel number mismatch fixed. * Fixed a bug in ssh_select making the select fail when a signal has been caught. * Keyboard-interactive authentication working. version 0.1 (released 2004-03-05) * Begining of sftp subsystem implementation. * Some cleanup into channels implementation * Now every channel functions is called by its CHANNEL handler. * Added channel_poll() and channel_read(). * Changed the client so it uses the new channel_poll and channel_read interface * Small use-after-free bug with channels resolved * Changed stupidities in lot of function names. * Removed a debug output file opened by default. * Added API.txt, the libssh programmer handbook. * Various bug fixes from Nick Zitzmann. * Developed a cryptographic structure for handling protocols. * An autoconf script which took me half of a day to set up. * A ssh_select wrapper has been written. version 0.0.4 (released 2003-10-10) * Some terminal code (eof handling) added * Channels bugfix (it still needs some tweaking though) * Zlib support * Added a wrapper.c file. The goal is to provide a similar API to every cryptographic functions. bignums and sha/md5 are wrapped now. * More work than it first looks. * Support for other crypto libs planed (lighter libs) * Fixed stupid select() bug. * Libssh now compiles and links with openssl 0.9.6 * RSA pubkey authentication code now works ! version 0.0.3 (released 2003-09-15) * Added install target in makefile * Some cleanup in headers files and source code * Change default banner and project name to libssh. * New file auth.c to support more and more authentication ways * Bugfix(read offbyone) in send_kex * A base64 parser. don't read the source, it's awful. pure 0xbadc0de. * Changed the client filename to "ssh". logic isn't it ? * Dss publickey authentication ! still need to wait for the rsa one * Bugfix in packet.c * New misc.c contains misc functions version 0.0.2 (released 2003-09-03) * Initial release. * Client supports both ssh and dss hostkey verification, but doesn't compare them to openssh's files. (~/.ssh/known_hosts) * The only supported authentication method is password. * Compiles on linux and openbsd. freebsd and netbsd should work, too * Lot of work which hasn't been discussed here.