Index: crypto/openssl/crypto/rand/rand_unix.c =================================================================== --- crypto/openssl/crypto/rand/rand_unix.c (revision 243718) +++ crypto/openssl/crypto/rand/rand_unix.c (working copy) @@ -216,9 +216,20 @@ int RAND_poll(void) } return 1; } -#elif defined(__FreeBSD__) || defined(__OpenBSD__) +#elif defined(__FreeBSD__) int RAND_poll(void) { + unsigned char buf[ENTROPY_NEEDED]; + + arc4random_buf(buf, sizeof(buf)); + RAND_add(buf, sizeof(buf), ENTROPY_NEEDED); + memset(buf, 0, sizeof(buf)); + + return 1; +} +#elif defined(__OpenBSD__) +int RAND_poll(void) +{ u_int32_t rnd = 0, i; unsigned char buf[ENTROPY_NEEDED];