Commit 634f7cfe authored by Marc Hoersken's avatar Marc Hoersken Committed by Daniel Stenberg
Browse files

version: Replaced SSPI feature information with version string details

Added Windows SSPI version information to the curl version string when
SCHANNEL SSL is not enabled, as the version of the library should also
be included when SSPI is used to generate security contexts.

Removed SSPI from the feature list as the features are GSS-Negotiate,
NTLM and SSL depending on the usage of the SSPI library.
parent 70d56bfe
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2144,7 +2144,7 @@ typedef struct {
#define CURL_VERSION_SPNEGO    (1<<8)  /* SPNEGO auth */
#define CURL_VERSION_LARGEFILE (1<<9)  /* supports files bigger than 2GB */
#define CURL_VERSION_IDN       (1<<10) /* International Domain Names support */
#define CURL_VERSION_SSPI      (1<<11) /* SSPI is supported */
#define CURL_VERSION_OBSOLETE11 (1<<11) /* NOT USED - removed in 7.27.0 */
#define CURL_VERSION_CONV      (1<<12) /* character conversions supported */
#define CURL_VERSION_CURLDEBUG (1<<13) /* debug memory tracking supported */
#define CURL_VERSION_TLSAUTH_SRP (1<<14) /* TLS-SRP auth is supported */
+22 −6
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
 *                            | (__| |_| |  _ <| |___
 *                             \___|\___/|_| \_\_____|
 *
 * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
 * Copyright (C) 1998 - 2012, 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
@@ -67,6 +67,12 @@ char *curl_version(void)
  char *ptr = version;
  size_t len;
  size_t left = sizeof(version);
#ifdef USE_WINDOWS_SSPI
#ifndef USE_SCHANNEL
  int sspi_major = 0, sspi_minor = 0, sspi_build = 0;
#endif
#endif

  strcpy(ptr, LIBCURL_NAME "/" LIBCURL_VERSION);
  len = strlen(ptr);
  left -= len;
@@ -82,6 +88,19 @@ char *curl_version(void)
    }
  }

#ifdef USE_WINDOWS_SSPI
#ifndef USE_SCHANNEL
  if(CURLE_OK == Curl_sspi_version(&sspi_major, &sspi_minor, &sspi_build,
                                   NULL))
    len = snprintf(ptr, left, " WinSSPI/%d.%d.%d", sspi_major, sspi_minor,
                 sspi_build);
  else
    len = snprintf(ptr, left, " WinSSPI/unknown");

  left -= len;
  ptr += len;
#endif
#endif
#ifdef HAVE_LIBZ
  len = snprintf(ptr, left, " zlib/%s", zlibVersion());
  left -= len;
@@ -243,9 +262,6 @@ static curl_version_info_data version_info = {
#if defined(USE_NTLM) && defined(NTLM_WB_ENABLED)
  | CURL_VERSION_NTLM_WB
#endif
#ifdef USE_WINDOWS_SSPI
  | CURL_VERSION_SSPI
#endif
#ifdef HAVE_LIBZ
  | CURL_VERSION_LIBZ
#endif
+0 −1
Original line number Diff line number Diff line
@@ -277,7 +277,6 @@ static const struct feat feats[] = {
  {"NTLM_WB",        CURL_VERSION_NTLM_WB},
  {"SPNEGO",         CURL_VERSION_SPNEGO},
  {"SSL",            CURL_VERSION_SSL},
  {"SSPI",           CURL_VERSION_SSPI},
  {"krb4",           CURL_VERSION_KERBEROS4},
  {"libz",           CURL_VERSION_LIBZ},
  {"CharConv",       CURL_VERSION_CONV},