Hello community, here is the log from the commit of package libssh for openSUSE:Factory checked in at 2015-07-05 17:55:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libssh (Old) and /work/SRC/openSUSE:Factory/.libssh.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libssh" Changes: -------- --- /work/SRC/openSUSE:Factory/libssh/libssh.changes 2015-05-19 23:13:34.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libssh.new/libssh.changes 2015-07-05 17:55:21.000000000 +0200 @@ -1,0 +2,10 @@ +Tue Jun 30 07:36:31 UTC 2015 - [email protected] + +- Update to version 0.7.1 + * Fixed SSH_AUTH_PARTIAL auth with auto public key + * Fixed memory leak in session options + * Fixed allocation of ed25519 public keys + * Fixed channel exit-status and exit-signal + * Reintroduce ssh_forward_listen() + +------------------------------------------------------------------- Old: ---- libssh-0.7.0.tar.xz New: ---- libssh-0.7.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libssh.spec ++++++ --- /var/tmp/diff_new_pack.Wi9vip/_old 2015-07-05 17:55:21.000000000 +0200 +++ /var/tmp/diff_new_pack.Wi9vip/_new 2015-07-05 17:55:21.000000000 +0200 @@ -24,7 +24,7 @@ BuildRequires: xz Name: libssh -Version: 0.7.0 +Version: 0.7.1 Release: 0 Summary: The SSH library ++++++ libssh-0.7.0.tar.xz -> libssh-0.7.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/CMakeLists.txt new/libssh-0.7.1/CMakeLists.txt --- old/libssh-0.7.0/CMakeLists.txt 2015-05-08 13:55:13.000000000 +0200 +++ new/libssh-0.7.1/CMakeLists.txt 2015-06-29 11:16:03.000000000 +0200 @@ -8,7 +8,7 @@ set(APPLICATION_VERSION_MAJOR "0") set(APPLICATION_VERSION_MINOR "7") -set(APPLICATION_VERSION_PATCH "0") +set(APPLICATION_VERSION_PATCH "1") set(APPLICATION_VERSION "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}") @@ -24,7 +24,7 @@ # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked set(CMAKE_MODULE_PATH - ${CMAKE_SOURCE_DIR}/cmake/Modules + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules ) # add definitions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/CPackConfig.cmake new/libssh-0.7.1/CPackConfig.cmake --- old/libssh-0.7.0/CPackConfig.cmake 2015-05-08 13:54:56.000000000 +0200 +++ new/libssh-0.7.1/CPackConfig.cmake 2015-06-24 18:36:08.000000000 +0200 @@ -4,10 +4,10 @@ ### general settings set(CPACK_PACKAGE_NAME ${APPLICATION_NAME}) set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The SSH library") -set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README") +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README") set(CPACK_PACKAGE_VENDOR "The SSH Library Development Team") set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME}) -set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING") +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") ### versions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/ChangeLog new/libssh-0.7.1/ChangeLog --- old/libssh-0.7.0/ChangeLog 2015-05-11 10:41:55.000000000 +0200 +++ new/libssh-0.7.1/ChangeLog 2015-06-29 11:15:56.000000000 +0200 @@ -1,6 +1,13 @@ ChangeLog ========== +version 0.7.1 (released 2015-06-30) + * Fixed SSH_AUTH_PARTIAL auth with auto public key + * Fixed memory leak in session options + * Fixed allocation of ed25519 public keys + * Fixed channel exit-status and exit-signal + * Reintroduce ssh_forward_listen() + version 0.7.0 (released 2015-05-11) * Added support for ed25519 keys * Added SHA2 algorithms for HMAC diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/doc/command.dox new/libssh-0.7.1/doc/command.dox --- old/libssh-0.7.0/doc/command.dox 2014-09-15 20:54:34.000000000 +0200 +++ new/libssh-0.7.1/doc/command.dox 2015-06-24 18:36:08.000000000 +0200 @@ -56,7 +56,7 @@ @code char buffer[256]; - unsigned int nbytes; + int nbytes; nbytes = ssh_channel_read(channel, buffer, sizeof(buffer), 0); while (nbytes > 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/doc/guided_tour.dox new/libssh-0.7.1/doc/guided_tour.dox --- old/libssh-0.7.0/doc/guided_tour.dox 2015-05-06 11:04:50.000000000 +0200 +++ new/libssh-0.7.1/doc/guided_tour.dox 2015-06-24 18:36:08.000000000 +0200 @@ -367,7 +367,7 @@ ssh_channel channel; int rc; char buffer[256]; - unsigned int nbytes; + int nbytes; channel = ssh_channel_new(session); if (channel == NULL) @@ -391,7 +391,7 @@ nbytes = ssh_channel_read(channel, buffer, sizeof(buffer), 0); while (nbytes > 0) { - if (write(1, buffer, nbytes) != nbytes) + if (write(1, buffer, nbytes) != (unsigned int) nbytes) { ssh_channel_close(channel); ssh_channel_free(channel); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/include/CMakeLists.txt new/libssh-0.7.1/include/CMakeLists.txt --- old/libssh-0.7.0/include/CMakeLists.txt 2013-02-07 19:23:14.000000000 +0100 +++ new/libssh-0.7.1/include/CMakeLists.txt 2015-06-24 18:36:08.000000000 +0200 @@ -1,3 +1,3 @@ -project(headers C) +project(libssh-headers-x C) add_subdirectory(libssh) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/include/libssh/libssh.h new/libssh-0.7.1/include/libssh/libssh.h --- old/libssh-0.7.0/include/libssh/libssh.h 2015-05-08 13:55:13.000000000 +0200 +++ new/libssh-0.7.1/include/libssh/libssh.h 2015-06-29 11:16:10.000000000 +0200 @@ -78,7 +78,7 @@ /* libssh version */ #define LIBSSH_VERSION_MAJOR 0 #define LIBSSH_VERSION_MINOR 7 -#define LIBSSH_VERSION_MICRO 0 +#define LIBSSH_VERSION_MICRO 1 #define LIBSSH_VERSION_INT SSH_VERSION_INT(LIBSSH_VERSION_MAJOR, \ LIBSSH_VERSION_MINOR, \ @@ -588,6 +588,7 @@ fd_set *readfds, struct timeval *timeout); LIBSSH_API int ssh_service_request(ssh_session session, const char *service); LIBSSH_API int ssh_set_agent_channel(ssh_session session, ssh_channel channel); +LIBSSH_API int ssh_set_agent_socket(ssh_session session, socket_t fd); LIBSSH_API void ssh_set_blocking(ssh_session session, int blocking); LIBSSH_API void ssh_set_counters(ssh_session session, ssh_counter scounter, ssh_counter rcounter); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/include/libssh/priv.h new/libssh-0.7.1/include/libssh/priv.h --- old/libssh-0.7.0/include/libssh/priv.h 2015-05-08 13:55:13.000000000 +0200 +++ new/libssh-0.7.1/include/libssh/priv.h 2015-06-24 16:24:12.000000000 +0200 @@ -65,6 +65,10 @@ # undef inline # define inline __inline +# ifndef va_copy +# define va_copy(dest, src) (dest = src) +# endif + # define strcasecmp _stricmp # define strncasecmp _strnicmp # if ! defined(HAVE_ISBLANK) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/src/CMakeLists.txt new/libssh-0.7.1/src/CMakeLists.txt --- old/libssh-0.7.0/src/CMakeLists.txt 2015-05-08 13:55:13.000000000 +0200 +++ new/libssh-0.7.1/src/CMakeLists.txt 2015-06-24 18:36:08.000000000 +0200 @@ -1,12 +1,12 @@ project(libssh-library C) set(LIBSSH_PUBLIC_INCLUDE_DIRS - ${CMAKE_SOURCE_DIR}/include + ${libssh_SOURCE_DIR}/include CACHE INTERNAL "libssh public include directories" ) set(LIBSSH_PRIVATE_INCLUDE_DIRS - ${CMAKE_BINARY_DIR} + ${libssh_BINARY_DIR} ) set(LIBSSH_LINK_LIBRARIES diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/src/agent.c new/libssh-0.7.1/src/agent.c --- old/libssh-0.7.0/src/agent.c 2015-05-08 13:55:13.000000000 +0200 +++ new/libssh-0.7.1/src/agent.c 2015-06-29 09:47:35.000000000 +0200 @@ -185,15 +185,32 @@ return SSH_OK; } +/** @brief sets the SSH agent socket. + * The SSH agent will be used to authenticate this client using + * the given socket to communicate with the ssh-agent. The caller + * is responsible for connecting to the socket prior to calling + * this function. + * @returns SSH_OK in case of success + * SSH_ERROR in case of an error + */ +int ssh_set_agent_socket(ssh_session session, socket_t fd){ + if (!session) + return SSH_ERROR; + if (!session->agent){ + ssh_set_error(session, SSH_REQUEST_DENIED, "Session has no active agent"); + return SSH_ERROR; + } + + ssh_socket_set_fd(session->agent->sock, fd); + return SSH_OK; +} void agent_close(struct ssh_agent_struct *agent) { if (agent == NULL) { return; } - if (getenv("SSH_AUTH_SOCK")) { - ssh_socket_close(agent->sock); - } + ssh_socket_close(agent->sock); } void agent_free(ssh_agent agent) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/src/auth.c new/libssh-0.7.1/src/auth.c --- old/libssh-0.7.0/src/auth.c 2015-05-08 13:55:13.000000000 +0200 +++ new/libssh-0.7.1/src/auth.c 2015-06-29 11:11:26.000000000 +0200 @@ -209,8 +209,8 @@ "Access denied. Authentication that can continue: %s", auth_methods); - session->auth_methods = 0; } + session->auth_methods = 0; if (strstr(auth_methods, "password") != NULL) { session->auth_methods |= SSH_AUTH_METHOD_PASSWORD; } @@ -1045,15 +1045,14 @@ ssh_key_free(state->privkey); ssh_key_free(state->pubkey); SAFE_FREE(session->auth_auto_state); - } - if (rc == SSH_AUTH_ERROR) { - return rc; - } else if (rc == SSH_AUTH_SUCCESS) { - SSH_LOG(SSH_LOG_INFO, - "Successfully authenticated using %s", - privkey_file); + if (rc == SSH_AUTH_SUCCESS) { + SSH_LOG(SSH_LOG_INFO, + "Successfully authenticated using %s", + privkey_file); + } return rc; - } else if (rc == SSH_AUTH_AGAIN){ + } + if (rc == SSH_AUTH_AGAIN){ return rc; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/src/channels.c new/libssh-0.7.1/src/channels.c --- old/libssh-0.7.0/src/channels.c 2015-05-08 13:55:13.000000000 +0200 +++ new/libssh-0.7.1/src/channels.c 2015-06-29 09:50:28.000000000 +0200 @@ -664,11 +664,9 @@ } if (strcmp(request,"exit-status") == 0) { - uint32_t exit_status = 0; - - SAFE_FREE(request); - rc = ssh_buffer_unpack(packet, "d", &exit_status); - SSH_LOG(SSH_LOG_PACKET, "received exit-status %d", channel->exit_status); + SAFE_FREE(request); + rc = ssh_buffer_unpack(packet, "d", &channel->exit_status); + SSH_LOG(SSH_LOG_PACKET, "received exit-status %d", channel->exit_status); if(ssh_callbacks_exists(channel->callbacks, channel_exit_status_function)) { channel->callbacks->channel_exit_status_function(channel->session, @@ -714,7 +712,7 @@ SAFE_FREE(request); - rc = ssh_buffer_unpack(packet, "sbs", + rc = ssh_buffer_unpack(packet, "sbss", &sig, /* signal name */ &core_dumped, /* core dumped */ &errmsg, /* error message */ @@ -2206,6 +2204,11 @@ } /* DEPRECATED */ +int ssh_forward_listen(ssh_session session, const char *address, int port, int *bound_port) { + return ssh_channel_listen_forward(session, address, port, bound_port); +} + +/* DEPRECATED */ ssh_channel ssh_forward_accept(ssh_session session, int timeout_ms) { return ssh_channel_accept(session, SSH_CHANNEL_FORWARDED_TCPIP, timeout_ms, NULL); } @@ -2272,6 +2275,7 @@ return rc; } +/* DEPRECATED */ int ssh_forward_cancel(ssh_session session, const char *address, int port) { return ssh_channel_cancel_forward(session, address, port); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/src/kex.c new/libssh-0.7.1/src/kex.c --- old/libssh-0.7.0/src/kex.c 2015-05-08 13:55:13.000000000 +0200 +++ new/libssh-0.7.1/src/kex.c 2015-06-24 16:24:08.000000000 +0200 @@ -42,24 +42,28 @@ # define AES "aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc," # define DES "3des-cbc" # define DES_SUPPORTED "3des-cbc,des-cbc-ssh1" + #elif defined(HAVE_LIBCRYPTO) + # ifdef HAVE_OPENSSL_BLOWFISH_H # define BLOWFISH "blowfish-cbc," -# else +# else /* HAVE_OPENSSL_BLOWFISH_H */ # define BLOWFISH "" -# endif +# endif /* HAVE_OPENSSL_BLOWFISH_H */ + # ifdef HAVE_OPENSSL_AES_H # ifdef BROKEN_AES_CTR # define AES "aes256-cbc,aes192-cbc,aes128-cbc," -# else +# else /* BROKEN_AES_CTR */ # define AES "aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc," # endif /* BROKEN_AES_CTR */ -# else +# else /* HAVE_OPENSSL_AES_H */ # define AES "" -# endif +# endif /* HAVE_OPENSSL_AES_H */ + # define DES "3des-cbc" # define DES_SUPPORTED "3des-cbc,des-cbc-ssh1" -#endif +#endif /* HAVE_LIBCRYPTO */ #ifdef WITH_ZLIB #define ZLIB "none,zlib,[email protected]" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/src/misc.c new/libssh-0.7.1/src/misc.c --- old/libssh-0.7.0/src/misc.c 2015-04-23 11:12:36.000000000 +0200 +++ new/libssh-0.7.1/src/misc.c 2015-06-24 18:36:08.000000000 +0200 @@ -33,9 +33,10 @@ #include <netinet/in.h> #include <arpa/inet.h> -#ifndef HAVE_CLOCK_GETTIME +#ifdef HAVE_SYS_TIME_H #include <sys/time.h> -#endif /* HAVE_CLOCK_GETTIME */ +#endif /* HAVE_SYS_TIME_H */ + #endif /* _WIN32 */ #include <limits.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/src/options.c new/libssh-0.7.1/src/options.c --- old/libssh-0.7.0/src/options.c 2015-05-08 13:55:13.000000000 +0200 +++ new/libssh-0.7.1/src/options.c 2015-06-24 18:36:10.000000000 +0200 @@ -93,12 +93,6 @@ if (src->opts.identity) { struct ssh_iterator *it; - new->opts.identity = ssh_list_new(); - if (new->opts.identity == NULL) { - ssh_free(new); - return -1; - } - it = ssh_list_get_iterator(src->opts.identity); while (it) { char *id; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/src/pki_ed25519.c new/libssh-0.7.1/src/pki_ed25519.c --- old/libssh-0.7.0/src/pki_ed25519.c 2015-05-08 13:55:13.000000000 +0200 +++ new/libssh-0.7.1/src/pki_ed25519.c 2015-06-24 18:36:08.000000000 +0200 @@ -35,8 +35,8 @@ goto error; } - key->ed25519_pubkey = malloc(sizeof (ed25519_privkey)); - if (key->ed25519_privkey == NULL) { + key->ed25519_pubkey = malloc(sizeof (ed25519_pubkey)); + if (key->ed25519_pubkey == NULL) { goto error; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/src/poll.c new/libssh-0.7.1/src/poll.c --- old/libssh-0.7.0/src/poll.c 2015-05-06 11:04:50.000000000 +0200 +++ new/libssh-0.7.1/src/poll.c 2015-06-24 18:36:08.000000000 +0200 @@ -116,7 +116,11 @@ #else /* _WIN32 */ #include <sys/select.h> #include <sys/socket.h> -#include <sys/time.h> + +# ifdef HAVE_SYS_TIME_H +# include <sys/time.h> +# endif + #endif /* _WIN32 */ #ifdef HAVE_UNISTD_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.7.0/tests/CMakeLists.txt new/libssh-0.7.1/tests/CMakeLists.txt --- old/libssh-0.7.0/tests/CMakeLists.txt 2015-05-08 13:55:13.000000000 +0200 +++ new/libssh-0.7.1/tests/CMakeLists.txt 2015-06-24 18:36:08.000000000 +0200 @@ -1,4 +1,4 @@ -project(tests C) +project(libssh-tests C) if (BSD OR SOLARIS OR OSX) find_package(Argp)
