1
1
The SSH library (BSD license) https://www.libssh2.org
Перейти к файлу
James Housley bebd14a011 Bug: [ 1592645 ] Public key can not be readed from file
While posting a public key file to a remote server via cut-n-paste it
is possible that the key won't have the proper ending.  It might not have
the standard carriage return or line feed.  It might even have extra
spaces.  This patch is based on the originators original patch, but is
more extensive.  If reading the file ends in EOF, remove that character.
Then if there are spaces at the end of the file remove them also.

This does not fix the posibility of the same error in a multi-key file, but
it is a start.
2006-11-13 11:33:03 +00:00
include The public *_ex() API functions, most of them, used "int" for length values. 2006-11-04 19:30:31 +00:00
src Bug: [ 1592645 ] Public key can not be readed from file 2006-11-13 11:33:03 +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
config.guess Ooops, forgot to add these 2005-01-01 23:39:15 +00:00
config.sub Ooops, forgot to add these 2005-01-01 23:39:15 +00:00
configure.in Bump for release 2006-06-22 18:50:26 +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.in autoconf already handles -g for us 2006-04-07 20:44:26 +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 Don't wait for KEX_INIT prior to sending our own packet. 2006-06-22 18:45:29 +00:00
ssh2_sample.c Strictening function prototypes: char* -> const char* where applicable 2005-06-18 10:41:59 +00:00

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

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