diff options
author | Werner Koch <[email protected]> | 2015-10-28 09:14:07 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2015-10-28 09:14:30 +0000 |
commit | 949a5cfdabcafab93c1ac092c0459b59318805b9 (patch) | |
tree | c8d254844a6392b527fba9e2a94f2cbef754d727 | |
parent | dirmngr: Add a getaddrinfo wrapper backend using ADNS. (diff) | |
download | gnupg-949a5cfdabcafab93c1ac092c0459b59318805b9.tar.gz gnupg-949a5cfdabcafab93c1ac092c0459b59318805b9.zip |
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.
-rw-r--r-- | dirmngr/dns-stuff.c | 14 | ||||
-rw-r--r-- | dirmngr/t-dns-stuff.c | 11 |
2 files changed, 16 insertions, 9 deletions
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 <netdb.h> #endif #include <string.h> +#include <unistd.h> #ifdef USE_ADNS # include <adns.h> #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++) { diff --git a/dirmngr/t-dns-stuff.c b/dirmngr/t-dns-stuff.c index 4ecbd64f0..191b581b4 100644 --- a/dirmngr/t-dns-stuff.c +++ b/dirmngr/t-dns-stuff.c @@ -205,15 +205,14 @@ main (int argc, char **argv) struct srventry *srv; int rc,i; - rc=getsrv("_hkp._tcp.wwwkeys.pgp.net",&srv); - printf("Count=%d\n\n",rc); + rc=getsrv (name? name : "_hkp._tcp.wwwkeys.pgp.net", &srv); + printf("Count=%d\n",rc); for(i=0;i<rc;i++) { - printf("priority=%hu\n",srv[i].priority); - printf("weight=%hu\n",srv[i].weight); - printf("port=%hu\n",srv[i].port); + printf("priority=%-8hu ",srv[i].priority); + printf("weight=%-8hu ",srv[i].weight); + printf("port=%-5hu ",srv[i].port); printf("target=%s\n",srv[i].target); - printf("\n"); } xfree(srv); |