diff options
author | Brad King <brad.king@kitware.com> | 2012-09-07 17:23:45 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2012-09-07 17:24:14 (GMT) |
commit | 8b51762426ff6e3efbe61ee49f99755c24b4772c (patch) | |
tree | 6ade36b9481a2bf87c5e4055532adfc9ba843d83 /Utilities | |
parent | bc0e8c28ece1d681449b9b4b43b16fb5b331534e (diff) | |
download | CMake-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.h | 2 | ||||
-rw-r--r-- | Utilities/cmcurl/ssluse.c | 5 | ||||
-rw-r--r-- | Utilities/cmcurl/strerror.c | 5 |
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: |