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;  | 
