Skip to content

Commit

Permalink
* resolv/res_mkquery.c (res_nmkquery): Set hp->id to statp->id after
Browse files Browse the repository at this point in the history
	randomization rather than before.
	* resolv/res_init.c (res_randomid): Don't call gettimeofday here.
  • Loading branch information
Ulrich Drepper committed Sep 4, 2006
1 parent b80770b commit 03eeff8
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 12 deletions.
6 changes: 6 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
2006-09-04 Jakub Jelinek <jakub@redhat.com>

* resolv/res_mkquery.c (res_nmkquery): Set hp->id to statp->id after
randomization rather than before.
* resolv/res_init.c (res_randomid): Don't call gettimeofday here.

2006-08-31 Jakub Jelinek <jakub@redhat.com>

* dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Add
Expand Down
5 changes: 1 addition & 4 deletions resolv/res_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -537,10 +537,7 @@ net_mask(in) /* XXX - should really use system's version of this */

u_int
res_randomid(void) {
struct timeval now;

__gettimeofday(&now, NULL);
return (0xffff & (now.tv_sec ^ now.tv_usec ^ __getpid()));
return 0xffff & __getpid();
}
#ifdef _LIBC
libc_hidden_def (__res_randomid)
Expand Down
12 changes: 4 additions & 8 deletions resolv/res_mkquery.c
Original file line number Diff line number Diff line change
Expand Up @@ -124,24 +124,20 @@ res_nmkquery(res_state statp,
incremented by one after the initial randomization which
still predictable if the application does multiple
requests. */
#if 0
hp->id = htons(++statp->id);
#else
hp->id = htons(statp->id);
int randombits;
do
{
# ifdef RANDOM_BITS
#ifdef RANDOM_BITS
RANDOM_BITS (randombits);
# else
#else
struct timeval tv;
__gettimeofday (&tv, NULL);
randombits = (tv.tv_sec << 8) ^ tv.tv_usec;
# endif
#endif
}
while ((randombits & 0xffff) == 0);
statp->id = (statp->id + randombits) & 0xffff;
#endif
hp->id = statp->id;
hp->opcode = op;
hp->rd = (statp->options & RES_RECURSE) != 0;
hp->rcode = NOERROR;
Expand Down

0 comments on commit 03eeff8

Please sign in to comment.