Hello community, here is the log from the commit of package libssh for openSUSE:Factory checked in at Fri Aug 21 16:48:57 CEST 2009. -------- --- libssh/libssh.changes 2009-08-04 19:19:28.000000000 +0200 +++ libssh/libssh.changes 2009-08-18 15:30:19.000000000 +0200 @@ -1,0 +2,12 @@ +Tue Aug 18 15:28:06 CEST 2009 - anschneider@exsuse.de + +- Update to version 0.3.3. + * 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). + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- libssh-0.3.2.tar.bz2 New: ---- libssh-0.3.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libssh.spec ++++++ --- /var/tmp/diff_new_pack.8nmSAs/_old 2009-08-21 16:48:22.000000000 +0200 +++ /var/tmp/diff_new_pack.8nmSAs/_new 2009-08-21 16:48:22.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package libssh (Version 0.3.2) +# spec file for package libssh (Version 0.3.3) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -23,7 +23,7 @@ BuildRequires: cmake doxygen openssl-devel License: LGPL v2.1 or later Group: System/Libraries -Version: 0.3.2 +Version: 0.3.3 Release: 1 Summary: SSH library Source0: %{name}-%{version}.tar.bz2 ++++++ libssh-0.3.2.tar.bz2 -> libssh-0.3.3.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.3.2/CMakeLists.txt new/libssh-0.3.3/CMakeLists.txt --- old/libssh-0.3.2/CMakeLists.txt 2009-08-04 18:40:46.000000000 +0200 +++ new/libssh-0.3.3/CMakeLists.txt 2009-08-18 15:21:54.000000000 +0200 @@ -6,13 +6,13 @@ # global needed variables set(APPLICATION_NAME ${PROJECT_NAME}) -set(APPLICATION_VERSION "0.3.2") +set(APPLICATION_VERSION "0.3.3") set(APPLICATION_VERSION_MAJOR "0") set(APPLICATION_VERSION_MINOR "3") -set(APPLICATION_VERSION_PATCH "2") +set(APPLICATION_VERSION_PATCH "3") -set(LIBRARY_VERSION "3.2.0") +set(LIBRARY_VERSION "3.3.0") set(LIBRARY_SOVERSION "3") # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.3.2/CPackConfig.cmake new/libssh-0.3.3/CPackConfig.cmake --- old/libssh-0.3.2/CPackConfig.cmake 2009-08-04 18:40:46.000000000 +0200 +++ new/libssh-0.3.3/CPackConfig.cmake 2009-08-18 15:21:54.000000000 +0200 @@ -15,7 +15,7 @@ ### versions set(CPACK_PACKAGE_VERSION_MAJOR "0") set(CPACK_PACKAGE_VERSION_MINOR "3") -set(CPACK_PACKAGE_VERSION_PATCH "2") +set(CPACK_PACKAGE_VERSION_PATCH "3") set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.3.2/ChangeLog new/libssh-0.3.3/ChangeLog --- old/libssh-0.3.2/ChangeLog 2009-08-04 18:40:46.000000000 +0200 +++ new/libssh-0.3.3/ChangeLog 2009-08-18 15:21:54.000000000 +0200 @@ -1,6 +1,15 @@ ChangeLog ========== +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. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.3.2/include/libssh/libssh.h new/libssh-0.3.3/include/libssh/libssh.h --- old/libssh-0.3.2/include/libssh/libssh.h 2009-08-04 18:40:46.000000000 +0200 +++ new/libssh-0.3.3/include/libssh/libssh.h 2009-08-18 15:21:54.000000000 +0200 @@ -51,7 +51,7 @@ /* libssh version */ #define LIBSSH_VERSION_MAJOR 0 #define LIBSSH_VERSION_MINOR 3 -#define LIBSSH_VERSION_MICRO 1 +#define LIBSSH_VERSION_MICRO 3 #define LIBSSH_VERSION_INT SSH_VERSION_INT(LIBSSH_VERSION_MAJOR, \ LIBSSH_VERSION_MINOR, \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.3.2/libssh/agent.c new/libssh-0.3.3/libssh/agent.c --- old/libssh-0.3.2/libssh/agent.c 2009-08-04 18:40:46.000000000 +0200 +++ new/libssh-0.3.3/libssh/agent.c 2009-08-18 15:21:54.000000000 +0200 @@ -327,7 +327,7 @@ } if (session->agent->ident) { - buffer_free(session->agent->ident); + buffer_reinit(session->agent->ident); } session->agent->ident = reply; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.3.2/libssh/auth.c new/libssh-0.3.3/libssh/auth.c --- old/libssh-0.3.2/libssh/auth.c 2009-08-04 18:40:46.000000000 +0200 +++ new/libssh-0.3.3/libssh/auth.c 2009-08-18 15:21:54.000000000 +0200 @@ -268,7 +268,7 @@ leave_function(); return rc; error: - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); string_free(service); string_free(method); string_free(user); @@ -382,7 +382,7 @@ leave_function(); return rc; error: - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); string_free(user); string_free(method); string_free(service); @@ -503,7 +503,7 @@ leave_function(); return rc; error: - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); string_free(user); string_free(service); string_free(method); @@ -627,7 +627,7 @@ return rc; error: - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); string_free(sign); string_free(user); string_free(service); @@ -739,7 +739,7 @@ leave_function(); return rc; error: - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); string_free(user); string_free(service); string_free(method); @@ -1123,7 +1123,7 @@ leave_function(); return rc; error: - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); string_free(usr); string_free(service); string_free(method); @@ -1290,7 +1290,7 @@ leave_function(); return rc; error: - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); string_burn(answer); string_free(answer); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.3.2/libssh/channels.c new/libssh-0.3.3/libssh/channels.c --- old/libssh-0.3.2/libssh/channels.c 2009-08-04 18:40:46.000000000 +0200 +++ new/libssh-0.3.3/libssh/channels.c 2009-08-18 15:21:54.000000000 +0200 @@ -280,7 +280,7 @@ leave_function(); return 0; error: - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); leave_function(); return -1; @@ -791,7 +791,7 @@ leave_function(); return rc; error: - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); leave_function(); return rc; @@ -844,7 +844,7 @@ leave_function(); return rc; error: - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); leave_function(); return rc; @@ -938,7 +938,7 @@ leave_function(); return origlen; error: - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); leave_function(); return SSH_ERROR; @@ -1060,7 +1060,7 @@ leave_function(); return rc; error: - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); string_free(req); leave_function(); @@ -1618,6 +1618,9 @@ } } + if (buffer_get_rest_len(stdbuf) > 0) + return buffer_get_rest_len(stdbuf); + if (channel->remote_eof) { leave_function(); return SSH_EOF; @@ -1658,7 +1661,9 @@ return -1; } if (channel->open == 0) { - return -1; + /* When a channel is closed, no exit status message can + * come anymore */ + break; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.3.2/libssh/dh.c new/libssh-0.3.3/libssh/dh.c --- old/libssh-0.3.2/libssh/dh.c 2009-08-04 18:40:46.000000000 +0200 +++ new/libssh-0.3.3/libssh/dh.c 2009-08-18 15:21:54.000000000 +0200 @@ -149,6 +149,7 @@ g = NULL; bignum_free(p); p = NULL; + ssh_crypto_initialized=0; } } @@ -626,20 +627,20 @@ } if (buffer_add_u8(session->out_hashbuf, 20) < 0) { - buffer_free(session->out_hashbuf); + buffer_reinit(session->out_hashbuf); return -1; } if (session->server) { if (buffer_add_data(session->out_hashbuf, session->server_kex.cookie, 16) < 0) { - buffer_free(session->out_hashbuf); + buffer_reinit(session->out_hashbuf); return -1; } } else { if (buffer_add_data(session->out_hashbuf, session->client_kex.cookie, 16) < 0) { - buffer_free(session->out_hashbuf); + buffer_reinit(session->out_hashbuf); return -1; } } @@ -654,11 +655,11 @@ } if (buffer_add_u8(session->in_hashbuf, 20) < 0) { - buffer_free(session->in_hashbuf); + buffer_reinit(session->in_hashbuf); return -1; } if (buffer_add_data(session->in_hashbuf,cookie, 16) < 0) { - buffer_free(session->in_hashbuf); + buffer_reinit(session->in_hashbuf); return -1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.3.2/libssh/kex.c new/libssh-0.3.3/libssh/kex.c --- old/libssh-0.3.2/libssh/kex.c 2009-08-04 18:40:46.000000000 +0200 +++ new/libssh-0.3.3/libssh/kex.c 2009-08-18 15:21:54.000000000 +0200 @@ -421,8 +421,8 @@ leave_function(); return 0; error: - buffer_free(session->out_buffer); - buffer_free(session->out_hashbuf); + buffer_reinit(session->out_buffer); + buffer_reinit(session->out_hashbuf); string_free(str); leave_function(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.3.2/libssh/keyfiles.c new/libssh-0.3.3/libssh/keyfiles.c --- old/libssh-0.3.2/libssh/keyfiles.c 2009-08-04 18:40:46.000000000 +0200 +++ new/libssh-0.3.3/libssh/keyfiles.c 2009-08-18 15:21:54.000000000 +0200 @@ -1074,6 +1074,7 @@ while (fgets(buffer, sizeof(buffer), *file)) { ptr = strchr(buffer, '\n'); if (ptr) { + *ptr = '\0'; } ptr = strchr(buffer,'\r'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.3.2/libssh/keys.c new/libssh-0.3.3/libssh/keys.c --- old/libssh-0.3.2/libssh/keys.c 2009-08-04 18:40:46.000000000 +0200 +++ new/libssh-0.3.3/libssh/keys.c 2009-08-18 15:21:54.000000000 +0200 @@ -540,7 +540,6 @@ goto error; } string_fill(n, (char *) tmp, size); - gcry_sexp_release(sexp); #elif defined HAVE_LIBCRYPTO p = make_bignum_string(key->p); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.3.2/libssh/server.c new/libssh-0.3.3/libssh/server.c --- old/libssh-0.3.2/libssh/server.c 2009-08-04 18:40:46.000000000 +0200 +++ new/libssh-0.3.3/libssh/server.c 2009-08-18 15:21:54.000000000 +0200 @@ -424,7 +424,7 @@ buffer_add_ssh_string(session->out_buffer, f) < 0 || buffer_add_ssh_string(session->out_buffer, sign) < 0) { ssh_set_error(session, SSH_FATAL, "Not enough space"); - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); string_free(f); string_free(sign); return -1; @@ -437,7 +437,7 @@ } if (buffer_add_u8(session->out_buffer, SSH2_MSG_NEWKEYS) < 0) { - buffer_free(session->out_buffer); + buffer_reinit(session->out_buffer); return -1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libssh-0.3.2/libssh/session.c new/libssh-0.3.3/libssh/session.c --- old/libssh-0.3.2/libssh/session.c 2009-08-04 18:40:46.000000000 +0200 +++ new/libssh-0.3.3/libssh/session.c 2009-08-18 15:21:54.000000000 +0200 @@ -99,6 +99,7 @@ SAFE_FREE(session->banner); buffer_free(session->in_buffer); buffer_free(session->out_buffer); + session->in_buffer=session->out_buffer=NULL; crypto_free(session->current_crypto); crypto_free(session->next_crypto); ssh_socket_free(session->socket); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org