aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2014-11-09 15:42:12 +0100
committerDaniel Stenberg <daniel@haxx.se>2014-11-09 15:43:27 +0100
commit9dbbba997608f7c3c5de1c627c77c8cd2aa85b73 (patch)
tree80e7f46f1a83acbf4d1427c573ffd099af11b564 /lib
parent18e1a3022deebfa91ef022f09de3396d595f50b2 (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.c1
-rw-r--r--lib/ssh.c7
-rw-r--r--lib/ssh.h30
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>
diff --git a/lib/ssh.c b/lib/ssh.c
index 6fefe8aee..ba26eef72 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -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 */
diff --git a/lib/ssh.h b/lib/ssh.h
index ff2e16be9..1bc334857 100644
--- a/lib/ssh.h
+++ b/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)
-# 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;