diff options
Diffstat (limited to 'resolv/res_mkquery.c')
-rw-r--r-- | resolv/res_mkquery.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/resolv/res_mkquery.c b/resolv/res_mkquery.c index 19b8b40..dd43d34 100644 --- a/resolv/res_mkquery.c +++ b/resolv/res_mkquery.c @@ -82,6 +82,7 @@ * SOFTWARE. */ +#include <stdint.h> #include <sys/types.h> #include <sys/param.h> #include <netinet/in.h> @@ -92,12 +93,7 @@ #include <string.h> #include <sys/time.h> #include <shlib-compat.h> - -#include <hp-timing.h> -#include <stdint.h> -#if HP_TIMING_AVAIL -# define RANDOM_BITS(Var) { uint64_t v64; HP_TIMING_NOW (v64); Var = v64; } -#endif +#include <random-bits.h> int __res_context_mkquery (struct resolv_context *ctx, int op, const char *dname, @@ -120,16 +116,7 @@ __res_context_mkquery (struct resolv_context *ctx, int op, const char *dname, /* We randomize the IDs every time. The old code just incremented by one after the initial randomization which still predictable if the application does multiple requests. */ - int randombits; -#ifdef RANDOM_BITS - RANDOM_BITS (randombits); -#else - struct timeval tv; - __gettimeofday (&tv, NULL); - randombits = (tv.tv_sec << 8) ^ tv.tv_usec; -#endif - - hp->id = randombits; + hp->id = random_bits (); hp->opcode = op; hp->rd = (ctx->resp->options & RES_RECURSE) != 0; hp->rcode = NOERROR; |