Accepting request 148084 from devel:libraries:c_c++

- update to 1.4.3
    compression: add support for zlib@openssh.com
    Bug fixes:
    sftp_read: return error if a too large package arrives
    libssh2_hostkey_hash.3: update the description of return value
    examples: use stderr for messages, stdout for data
    openssl: do not leak memory when handling errors
    improved handling of disabled MD5 algorithm in OpenSSL
    known_hosts: Fail when parsing unknown keys in known_hosts file
    configure: gcrypt doesn't come with pkg-config support
    session_free: wrong variable used for keeping state
    libssh2_userauth_publickey_fromfile_ex.3: mention publickey == NULL
    comp_method_zlib_decomp: handle Z_BUF_ERROR when inflating
    Return LIBSSH2_ERROR_SOCKET_DISCONNECT on EOF when reading banner
    userauth.c: fread() from public key file to correctly detect any errors
    configure.ac: Add option to disable build of the example applications
    Added 'Requires.private:' line to libssh2.pc
    SFTP: filter off incoming "zombie" responses
    gettimeofday: no need for a replacement under cygwin
    SSH_MSG_CHANNEL_REQUEST: default to want_reply
    win32/libssh2_config.h: Remove hardcoded #define LIBSSH2_HAVE_ZLIB
    build error with gcrypt backend
    always do "forced" window updates to avoid corner case stalls
    aes: the init function fails when OpenSSL has AES support
    transport_send: Finish in-progress key exchange before sending data
    channel_write: acknowledge transport errors
    examples/x11.c: Make sure sizeof passed to read operation is correct
    examples/x11.c:,Fix suspicious sizeof usage
    sftp_packet_add: verify the packet before accepting it
    SFTP: preserve the original error code more (forwarded request 147891 from vitezslav_cizek)

OBS-URL: https://build.opensuse.org/request/show/148084
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libssh2_org?expand=0&rev=24
This commit is contained in:
Stephan Kulow 2013-01-12 13:52:06 +00:00 committed by Git OBS Bridge
commit 8ec151cf90
8 changed files with 73 additions and 563 deletions

View File

@ -1,26 +0,0 @@
From e95c7de4534cee15ba6362eac2fceb08e6eadc83 Mon Sep 17 00:00:00 2001
From: Peter Stuge <peter@stuge.se>
Date: Wed, 1 Feb 2012 11:18:10 +0100
Subject: [PATCH 4/6] libssh2.h: Add missing prototype for
libssh2_session_banner_set()
---
include/libssh2.h | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/include/libssh2.h b/include/libssh2.h
index 3395e6a..147330e 100644
--- a/include/libssh2.h
+++ b/include/libssh2.h
@@ -466,6 +466,8 @@ LIBSSH2_API void **libssh2_session_abstract(LIBSSH2_SESSION *session);
LIBSSH2_API void *libssh2_session_callback_set(LIBSSH2_SESSION *session,
int cbtype, void *callback);
+LIBSSH2_API int libssh2_session_banner_set(LIBSSH2_SESSION *session,
+ const char *banner);
LIBSSH2_API int libssh2_banner_set(LIBSSH2_SESSION *session,
const char *banner);
--
1.7.7

View File

@ -1,476 +0,0 @@
From 11c0cce6018e05a92719d6989826ccc2a8f23c81 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
Date: Thu, 2 Feb 2012 00:57:32 -0300
Subject: [PATCH 5/6] Add symbol versioning
---
configure.ac | 84 ++++++++----------------------
m4/ld-version-script.m4 | 53 +++++++++++++++++++
m4/visibility.m4 | 78 ++++++++++++++++++++++++++++
src/Makefile.am | 11 +++-
src/libssh2.map | 132 +++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 294 insertions(+), 64 deletions(-)
create mode 100644 m4/ld-version-script.m4
create mode 100644 m4/visibility.m4
create mode 100644 src/libssh2.map
diff --git a/configure.ac b/configure.ac
index 5f94099..7d51197 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,10 +1,19 @@
-# AC_PREREQ(2.57)
-AC_INIT(libssh2, [-], libssh2-devel@cool.haxx.se)
+AC_INIT([libssh2],[-],[libssh2-devel@cool.haxx.se])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([src])
-AM_CONFIG_HEADER([src/libssh2_config.h example/libssh2_config.h])
+AC_CONFIG_HEADERS([src/libssh2_config.h example/libssh2_config.h])
AM_MAINTAINER_MODE
+AC_PROG_CC_STDC
+AC_USE_SYSTEM_EXTENSIONS
+AC_SYS_LARGEFILE
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+LT_INIT([win32-dll disable-static pic-only])
+gl_VISIBILITY
+gl_LD_VERSION_SCRIPT
+
dnl SED is needed by some of the tools
AC_PATH_PROG( SED, sed, sed-was-not-found-by-configure,
$PATH:/usr/bin:/usr/local/bin)
@@ -67,30 +76,22 @@ AC_SEARCH_LIBS(inet_addr, nsl)
AC_SUBST(LIBS)
-AC_PROG_CC
-AC_PROG_INSTALL
-AC_PROG_LN_S
-AC_PROG_MAKE_SET
AC_PATH_PROGS(SSHD, [sshd], [],
[$PATH$PATH_SEPARATOR/usr/libexec$PATH_SEPARATOR]dnl
[/usr/sbin$PATH_SEPARATOR/usr/etc$PATH_SEPARATOR/etc])
AM_CONDITIONAL(SSHD, test -n "$SSHD")
-AC_LIBTOOL_WIN32_DLL
-AC_PROG_LIBTOOL
AC_C_BIGENDIAN
-dnl check for how to do large files
-AC_SYS_LARGEFILE
# Configure parameters
AC_ARG_WITH(libgcrypt,
- AC_HELP_STRING([--with-libgcrypt],[Use Libgcrypt for crypto]),
+ AS_HELP_STRING([--with-libgcrypt],[Use Libgcrypt for crypto]),
use_libgcrypt=$withval,use_libgcrypt=auto)
AC_ARG_WITH(openssl,
- AC_HELP_STRING([--with-openssl],[Use OpenSSL for crypto]),
+ AS_HELP_STRING([--with-openssl],[Use OpenSSL for crypto]),
use_openssl=$withval,use_openssl=auto)
AC_ARG_WITH(libz,
- AC_HELP_STRING([--with-libz],[Use Libz for compression]),
+ AS_HELP_STRING([--with-libz],[Use Libz for compression]),
use_libz=$withval,use_libz=auto)
# Look for OpenSSL (default)
@@ -136,15 +137,15 @@ fi
# Optional Settings
#
AC_ARG_ENABLE(crypt-none,
- AC_HELP_STRING([--enable-crypt-none],[Permit "none" cipher -- NOT RECOMMENDED]),
+ AS_HELP_STRING([--enable-crypt-none],[Permit "none" cipher -- NOT RECOMMENDED]),
[AC_DEFINE(LIBSSH2_CRYPT_NONE, 1, [Enable "none" cipher -- NOT RECOMMENDED])])
AC_ARG_ENABLE(mac-none,
- AC_HELP_STRING([--enable-mac-none],[Permit "none" MAC -- NOT RECOMMENDED]),
+ AS_HELP_STRING([--enable-mac-none],[Permit "none" MAC -- NOT RECOMMENDED]),
[AC_DEFINE(LIBSSH2_MAC_NONE, 1, [Enable "none" MAC -- NOT RECOMMENDED])])
AC_ARG_ENABLE(gex-new,
- AC_HELP_STRING([--disable-gex-new],[Disable "new" diffie-hellman-group-exchange-sha1 method]),
+ AS_HELP_STRING([--disable-gex-new],[Disable "new" diffie-hellman-group-exchange-sha1 method]),
[GEX_NEW=$enableval])
if test "$GEX_NEW" != "no"; then
AC_DEFINE(LIBSSH2_DH_GEX_NEW, 1, [Enable newer diffie-hellman-group-exchange-sha1 syntax])
@@ -155,8 +156,8 @@ dnl option to switch on compiler debug options
dnl
AC_MSG_CHECKING([whether to enable pedantic and debug compiler options])
AC_ARG_ENABLE(debug,
-AC_HELP_STRING([--enable-debug],[Enable pedantic and debug options])
-AC_HELP_STRING([--disable-debug],[Disable debug options]),
+AS_HELP_STRING([--enable-debug],[Enable pedantic and debug options])
+AS_HELP_STRING([--disable-debug],[Disable debug options]),
[ case "$enable_debug" in
no)
AC_MSG_RESULT(no)
@@ -176,45 +177,6 @@ AC_HELP_STRING([--disable-debug],[Disable debug options]),
AC_MSG_RESULT(no)
)
-dnl ************************************************************
-dnl Enable hiding of internal symbols in library to reduce its size and
-dnl speed dynamic linking of applications. This currently is only supported
-dnl on gcc >= 4.0 and SunPro C.
-dnl
-AC_MSG_CHECKING([whether to enable hidden symbols in the library])
-AC_ARG_ENABLE(hidden-symbols,
-AC_HELP_STRING([--enable-hidden-symbols],[Hide internal symbols in library])
-AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibility in library]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- ;;
- *)
- AC_MSG_CHECKING([whether $CC supports it])
- if test "$GCC" = yes ; then
- if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(LIBSSH2_API, [__attribute__ ((visibility ("default")))], [to make a symbol visible])
- CFLAGS="$CFLAGS -fvisibility=hidden"
- else
- AC_MSG_RESULT(no)
- fi
-
- else
- dnl Test for SunPro cc
- if $CC 2>&1 | grep flags >/dev/null && $CC -flags | grep xldscope= >/dev/null ; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(LIBSSH2_API, [__global], [to make a symbol visible])
- CFLAGS="$CFLAGS -xldscope=hidden"
- else
- AC_MSG_RESULT(no)
- fi
- fi
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
# Checks for header files.
# AC_HEADER_STDC
AC_CHECK_HEADERS([errno.h fcntl.h stdio.h stdlib.h unistd.h sys/uio.h])
@@ -254,16 +216,16 @@ AC_CHECK_FUNCS(gettimeofday select strtoll)
dnl Check for select() into ws2_32 for Msys/Mingw
if test "$ac_cv_func_select" != "yes"; then
AC_MSG_CHECKING([for select in ws2_32])
- AC_TRY_LINK([
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#ifdef HAVE_WINSOCK2_H
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <winsock2.h>
#endif
- ],[
+ ]], [[
select(0,(fd_set *)NULL,(fd_set *)NULL,(fd_set *)NULL,(struct timeval *)NULL);
- ],[
+ ]])],[
AC_MSG_RESULT([yes])
HAVE_SELECT="1"
AC_DEFINE_UNQUOTED(HAVE_SELECT, 1,
diff --git a/m4/ld-version-script.m4 b/m4/ld-version-script.m4
new file mode 100644
index 0000000..5ed93ef
--- /dev/null
+++ b/m4/ld-version-script.m4
@@ -0,0 +1,53 @@
+# ld-version-script.m4 serial 3
+dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Simon Josefsson
+
+# FIXME: The test below returns a false positive for mingw
+# cross-compiles, 'local:' statements does not reduce number of
+# exported symbols in a DLL. Use --disable-ld-version-script to work
+# around the problem.
+
+# gl_LD_VERSION_SCRIPT
+# --------------------
+# Check if LD supports linker scripts, and define automake conditional
+# HAVE_LD_VERSION_SCRIPT if so.
+AC_DEFUN([gl_LD_VERSION_SCRIPT],
+[
+ AC_ARG_ENABLE([ld-version-script],
+ AS_HELP_STRING([--enable-ld-version-script],
+ [enable linker version script (default is enabled when possible)]),
+ [have_ld_version_script=$enableval], [])
+ if test -z "$have_ld_version_script"; then
+ AC_MSG_CHECKING([if LD -Wl,--version-script works])
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
+ cat > conftest.map <<EOF
+foo
+EOF
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
+ [accepts_syntax_errors=yes], [accepts_syntax_errors=no])
+ if test "$accepts_syntax_errors" = no; then
+ cat > conftest.map <<EOF
+VERS_1 {
+ global: sym;
+};
+
+VERS_2 {
+ global: sym;
+} VERS_1;
+EOF
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
+ [have_ld_version_script=yes], [have_ld_version_script=no])
+ else
+ have_ld_version_script=no
+ fi
+ rm -f conftest.map
+ LDFLAGS="$save_LDFLAGS"
+ AC_MSG_RESULT($have_ld_version_script)
+ fi
+ AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
+])
diff --git a/m4/visibility.m4 b/m4/visibility.m4
new file mode 100644
index 0000000..c519711
--- /dev/null
+++ b/m4/visibility.m4
@@ -0,0 +1,78 @@
+# visibility.m4 serial 4 (gettext-0.18.2)
+dnl Copyright (C) 2005, 2008, 2010-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl Tests whether the compiler supports the command-line option
+dnl -fvisibility=hidden and the function and variable attributes
+dnl __attribute__((__visibility__("hidden"))) and
+dnl __attribute__((__visibility__("default"))).
+dnl Does *not* test for __visibility__("protected") - which has tricky
+dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on
+dnl MacOS X.
+dnl Does *not* test for __visibility__("internal") - which has processor
+dnl dependent semantics.
+dnl Does *not* test for #pragma GCC visibility push(hidden) - which is
+dnl "really only recommended for legacy code".
+dnl Set the variable CFLAG_VISIBILITY.
+dnl Defines and sets the variable HAVE_VISIBILITY.
+
+AC_DEFUN([gl_VISIBILITY],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ CFLAG_VISIBILITY=
+ HAVE_VISIBILITY=0
+ if test -n "$GCC"; then
+ dnl First, check whether -Werror can be added to the command line, or
+ dnl whether it leads to an error because of some other option that the
+ dnl user has put into $CC $CFLAGS $CPPFLAGS.
+ AC_MSG_CHECKING([whether the -Werror option is usable])
+ AC_CACHE_VAL([gl_cv_cc_vis_werror], [
+ gl_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[]], [[]])],
+ [gl_cv_cc_vis_werror=yes],
+ [gl_cv_cc_vis_werror=no])
+ CFLAGS="$gl_save_CFLAGS"])
+ AC_MSG_RESULT([$gl_cv_cc_vis_werror])
+ dnl Now check whether visibility declarations are supported.
+ AC_MSG_CHECKING([for simple visibility declarations])
+ AC_CACHE_VAL([gl_cv_cc_visibility], [
+ gl_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ dnl We use the option -Werror and a function dummyfunc, because on some
+ dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning
+ dnl "visibility attribute not supported in this configuration; ignored"
+ dnl at the first function definition in every compilation unit, and we
+ dnl don't want to use the option in this case.
+ if test $gl_cv_cc_vis_werror = yes; then
+ CFLAGS="$CFLAGS -Werror"
+ fi
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[extern __attribute__((__visibility__("hidden"))) int hiddenvar;
+ extern __attribute__((__visibility__("default"))) int exportedvar;
+ extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
+ extern __attribute__((__visibility__("default"))) int exportedfunc (void);
+ void dummyfunc (void) {}
+ ]],
+ [[]])],
+ [gl_cv_cc_visibility=yes],
+ [gl_cv_cc_visibility=no])
+ CFLAGS="$gl_save_CFLAGS"])
+ AC_MSG_RESULT([$gl_cv_cc_visibility])
+ if test $gl_cv_cc_visibility = yes; then
+ CFLAG_VISIBILITY="-fvisibility=hidden"
+ HAVE_VISIBILITY=1
+ AC_DEFINE(LIBSSH2_API, [__attribute__ ((visibility ("default")))], [to make a symbol visible])
+ fi
+ fi
+ AC_SUBST([CFLAG_VISIBILITY])
+ AC_SUBST([HAVE_VISIBILITY])
+ AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY],
+ [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.])
+])
diff --git a/src/Makefile.am b/src/Makefile.am
index 53fb4e8..4db2638 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -45,6 +45,11 @@ VERSION=-version-info 1:1:0
# set age to 0. (c:r:a=0)
#
-libssh2_la_LDFLAGS = $(VERSION) -no-undefined \
- -export-symbols-regex '^libssh2_.*' \
- $(LTLIBGCRYPT) $(LTLIBSSL) $(LTLIBZ)
+libssh2_la_CFLAGS = $(CFLAG_VISIBILITY)
+libssh2_la_LDFLAGS = $(VERSION) -no-undefined
+if HAVE_LD_VERSION_SCRIPT
+libssh2_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libssh2.map
+else
+libssh2_la_LDFLAGS += -export-symbols-regex '^libssh2_.*'
+endif
+libssh2_la_LIBADD = $(LTLIBGCRYPT) $(LTLIBSSL) $(LTLIBZ)
diff --git a/src/libssh2.map b/src/libssh2.map
new file mode 100644
index 0000000..5639bd1
--- /dev/null
+++ b/src/libssh2.map
@@ -0,0 +1,132 @@
+LIBSSH2_1.3.0 {
+global:
+libssh2_agent_connect;
+libssh2_agent_disconnect;
+libssh2_agent_free;
+libssh2_agent_get_identity;
+libssh2_agent_init;
+libssh2_agent_list_identities;
+libssh2_agent_userauth;
+libssh2_banner_set;
+libssh2_base64_decode;
+libssh2_channel_close;
+libssh2_channel_direct_tcpip_ex;
+libssh2_channel_eof;
+libssh2_channel_flush_ex;
+libssh2_channel_forward_accept;
+libssh2_channel_forward_cancel;
+libssh2_channel_forward_listen_ex;
+libssh2_channel_free;
+libssh2_channel_get_exit_signal;
+libssh2_channel_get_exit_status;
+libssh2_channel_handle_extended_data;
+libssh2_channel_handle_extended_data2;
+libssh2_channel_open_ex;
+libssh2_channel_process_startup;
+libssh2_channel_read_ex;
+libssh2_channel_receive_window_adjust;
+libssh2_channel_receive_window_adjust2;
+libssh2_channel_request_pty_ex;
+libssh2_channel_request_pty_size_ex;
+libssh2_channel_send_eof;
+libssh2_channel_set_blocking;
+libssh2_channel_setenv_ex;
+libssh2_channel_wait_closed;
+libssh2_channel_wait_eof;
+libssh2_channel_window_read_ex;
+libssh2_channel_window_write_ex;
+libssh2_channel_write_ex;
+libssh2_channel_x11_req_ex;
+libssh2_crypt_methods;
+libssh2_exit;
+libssh2_free;
+libssh2_hostkey_hash;
+libssh2_hostkey_methods;
+libssh2_init;
+libssh2_keepalive_config;
+libssh2_keepalive_send;
+libssh2_knownhost_add;
+libssh2_knownhost_addc;
+libssh2_knownhost_check;
+libssh2_knownhost_checkp;
+libssh2_knownhost_del;
+libssh2_knownhost_free;
+libssh2_knownhost_get;
+libssh2_knownhost_init;
+libssh2_knownhost_readfile;
+libssh2_knownhost_readline;
+libssh2_knownhost_writefile;
+libssh2_knownhost_writeline;
+libssh2_md5;
+libssh2_poll;
+libssh2_poll_channel_read;
+libssh2_publickey_add_ex;
+libssh2_publickey_init;
+libssh2_publickey_list_fetch;
+libssh2_publickey_list_free;
+libssh2_publickey_remove_ex;
+libssh2_publickey_shutdown;
+libssh2_scp_recv;
+libssh2_scp_send64;
+libssh2_scp_send_ex;
+libssh2_session_abstract;
+libssh2_session_banner_set;
+libssh2_session_block_directions;
+libssh2_session_callback_set;
+libssh2_session_disconnect_ex;
+libssh2_session_flag;
+libssh2_session_free;
+libssh2_session_get_blocking;
+libssh2_session_get_timeout;
+libssh2_session_handshake;
+libssh2_session_hostkey;
+libssh2_session_init_ex;
+libssh2_session_last_errno;
+libssh2_session_last_error;
+libssh2_session_method_pref;
+libssh2_session_methods;
+libssh2_session_set_blocking;
+libssh2_session_set_timeout;
+libssh2_session_startup;
+libssh2_sftp_close_handle;
+libssh2_sftp_dtor;
+libssh2_sftp_fstat_ex;
+libssh2_sftp_fstatvfs;
+libssh2_sftp_init;
+libssh2_sftp_last_error;
+libssh2_sftp_mkdir_ex;
+libssh2_sftp_open_ex;
+libssh2_sftp_read;
+libssh2_sftp_readdir_ex;
+libssh2_sftp_rename_ex;
+libssh2_sftp_rmdir_ex;
+libssh2_sftp_seek;
+libssh2_sftp_seek64;
+libssh2_sftp_shutdown;
+libssh2_sftp_stat_ex;
+libssh2_sftp_statvfs;
+libssh2_sftp_symlink_ex;
+libssh2_sftp_tell;
+libssh2_sftp_tell64;
+libssh2_sftp_unlink_ex;
+libssh2_sftp_write;
+libssh2_sha1;
+libssh2_trace;
+libssh2_trace_sethandler;
+libssh2_userauth_authenticated;
+libssh2_userauth_hostbased_fromfile_ex;
+libssh2_userauth_keyboard_interactive_ex;
+libssh2_userauth_list;
+libssh2_userauth_password_ex;
+libssh2_userauth_publickey;
+libssh2_userauth_publickey_fromfile_ex;
+libssh2_version;
+local: *;};
+
+LIBSSH2_1.4.0 {
+global:
+libssh2_session_supported_algs;
+libssh2_session_banner_get;
+libssh2_sftp_get_channel;
+} LIBSSH2_1.3.0;
+
--
1.7.7

View File

@ -1,27 +0,0 @@
From 5eb939dd9b7c3cfaefba0934d4420b0d86d238b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
Date: Thu, 2 Feb 2012 01:04:52 -0300
Subject: [PATCH 6/6] missing libssh2_session_banner_set
---
src/libssh2.map | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
--- libssh2-1.4.0.orig/src/libssh2.map
+++ libssh2-1.4.0/src/libssh2.map
@@ -70,7 +70,6 @@ libssh2_scp_recv;
libssh2_scp_send64;
libssh2_scp_send_ex;
libssh2_session_abstract;
-libssh2_session_banner_set;
libssh2_session_block_directions;
libssh2_session_callback_set;
libssh2_session_disconnect_ex;
@@ -126,6 +125,7 @@ local: *;};
LIBSSH2_1.4.0 {
global:
libssh2_session_supported_algs;
+libssh2_session_banner_set;
libssh2_session_banner_get;
libssh2_sftp_get_channel;
} LIBSSH2_1.3.0;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dfc5bbad14a5049fea5c5e8a7a743130bb1e365730e13e2bb7d6494c92a4c581
size 653514

3
libssh2-1.4.3.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eac6f85f9df9db2e6386906a6227eb2cd7b3245739561cad7d6dc1d5d021b96d
size 685712

View File

@ -9,10 +9,10 @@ Subject: [PATCH] Use O_CLOEXEC where needed
src/userauth.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/agent.c b/src/agent.c
index 5a9e81c..af939a1 100644
--- a/src/agent.c
+++ b/src/agent.c
Index: libssh2-1.4.3/src/agent.c
===================================================================
--- libssh2-1.4.3.orig/src/agent.c 2012-03-05 20:04:56.000000000 +0100
+++ libssh2-1.4.3/src/agent.c 2013-01-08 16:24:07.572195659 +0100
@@ -152,7 +152,7 @@ agent_connect_unix(LIBSSH2_AGENT *agent)
return _libssh2_error(agent->session, LIBSSH2_ERROR_BAD_USE,
"no auth sock variable");
@ -22,11 +22,11 @@ index 5a9e81c..af939a1 100644
if (agent->fd < 0)
return _libssh2_error(agent->session, LIBSSH2_ERROR_BAD_SOCKET,
"failed creating socket");
diff --git a/src/knownhost.c b/src/knownhost.c
index 193bda3..418c08a 100644
--- a/src/knownhost.c
+++ b/src/knownhost.c
@@ -907,7 +907,7 @@ libssh2_knownhost_readfile(LIBSSH2_KNOWNHOSTS *hosts,
Index: libssh2-1.4.3/src/knownhost.c
===================================================================
--- libssh2-1.4.3.orig/src/knownhost.c 2012-08-21 20:27:22.000000000 +0200
+++ libssh2-1.4.3/src/knownhost.c 2013-01-08 16:24:07.573195691 +0100
@@ -907,7 +907,7 @@ libssh2_knownhost_readfile(LIBSSH2_KNOWN
"Unsupported type of known-host information "
"store");
@ -34,8 +34,8 @@ index 193bda3..418c08a 100644
+ file = fopen(filename, "re");
if(file) {
while(fgets(buf, sizeof(buf), file)) {
if(libssh2_knownhost_readline(hosts, buf, strlen(buf), type))
@@ -1079,7 +1079,7 @@ libssh2_knownhost_writefile(LIBSSH2_KNOWNHOSTS *hosts,
if(libssh2_knownhost_readline(hosts, buf, strlen(buf), type)) {
@@ -1082,7 +1082,7 @@ libssh2_knownhost_writefile(LIBSSH2_KNOW
"Unsupported type of known-host information "
"store");
@ -44,11 +44,11 @@ index 193bda3..418c08a 100644
if(!file)
return _libssh2_error(hosts->session, LIBSSH2_ERROR_FILE,
"Failed to open file");
diff --git a/src/userauth.c b/src/userauth.c
index 3fcb200..0f48a1d 100644
--- a/src/userauth.c
+++ b/src/userauth.c
@@ -467,7 +467,7 @@ file_read_publickey(LIBSSH2_SESSION * session, unsigned char **method,
Index: libssh2-1.4.3/src/userauth.c
===================================================================
--- libssh2-1.4.3.orig/src/userauth.c 2012-04-18 22:24:04.000000000 +0200
+++ libssh2-1.4.3/src/userauth.c 2013-01-08 16:24:07.573195691 +0100
@@ -467,7 +467,7 @@ file_read_publickey(LIBSSH2_SESSION * se
_libssh2_debug(session, LIBSSH2_TRACE_AUTH, "Loading public key file: %s",
pubkeyfile);
/* Read Public Key */
@ -57,6 +57,3 @@ index 3fcb200..0f48a1d 100644
if (!fd) {
return _libssh2_error(session, LIBSSH2_ERROR_FILE,
"Unable to open public key file");
--
1.7.7

View File

@ -1,3 +1,47 @@
-------------------------------------------------------------------
Tue Jan 8 15:24:25 UTC 2013 - vcizek@suse.com
- update to 1.4.3
compression: add support for zlib@openssh.com
Bug fixes:
sftp_read: return error if a too large package arrives
libssh2_hostkey_hash.3: update the description of return value
examples: use stderr for messages, stdout for data
openssl: do not leak memory when handling errors
improved handling of disabled MD5 algorithm in OpenSSL
known_hosts: Fail when parsing unknown keys in known_hosts file
configure: gcrypt doesn't come with pkg-config support
session_free: wrong variable used for keeping state
libssh2_userauth_publickey_fromfile_ex.3: mention publickey == NULL
comp_method_zlib_decomp: handle Z_BUF_ERROR when inflating
Return LIBSSH2_ERROR_SOCKET_DISCONNECT on EOF when reading banner
userauth.c: fread() from public key file to correctly detect any errors
configure.ac: Add option to disable build of the example applications
Added 'Requires.private:' line to libssh2.pc
SFTP: filter off incoming "zombie" responses
gettimeofday: no need for a replacement under cygwin
SSH_MSG_CHANNEL_REQUEST: default to want_reply
win32/libssh2_config.h: Remove hardcoded #define LIBSSH2_HAVE_ZLIB
build error with gcrypt backend
always do "forced" window updates to avoid corner case stalls
aes: the init function fails when OpenSSL has AES support
transport_send: Finish in-progress key exchange before sending data
channel_write: acknowledge transport errors
examples/x11.c: Make sure sizeof passed to read operation is correct
examples/x11.c:,Fix suspicious sizeof usage
sftp_packet_add: verify the packet before accepting it
SFTP: preserve the original error code more
sftp_packet_read: adjust window size as necessary
Use safer snprintf rather then sprintf in several places
Define and use LIBSSH2_INVALID_SOCKET instead of INVALID_SOCKET
sftp_write: cannot return acked data *and* EAGAIN
sftp_read: avoid data *and* EAGAIN
libssh2.h: Add missing prototype for libssh2_session_banner_set()
- dropped patches (already in the upstream)
0004-libssh2.h-Add-missing-prototype-for-libssh2_session_.patch
0005-Add-symbol-versioning.patch
0006-missing-libssh2_session_banner_set.patch
-------------------------------------------------------------------
Thu Feb 2 13:36:17 UTC 2012 - crrodriguez@opensuse.org

View File

@ -1,7 +1,7 @@
#
# spec file for package libssh2_org
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,27 +17,25 @@
Summary: A library implementing the SSH2 protocol
License: BSD-3-Clause
Group: Development/Libraries/C and C++
Name: libssh2_org
Version: 1.4.0
Release: 3
License: BSD-3-Clause
Version: 1.4.3
Release: 0
Url: http://www.libssh2.org/
%define pkg_name libssh2
Group: Development/Libraries/C and C++
Source: http://www.libssh2.org/download/%{pkg_name}-%{version}.tar.gz
Source2: baselibs.conf
BuildRequires: openssl-devel
BuildRequires: pkgconfig
BuildRequires: zlib-devel
#for the test suite
BuildRequires: openssh
BuildRequires: libtool
BuildRequires: man
BuildRequires: openssh
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Patch: libssh2-ocloexec.patch
Patch1: 0004-libssh2.h-Add-missing-prototype-for-libssh2_session_.patch
Patch2: 0005-Add-symbol-versioning.patch
Patch3: 0006-missing-libssh2_session_banner_set.patch
%description
libssh2 is a library implementing the SSH2 protocol as defined by
@ -70,9 +68,6 @@ SECSH-PUBLICKEY.
%prep
%setup -q -n %{pkg_name}-%{version}
%patch -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%build
./buildconf
@ -83,6 +78,9 @@ export CFLAGS="%optflags -DOPENSSL_LOAD_CONF"
--with-openssl=%{_prefix}
make %{?_smp_mflags}
%check
make check
%install
make install DESTDIR=%{buildroot}
rm -f %{buildroot}%{_libdir}/*.la