5 #include <boost/filesystem/path.hpp> 17 static path orderindependentstorage;
18 return orderindependentstorage;
22 ERR_load_crypto_strings();
23 OpenSSL_add_all_algorithms();
26 if(boostPath.empty() ==
false)
28 std::string varSetting(
"OPENSSL_CONF=");
31 _putenv((
char*)varSetting.c_str());
33 putenv((
char*)varSetting.c_str());
36 #if OPENSSL_VERSION_NUMBER < 0x10100000L 40 OPENSSL_config(
nullptr);
46 #if not defined(LIBRESSL_VERSION_NUMBER) 51 CONF_modules_unload(1);
53 CRYPTO_cleanup_all_ex_data();
69 #define SSL_TYPE_IMPL(name, ssl_type, free_func) \ 70 name::name( ssl_type* obj ) : ssl_wrapper(obj) {} \ 71 name::name( name&& move ) : ssl_wrapper( move.obj ) \ 77 if( obj != nullptr ) \ 80 name& name::operator=( name&& move ) \ 84 if( obj != nullptr ) \ 96 SSL_TYPE_IMPL(evp_cipher_ctx, EVP_CIPHER_CTX, EVP_CIPHER_CTX_free )
static path & _configurationFilePath()
void store_configuration_path(const path &filePath)
#define SSL_TYPE_IMPL(name, ssl_type, free_func)
wraps boost::filesystem::path to provide platform independent path manipulation.
std::string to_native_ansi_path() const