Things TODO =========== * make sure the windowing code adapts better to slow situations so that it doesn't then use as much memory as today. Possibly by an app-controllable "Window mode"? * Introduce a function that can free data that is returned allocated from the lib, like when libssh2_session_last_error() is asked to return the string with 'want_buf' set to non-zero. * Add more info to the man pages. * Decrease the number of mallocs. Everywhere. * Use SO_NOSIGPIPE for Mac OS/BSD systems where MSG_NOSIGNAL doesn't exist/work * Extend the test suite to actually test lots of aspects of libssh2 * Fix all compiler warnings (some can't be done without API changes) * Expose error messages sent by the server At next SONAME bump =================== * stop using #defined macros as part of the official API. The macros should either be turned into real functions or discarded from the API. * fix the parts of the API where object pointers and function pointers are mixed like libssh2_session_callback_set() * remove the following functions from the API/ABI libssh2_base64_decode() libssh2_session_flag() libssh2_channel_handle_extended_data() libssh2_channel_receive_window_adjust() libssh2_poll() libssh2_poll_channel_read() * Rename a few function: libssh2_hostkey_hash => libssh2_session_hostkey_hash libssh2_banner_set => libssh2_session_banner_set * change 'int' to 'libssh2_socket_t' in the public API for sockets. * Use 'size_t' for string lengths in all functions. * Add a comment field to struct libssh2_knownhost. * remove the existing libssh2_knownhost_add() function and rename libssh2_knownhost_addc to become the new libssh2_knownhost_add instead * remove the existing libssh2_scp_send_ex() function and rename libssh2_scp_send64 to become the new libssh2_scp_send instead. * remove the existing libssh2_knownhost_check() functin and rename libssh2_knownhost_checkp() to become the new libssh2_knownhost_check instead