X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fopenssl%2Fcrypto.c;h=8fc63e3c8f7d141bbfe2e57f7ac4124383edafbc;hb=70b9e071d137c4c9c9edc4e916fcddfed39aea7d;hp=7e6e9f62fcaece3e0a328480fa0fe47ef1f0ef74;hpb=5a132550deb58473285e5f91705d286aef47be71;p=meshlink diff --git a/src/openssl/crypto.c b/src/openssl/crypto.c index 7e6e9f62..8fc63e3c 100644 --- a/src/openssl/crypto.c +++ b/src/openssl/crypto.c @@ -1,6 +1,6 @@ /* crypto.c -- Cryptographic miscellaneous functions and initialisation - Copyright (C) 2007 Guus Sliepen + Copyright (C) 2014 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,31 +12,35 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "system.h" +#include "../system.h" #include #include #include -#include "crypto.h" +#include "../crypto.h" + +void crypto_init(void) { + RAND_load_file("/dev/urandom", 1024); -void crypto_init() { - RAND_load_file("/dev/urandom", 1024); + ENGINE_load_builtin_engines(); + ENGINE_register_all_complete(); - ENGINE_load_builtin_engines(); - ENGINE_register_all_complete(); + ERR_load_crypto_strings(); + OpenSSL_add_all_algorithms(); - OpenSSL_add_all_algorithms(); + if(!RAND_status()) { + fprintf(stderr, "Not enough entropy for the PRNG!\n"); + abort(); + } } -void crypto_exit() { +void crypto_exit(void) { EVP_cleanup(); }