diff options
author | Daniel Stenberg <daniel@haxx.se> | 2014-11-09 15:42:12 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2014-11-09 15:43:27 +0100 |
commit | 9dbbba997608f7c3c5de1c627c77c8cd2aa85b73 (patch) | |
tree | 80e7f46f1a83acbf4d1427c573ffd099af11b564 /lib | |
parent | 18e1a3022deebfa91ef022f09de3396d595f50b2 (diff) |
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.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/easy.c | 1 | ||||
-rw-r--r-- | lib/ssh.c | 7 | ||||
-rw-r--r-- | lib/ssh.h | 30 |
3 files changed, 22 insertions, 16 deletions
diff --git a/lib/easy.c b/lib/easy.c index 5ce2d5827..5f14fede3 100644 --- a/lib/easy.c +++ b/lib/easy.c @@ -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 */ @@ -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) -# define HAVE_LIBSSH2_SFTP_SEEK64 1 -#else -# undef HAVE_LIBSSH2_SFTP_SEEK64 +#if LIBSSH2_VERSION_NUM >= 0x010000 +#define HAVE_LIBSSH2_SFTP_SEEK64 1 +#endif + +#if LIBSSH2_VERSION_NUM >= 0x010100 +#define HAVE_LIBSSH2_VERSION 1 #endif -#if defined(LIBSSH2_VERSION_NUM) && (LIBSSH2_VERSION_NUM >= 0x010206) -# define HAVE_LIBSSH2_SCP_SEND64 1 -#else -# undef HAVE_LIBSSH2_SCP_SEND64 +#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 +#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; |