From: Daniel Stenberg Date: Wed, 30 May 2001 08:00:29 +0000 (+0000) Subject: curl_global_init() support for CURL_GLOBAL_NOT_SSL X-Git-Tag: curl-7_8-pre2~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b541537c66d19660635703b18bc344789121a409;p=thirdparty%2Fcurl.git curl_global_init() support for CURL_GLOBAL_NOT_SSL --- diff --git a/include/curl/curl.h b/include/curl/curl.h index f4cf0318c6..a6b9d7c376 100644 --- a/include/curl/curl.h +++ b/include/curl/curl.h @@ -573,6 +573,9 @@ typedef enum { CURLCLOSEPOLICY_LAST /* last, never use this */ } curl_closepolicy; +#define CURL_GLOBAL_NOT_SSL (1<<0) +#define CURL_GLOBAL_NOTHING CURL_GLOBAL_NOT_SSL +#define CURL_GLOBAL_DEFAULT 0 #ifdef __cplusplus } diff --git a/lib/easy.c b/lib/easy.c index c98727e78d..a4de38e17f 100644 --- a/lib/easy.c +++ b/lib/easy.c @@ -80,8 +80,9 @@ CURLcode curl_global_init(long flags) { - flags = 0; /* not currently used */ - Curl_SSL_init(); + if(!(flags & CURL_GLOBAL_NOT_SSL)) + Curl_SSL_init(); + return CURLE_OK; } diff --git a/lib/ssluse.c b/lib/ssluse.c index 3707a4965e..0d50c07f46 100644 --- a/lib/ssluse.c +++ b/lib/ssluse.c @@ -235,17 +235,21 @@ int cert_verify_callback(int ok, X509_STORE_CTX *ctx) #endif +#ifdef USE_SSLEAY +/* "global" init done? */ +static int init_ssl=0; +#endif + /* Global init */ void Curl_SSL_init(void) { #ifdef USE_SSLEAY - static int only_once=0; /* make sure this is only done once */ - if(0 != only_once) + if(0 != init_ssl) return; - only_once++; /* never again */ + init_ssl++; /* never again */ /* Lets get nice error messages */ SSL_load_error_strings(); @@ -259,12 +263,16 @@ void Curl_SSL_init(void) void Curl_SSL_cleanup(void) { #ifdef USE_SSLEAY - /* Free the SSL error strings */ - ERR_free_strings(); + if(init_ssl) { + /* only cleanup if we did a previous init */ + + /* Free the SSL error strings */ + ERR_free_strings(); - /* EVP_cleanup() removes all ciphers and digests from the - table. */ - EVP_cleanup(); + /* EVP_cleanup() removes all ciphers and digests from the + table. */ + EVP_cleanup(); + } #endif }