From 74ba4d7950fa001d0a9dddfddacb240ae2c69c6c Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 13 Mar 2009 09:58:15 +0000 Subject: [PATCH] - Use libssh2_version() to present the libssh2 version in case the libssh2 library is found to support it. --- CHANGES | 4 ++++ RELEASE-NOTES | 2 ++ configure.ac | 3 +++ lib/version.c | 11 +++++++++-- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 469403364..8c5230532 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,10 @@ Changelog +Daniel Stenberg (13 Mar 2009) +- Use libssh2_version() to present the libssh2 version in case the libssh2 + library is found to support it. + Yang Tse (12 Mar 2009) - Added missing Curl_read() return code checking in TELNET transfers. diff --git a/RELEASE-NOTES b/RELEASE-NOTES index f8e97a528..6323e36c2 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -11,6 +11,8 @@ This release includes the following changes: o libcurl now closes all dead connections whenever you attempt to open a new connection + o libssh2's version number can now be figured out run-time instead of using + the build-time fixed number This release includes the following bugfixes: diff --git a/configure.ac b/configure.ac index af652655a..d9ff3de8c 100644 --- a/configure.ac +++ b/configure.ac @@ -1494,6 +1494,9 @@ 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 + AC_CHECK_FUNCS( libssh2_version ) + LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_LIBSSH2" export LD_LIBRARY_PATH AC_MSG_NOTICE([Added $LIB_LIBSSH2 to LD_LIBRARY_PATH]) diff --git a/lib/version.c b/lib/version.c index 2e8f1b410..61a3b3287 100644 --- a/lib/version.c +++ b/lib/version.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2007, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2009, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -49,6 +49,13 @@ #include #endif +#ifdef HAVE_LIBSSH2_VERSION +/* get it run-time if possible */ +#define CURL_LIBSSH2_VERSION libssh2_version(0) +#else +/* use build-time if run-time not possible */ +#define CURL_LIBSSH2_VERSION LIBSSH2_VERSION +#endif char *curl_version(void) { @@ -101,7 +108,7 @@ char *curl_version(void) ptr += len; #endif #ifdef USE_LIBSSH2 - len = snprintf(ptr, left, " libssh2/%s", LIBSSH2_VERSION); + len = snprintf(ptr, left, " libssh2/%s", CURL_LIBSSH2_VERSION); left -= len; ptr += len; #endif