From 02d7c72e02571fb76863cab72fb9caca1ca3f0e9 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Sun, 2 Feb 2014 16:02:02 +0000 Subject: [PATCH] Use more clever time values to setup entropy. --- src/util.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/util.c b/src/util.c index 4a88bb1c9..64f95c0d6 100644 --- a/src/util.c +++ b/src/util.c @@ -2138,6 +2138,11 @@ rspamd_random_bytes (gchar *buf, gsize buflen) { gint fd; gsize i; +#ifdef HAVE_CLOCK_GETTIME + struct timespec ts; +#else + struct timeval tv; +#endif #ifdef HAVE_OPENSSL /* Init random generator */ @@ -2162,7 +2167,13 @@ fallback: close (fd); } /* No /dev/random */ - g_random_set_seed (time (NULL)); +#ifdef HAVE_CLOCK_GETTIME + (void)clock_gettime (CLOCK_REALTIME, &ts); + g_random_set_seed (ts.tv_nsec); +#else + (void)gettimeofday (&tv, NULL); + g_random_set_seed (tv.tv_usec); +#endif for (i = 0; i < buflen; i ++) { buf[i] = g_random_int () & 0xff; } -- 2.39.5