summaryrefslogtreecommitdiffstats
path: root/Utilities
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2012-09-07 17:23:45 (GMT)
committerBrad King <brad.king@kitware.com>2012-09-07 17:24:14 (GMT)
commit8b51762426ff6e3efbe61ee49f99755c24b4772c (patch)
tree6ade36b9481a2bf87c5e4055532adfc9ba843d83 /Utilities
parentbc0e8c28ece1d681449b9b4b43b16fb5b331534e (diff)
downloadCMake-8b51762426ff6e3efbe61ee49f99755c24b4772c.zip
CMake-8b51762426ff6e3efbe61ee49f99755c24b4772c.tar.gz
CMake-8b51762426ff6e3efbe61ee49f99755c24b4772c.tar.bz2
curl: Honor OPENSSL_NO_SSL2
Some OpenSSL distributions have dropped support for the ancient SSLv2 protocol completely. Port changes from upstream curl to recognize this case and avoid using it.
Diffstat (limited to 'Utilities')
-rw-r--r--Utilities/cmcurl/curl/curl.h2
-rw-r--r--Utilities/cmcurl/ssluse.c5
-rw-r--r--Utilities/cmcurl/strerror.c5
3 files changed, 10 insertions, 2 deletions
diff --git a/Utilities/cmcurl/curl/curl.h b/Utilities/cmcurl/curl/curl.h
index 157c634..e586c4a 100644
--- a/Utilities/cmcurl/curl/curl.h
+++ b/Utilities/cmcurl/curl/curl.h
@@ -312,7 +312,7 @@ typedef enum {
CURLE_UNSUPPORTED_PROTOCOL, /* 1 */
CURLE_FAILED_INIT, /* 2 */
CURLE_URL_MALFORMAT, /* 3 */
- CURLE_URL_MALFORMAT_USER, /* 4 - NOT USED */
+ CURLE_NOT_BUILT_IN, /* 4 */
CURLE_COULDNT_RESOLVE_PROXY, /* 5 */
CURLE_COULDNT_RESOLVE_HOST, /* 6 */
CURLE_COULDNT_CONNECT, /* 7 */
diff --git a/Utilities/cmcurl/ssluse.c b/Utilities/cmcurl/ssluse.c
index 55afb24..14d05ac 100644
--- a/Utilities/cmcurl/ssluse.c
+++ b/Utilities/cmcurl/ssluse.c
@@ -1285,8 +1285,13 @@ Curl_ossl_connect_step1(struct connectdata *conn,
req_method = TLSv1_client_method();
break;
case CURL_SSLVERSION_SSLv2:
+#ifdef OPENSSL_NO_SSL2
+ failf(data, "OpenSSL was built without SSLv2 support");
+ return CURLE_NOT_BUILT_IN;
+#else
req_method = SSLv2_client_method();
break;
+#endif
case CURL_SSLVERSION_SSLv3:
req_method = SSLv3_client_method();
break;
diff --git a/Utilities/cmcurl/strerror.c b/Utilities/cmcurl/strerror.c
index 6304fe8..74c3457 100644
--- a/Utilities/cmcurl/strerror.c
+++ b/Utilities/cmcurl/strerror.c
@@ -69,6 +69,10 @@ curl_easy_strerror(CURLcode error)
case CURLE_URL_MALFORMAT:
return "URL using bad/illegal format or missing URL";
+ case CURLE_NOT_BUILT_IN:
+ return "A requested feature, protocol or option was not found built-in in"
+ " this libcurl due to a build-time decision.";
+
case CURLE_COULDNT_RESOLVE_PROXY:
return "couldn't resolve proxy name";
@@ -287,7 +291,6 @@ curl_easy_strerror(CURLcode error)
return "Error in the SSH layer";
/* error codes not used by current libcurl */
- case CURLE_URL_MALFORMAT_USER:
case CURLE_FTP_USER_PASSWORD_INCORRECT:
case CURLE_MALFORMAT_USER:
case CURLE_BAD_CALLING_ORDER: