Mailinglist Archive: opensuse-commit (1214 mails)

< Previous Next >
commit libssh for openSUSE:Factory
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Fri, 21 Aug 2009 16:48:57 +0200
  • Message-id: <20090821144857.915AA648E@xxxxxxxxxxxxxxx>

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@xxxxxxxxx
+
+- 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@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread