Latest update

This commit is contained in:
2019-07-13 19:13:22 +09:00
parent 9a23f88dc2
commit 2e57f602ae
542 changed files with 17287 additions and 6184 deletions
+17 -8
View File
@@ -9,6 +9,13 @@
#include <openssl/crypto.h>
/*
* Initialisation of global data should never happen via "RUN_ONCE" inside the
* FIPS module. Global data should instead always be associated with a specific
* OPENSSL_CTX object. In this way data will get cleaned up correctly when the
* module gets unloaded.
*/
#ifndef FIPS_MODE
/*
* DEFINE_RUN_ONCE: Define an initialiser function that should be run exactly
* once. It takes no arguments and returns and int result (1 for success or
@@ -23,7 +30,7 @@
* return 0;
* }
*/
#define DEFINE_RUN_ONCE(init) \
# define DEFINE_RUN_ONCE(init) \
static int init(void); \
int init##_ossl_ret_ = 0; \
void init##_ossl_(void) \
@@ -36,7 +43,7 @@
* DECLARE_RUN_ONCE: Declare an initialiser function that should be run exactly
* once that has been defined in another file via DEFINE_RUN_ONCE().
*/
#define DECLARE_RUN_ONCE(init) \
# define DECLARE_RUN_ONCE(init) \
extern int init##_ossl_ret_; \
void init##_ossl_(void);
@@ -55,7 +62,7 @@
* return 0;
* }
*/
#define DEFINE_RUN_ONCE_STATIC(init) \
# define DEFINE_RUN_ONCE_STATIC(init) \
static int init(void); \
static int init##_ossl_ret_ = 0; \
static void init##_ossl_(void) \
@@ -72,9 +79,9 @@
* function defined via DEFINE_ONCE_STATIC where both functions use the same
* CRYPTO_ONCE object to synchronise. Where an alternative initialiser function
* is used only one of the primary or the alternative initialiser function will
* ever be called - and that function will be called exactly once. Definitition
* ever be called - and that function will be called exactly once. Definition
* of an alternative initialiser function MUST occur AFTER the definition of the
* primiary initialiser function.
* primary initialiser function.
*
* Typical usage might be:
*
@@ -96,7 +103,7 @@
* return 0;
* }
*/
#define DEFINE_RUN_ONCE_STATIC_ALT(initalt, init) \
# define DEFINE_RUN_ONCE_STATIC_ALT(initalt, init) \
static int initalt(void); \
static void initalt##_ossl_(void) \
{ \
@@ -115,7 +122,7 @@
*
* (*) by convention, since the init function must return 1 on success.
*/
#define RUN_ONCE(once, init) \
# define RUN_ONCE(once, init) \
(CRYPTO_THREAD_run_once(once, init##_ossl_) ? init##_ossl_ret_ : 0)
/*
@@ -133,5 +140,7 @@
*
* (*) by convention, since the init function must return 1 on success.
*/
#define RUN_ONCE_ALT(once, initalt, init) \
# define RUN_ONCE_ALT(once, initalt, init) \
(CRYPTO_THREAD_run_once(once, initalt##_ossl_) ? init##_ossl_ret_ : 0)
#endif /* FIPS_MODE */