From a67e62dd40bafbf79b9c73bece5f3ded142e53f9 Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Wed, 9 Jan 2008 12:48:03 +0000 Subject: [PATCH] seeding bigger to make openssl happy. git-svn-id: file:///svn/unbound/trunk@831 be551aaa-1e26-0410-a405-d3ace91eadb9 --- util/random.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/util/random.c b/util/random.c index 4998a91e3..7c0e5a6f8 100644 --- a/util/random.c +++ b/util/random.c @@ -104,7 +104,14 @@ ub_initstate(unsigned int seed, struct ub_randstate* state, /* RAND_ is threadsafe, by the way */ if(!RAND_status()) { /* try to seed it */ - RAND_seed(&seed, (int)sizeof(seed)); + unsigned char buf[256]; + unsigned int v = seed; + size_t i; + for(i=0; i<256/sizeof(seed); i++) { + memmove(buf+i*sizeof(seed), &v, sizeof(seed)); + v = v*seed + (unsigned int)i; + } + RAND_seed(buf, 256); if(!RAND_status()) { log_err("Random generator has no entropy (error %ld)", ERR_get_error()); -- 2.47.2