Merge "Fix spurious DNS lookups in the C library."

This commit is contained in:
David 'Digit' Turner 2010-03-09 11:13:35 -08:00 committed by Android (Google) Code Review
commit 92e712f60d
5 changed files with 19 additions and 5 deletions

View File

@ -76,6 +76,10 @@ Differences between current and Android 2.1:
- <time.h>: Fix timezone management implementation to properly update
'tm_gmtoff' field in 'struct tm' structure.
- DNS: get rid of spurious random DNS queries when trying to resolve
an unknown domain name. Due to an initialization bug, a random DNS search
list was generated for each thread is net.dns.search is not defined.
-------------------------------------------------------------------------------
Differences between Android 2.1 and 2.0.1:

View File

@ -251,7 +251,7 @@ _bprint( char* p, char* end, const char* format, ... )
return p;
va_start(args, format);
n = snprintf( p, avail, format, args);
n = vsnprintf( p, avail, format, args);
va_end(args);
/* certain C libraries return -1 in case of truncation */

View File

@ -198,6 +198,8 @@ int load_domain_search_list(res_state statp) {
if (pp > statp->dnsrch)
return 1;
}
statp->defdname[0] = '\0'; /* no default domain name on Android */
statp->dnsrch[0] = NULL;
return 0;
}
#endif
@ -381,7 +383,7 @@ __res_vinit(res_state statp, int preinit) {
/* Add the domain search list */
havesearch = load_domain_search_list(statp);
#else /* IGNORE resolv.conf */
#else /* !ANDROID_CHANGES - IGNORE resolv.conf in Android */
#define MATCH(line, name) \
(!strncmp(line, name, sizeof(name) - 1) && \
(line[sizeof(name) - 1] == ' ' || \
@ -534,7 +536,7 @@ __res_vinit(res_state statp, int preinit) {
statp->nsort = nsort;
(void) fclose(fp);
}
#endif /* ANDROID_CHANGES */
#endif /* !ANDROID_CHANGES */
/*
* Last chance to get a nameserver. This should not normally
* be necessary

View File

@ -566,4 +566,12 @@ __END_DECLS
#include "arpa_nameser_compat.h"
#endif
#if 0
# include <logd.h>
# define XLOG(...) \
__libc_android_log_print(ANDROID_LOG_DEBUG,"libc",__VA_ARGS__)
#else
#define XLOG(...) do {} while (0)
#endif
#endif /* !_ARPA_NAMESER_H_ */

View File

@ -41,11 +41,11 @@ int gethostname(char* buff, size_t buflen)
int namelen = strlen(name.nodename);
if ((int)buflen < namelen+1) {
errno = EINVAL;
errno = EINVAL;
result = -1;
} else {
memcpy( buff, name.nodename, namelen+1 );
}
}
}
return result;
}