Go to file
2007-01-10 17:29:46 +00:00
docs Minus sign escaped to not be treated as emdash in man pages. 2007-01-02 05:47:00 +00:00
include Moved the private include files libssh2_priv.h and libssh2_config.h.in from 2006-11-20 08:41:04 +00:00
m4 Add autobuild.m4, to make it easier to use http://autobuild.josefsson.org/. 2006-12-07 15:53:01 +00:00
src Remove unfinished OPENSSL_NO_SHA ifdef stuff, since SHA-1 is required for libssh2 to work. 2007-01-10 17:29:46 +00:00
tests Add basic self test. 2007-01-09 09:49:15 +00:00
win32 Genericise win32 build params 2005-02-18 16:13:03 +00:00
.cvsignore Add support for win32. 2005-01-03 22:46:15 +00:00
acinclude.m4 Added the configure option --enable-debug-build which not only enables a 2006-12-13 08:45:49 +00:00
buildconf --copy added to automake --add-missing to avoid symlinks in bootstrapped CVS snapshot tarballs 2007-01-03 09:56:31 +00:00
configure.in Add basic self test. 2007-01-09 09:49:15 +00:00
INSTALL Additional install docs 2004-12-31 20:31:24 +00:00
install-sh Initial revision 2004-12-07 21:17:20 +00:00
LICENSE Bump copyright year 2006-03-02 01:10:52 +00:00
Makefile.am Add basic self test. 2007-01-09 09:49:15 +00:00
mkinstalldirs Initial revision 2004-12-07 21:17:20 +00:00
NMakefile Add support for win32. 2005-01-03 22:46:15 +00:00
README mention a few recent changes 2006-11-24 10:14:31 +00:00
ssh2_sample.c fix warnings and allow passing user name and password on the command line 2006-12-21 14:06:49 +00:00

libssh2 - SSH2 library
======================

  libssh2 is a library implementing the SSH2 protocol 

Version 
------------

  maximum SSH packet size is now some 35000 bytes

  private include files are now in src/ and only public headers are in include/

  automake and libtool are being used (increased portability)

  fixed OpenSSL detection using pkg-config
  

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