diff --git a/ares/ares_init.c b/ares/ares_init.c index e86d80ca40061a6a650daaa83e96f75136df7638..efde9677268b3d6bc4327b0086c935484f862125 100644 --- a/ares/ares_init.c +++ b/ares/ares_init.c @@ -1276,6 +1276,7 @@ static void natural_mask(struct apattern *pat) static void randomize_key(unsigned char* key,int key_data_len) { int randomized = 0; + int counter=0; #ifdef WIN32 HMODULE lib=LoadLibrary("ADVAPI32.DLL"); if (lib) { @@ -1286,11 +1287,22 @@ static void randomize_key(unsigned char* key,int key_data_len) FreeLibrary(lib); } +#else /* !WIN32 */ +#ifdef RANDOM_FILE + char buffer[256]; + FILE *f = fopen(RANDOM_FILE, "rb"); + if(f) { + size_t i; + size_t rc = fread(buffer, key_data_len, 1, f); + for(i=0; i