diff options
author | Daniel Stenberg <daniel@haxx.se> | 2014-09-13 15:28:08 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2014-09-13 15:28:08 +0200 |
commit | 4c2e40a4889db370308c77e63dd2f10d3a292bdf (patch) | |
tree | df6d0e99485b6283201a9fb26894081e44a2142e | |
parent | 7494f0f4981b2ccb55f1fc5aecad383a0d9a8569 (diff) |
url: let the backend decide CURLOPT_SSL_CTX_ support
... to further remove specific TLS backend knowledge from url.c
-rw-r--r-- | lib/url.c | 14 | ||||
-rw-r--r-- | lib/vtls/openssl.h | 3 |
2 files changed, 11 insertions, 6 deletions
@@ -1959,24 +1959,26 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, data->set.ssl.verifyhost = (0 != arg)?TRUE:FALSE; break; -#ifdef USE_SSLEAY - /* since these two options are only possible to use on an OpenSSL- - powered libcurl we #ifdef them on this condition so that libcurls - built against other SSL libs will return a proper error when trying - to set this option! */ case CURLOPT_SSL_CTX_FUNCTION: +#ifdef have_curlssl_ssl_ctx /* * Set a SSL_CTX callback */ data->set.ssl.fsslctx = va_arg(param, curl_ssl_ctx_callback); +#else + result = CURLE_NOT_BUILT_IN; +#endif break; case CURLOPT_SSL_CTX_DATA: +#ifdef have_curlssl_ssl_ctx /* * Set a SSL_CTX callback parameter pointer */ data->set.ssl.fsslctxp = va_arg(param, void *); - break; +#else + result = CURLE_NOT_BUILT_IN; #endif + break; case CURLOPT_CERTINFO: #ifdef have_curlssl_certinfo data->set.ssl.certinfo = (0 != va_arg(param, long))?TRUE:FALSE; diff --git a/lib/vtls/openssl.h b/lib/vtls/openssl.h index e6f205170..9c2602f94 100644 --- a/lib/vtls/openssl.h +++ b/lib/vtls/openssl.h @@ -82,6 +82,9 @@ void Curl_ossl_md5sum(unsigned char *tmp, /* input */ /* this backend supports CURLOPT_CERTINFO */ #define have_curlssl_certinfo 1 +/* this backend suppots CURLOPT_SSL_CTX_* */ +#define have_curlssl_ssl_ctx 1 + /* API setup for OpenSSL */ #define curlssl_init Curl_ossl_init #define curlssl_cleanup Curl_ossl_cleanup |