mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
libssh2: detect features based on version, not configure checks
... so that non-configure builds get the correct functions too based on the libssh2 version used.
This commit is contained in:
parent
18e1a3022d
commit
9dbbba9976
@ -2332,12 +2332,6 @@ if test X"$OPT_LIBSSH2" != Xno; then
|
||||
dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
|
||||
dnl to prevent further configure tests to fail due to this
|
||||
|
||||
dnl libssh2_version is a post 1.0 addition
|
||||
dnl libssh2_init and libssh2_exit were added in 1.2.5
|
||||
dnl libssh2_scp_send64 was added in 1.2.6
|
||||
dnl libssh2_session_handshake was added in 1.2.8
|
||||
AC_CHECK_FUNCS( libssh2_version libssh2_init libssh2_exit \
|
||||
libssh2_scp_send64 libssh2_session_handshake)
|
||||
if test "x$cross_compiling" != "xyes"; then
|
||||
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH2"
|
||||
export LD_LIBRARY_PATH
|
||||
|
@ -74,6 +74,7 @@
|
||||
#include "conncache.h"
|
||||
#include "multiif.h"
|
||||
#include "sigpipe.h"
|
||||
#include "ssh.h"
|
||||
|
||||
#define _MPRINTF_REPLACE /* use our functions only */
|
||||
#include <curl/mprintf.h>
|
||||
|
@ -99,13 +99,6 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Feature detection based on version numbers to better work with
|
||||
non-configure platforms */
|
||||
#if LIBSSH2_VERSION_NUM >= 0x010206
|
||||
/* libssh2_knownhost_checkp was added in 1.2.6 */
|
||||
#define HAVE_LIBSSH2_KNOWNHOST_CHECKP
|
||||
#endif
|
||||
|
||||
#ifndef PATH_MAX
|
||||
#define PATH_MAX 1024 /* just an extra precaution since there are systems that
|
||||
have their definition hidden well */
|
||||
|
26
lib/ssh.h
26
lib/ssh.h
@ -7,7 +7,7 @@
|
||||
* | (__| |_| | _ <| |___
|
||||
* \___|\___/|_| \_\_____|
|
||||
*
|
||||
* Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
* Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
*
|
||||
* This software is licensed as described in the file COPYING, which
|
||||
* you should have received as part of this distribution. The terms
|
||||
@ -158,22 +158,34 @@ struct ssh_conn {
|
||||
|
||||
#ifdef USE_LIBSSH2
|
||||
|
||||
/* Feature detection based on version numbers to better work with
|
||||
non-configure platforms */
|
||||
|
||||
#if !defined(LIBSSH2_VERSION_NUM) || (LIBSSH2_VERSION_NUM < 0x001000)
|
||||
# error "SCP/SFTP protocols require libssh2 0.16 or later"
|
||||
#endif
|
||||
|
||||
#if defined(LIBSSH2_VERSION_NUM) && (LIBSSH2_VERSION_NUM >= 0x010000)
|
||||
#if LIBSSH2_VERSION_NUM >= 0x010000
|
||||
#define HAVE_LIBSSH2_SFTP_SEEK64 1
|
||||
#else
|
||||
# undef HAVE_LIBSSH2_SFTP_SEEK64
|
||||
#endif
|
||||
|
||||
#if defined(LIBSSH2_VERSION_NUM) && (LIBSSH2_VERSION_NUM >= 0x010206)
|
||||
#if LIBSSH2_VERSION_NUM >= 0x010100
|
||||
#define HAVE_LIBSSH2_VERSION 1
|
||||
#endif
|
||||
|
||||
#if LIBSSH2_VERSION_NUM >= 0x010205
|
||||
#define HAVE_LIBSSH2_INIT 1
|
||||
#define HAVE_LIBSSH2_EXIT 1
|
||||
#endif
|
||||
|
||||
#if LIBSSH2_VERSION_NUM >= 0x010206
|
||||
#define HAVE_LIBSSH2_KNOWNHOST_CHECKP 1
|
||||
#define HAVE_LIBSSH2_SCP_SEND64 1
|
||||
#else
|
||||
# undef HAVE_LIBSSH2_SCP_SEND64
|
||||
#endif
|
||||
|
||||
#if LIBSSH2_VERSION_NUM >= 0x010208
|
||||
#define HAVE_LIBSSH2_SESSION_HANDSHAKE 1
|
||||
#endif
|
||||
|
||||
extern const struct Curl_handler Curl_handler_scp;
|
||||
extern const struct Curl_handler Curl_handler_sftp;
|
||||
|
Loading…
Reference in New Issue
Block a user