]> git.ipfire.org Git - thirdparty/openssl.git/blame - crypto/o_init.c
Make the fuzzers more reproducible
[thirdparty/openssl.git] / crypto / o_init.c
CommitLineData
0f113f3e 1/*
2039c421 2 * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
3f746831 3 *
2039c421
RS
4 * Licensed under the OpenSSL license (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
3f746831
DSH
8 */
9
10#include <e_os.h>
11#include <openssl/err.h>
8cf88778 12#ifdef OPENSSL_FIPS
0f113f3e
MC
13# include <openssl/fips.h>
14# include <openssl/rand.h>
8cf88778 15#endif
3f746831 16
0f113f3e
MC
17/*
18 * Perform any essential OpenSSL initialization operations. Currently only
19 * sets FIPS callbacks
3f746831
DSH
20 */
21
22void OPENSSL_init(void)
0f113f3e
MC
23{
24 static int done = 0;
25 if (done)
26 return;
27 done = 1;
8cf88778 28#ifdef OPENSSL_FIPS
0f113f3e
MC
29 FIPS_set_locking_callbacks(CRYPTO_lock, CRYPTO_add_lock);
30 FIPS_set_error_callbacks(ERR_put_error, ERR_add_error_vdata);
31 FIPS_set_malloc_callbacks(CRYPTO_malloc, CRYPTO_free);
32 RAND_init_fips();
8cf88778 33#endif
0f113f3e 34}