]> granicus.if.org Git - curl/commitdiff
schannel: remove version number and identify its use with 'schannel' literal
authorYang Tse <yangsita@gmail.com>
Wed, 13 Jun 2012 13:53:51 +0000 (15:53 +0200)
committerYang Tse <yangsita@gmail.com>
Wed, 13 Jun 2012 14:42:48 +0000 (16:42 +0200)
Version number is removed in order to make this info consistent with
how we do it with other MS and Linux system libraries for which we don't
provide this info.

Identifier changed from 'WinSSPI' to 'schannel' given that this is the
actual provider of the SSL/TLS support. libcurl can still be built with
SSPI and without SCHANNEL support.

13 files changed:
RELEASE-NOTES
configure.ac
docs/FEATURES
lib/Makefile.m32
lib/Makefile.vc6
lib/curl_schannel.c
lib/curl_schannel.h
lib/curl_sspi.c
lib/curl_sspi.h
lib/version.c
src/Makefile.m32
src/Makefile.vc6
winbuild/MakefileBuild.vc

index 0052ecb9a33ae44c149e456f5994c41b436b0cd2..914d18250cfc1168d2a1fd6581b023ca06809bc8 100644 (file)
@@ -18,7 +18,6 @@ This release includes the following changes:
  o pop3: Added support for sasl digest-md5 authentication
  o pop3: Added support for apop authentication
  o sspi: Added support for Schannel SSL/TLS encryption
- o sspi: Changed curl version information output
 
 This release includes the following bugfixes:
 
index f56890fa93beffa5acccf7f3b8be647b92b80a14..8e7fe6d6d087cbb337482ae05346485f91b6c430 100644 (file)
@@ -3044,7 +3044,6 @@ AC_HELP_STRING([--disable-sspi],[Disable SSPI]),
          AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support])
          AC_SUBST(USE_WINDOWS_SSPI, [1])
          curl_sspi_msg="enabled"
-         LIBS="$LIBS -lversion"
        else
          AC_MSG_RESULT(no)
          AC_MSG_WARN([--enable-sspi Ignored. Only supported on native Windows builds.])
index 46d8867312fcdb18050da19b1da08af6363ebdb4..34cbebd9ce7d894d4705d9d25e5943de2df25ec2 100644 (file)
@@ -125,7 +125,7 @@ FILE
 FOOTNOTES
 =========
 
-  *1 = requires OpenSSL, GnuTLS, NSS, yassl, axTLS, PolarSSL or Windows SSPI
+  *1 = requires OpenSSL, GnuTLS, NSS, yassl, axTLS, PolarSSL or schannel
   *2 = requires OpenLDAP
   *3 = requires a GSSAPI-compliant library, such as Heimdal or similar.
   *4 = requires FBopenssl
index fd191c119cc85802dfad8a9fcb94ebd4e4af420b..809612b82df8bec9deddb8a61bc30b234c22bdd4 100644 (file)
@@ -185,7 +185,6 @@ endif
 endif
 ifdef SSPI
   CFLAGS += -DUSE_WINDOWS_SSPI
-  DLL_LIBS += -lversion
 ifdef SCHANNEL
   CFLAGS += -DUSE_SCHANNEL
 endif
index 205b433a317c2163894fe30abf7d214e16893cbd..46c67b264ed9cbc9751e1d3ecd343e2cf7f5abd0 100644 (file)
@@ -123,7 +123,6 @@ CFGSET     = FALSE
 \r
 !IFDEF WINDOWS_SSPI\r
 CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include\r
-WINLIBS = $(WINLIBS) version.lib\r
 !ENDIF\r
 \r
 !IFDEF USE_IPV6\r
index 3cac4e1494238173157e78a797bca0fb04eda1f3..0f49e8d7df17770e0ec65f1e4d6b0f2f969aa4ea 100644 (file)
 
 #include "setup.h"
 
-#ifdef USE_WINDOWS_SSPI
 #ifdef USE_SCHANNEL
 
+#ifndef USE_WINDOWS_SSPI
+#  error "Can't compile SCHANNEL support without SSPI."
+#endif
+
 #include "curl_sspi.h"
 #include "curl_schannel.h"
 #include "sslgen.h"
@@ -974,16 +977,9 @@ void Curl_schannel_cleanup()
 
 size_t Curl_schannel_version(char *buffer, size_t size)
 {
-  int sspi_major = 0, sspi_minor = 0, sspi_build = 0;
-
-  if(!Curl_sspi_version(&sspi_major, &sspi_minor, &sspi_build, NULL))
-    size = snprintf(buffer, size, "WinSSPI/%d.%d.%d", sspi_major, sspi_minor,
-                    sspi_build);
-  else
-    size = snprintf(buffer, size, "WinSSPI/unknown");
+  size = snprintf(buffer, size, "schannel");
 
   return size;
 }
 
 #endif /* USE_SCHANNEL */
-#endif /* USE_WINDOWS_SSPI */
index fa19a02de65232c3f37ac2c7c3ed776488454658..bac6e422bebaf16b43bac4928b5853c5e7c216a1 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef HEADER_SCHANNEL_H
-#define HEADER_SCHANNEL_H
+#ifndef HEADER_CURL_SCHANNEL_H
+#define HEADER_CURL_SCHANNEL_H
 /***************************************************************************
  *                                  _   _ ____  _
  *  Project                     ___| | | |  _ \| |
@@ -8,6 +8,7 @@
  *                             \___|\___/|_| \_\_____|
  *
  * Copyright (C) 2012, Marc Hoersken, <info@marc-hoersken.de>, et al.
+ * Copyright (C) 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
@@ -23,7 +24,6 @@
  ***************************************************************************/
 #include "setup.h"
 
-#ifdef USE_WINDOWS_SSPI
 #ifdef USE_SCHANNEL
 
 #include "urldata.h"
@@ -129,5 +129,4 @@ size_t Curl_schannel_version(char *buffer, size_t size);
 #define curlssl_data_pending Curl_schannel_data_pending
 
 #endif /* USE_SCHANNEL */
-#endif /* USE_WINDOWS_SSPI */
-#endif /* HEADER_SCHANNEL_H */
+#endif /* HEADER_CURL_SCHANNEL_H */
index 0d3feb642278a39575012716199e13a066d16cd8..cb83809b37ddec44fbbc1097e4867534fc7ef5f7 100644 (file)
@@ -112,67 +112,4 @@ void Curl_sspi_global_cleanup(void)
   }
 }
 
-/*
- * Curl_sspi_version()
- *
- * This function returns the SSPI library version information.
- */
-CURLcode Curl_sspi_version(int *major, int *minor, int *build, int *special)
-{
-  CURLcode result = CURLE_OK;
-  VS_FIXEDFILEINFO *version_info = NULL;
-  LPTSTR path = NULL;
-  LPVOID data = NULL;
-  DWORD size, handle;
-  UINT length;
-
-  if(!s_hSecDll)
-    return CURLE_FAILED_INIT;
-
-  path = (char *) malloc(MAX_PATH);
-  if(!path)
-    return CURLE_OUT_OF_MEMORY;
-
-  if(GetModuleFileName(s_hSecDll, path, MAX_PATH)) {
-    size = GetFileVersionInfoSize(path, &handle);
-    if(size) {
-      data = malloc(size);
-      if(data) {
-        if(GetFileVersionInfo(path, handle, size, data)) {
-          if(!VerQueryValue(data, "\\", (LPVOID*) &version_info, &length))
-            result = CURLE_OUT_OF_MEMORY;
-        }
-        else
-          result = CURLE_OUT_OF_MEMORY;
-      }
-      else
-        result = CURLE_OUT_OF_MEMORY;
-    }
-    else
-      result = CURLE_OUT_OF_MEMORY;
-  }
-  else
-    result = CURLE_OUT_OF_MEMORY;
-
-  /* Set the out parameters */
-  if(!result) {
-    if(major)
-      *major = (version_info->dwProductVersionMS >> 16) & 0xffff;
-
-    if(minor)
-      *minor = (version_info->dwProductVersionMS >> 0) & 0xffff;
-
-    if(build)
-      *build = (version_info->dwProductVersionLS >> 16) & 0xffff;
-
-    if(special)
-      *special = (version_info->dwProductVersionLS >> 0) & 0xffff;
-  }
-
-  Curl_safefree(data);
-  Curl_safefree(path);
-
-  return result;
-}
-
 #endif /* USE_WINDOWS_SSPI */
index 7e888034630d28139c9537f325deaf5c55055534..4e7d4cfe60e9617a1c823072cf8ad159a5a2abda 100644 (file)
@@ -42,7 +42,6 @@
 
 CURLcode Curl_sspi_global_init(void);
 void Curl_sspi_global_cleanup(void);
-CURLcode Curl_sspi_version(int *major, int *minor, int *build, int *special);
 
 /* Forward-declaration of global variables defined in curl_sspi.c */
 
index 9f9fc78b1ed9b27ed141cd7e1a0d97328ff9b49b..78373240337085d98e64627f89e8b52a3587bd4e 100644 (file)
@@ -67,11 +67,6 @@ 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);
@@ -88,19 +83,6 @@ 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;
index 2186326b6be31887b96d333657ed6f5e97bb885e..e74a4188d0294c185cb8bc3d73d0906e451fbe62 100644 (file)
@@ -194,7 +194,6 @@ ifdef METALINK
 endif
 ifdef SSPI
   CFLAGS += -DUSE_WINDOWS_SSPI
-  curl_LDADD += -lversion
 ifdef SCHANNEL
   CFLAGS += -DUSE_SCHANNEL
 endif
index 6da0877b9e8de8339bf84db269488a2955cc057e..a939d15141ac4c9f96787eb740f3ed48955c4c4e 100644 (file)
@@ -101,8 +101,6 @@ SSL_LFLAGS     = /LIBPATH:"$(OPENSSL_PATH)/out32"
 SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll"\r
 SSL_LIBS       = libeay32.lib ssleay32.lib gdi32.lib user32.lib advapi32.lib\r
 \r
-WINLIBS        = ws2_32.lib wldap32.lib\r
-\r
 # Runtime library configuration\r
 RTLIB   = /MD\r
 RTLIBD  = /MDd\r
@@ -229,9 +227,6 @@ DEBUG_OBJS= \
 CFLAGS         = $(CFLAGS) /DCURL_STATICLIB\r
 LINKLIBS       = $(LIBCURL_STA_LIB_REL)\r
 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG)\r
-!IFDEF WINDOWS_SSPI\r
-WINLIBS = $(WINLIBS) version.lib\r
-!ENDIF\r
 \r
 #################################################\r
 # release dynamic library\r
@@ -249,9 +244,6 @@ CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
 LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(ZLIB_LIBS)\r
 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(ZLIB_LIBS)\r
 LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)\r
-!IFDEF WINDOWS_SSPI\r
-WINLIBS = $(WINLIBS) version.lib\r
-!ENDIF\r
 !ENDIF\r
 \r
 #################################################\r
@@ -262,9 +254,6 @@ CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
 LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS)\r
 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS)\r
 LFLAGS         = $(LFLAGS) $(SSL_LFLAGS)\r
-!IFDEF WINDOWS_SSPI\r
-WINLIBS = $(WINLIBS) version.lib\r
-!ENDIF\r
 !ENDIF\r
 \r
 #################################################\r
@@ -285,9 +274,6 @@ CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
 LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS) $(ZLIB_LIBS)\r
 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS) $(ZLIB_LIBS)\r
 LFLAGS         = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS)\r
-!IFDEF WINDOWS_SSPI\r
-WINLIBS = $(WINLIBS) version.lib\r
-!ENDIF\r
 !ENDIF\r
 \r
 #################################################\r
@@ -298,9 +284,6 @@ CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
 LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS)\r
 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS)\r
 LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS)\r
-!IFDEF WINDOWS_SSPI\r
-WINLIBS = $(WINLIBS) version.lib\r
-!ENDIF\r
 !ENDIF\r
 \r
 #################################################\r
@@ -311,9 +294,6 @@ CFLAGS         = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
 LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(ZLIB_IMP_LIBS)\r
 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(ZLIB_IMP_LIBS)\r
 LFLAGS         = $(LFLAGS) $(ZLIB_LFLAGS)\r
-!IFDEF WINDOWS_SSPI\r
-WINLIBS = $(WINLIBS) version.lib\r
-!ENDIF\r
 !ENDIF\r
 \r
 #################################################\r
@@ -334,9 +314,6 @@ CFLAGS         = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
 LINKLIBS       = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS) $(ZLIB_IMP_LIBS)\r
 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS) $(ZLIB_IMP_LIBS)\r
 LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)\r
-!IFDEF WINDOWS_SSPI\r
-WINLIBS = $(WINLIBS) version.lib\r
-!ENDIF\r
 !ENDIF\r
 \r
 #################################################\r
@@ -350,8 +327,8 @@ LFLAGS         = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
 !ENDIF\r
 \r
 \r
-LINKLIBS       = $(LINKLIBS) $(WINLIBS)\r
-LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) $(WINLIBS)\r
+LINKLIBS       = $(LINKLIBS) ws2_32.lib wldap32.lib\r
+LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) ws2_32.lib wldap32.lib\r
 \r
 all : release\r
 \r
index 7063906d7cd0d4917e2a5a73c15a0d637dc7d94f..9569ed9e734a01309fd80fa922a1e0442dc2dab5 100644 (file)
@@ -143,17 +143,19 @@ SSH2_CFLAGS = $(SSH2_CFLAGS) /I$(WITH_DEVEL)/include/libssh2
 !ENDIF
 
 
+!IFNDEF USE_SSL
+CFLAGS_SSPI  = /DUSE_SCHANNEL
+USE_SCHANNEL = true
+USE_SSPI     = yes
+!ENDIF
+
 !IFNDEF USE_SSPI
 USE_SSPI = yes
 !ENDIF
 
 !IF "$(USE_SSPI)"=="yes"
-CFLAGS_SSPI = /DUSE_WINDOWS_SSPI
-LFLAGS_SSPI = version.lib
+CFLAGS_SSPI = $(CFLAGS_SSPI) /DUSE_WINDOWS_SSPI
 USE_SSPI    = true
-!IFNDEF USE_SSL
-CFLAGS_SSPI = $(CFLAGS_SSPI) /DUSE_SCHANNEL
-!ENDIF
 !ENDIF
 
 
@@ -296,9 +298,12 @@ CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ipv6
 
 !IF "$(USE_SSPI)"=="true"
 CFLAGS = $(CFLAGS) $(CFLAGS_SSPI)
-LFLAGS = $(LFLAGS) $(LFLAGS_SSPI)
+!IF "$(USE_SCHANNEL)"=="true"
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-sspi-schannel
+!ELSE
 CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-sspi
 !ENDIF
+!ENDIF
 
 !IF "$(GEN_PDB)"=="true"
 CFLAGS = $(CFLAGS) $(CFLAGS_PDB)