mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2024-12-23 01:08:54 +00:00
Changed initializing logic for nss lib/openssl lib/s3fs own.
This commit is contained in:
parent
edad91186f
commit
160196798b
@ -54,6 +54,7 @@ const char* s3fs_crypt_lib_name(void)
|
||||
//-------------------------------------------------------------------
|
||||
bool s3fs_init_global_ssl(void)
|
||||
{
|
||||
NSS_Init(NULL);
|
||||
NSS_NoDB_Init(NULL);
|
||||
return true;
|
||||
}
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include <openssl/hmac.h>
|
||||
#include <openssl/md5.h>
|
||||
#include <openssl/crypto.h>
|
||||
#include <openssl/err.h>
|
||||
#include <string>
|
||||
#include <map>
|
||||
|
||||
@ -56,11 +57,16 @@ const char* s3fs_crypt_lib_name(void)
|
||||
//-------------------------------------------------------------------
|
||||
bool s3fs_init_global_ssl(void)
|
||||
{
|
||||
ERR_load_crypto_strings();
|
||||
ERR_load_BIO_strings();
|
||||
OpenSSL_add_all_algorithms();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool s3fs_destroy_global_ssl(void)
|
||||
{
|
||||
EVP_cleanup();
|
||||
ERR_free_strings();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
19
src/s3fs.cpp
19
src/s3fs.cpp
@ -2597,6 +2597,12 @@ static void* s3fs_init(struct fuse_conn_info* conn)
|
||||
FPRN("init");
|
||||
LOWSYSLOGPRINT(LOG_ERR, "init v%s (%s)", VERSION, s3fs_crypt_lib_name());
|
||||
|
||||
// ssl init
|
||||
if(!s3fs_init_global_ssl()){
|
||||
fprintf(stderr, "%s: could not initialize for ssl libraries.\n", program_name.c_str());
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
// init curl
|
||||
if(!S3fsCurl::InitS3fsCurl("/etc/mime.types")){
|
||||
fprintf(stderr, "%s: Could not initiate curl library.\n", program_name.c_str());
|
||||
@ -2637,6 +2643,8 @@ static void s3fs_destroy(void*)
|
||||
if(is_remove_cache && !FdManager::DeleteCacheDirectory()){
|
||||
DPRN("Could not remove cache directory.");
|
||||
}
|
||||
// ssl
|
||||
s3fs_destroy_global_ssl();
|
||||
}
|
||||
|
||||
static int s3fs_access(const char* path, int mask)
|
||||
@ -2840,10 +2848,17 @@ static int s3fs_utility_mode(void)
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
// ssl init
|
||||
if(!s3fs_init_global_ssl()){
|
||||
fprintf(stderr, "%s: could not initialize for ssl libraries.\n", program_name.c_str());
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
// init curl
|
||||
if(!S3fsCurl::InitS3fsCurl("/etc/mime.types")){
|
||||
fprintf(stderr, "%s: Could not initiate curl library.\n", program_name.c_str());
|
||||
LOWSYSLOGPRINT(LOG_ERR, "Could not initiate curl library.");
|
||||
s3fs_destroy_global_ssl();
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
@ -2888,6 +2903,10 @@ static int s3fs_utility_mode(void)
|
||||
if(!S3fsCurl::DestroyS3fsCurl()){
|
||||
DPRN("Could not release curl library.");
|
||||
}
|
||||
|
||||
// ssl
|
||||
s3fs_destroy_global_ssl();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user