From 949a5cfdabcafab93c1ac092c0459b59318805b9 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Wed, 28 Oct 2015 10:14:07 +0100 Subject: dirmngr: Minor cleanup of the SRV RR code. * dirmngr/dns-stuff.c: Include unistd.h. (getsrv): Run srand only once. * dirmngr/t-dns-stuff.c (main): Allow passing another name for --srv and change output format. --- dirmngr/dns-stuff.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'dirmngr/dns-stuff.c') diff --git a/dirmngr/dns-stuff.c b/dirmngr/dns-stuff.c index 3689d8fdd..3220d7659 100644 --- a/dirmngr/dns-stuff.c +++ b/dirmngr/dns-stuff.c @@ -42,6 +42,7 @@ # include #endif #include +#include #ifdef USE_ADNS # include #endif @@ -1103,9 +1104,16 @@ getsrv (const char *name,struct srventry **list) /* Run the RFC-2782 weighting algorithm. We don't need very high quality randomness for this, so regular libc srand/rand is - sufficient. Fixme: It is a bit questionaly to reinitalize srand - - better use a gnupg fucntion for this. */ - srand(time(NULL)*getpid()); + sufficient. */ + + { + static int done; + if (!done) + { + done = 1; + srand (time (NULL)*getpid()); + } + } for (i=0; i < srvcount; i++) { -- cgit v1.2.3