--- lib/ephy-sync-utils.c.orig +++ lib/ephy-sync-utils.c @@ -23,18 +23,12 @@ #include "ephy-settings.h" -#include #include #include #include #include #include #include -#if defined(__linux__) -#include -#elif defined(__FreeBSD__) || defined(__OpenBSD__) -#include -#endif static const char hex_digits[] = "0123456789abcdef"; @@ -178,23 +172,14 @@ gsize num_bytes, guint8 *out) { - gssize ret; + FILE *fp; g_assert (num_bytes > 0); g_assert (out); -#ifdef __OpenBSD__ - if (getentropy (out, num_bytes) == -1) { - g_error ("Failed to get entropy: %s", g_strerror (errno)); - } -#else - do { - ret = getrandom (out, num_bytes, 0); - } while (ret < (gssize)num_bytes && errno == EINTR); - - if (ret != (gssize)num_bytes) - g_error ("Failed to generate randomness: %s", g_strerror (errno)); -#endif + fp = fopen ("/dev/urandom", "r"); + fread (out, sizeof (guint8), num_bytes, fp); + fclose (fp); } char *