X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fopenssl%2Fcrypto.c;h=6c5cbc880fded4662911115a5db45877b0f4b5fd;hb=ee34ac3d6125b7d1f41afa82c7e30f0a7205546c;hp=db921d6f5137c464d0fe5248da73717c30ef09c7;hpb=33f241d97852d7a171f1aaf1bda7f66356ff889e;p=tinc diff --git a/src/openssl/crypto.c b/src/openssl/crypto.c index db921d6f..6c5cbc88 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) 2007-2013 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 @@ -17,21 +17,27 @@ 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); + RAND_load_file("/dev/urandom", 1024); - ENGINE_load_builtin_engines(); - ENGINE_register_all_complete(); + ENGINE_load_builtin_engines(); + ENGINE_register_all_complete(); - OpenSSL_add_all_algorithms(); + ERR_load_crypto_strings(); + OpenSSL_add_all_algorithms(); + + if(!RAND_status()) { + fprintf(stderr, "Not enough entropy for the PRNG!\n"); + abort(); + } } void crypto_exit(void) {