diff options
-rw-r--r-- | ares/ares.h | 1 | ||||
-rw-r--r-- | ares/ares_library_init.c | 12 | ||||
-rw-r--r-- | ares/ares_strerror.c | 3 |
3 files changed, 7 insertions, 9 deletions
diff --git a/ares/ares.h b/ares/ares.h index 9d09a7ada..6db8b9647 100644 --- a/ares/ares.h +++ b/ares/ares.h @@ -98,7 +98,6 @@ extern "C" { #define ARES_ELOADIPHLPAPI 21 #define ARES_ELOADADVAPI32 22 #define ARES_EADDRGetNetworkParams 23 -#define ARES_EADDRSYSTEMFUNCTION036 24 /* Flag values */ #define ARES_FLAG_USEVC (1 << 0) diff --git a/ares/ares_library_init.c b/ares/ares_library_init.c index 92bcedf2d..ee3fe68b6 100644 --- a/ares/ares_library_init.c +++ b/ares/ares_library_init.c @@ -51,12 +51,12 @@ static int ares_win32_init(void) fpSystemFunction036 = (fpSystemFunction036_t) GetProcAddress(hnd_advapi32, "SystemFunction036"); - if (!fpSystemFunction036) - { - FreeLibrary(hnd_advapi32); - FreeLibrary(hnd_iphlpapi); - return ARES_EADDRSYSTEMFUNCTION036; - } + + /* + * Intentionally avoid checking if the address of SystemFunction036, a.k.a. + * RtlGenRandom, has been located or not. This function is only available on + * WinXP and later. When unavailable c-ares uses portable rand() function. + */ #endif return ARES_SUCCESS; diff --git a/ares/ares_strerror.c b/ares/ares_strerror.c index 4a2f4538e..6ded90da0 100644 --- a/ares/ares_strerror.c +++ b/ares/ares_strerror.c @@ -46,8 +46,7 @@ const char *ares_strerror(int code) "Illegal hints flags specified", "Error loading iphlpapi.dll", "Error loading advapi32.dll", - "Unknown GetNetworkParams function address", - "Unknown SystemFunction036 function address" + "Could not find GetNetworkParams function" }; if(code >= 0 && code < (int)(sizeof(errtext) / sizeof(*errtext))) |