mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 19:00:07 +00:00
* 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.
This commit is contained in:
parent
b80770b23f
commit
03eeff8389
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user