19 Apr 2012 15:48
[PATCH] c-ares: Add support for multiple DNS servers on Android
Before, c-ares always used the first DNS server on Android, causing network problems if this DNS server was not available. Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@...> --- ares_init.c | 18 +++++++++++++++--- 1 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ares_init.c b/ares_init.c index a0bfc83..fa9e1d7 100644 --- a/ares_init.c +++ b/ares_init.c <at> <at> -62,6 +62,7 <at> <at> #if defined(ANDROID) || defined(__ANDROID__) #include <sys/system_properties.h> +#define MAX_DNS_PROPERTIES 8 /* From the Bionic sources */ #endif #include "ares.h" <at> <at> -953,11 +954,22 <at> <at> DhcpNameServer status = ARES_EOF; #elif defined(ANDROID) || defined(__ANDROID__) + unsigned int i; + char name[PROP_NAME_MAX]; char value[PROP_VALUE_MAX]=""; - __system_property_get("net.dns1", value); - status = config_nameserver(&servers, &nservers, value); - if (status == ARES_SUCCESS)(Continue reading)
RSS Feed