X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fopenssl%2Fcrypto.c;h=e594e73a070ff7f694e9cb6c7f85493e5559b7c1;hb=refs%2Fheads%2F1.1;hp=ece7f059eb9c1a4ea6fdf5ad82f34d56a62eeb82;hpb=9b9230a0a79c670b86f54fadd2807b864ff9d91f;p=tinc diff --git a/src/openssl/crypto.c b/src/openssl/crypto.c index ece7f059..3960c3e8 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-2013 Guus Sliepen + Copyright (C) 2007-2021 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 @@ -20,24 +20,17 @@ #include "../system.h" #include -#include #include #include "../crypto.h" void crypto_init(void) { - RAND_load_file("/dev/urandom", 1024); - +#if OPENSSL_VERSION_MAJOR < 3 ENGINE_load_builtin_engines(); - ENGINE_register_all_complete(); - - OpenSSL_add_all_algorithms(); -} - -void crypto_exit(void) { - EVP_cleanup(); -} +#endif -void randomize(void *out, size_t outlen) { - RAND_pseudo_bytes(out, outlen); + if(!RAND_status()) { + fprintf(stderr, "Not enough entropy for the PRNG!\n"); + abort(); + } }