crypto: make init more readable
parent
962eed50db
commit
4436222e90
|
@ -1,18 +1,22 @@
|
||||||
#include <sodium.h>
|
|
||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
|
#include <sodium.h>
|
||||||
|
|
||||||
#include "apk_crypto.h"
|
#include "apk_crypto.h"
|
||||||
#include "apk_defines.h"
|
#include "apk_defines.h"
|
||||||
|
|
||||||
#if OPENSSL_VERSION_NUMBER < 0x1010000fL || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
|
#if OPENSSL_VERSION_NUMBER < 0x1010000fL || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
|
||||||
|
#define APK_NEED_LIBCRYPTO_CLEANUP 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef APK_NEED_LIBCRYPTO_CLEANUP
|
||||||
static void apk_crypto_cleanup(void)
|
static void apk_crypto_cleanup(void)
|
||||||
{
|
{
|
||||||
EVP_cleanup();
|
EVP_cleanup();
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_ENGINE
|
#ifndef OPENSSL_NO_ENGINE
|
||||||
ENGINE_cleanup();
|
ENGINE_cleanup();
|
||||||
#endif
|
#endif
|
||||||
CRYPTO_cleanup_all_ex_data();
|
CRYPTO_cleanup_all_ex_data();
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -22,7 +26,7 @@ int apk_crypto_init(void)
|
||||||
return -APKE_CRYPTO_ERROR;
|
return -APKE_CRYPTO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if OPENSSL_VERSION_NUMBER < 0x1010000fL || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
|
#ifdef APK_NEED_LIBCRYPTO_CLEANUP
|
||||||
atexit(apk_crypto_cleanup);
|
atexit(apk_crypto_cleanup);
|
||||||
OpenSSL_add_all_algorithms();
|
OpenSSL_add_all_algorithms();
|
||||||
|
|
||||||
|
@ -31,8 +35,9 @@ int apk_crypto_init(void)
|
||||||
ENGINE_register_all_complete();
|
ENGINE_register_all_complete();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#undef APK_NEED_LIBCRYPTO_CLEANUP
|
||||||
|
|
Loading…
Reference in New Issue