summaryrefslogtreecommitdiffstats
path: root/crypto/lock.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2011-01-27 15:22:26 +0000
committerDr. Stephen Henson <steve@openssl.org>2011-01-27 15:22:26 +0000
commit7c8ced94c32131f24d469d2899f3339f77c47aa1 (patch)
tree7dad16d42ed83f3d03917fc25d46fefa4647a2cc /crypto/lock.c
parentd5df1b3f0db030c2202cbcc7c0ca9921d3db2ce0 (diff)
Change OPENSSL_FIPSEVP to OPENSSL_FIPSAPI as it doesn't just refer
to EVP any more. Move locking #define into fips.h. Set FIPS locking callbacks at same time as OpenSSL locking callbacks.
Diffstat (limited to 'crypto/lock.c')
-rw-r--r--crypto/lock.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/crypto/lock.c b/crypto/lock.c
index 49db044fc1..bbce52addb 100644
--- a/crypto/lock.c
+++ b/crypto/lock.c
@@ -116,6 +116,9 @@
#include "cryptlib.h"
#include <openssl/safestack.h>
+#ifdef OPENSSL_FIPS
+#include <openssl/fips.h>
+#endif
#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN16)
static double SSLeay_MSVC5_hack=0.0; /* and for VC1.5 */
@@ -380,6 +383,9 @@ void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value *(*func)
void CRYPTO_set_dynlock_lock_callback(void (*func)(int mode,
struct CRYPTO_dynlock_value *l, const char *file, int line))
{
+#ifdef OPENSSL_FIPS
+ FIPS_set_locking_callback(CRYPTO_lock);
+#endif
dynlock_lock_callback=func;
}
@@ -405,6 +411,9 @@ int (*CRYPTO_get_add_lock_callback(void))(int *num,int mount,int type,
void CRYPTO_set_locking_callback(void (*func)(int mode,int type,
const char *file,int line))
{
+#ifdef OPENSSL_FIPS
+ FIPS_set_locking_callback(CRYPTO_lock);
+#endif
locking_callback=func;
}